Ixian SDK
IXICore.CryptoKey.BigInteger Class Reference

Public Member Functions

 BigInteger ()
 
 BigInteger (long value)
 
 BigInteger (ulong value)
 
 BigInteger (BigInteger bi)
 
 BigInteger (string value, int radix)
 
 BigInteger (byte[] inData)
 
 BigInteger (byte[] inData, int inLen)
 
 BigInteger (uint[] inData)
 
override bool Equals (object o)
 
override int GetHashCode ()
 
BigInteger max (BigInteger bi)
 
BigInteger min (BigInteger bi)
 
BigInteger abs ()
 
override string ToString ()
 
string ToString (int radix)
 
string ToHexString ()
 
BigInteger modPow (BigInteger exp, BigInteger n)
 
BigInteger gcd (BigInteger bi)
 
void genRandomBits (int bits, Random rand)
 
int bitCount ()
 
bool FermatLittleTest (int confidence)
 
bool RabinMillerTest (int confidence)
 
bool SolovayStrassenTest (int confidence)
 
bool LucasStrongTest ()
 
bool isProbablePrime (int confidence)
 
bool isProbablePrime ()
 
int IntValue ()
 
long LongValue ()
 
BigInteger genCoPrime (int bits, Random rand)
 
BigInteger modInverse (BigInteger modulus)
 
byte [] getBytes ()
 
void setBit (uint bitNum)
 
void unsetBit (uint bitNum)
 
BigInteger sqrt ()
 

Static Public Member Functions

static implicit operator BigInteger (long value)
 
static implicit operator BigInteger (ulong value)
 
static implicit operator BigInteger (int value)
 
static implicit operator BigInteger (uint value)
 
