using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs { // Token: 0x02001678 RID: 5752 [Token(Token = "0x2001678")] [StructLayout(3)] public class SkeinMac : IMac { // Token: 0x060099C6 RID: 39366 RVA: 0x00223E64 File Offset: 0x00222064 [Token(Token = "0x60099C6")] [Address(RVA = "0x20F92B0", Offset = "0x20F7CB0", VA = "0x1820F92B0")] public SkeinMac(int stateSizeBits, int digestSizeBits) { SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits); this.engine = skeinEngine; } // Token: 0x060099C7 RID: 39367 RVA: 0x00223E88 File Offset: 0x00222088 [Token(Token = "0x60099C7")] [Address(RVA = "0x20F9230", Offset = "0x20F7C30", VA = "0x1820F9230")] public SkeinMac(SkeinMac mac) { SkeinEngine skeinEngine = new SkeinEngine(mac.engine); this.engine = skeinEngine; } // Token: 0x17001895 RID: 6293 // (get) Token: 0x060099C8 RID: 39368 RVA: 0x00223EB4 File Offset: 0x002220B4 [Token(Token = "0x17001895")] public string AlgorithmName { [Token(Token = "0x60099C8")] [Address(RVA = "0x20F9330", Offset = "0x20F7D30", VA = "0x1820F9330", 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: 0x060099C9 RID: 39369 RVA: 0x00223F2C File Offset: 0x0022212C [Token(Token = "0x60099C9")] [Address(RVA = "0x20F8F30", Offset = "0x20F7930", VA = "0x1820F8F30", Slot = "4")] public void Init(ICipherParameters parameters) { /* An exception occurred when decompiling this method (060099C9) 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: 0x060099CA RID: 39370 RVA: 0x00223FA8 File Offset: 0x002221A8 [Token(Token = "0x60099CA")] [Address(RVA = "0x5FE710", Offset = "0x5FD110", VA = "0x1805FE710", Slot = "6")] public int GetMacSize() { return this.engine.outputSizeBytes; } // Token: 0x060099CB RID: 39371 RVA: 0x00223FC8 File Offset: 0x002221C8 [Token(Token = "0x60099CB")] [Address(RVA = "0x20F91F0", Offset = "0x20F7BF0", VA = "0x1820F91F0", Slot = "10")] public void Reset() { this.engine.Reset(); } // Token: 0x060099CC RID: 39372 RVA: 0x00223FE8 File Offset: 0x002221E8 [Token(Token = "0x60099CC")] [Address(RVA = "0x20F9210", Offset = "0x20F7C10", VA = "0x1820F9210", Slot = "7")] public void Update(byte inByte) { this.engine.Update(inByte); } // Token: 0x060099CD RID: 39373 RVA: 0x00224008 File Offset: 0x00222208 [Token(Token = "0x60099CD")] [Address(RVA = "0x20F8EE0", Offset = "0x20F78E0", VA = "0x1820F8EE0", Slot = "8")] public void BlockUpdate(byte[] input, int inOff, int len) { this.engine.Update(input, inOff, len); } // Token: 0x060099CE RID: 39374 RVA: 0x0022402C File Offset: 0x0022222C [Token(Token = "0x60099CE")] [Address(RVA = "0x20F8F10", Offset = "0x20F7910", VA = "0x1820F8F10", Slot = "9")] public int DoFinal(byte[] output, int outOff) { return this.engine.DoFinal(output, outOff); } // Token: 0x04006508 RID: 25864 [Token(Token = "0x4006508")] public const int SKEIN_256 = 256; // Token: 0x04006509 RID: 25865 [Token(Token = "0x4006509")] public const int SKEIN_512 = 512; // Token: 0x0400650A RID: 25866 [Token(Token = "0x400650A")] public const int SKEIN_1024 = 1024; // Token: 0x0400650B RID: 25867 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400650B")] private readonly SkeinEngine engine; } }