X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=main.dox;h=ce525e3dcd9137f9de861eff0f6e806cb3032dae;hp=199a398cf63e8a1e9b77516c38fdbb1d3b419aef;hb=e542ff92d053ecf40b42364a44bc887431cecae2;hpb=4d76909e4282baf1420ee309e270384246b241b8 diff --git a/main.dox b/main.dox index 199a398..ce525e3 100644 --- a/main.dox +++ b/main.dox @@ -1,4 +1,4 @@ -/** \mainpage Documentation for microcrypt-lib +/** \mainpage Documentation for AVR-Crypto-Lib \section Algorithms Available algorithms \subsection Stream-ciphers Stream ciphers A stream cipher generates a keystream which is normaly XORed with the @@ -40,18 +40,42 @@ \subsection Hashes Hashes A Hash function produces a fixed length output (called hash value or message - digest) from a variable length message input. + digest) from a variable length message input. Most hash algorithms have a + state which is updated by the hash core function from a block of fixed size + from the message. A "lastBlock" function is used to add the last block which + is not required to have the fixed length. An addition function is then used + to transform the state into the final hash value. Implemented hash functions: - MD5 (md5.h) - SHA-1 (sha1.h) - SHA-256 (sha256.h) + - Blake + - Blue Midnight Wish + - Grøstl + - Keccak + - Shabal + - Skein + - Twister \subsection MACs Message-Authentification-Codes (MACs) + Message-Authentification-Codes work like hash function but take an additional + key. The produced output is also called MAC and is highly dependant on the + key. They can be thought of symmetric signatures. + + Implemented MAC functions: - HMAC-SHA-1 (hmac-sha1.h) - HMAC-SHA-256 (hmac-sha256.h) + \subsection PRNGs Pseudo-Random-Number-Generators (PRNGs) + PRNGs produce pseudo random output determinated by the input. They aim to + produce an arbitrary length of good cryptographically secure random if the + input has enough entropy. PRNGs differ in the way they accept input. Some + are seeded only once, other (like the implemented) maintain an entropy pool + to which input can be added at virtually any time. + + Implemented PRNGs: - Entropium (entropium.h) -*/ \ No newline at end of file +*/