]> git.cryptolib.org Git - avr-crypto-lib.git/blob - main.dox
adding documentation
[avr-crypto-lib.git] / main.dox
1 /** \mainpage Documentation for microcrypt-lib
2  \section Algorithms Available algorithms
3  \subsection Stream-ciphers Stream ciphers
4   A stream cipher generates a keystream which is normaly XORed with the
5   plaintext to produce the the ciphertext. Stream ciphers therfore have a 
6   state which is automaticaly updated to produce the next element of the 
7   keystream. Most Streamciphers produce a fixed length of keytream per 
8   iteration which may be a byte, a bit or any other data unit.
9   
10   Implemented stream ciphers: 
11    - A5/1 (A5_1.h)
12    - ARCFOUR (RC4 compatible) (arcfour.h)
13    - Grain (grain.h)
14    - Trivium (trivium.h)
15    
16  \subsection Block-ciphers Block ciphers 
17   Block cipher encrypt/decrypt fixed length blocks (mostly 64 bits or 128 bits)
18   with a key. Most block ciphers iterate a round function which uses a so-called
19   round key. The round keys are generated on the fly or with a special init
20   function (this is cipher specific). Round keys are stored in a context which
21   is not modifyed by the encryption or decryption function. Also the same 
22   context can be used for encryption and decryption and depends only on the key
23   and its length.
24   
25   Implemented block ciphers:
26    - Camellia (camellia.h)
27    - CAST5 (a.k.a CAST-128) (cast5.h)
28    - CAST6 (a.k.a CAST-256) (cast6.h)
29    - DES & Tripple-DES (EDE) (des.h)
30    - Noekeon (noekeon.h)
31    - RC5 (rc5.h)
32    - RC6 (rc6.h)
33    - SEED (seed.h)
34    - Serpent (serpent.h)
35    - Shabea (shabea.h)
36    - SHACAL-1 (encryption only) (shacal1_enc.h)
37    - SHACAL-2 (encryption only) (shacal2_enc.h)
38    - Skipjack (skipjack.h)
39    - XTEA (xtea.h)
40    
41  \subsection Hashes Hashes
42   A Hash function produces a fixed length output (called hash value or message
43   digest) from a variable length message input. 
44   
45   Implemented hash functions:
46    - MD5 (md5.h)
47    - SHA-1 (sha1.h)
48    - SHA-256 (sha256.h)
49    
50  \subsection MACs Message-Authentification-Codes (MACs)
51    - HMAC-SHA-1 (hmac-sha1.h)
52    - HMAC-SHA-256 (hmac-sha256.h)
53
54  \subsection PRNGs Pseudo-Random-Number-Generators (PRNGs)
55    - Entropium (entropium.h)
56    
57 */