Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Prng/VmpcRandomGenerator.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

114 lines
3.0 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Threading;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng
{
// Token: 0x02001CAF RID: 7343
[Token(Token = "0x2001CAF")]
public class VmpcRandomGenerator : IRandomGenerator
{
// Token: 0x0600B5C7 RID: 46535 RVA: 0x0027509C File Offset: 0x0027329C
[Token(Token = "0x600B5C7")]
[Address(RVA = "0x2368540", Offset = "0x2367540", VA = "0x182368540")]
public VmpcRandomGenerator()
{
byte[] array = new byte[256];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.B31A9EA1A2718942996E7F94106F0FC798C174C8).FieldHandle);
this.P = array;
this.s = (byte)((ulong)190L);
base..ctor();
}
// Token: 0x0600B5C8 RID: 46536 RVA: 0x002750DC File Offset: 0x002732DC
[Token(Token = "0x600B5C8")]
[Address(RVA = "0x23680A0", Offset = "0x23670A0", VA = "0x1823680A0", Slot = "8")]
public virtual void AddSeedMaterial(byte[] seed)
{
int num = 0;
int length = seed.Length;
if (num < length)
{
byte[] p = this.P;
byte b = this.n;
int length2 = p.Length;
byte b2;
byte b3;
b2 += b3;
byte b4 = this.s;
b2 += b4;
byte b5;
this.s = b5;
int length3 = p.Length;
byte[] p2 = this.P;
byte b6 = this.s;
num++;
}
}
// Token: 0x0600B5C9 RID: 46537 RVA: 0x00275150 File Offset: 0x00273350
[Token(Token = "0x600B5C9")]
[Address(RVA = "0x2368200", Offset = "0x2367200", VA = "0x182368200", Slot = "9")]
public virtual void AddSeedMaterial(long seed)
{
byte[] array = Pack.UInt64_To_BE((ulong)seed);
((IRandomGenerator)this).AddSeedMaterial(array);
}
// Token: 0x0600B5CA RID: 46538 RVA: 0x0027516C File Offset: 0x0027336C
[Token(Token = "0x600B5CA")]
[Address(RVA = "0x2368500", Offset = "0x2367500", VA = "0x182368500", Slot = "10")]
public virtual void NextBytes(byte[] bytes)
{
this.NextBytes(bytes);
}
// Token: 0x0600B5CB RID: 46539 RVA: 0x00275188 File Offset: 0x00273388
[Token(Token = "0x600B5CB")]
[Address(RVA = "0x2368240", Offset = "0x2367240", VA = "0x182368240", Slot = "11")]
public virtual void NextBytes(byte[] bytes, int start, int len)
{
int num;
do
{
num = 0;
byte[] p = this.P;
byte[] p2 = this.P;
byte b = this.n;
int length = p2.Length;
byte b2 = this.s;
byte b3;
b3 += b2;
byte b4;
this.s = b4;
int length2 = p2.Length;
byte[] p3 = this.P;
byte b5 = this.n;
int length3 = p3.Length;
byte b6 = this.s;
byte[] p4 = this.P;
byte b7 = this.s;
Monitor.Exit(p);
}
while (num != 0);
}
// Token: 0x04007318 RID: 29464
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007318")]
private byte n;
// Token: 0x04007319 RID: 29465
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007319")]
private byte[] P;
// Token: 0x0400731A RID: 29466
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400731A")]
private byte s;
}
}