static BigInteger operator+ (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator++ (BigInteger bi1)
 
static BigInteger operator - (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator -- (BigInteger bi1)
 
static BigInteger operator * (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator<< (BigInteger bi1, int shiftVal)
 
static BigInteger operator >> (BigInteger bi1, int shiftVal)
 
static BigInteger operator ~ (BigInteger bi1)
 
static BigInteger operator - (BigInteger bi1)
 
static bool operator== (BigInteger bi1, BigInteger bi2)
 
static bool operator != (BigInteger bi1, BigInteger bi2)
 
static bool operator > (BigInteger bi1, BigInteger bi2)
 
static bool operator< (BigInteger bi1, BigInteger bi2)
 
static bool operator >= (BigInteger bi1, BigInteger bi2)
 
static bool operator<= (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator/ (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator % (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator & (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator| (BigInteger bi1, BigInteger bi2)
 
static BigInteger operator ^ (BigInteger bi1, BigInteger bi2)
 
static int Jacobi (BigInteger a, BigInteger b)
 
static BigInteger genPseudoPrime (int bits, int confidence, Random rand)
 
static BigInteger [] LucasSequence (BigInteger P, BigInteger Q, BigInteger k, BigInteger n)
 

Public Attributes

int dataLength
 

Static Public Attributes

static readonly int [] primesBelow2000
 

Detailed Description

Definition at line 139 of file BigInteger.cs.

Constructor & Destructor Documentation

◆ BigInteger() [1/8]

IXICore.CryptoKey.BigInteger.BigInteger ( )

Definition at line 179 of file BigInteger.cs.

◆ BigInteger() [2/8]

IXICore.CryptoKey.BigInteger.BigInteger ( long  value)

Definition at line 190 of file BigInteger.cs.

◆ BigInteger() [3/8]

IXICore.CryptoKey.BigInteger.BigInteger ( ulong  value)

Definition at line 226 of file BigInteger.cs.

◆ BigInteger() [4/8]

IXICore.CryptoKey.BigInteger.BigInteger ( BigInteger  bi)

Definition at line 254 of file BigInteger.cs.

◆ BigInteger() [5/8]

IXICore.CryptoKey.BigInteger.BigInteger ( string  value,
int  radix 
)

Definition at line 290 of file BigInteger.cs.

◆ BigInteger() [6/8]

IXICore.CryptoKey.BigInteger.BigInteger ( byte []  inData)

Definition at line 362 of file BigInteger.cs.

◆ BigInteger() [7/8]

IXICore.CryptoKey.BigInteger.BigInteger ( byte []  inData,
int  inLen 
)

Definition at line 402 of file BigInteger.cs.

◆ BigInteger() [8/8]

IXICore.CryptoKey.BigInteger.BigInteger ( uint []  inData)

Definition at line 444 of file BigInteger.cs.

Member Function Documentation

◆ abs()

BigInteger IXICore.CryptoKey.BigInteger.abs ( )

Definition at line 1449 of file BigInteger.cs.

◆ bitCount()

int IXICore.CryptoKey.BigInteger.bitCount ( )

Definition at line 1794 of file BigInteger.cs.

◆ Equals()

override bool IXICore.CryptoKey.BigInteger.Equals ( object  o)

Definition at line 972 of file BigInteger.cs.

◆ FermatLittleTest()

bool IXICore.CryptoKey.BigInteger.FermatLittleTest ( int  confidence)

Definition at line 1835 of file BigInteger.cs.

◆ gcd()

BigInteger IXICore.CryptoKey.BigInteger.gcd ( BigInteger  bi)

Definition at line 1717 of file BigInteger.cs.

◆ genCoPrime()

BigInteger IXICore.CryptoKey.BigInteger.genCoPrime ( int  bits,
Random  rand 
)

Definition at line 2569 of file BigInteger.cs.

◆ genPseudoPrime()

static BigInteger IXICore.CryptoKey.BigInteger.genPseudoPrime ( int  bits,
int  confidence,
Random  rand 
)
static

Definition at line 2547 of file BigInteger.cs.

◆ genRandomBits()

void IXICore.CryptoKey.BigInteger.genRandomBits ( int  bits,
Random  rand 
)

Definition at line 1749 of file BigInteger.cs.

◆ getBytes()

byte [] IXICore.CryptoKey.BigInteger.getBytes ( )

Definition at line 2656 of file BigInteger.cs.

◆ GetHashCode()

override int IXICore.CryptoKey.BigInteger.GetHashCode ( )

Definition at line 988 of file BigInteger.cs.

◆ IntValue()

int IXICore.CryptoKey.BigInteger.IntValue ( )

Definition at line 2457 of file BigInteger.cs.

◆ isProbablePrime() [1/2]

bool IXICore.CryptoKey.BigInteger.isProbablePrime ( int  confidence)

Definition at line 2300 of file BigInteger.cs.

◆ isProbablePrime() [2/2]

bool IXICore.CryptoKey.BigInteger.isProbablePrime ( )

Definition at line 2360 of file BigInteger.cs.

◆ Jacobi()

static int IXICore.CryptoKey.BigInteger.Jacobi ( BigInteger  a,
BigInteger  b 
)
static

Definition at line 2491 of file BigInteger.cs.

◆ LongValue()

long IXICore.CryptoKey.BigInteger.LongValue ( )

Definition at line 2467 of file BigInteger.cs.

◆ LucasSequence()

static BigInteger [] IXICore.CryptoKey.BigInteger.LucasSequence ( BigInteger  P,
BigInteger  Q,
BigInteger  k,
BigInteger  n 
)
static

Definition at line 2825 of file BigInteger.cs.

◆ LucasStrongTest()

bool IXICore.CryptoKey.BigInteger.LucasStrongTest ( )

Definition at line 2139 of file BigInteger.cs.

◆ max()

BigInteger IXICore.CryptoKey.BigInteger.max ( BigInteger  bi)

Definition at line 1422 of file BigInteger.cs.

◆ min()

BigInteger IXICore.CryptoKey.BigInteger.min ( BigInteger  bi)

Definition at line 1435 of file BigInteger.cs.

◆ modInverse()

BigInteger IXICore.CryptoKey.BigInteger.modInverse ( BigInteger  modulus)

Definition at line 2594 of file BigInteger.cs.

◆ modPow()

BigInteger IXICore.CryptoKey.BigInteger.modPow ( BigInteger  exp,
BigInteger  n 
)

Definition at line 1559 of file BigInteger.cs.

◆ operator !=()

static bool IXICore.CryptoKey.BigInteger.operator != ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 966 of file BigInteger.cs.

◆ operator %()

static BigInteger IXICore.CryptoKey.BigInteger.operator % ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1307 of file BigInteger.cs.

◆ operator &()

static BigInteger IXICore.CryptoKey.BigInteger.operator & ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1347 of file BigInteger.cs.

◆ operator *()

static BigInteger IXICore.CryptoKey.BigInteger.operator * ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 674 of file BigInteger.cs.

◆ operator -() [1/2]

static BigInteger IXICore.CryptoKey.BigInteger.operator - ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 578 of file BigInteger.cs.

◆ operator -() [2/2]

static BigInteger IXICore.CryptoKey.BigInteger.operator - ( BigInteger  bi1)
static

Definition at line 916 of file BigInteger.cs.

◆ operator --()

static BigInteger IXICore.CryptoKey.BigInteger.operator -- ( BigInteger  bi1)
static

Definition at line 627 of file BigInteger.cs.

◆ operator >()

static bool IXICore.CryptoKey.BigInteger.operator > ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 998 of file BigInteger.cs.

◆ operator >=()

static bool IXICore.CryptoKey.BigInteger.operator >= ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1050 of file BigInteger.cs.

◆ operator >>()

static BigInteger IXICore.CryptoKey.BigInteger.operator >> ( BigInteger  bi1,
int  shiftVal 
)
static

Definition at line 824 of file BigInteger.cs.

◆ operator ^()

static BigInteger IXICore.CryptoKey.BigInteger.operator ^ ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1397 of file BigInteger.cs.

◆ operator BigInteger() [1/4]

static implicit IXICore.CryptoKey.BigInteger.operator BigInteger ( long  value)
static

Definition at line 468 of file BigInteger.cs.

◆ operator BigInteger() [2/4]

static implicit IXICore.CryptoKey.BigInteger.operator BigInteger ( ulong  value)
static

Definition at line 473 of file BigInteger.cs.

◆ operator BigInteger() [3/4]

static implicit IXICore.CryptoKey.BigInteger.operator BigInteger ( int  value)
static

Definition at line 478 of file BigInteger.cs.

◆ operator BigInteger() [4/4]

static implicit IXICore.CryptoKey.BigInteger.operator BigInteger ( uint  value)
static

Definition at line 483 of file BigInteger.cs.

◆ operator ~()

static BigInteger IXICore.CryptoKey.BigInteger.operator ~ ( BigInteger  bi1)
static

Definition at line 896 of file BigInteger.cs.

◆ operator+()

static BigInteger IXICore.CryptoKey.BigInteger.operator+ ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 493 of file BigInteger.cs.

◆ operator++()

static BigInteger IXICore.CryptoKey.BigInteger.operator++ ( BigInteger  bi1)
static

Definition at line 533 of file BigInteger.cs.

◆ operator/()

static BigInteger IXICore.CryptoKey.BigInteger.operator/ ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1264 of file BigInteger.cs.

◆ operator<()

static bool IXICore.CryptoKey.BigInteger.operator< ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1024 of file BigInteger.cs.

◆ operator<<()

static BigInteger IXICore.CryptoKey.BigInteger.operator<< ( BigInteger  bi1,
int  shiftVal 
)
static

Definition at line 770 of file BigInteger.cs.

◆ operator<=()

static bool IXICore.CryptoKey.BigInteger.operator<= ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1056 of file BigInteger.cs.

◆ operator==()

static bool IXICore.CryptoKey.BigInteger.operator== ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 960 of file BigInteger.cs.

◆ operator|()

static BigInteger IXICore.CryptoKey.BigInteger.operator| ( BigInteger  bi1,
BigInteger  bi2 
)
static

Definition at line 1372 of file BigInteger.cs.

◆ RabinMillerTest()

bool IXICore.CryptoKey.BigInteger.RabinMillerTest ( int  confidence)

Definition at line 1925 of file BigInteger.cs.

◆ setBit()

void IXICore.CryptoKey.BigInteger.setBit ( uint  bitNum)

Definition at line 2704 of file BigInteger.cs.

◆ SolovayStrassenTest()

bool IXICore.CryptoKey.BigInteger.SolovayStrassenTest ( int  confidence)

Definition at line 2050 of file BigInteger.cs.

◆ sqrt()

BigInteger IXICore.CryptoKey.BigInteger.sqrt ( )

Definition at line 2750 of file BigInteger.cs.

◆ ToHexString()

string IXICore.CryptoKey.BigInteger.ToHexString ( )

Definition at line 1541 of file BigInteger.cs.

◆ ToString() [1/2]

override string IXICore.CryptoKey.BigInteger.ToString ( )

Definition at line 1462 of file BigInteger.cs.

◆ ToString() [2/2]

string IXICore.CryptoKey.BigInteger.ToString ( int  radix)

Definition at line 1479 of file BigInteger.cs.

◆ unsetBit()

void IXICore.CryptoKey.BigInteger.unsetBit ( uint  bitNum)

Definition at line 2722 of file BigInteger.cs.

Member Data Documentation

◆ dataLength

int IXICore.CryptoKey.BigInteger.dataLength

Definition at line 172 of file BigInteger.cs.

◆ primesBelow2000

readonly int [] IXICore.CryptoKey.BigInteger.primesBelow2000
static
Initial value:
= {
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,
101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293,
307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397,
401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599,
601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691,
701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797,
809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887,
907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997,
1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097,
1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193,
1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297,
1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399,
1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499,
1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597,
1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699,
1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789,
1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889,
1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999 }

Definition at line 148 of file BigInteger.cs.


The documentation for this class was generated from the following file: