Skip to content

A package of mathematical algorithms used in cryptography. Supports big numbers

License

Notifications You must be signed in to change notification settings

Rusih100/crypto-math

Repository files navigation

crypto-math

Library of mathematical algorithms used in сryptography. Supports big numbers

Go Reference

Install

go get github.com/Rusih100/crypto-math

Description

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

About

A package of mathematical algorithms used in cryptography. Supports big numbers

Topics

Resources

License

Stars

Watchers

Forks

Languages