Library of mathematical algorithms used in сryptography. Supports big numbers
go get github.com/Rusih100/crypto-math
The library supports the following functions:
- Euclid's algorithm
- Advanced Euclid Algorithm
- Inverse element modulo
- Fast exponentiation
- Fast exponentiation modulo
- Finding the Jacobi symbol
- Finding the order of a number by a simple modulus
- Fermat number simplicity test
- Solovey-Strassen number simplicity test
- Miller-Rabin number simplicity test
- First degree сomparison solution
- Second degree comparison solution
- Solution of the comparison system
- Discrete logarithm
- Ro-Pollard's method of factorization
- (Ro - 1) Pollard factorization method
- Factorization of a number
- Factorization of a number by brute force
- Generating a random k bit number
- Generating a random prime k bit number
- Building a finite field
- Building a finite field extension