using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs { // Token: 0x02001C55 RID: 7253 [Token(Token = "0x2001C55")] public class SkeinMac : IMac { // Token: 0x0600B5A0 RID: 46496 RVA: 0x0027B47C File Offset: 0x0027967C [Token(Token = "0x600B5A0")] [Address(RVA = "0x1C30B60", Offset = "0x1C2F960", VA = "0x181C30B60")] public SkeinMac(int stateSizeBits, int digestSizeBits) { SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits); this.engine = skeinEngine; } // Token: 0x0600B5A1 RID: 46497 RVA: 0x0027B4A0 File Offset: 0x002796A0 [Token(Token = "0x600B5A1")] [Address(RVA = "0x1C30AE0", Offset = "0x1C2F8E0", VA = "0x181C30AE0")] public SkeinMac(SkeinMac mac) { SkeinEngine skeinEngine = new SkeinEngine(mac.engine); this.engine = skeinEngine; } // Token: 0x17001C96 RID: 7318 // (get) Token: 0x0600B5A2 RID: 46498 RVA: 0x0027B4CC File Offset: 0x002796CC [Token(Token = "0x17001C96")] public string AlgorithmName { [Token(Token = "0x600B5A2")] [Address(RVA = "0x1C30BE0", Offset = "0x1C2F9E0", VA = "0x181C30BE0", Slot = "5")] get { object[] array = new object[4]; if ("Skein-MAC-" != 0) { } array[0] = "Skein-MAC-"; int blockSize = this.engine.BlockSize; if (blockSize != 0) { } array[1] = blockSize; if ("-" != 0) { } array[2] = "-"; int outputSizeBytes = this.engine.outputSizeBytes; if (outputSizeBytes != 0) { } array[3] = outputSizeBytes; return string.Concat(array); } } // Token: 0x0600B5A3 RID: 46499 RVA: 0x0027B544 File Offset: 0x00279744 [Token(Token = "0x600B5A3")] [Address(RVA = "0x1C307E0", Offset = "0x1C2F5E0", VA = "0x181C307E0", Slot = "4")] public void Init(ICipherParameters parameters) { /* An exception occurred when decompiling this method (0600B5A3) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs.SkeinMac::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_64: stloc:ArgumentException(var_15_6E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein MAC requires a key parameter."))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600B5A4 RID: 46500 RVA: 0x0027B5C0 File Offset: 0x002797C0 [Token(Token = "0x600B5A4")] [Address(RVA = "0x40DB30", Offset = "0x40C930", VA = "0x18040DB30", Slot = "6")] public int GetMacSize() { return this.engine.outputSizeBytes; } // Token: 0x0600B5A5 RID: 46501 RVA: 0x0027B5E0 File Offset: 0x002797E0 [Token(Token = "0x600B5A5")] [Address(RVA = "0x1C30AA0", Offset = "0x1C2F8A0", VA = "0x181C30AA0", Slot = "10")] public void Reset() { this.engine.Reset(); } // Token: 0x0600B5A6 RID: 46502 RVA: 0x0027B600 File Offset: 0x00279800 [Token(Token = "0x600B5A6")] [Address(RVA = "0x1C30AC0", Offset = "0x1C2F8C0", VA = "0x181C30AC0", Slot = "7")] public void Update(byte inByte) { this.engine.Update(inByte); } // Token: 0x0600B5A7 RID: 46503 RVA: 0x0027B620 File Offset: 0x00279820 [Token(Token = "0x600B5A7")] [Address(RVA = "0x1C30790", Offset = "0x1C2F590", VA = "0x181C30790", Slot = "8")] public void BlockUpdate(byte[] input, int inOff, int len) { this.engine.Update(input, inOff, len); } // Token: 0x0600B5A8 RID: 46504 RVA: 0x0027B644 File Offset: 0x00279844 [Token(Token = "0x600B5A8")] [Address(RVA = "0x1C307C0", Offset = "0x1C2F5C0", VA = "0x181C307C0", Slot = "9")] public int DoFinal(byte[] output, int outOff) { return this.engine.DoFinal(output, outOff); } // Token: 0x0400734B RID: 29515 [Token(Token = "0x400734B")] public const int SKEIN_256 = 256; // Token: 0x0400734C RID: 29516 [Token(Token = "0x400734C")] public const int SKEIN_512 = 512; // Token: 0x0400734D RID: 29517 [Token(Token = "0x400734D")] public const int SKEIN_1024 = 1024; // Token: 0x0400734E RID: 29518 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400734E")] private readonly SkeinEngine engine; } }