init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
using System;
using Org.BouncyCastle.Math;
namespace Org.BouncyCastle.Bcpg;
public class MPInteger : BcpgObject
{
private readonly BigInteger val;
public BigInteger Value => val;
public MPInteger(BcpgInputStream bcpgIn)
{
if (bcpgIn == null)
{
throw new ArgumentNullException("bcpgIn");
}
int num = (bcpgIn.ReadByte() << 8) | bcpgIn.ReadByte();
byte[] array = new byte[(num + 7) / 8];
bcpgIn.ReadFully(array);
val = new BigInteger(1, array);
}
public MPInteger(BigInteger val)
{
if (val == null)
{
throw new ArgumentNullException("val");
}
if (val.SignValue < 0)
{
throw new ArgumentException("Values must be positive", "val");
}
this.val = val;
}
public override void Encode(BcpgOutputStream bcpgOut)
{
bcpgOut.WriteShort((short)val.BitLength);
bcpgOut.Write(val.ToByteArrayUnsigned());
}
internal static void Encode(BcpgOutputStream bcpgOut, BigInteger val)
{
bcpgOut.WriteShort((short)val.BitLength);
bcpgOut.Write(val.ToByteArrayUnsigned());
}
}