using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs { // Token: 0x02001D35 RID: 7477 [Token(Token = "0x2001D35")] public class SkeinMac : IMac { // Token: 0x0600B96E RID: 47470 RVA: 0x002845D0 File Offset: 0x002827D0 [Token(Token = "0x600B96E")] [Address(RVA = "0x25C7CD0", Offset = "0x25C6CD0", VA = "0x1825C7CD0")] public SkeinMac(int stateSizeBits, int digestSizeBits) { SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits); this.engine = skeinEngine; } // Token: 0x0600B96F RID: 47471 RVA: 0x002845F4 File Offset: 0x002827F4 [Token(Token = "0x600B96F")] [Address(RVA = "0x25C7C50", Offset = "0x25C6C50", VA = "0x1825C7C50")] public SkeinMac(SkeinMac mac) { SkeinEngine skeinEngine = new SkeinEngine(mac.engine); this.engine = skeinEngine; } // Token: 0x17001D33 RID: 7475 // (get) Token: 0x0600B970 RID: 47472 RVA: 0x00284620 File Offset: 0x00282820 [Token(Token = "0x17001D33")] public string AlgorithmName { [Token(Token = "0x600B970")] [Address(RVA = "0x25C7D50", Offset = "0x25C6D50", VA = "0x1825C7D50", 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: 0x0600B971 RID: 47473 RVA: 0x00284698 File Offset: 0x00282898 [Token(Token = "0x600B971")] [Address(RVA = "0x25C7950", Offset = "0x25C6950", VA = "0x1825C7950", Slot = "4")] public void Init(ICipherParameters parameters) { /* An exception occurred when decompiling this method (0600B971) 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: 0x0600B972 RID: 47474 RVA: 0x00284714 File Offset: 0x00282914 [Token(Token = "0x600B972")] [Address(RVA = "0x73E8F0", Offset = "0x73D8F0", VA = "0x18073E8F0", Slot = "6")] public int GetMacSize() { return this.engine.outputSizeBytes; } // Token: 0x0600B973 RID: 47475 RVA: 0x00284734 File Offset: 0x00282934 [Token(Token = "0x600B973")] [Address(RVA = "0x25C7C10", Offset = "0x25C6C10", VA = "0x1825C7C10", Slot = "10")] public void Reset() { this.engine.Reset(); } // Token: 0x0600B974 RID: 47476 RVA: 0x00284754 File Offset: 0x00282954 [Token(Token = "0x600B974")] [Address(RVA = "0x25C7C30", Offset = "0x25C6C30", VA = "0x1825C7C30", Slot = "7")] public void Update(byte inByte) { this.engine.Update(inByte); } // Token: 0x0600B975 RID: 47477 RVA: 0x00284774 File Offset: 0x00282974 [Token(Token = "0x600B975")] [Address(RVA = "0x25C7900", Offset = "0x25C6900", VA = "0x1825C7900", Slot = "8")] public void BlockUpdate(byte[] input, int inOff, int len) { this.engine.Update(input, inOff, len); } // Token: 0x0600B976 RID: 47478 RVA: 0x00284798 File Offset: 0x00282998 [Token(Token = "0x600B976")] [Address(RVA = "0x25C7930", Offset = "0x25C6930", VA = "0x1825C7930", Slot = "9")] public int DoFinal(byte[] output, int outOff) { return this.engine.DoFinal(output, outOff); } // Token: 0x04007504 RID: 29956 [Token(Token = "0x4007504")] public const int SKEIN_256 = 256; // Token: 0x04007505 RID: 29957 [Token(Token = "0x4007505")] public const int SKEIN_512 = 512; // Token: 0x04007506 RID: 29958 [Token(Token = "0x4007506")] public const int SKEIN_1024 = 1024; // Token: 0x04007507 RID: 29959 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007507")] private readonly SkeinEngine engine; } }