README.md 1.12 KB
Newer Older
1 2
CRY(T_T)
========
davxy's avatar
davxy committed
3

davxy's avatar
davxy committed
4 5 6 7 8 9
A small crypto library.


Multiple precision integers
---------------------------

davxy's avatar
davxy committed
10
- Basic arithmentic (add,sub,mul,div,mod,abs,exp,sqr)
davxy's avatar
davxy committed
11 12 13 14 15
- Modular exponentiation
- Modular inverse (Euclidean)
- GCD and LCM
- Probabilistic prime numbers generator (Miller-Rabin)
- Random mpi generator
davxy's avatar
davxy committed
16

davxy's avatar
davxy committed
17

davxy's avatar
davxy committed
18 19 20 21
Symmetric ciphers
-----------------

### Block ciphers
22 23

- AES
davxy's avatar
davxy committed
24
- DES and Triple DES
25 26 27 28 29

### Block cipher mode of operation

- ECB
- CBC
davxy's avatar
davxy committed
30
- GCM
davxy's avatar
davxy committed
31
- CTR
32

davxy's avatar
davxy committed
33 34 35 36 37

Public key algorithms
---------------------

### Ciphers
davxy's avatar
davxy committed
38 39 40

- RSA (PKCS#1 v1.5)

davxy's avatar
davxy committed
41 42 43 44
### Secret exchange

- Diffie-Hellman

davxy's avatar
davxy committed
45

davxy's avatar
davxy committed
46 47 48 49 50 51 52
Elliptic Curve
--------------

- Basic arithmetic (add,dbl,mul)
- Load of NIST-P256 EC parameters


davxy's avatar
davxy committed
53 54 55
Pseudo random numbers generators
--------------------------------

56
- OS agnostic CSPRNG with AES-CTR
davxy's avatar
davxy committed
57 58 59
- Weak portable PRNG
- Posix CSPRNG (using '/dev/urandom')
- Windows CSPRNG (using 'CryptGenRandom')
davxy's avatar
davxy committed
60

davxy's avatar
davxy committed
61 62 63 64
Message authentication code
---------------------------

- CMAC
davxy's avatar
davxy committed
65
- HMAC
davxy's avatar
davxy committed
66

davxy's avatar
davxy committed
67

davxy's avatar
davxy committed
68 69 70 71 72 73 74 75 76 77 78
Hash
----

### Cryptographic hash

- MD5
- SHA-256

### CRC

- CRC16-CCITT
79
- CRC16-IBM
davxy's avatar
davxy committed
80
- CRC32-Ethernet
davxy's avatar
davxy committed
81

davxy's avatar
davxy committed
82 83 84 85 86
### Checksums

- LRC
- 8-bit trivial checksum

davxy's avatar
davxy committed
87

88 89 90 91 92
Utilities
---------

- Base64 encoder/decoder