Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Digests/SkeinDigest.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

215 lines
6.6 KiB
C#

using System;
using System.Collections;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
{
// Token: 0x02001CFD RID: 7421
[Token(Token = "0x2001CFD")]
public class SkeinDigest : IDigest, IMemoable
{
// Token: 0x0600BBCB RID: 48075 RVA: 0x002A9364 File Offset: 0x002A7564
[Token(Token = "0x600BBCB")]
[Address(RVA = "0x1FE39F0", Offset = "0x1FE27F0", VA = "0x181FE39F0")]
public SkeinDigest(int stateSizeBits, int digestSizeBits)
{
SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits);
this.engine = skeinEngine;
int num = 0;
skeinEngine.chain = num;
skeinEngine.key = num;
skeinEngine.preMessageParameters = num;
skeinEngine.postMessageParameters = num;
skeinEngine.CreateInitialState();
skeinEngine.UbiInit(48);
}
// Token: 0x0600BBCC RID: 48076 RVA: 0x002A93B8 File Offset: 0x002A75B8
[Token(Token = "0x600BBCC")]
[Address(RVA = "0x1FE3930", Offset = "0x1FE2730", VA = "0x181FE3930")]
public SkeinDigest(SkeinDigest digest)
{
SkeinEngine skeinEngine = digest.engine;
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
SkeinEngine skeinEngine2;
skeinEngine2.CopyIn(skeinEngine);
this.engine = skeinEngine2;
}
// Token: 0x0600BBCD RID: 48077 RVA: 0x002A93F4 File Offset: 0x002A75F4
[Token(Token = "0x600BBCD")]
[Address(RVA = "0x1FE3730", Offset = "0x1FE2530", VA = "0x181FE3730", Slot = "12")]
public void Reset(IMemoable other)
{
int num;
SkeinEngine skeinEngine;
for (;;)
{
num = 0;
if (other != 0)
{
skeinEngine = this.engine;
if (other == 0 || other != 0)
{
ThreefishEngine threefish = skeinEngine.threefish;
bool isPartialBlockOkay = threefish.IsPartialBlockOkay;
bool isPartialBlockOkay2 = threefish.IsPartialBlockOkay;
if (isPartialBlockOkay == isPartialBlockOkay2 && skeinEngine.outputSizeBytes == (isPartialBlockOkay2 ? 1 : 0))
{
break;
}
}
}
}
skeinEngine.CopyIn(num);
}
// Token: 0x0600BBCE RID: 48078 RVA: 0x002A9454 File Offset: 0x002A7654
[Token(Token = "0x600BBCE")]
[Address(RVA = "0x1FE34E0", Offset = "0x1FE22E0", VA = "0x181FE34E0", Slot = "11")]
public IMemoable Copy()
{
SkeinEngine skeinEngine = this.engine;
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
SkeinEngine skeinEngine2;
skeinEngine2.CopyIn(skeinEngine);
SkeinDigest skeinDigest;
skeinDigest.engine = skeinEngine2;
throw new NullReferenceException();
}
// Token: 0x17001D25 RID: 7461
// (get) Token: 0x0600BBCF RID: 48079 RVA: 0x002A9488 File Offset: 0x002A7688
[Token(Token = "0x17001D25")]
public string AlgorithmName
{
[Token(Token = "0x600BBCF")]
[Address(RVA = "0x1FE3AC0", Offset = "0x1FE28C0", VA = "0x181FE3AC0", Slot = "4")]
get
{
object[] array = new object[4];
if ("Skein-" != 0)
{
}
array[0] = "Skein-";
bool isPartialBlockOkay = this.engine.threefish.IsPartialBlockOkay;
if (isPartialBlockOkay)
{
}
array[1] = isPartialBlockOkay;
if ("-" != 0)
{
}
array[2] = "-";
int outputSizeBytes = this.engine.outputSizeBytes;
if (outputSizeBytes != 0)
{
}
array[3] = outputSizeBytes;
return string.Concat(array);
}
}
// Token: 0x0600BBD0 RID: 48080 RVA: 0x002A9508 File Offset: 0x002A7708
[Token(Token = "0x600BBD0")]
[Address(RVA = "0x40DB30", Offset = "0x40C930", VA = "0x18040DB30", Slot = "5")]
public int GetDigestSize()
{
return this.engine.outputSizeBytes;
}
// Token: 0x0600BBD1 RID: 48081 RVA: 0x002A9528 File Offset: 0x002A7728
[Token(Token = "0x600BBD1")]
[Address(RVA = "0x1FE35C0", Offset = "0x1FE23C0", VA = "0x181FE35C0", Slot = "6")]
public int GetByteLength()
{
string algorithmName = ((IBlockCipher)this.engine.threefish).AlgorithmName;
throw new NullReferenceException();
}
// Token: 0x0600BBD2 RID: 48082 RVA: 0x002A954C File Offset: 0x002A774C
[Token(Token = "0x600BBD2")]
[Address(RVA = "0x1FE3600", Offset = "0x1FE2400", VA = "0x181FE3600")]
public void Init(SkeinParameters parameters)
{
SkeinEngine skeinEngine = this.engine;
int num = 0;
skeinEngine.chain = num;
skeinEngine.key = num;
skeinEngine.preMessageParameters = num;
skeinEngine.postMessageParameters = num;
if (parameters != 0)
{
byte[] key = parameters.GetKey();
IDictionary parameters2 = parameters.parameters;
skeinEngine.InitParams(parameters2);
}
skeinEngine.CreateInitialState();
skeinEngine.UbiInit(48);
}
// Token: 0x0600BBD3 RID: 48083 RVA: 0x002A95AC File Offset: 0x002A77AC
[Token(Token = "0x600BBD3")]
[Address(RVA = "0x1FE36D0", Offset = "0x1FE24D0", VA = "0x181FE36D0", Slot = "10")]
public void Reset()
{
SkeinEngine skeinEngine = this.engine;
ulong[] chain = skeinEngine.chain;
int length = chain.Length;
int num = 0;
ulong[] initialState = skeinEngine.initialState;
int num2 = 0;
Array.Copy(initialState, num2, chain, num, length);
skeinEngine.UbiInit(48);
}
// Token: 0x0600BBD4 RID: 48084 RVA: 0x002A95F8 File Offset: 0x002A77F8
[Token(Token = "0x600BBD4")]
[Address(RVA = "0x1FE38D0", Offset = "0x1FE26D0", VA = "0x181FE38D0", Slot = "7")]
public void Update(byte inByte)
{
SkeinEngine skeinEngine = this.engine;
skeinEngine.singleByte[0] = inByte;
byte[] singleByte = skeinEngine.singleByte;
int num = 0;
skeinEngine.Update(singleByte, num, 1);
}
// Token: 0x0600BBD5 RID: 48085 RVA: 0x002A9634 File Offset: 0x002A7834
[Token(Token = "0x600BBD5")]
[Address(RVA = "0x1C30790", Offset = "0x1C2F590", VA = "0x181C30790", Slot = "8")]
public void BlockUpdate(byte[] inBytes, int inOff, int len)
{
this.engine.Update(inBytes, inOff, len);
}
// Token: 0x0600BBD6 RID: 48086 RVA: 0x002A9658 File Offset: 0x002A7858
[Token(Token = "0x600BBD6")]
[Address(RVA = "0x1C307C0", Offset = "0x1C2F5C0", VA = "0x181C307C0", Slot = "9")]
public int DoFinal(byte[] outBytes, int outOff)
{
return this.engine.DoFinal(outBytes, outOff);
}
// Token: 0x04007744 RID: 30532
[Token(Token = "0x4007744")]
public const int SKEIN_256 = 256;
// Token: 0x04007745 RID: 30533
[Token(Token = "0x4007745")]
public const int SKEIN_512 = 512;
// Token: 0x04007746 RID: 30534
[Token(Token = "0x4007746")]
public const int SKEIN_1024 = 1024;
// Token: 0x04007747 RID: 30535
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007747")]
private readonly SkeinEngine engine;
}
}