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

156 lines
4.9 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
{
// Token: 0x02001D84 RID: 7556
[Token(Token = "0x2001D84")]
public class RsaBlindingEngine : IAsymmetricBlockCipher
{
// Token: 0x0600BC35 RID: 48181 RVA: 0x00298ED8 File Offset: 0x002970D8
[Token(Token = "0x600BC35")]
[Address(RVA = "0x2736A20", Offset = "0x2735A20", VA = "0x182736A20")]
public RsaBlindingEngine()
{
RsaCoreEngine rsaCoreEngine = new RsaCoreEngine();
base..ctor();
this.core = rsaCoreEngine;
}
// Token: 0x0600BC36 RID: 48182 RVA: 0x00298EF8 File Offset: 0x002970F8
[Token(Token = "0x600BC36")]
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
public RsaBlindingEngine(IRsa rsa)
{
this.core = rsa;
}
// Token: 0x17001D85 RID: 7557
// (get) Token: 0x0600BC37 RID: 48183 RVA: 0x00298F14 File Offset: 0x00297114
[Token(Token = "0x17001D85")]
public virtual string AlgorithmName
{
[Token(Token = "0x600BC37")]
[Address(RVA = "0x2736A80", Offset = "0x2735A80", VA = "0x182736A80", Slot = "9")]
get
{
return "RSA";
}
}
// Token: 0x0600BC38 RID: 48184 RVA: 0x00298F28 File Offset: 0x00297128
[Token(Token = "0x600BC38")]
[Address(RVA = "0x2736680", Offset = "0x2735680", VA = "0x182736680", Slot = "10")]
public virtual void Init(bool forEncryption, ICipherParameters param)
{
int num;
for (;;)
{
if ((param != 0 || param != 0) && param != 0 && param != 0)
{
num = 0;
if (param != 0)
{
break;
}
}
}
IRsa rsa = this.core;
this.forEncryption = forEncryption;
this.key = num;
this.blindingFactor = num;
}
// Token: 0x0600BC39 RID: 48185 RVA: 0x00298F7C File Offset: 0x0029717C
[Token(Token = "0x600BC39")]
[Address(RVA = "0x27365E0", Offset = "0x27355E0", VA = "0x1827365E0", Slot = "11")]
public virtual int GetInputBlockSize()
{
IRsa rsa = this.core;
throw new NullReferenceException();
}
// Token: 0x0600BC3A RID: 48186 RVA: 0x00298F98 File Offset: 0x00297198
[Token(Token = "0x600BC3A")]
[Address(RVA = "0x2736630", Offset = "0x2735630", VA = "0x182736630", Slot = "12")]
public virtual int GetOutputBlockSize()
{
IRsa rsa = this.core;
throw new NullReferenceException();
}
// Token: 0x0600BC3B RID: 48187 RVA: 0x00298FB4 File Offset: 0x002971B4
[Token(Token = "0x600BC3B")]
[Address(RVA = "0x2736870", Offset = "0x2735870", VA = "0x182736870", Slot = "13")]
public virtual byte[] ProcessBlock(byte[] inBuf, int inOff, int inLen)
{
IRsa rsa = this.core;
RsaKeyParameters rsaKeyParameters = this.key;
if (!this.forEncryption)
{
BigInteger bigInteger = this.blindingFactor;
BigInteger modulus = rsaKeyParameters.modulus;
BigInteger bigInteger2 = bigInteger.ModInverse(modulus);
}
BigInteger bigInteger3 = this.blindingFactor;
BigInteger modulus2 = rsaKeyParameters.modulus;
BigInteger exponent = rsaKeyParameters.exponent;
BigInteger bigInteger4 = bigInteger3.ModPow(exponent, modulus2);
BigInteger modulus3 = this.key.modulus;
BigInteger bigInteger6;
BigInteger bigInteger5 = bigInteger6.Mod(modulus3);
IRsa rsa2 = this.core;
throw new NullReferenceException();
}
// Token: 0x0600BC3C RID: 48188 RVA: 0x0029903C File Offset: 0x0029723C
[Token(Token = "0x600BC3C")]
[Address(RVA = "0x2736560", Offset = "0x2735560", VA = "0x182736560")]
private BigInteger BlindMessage(BigInteger msg)
{
RsaKeyParameters rsaKeyParameters = this.key;
BigInteger bigInteger = this.blindingFactor;
BigInteger modulus = rsaKeyParameters.modulus;
BigInteger exponent = rsaKeyParameters.exponent;
BigInteger bigInteger2 = bigInteger.ModPow(exponent, modulus);
BigInteger bigInteger3 = msg.Multiply(bigInteger2);
BigInteger modulus2 = this.key.modulus;
return bigInteger3.Mod(modulus2);
}
// Token: 0x0600BC3D RID: 48189 RVA: 0x00299098 File Offset: 0x00297298
[Token(Token = "0x600BC3D")]
[Address(RVA = "0x27369B0", Offset = "0x27359B0", VA = "0x1827369B0")]
private BigInteger UnblindMessage(BigInteger blindedMsg)
{
RsaKeyParameters rsaKeyParameters = this.key;
BigInteger bigInteger = this.blindingFactor;
BigInteger modulus = rsaKeyParameters.modulus;
BigInteger bigInteger2 = bigInteger.ModInverse(modulus);
return blindedMsg.Multiply(bigInteger2).Mod(modulus);
}
// Token: 0x040076A2 RID: 30370
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40076A2")]
private readonly IRsa core;
// Token: 0x040076A3 RID: 30371
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40076A3")]
private RsaKeyParameters key;
// Token: 0x040076A4 RID: 30372
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40076A4")]
private BigInteger blindingFactor;
// Token: 0x040076A5 RID: 30373
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40076A5")]
private bool forEncryption;
}
}