# Cryptography318
Cryptography318 is a package intended to provide utility for important cryptographic and
linear algebra functions in Python. This package includes functions for generating primes, 
primality tests including AKS, Miller-Rabin, Baillie-PSW, functions for factoring integers including
Pollard's P-1, Self-Initializing Quadratic Sieve, Pollard's Rho, and Lenstra's ECM factorization algorithm 
using both Montgomery curves over projective space and short Weierstrass curves, functions for solving 
discrete logarithm problems including Pollard's Rho method for logarithms, 
baby-step-giant-step, and Pohlig-Hellman, support for working with elliptic curve cryptography including 
'fast power algorithm' and baby-step-giant-step, general algebra functions such as Chinese Remainder and the 
Euclidean Extended Algorithm for gcd's. In development is the index calculus method
for solving DLP's.

## Required Packages
* numpy

## Install
```angular2html
$ pip install cryptography318
```

### License
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
