X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;ds=inline;f=entropium.c;h=625e468682af943f680c7e9fd6de40289c5f3345;hb=00b7eb605c2114f86b75d78954f0fd02902acb4c;hp=1bbf5839fc90be05ca9dcdcca2d8d8665eff9853;hpb=96ebafd201c9e8441c7677577b24aa402c1defc6;p=avr-crypto-lib.git
diff --git a/entropium.c b/entropium.c
index 1bbf583..625e468 100644
--- a/entropium.c
+++ b/entropium.c
@@ -17,52 +17,33 @@
along with this program. If not, see .
*/
/**
- * \file entropium.c
- * \author Daniel Otte
- * \date 17.05.2006
- * \par License:
- * GPL
+ * \file entropium.c
+ * \author Daniel Otte
+ * \email daniel.otte@rub.de
+ * \date 2006-05-17
+ * \license GPLv3 or later
* \brief This file contains an implementaition of a pseudo-random-number generator.
*
* Extension 1:
* rndCore is expanded to 512 bits for more security.
*
- * \verbatim
- * ################################################################################################
- * # #
- * # +---------------------------+ #
- * # | | +---+ #
- * # V | | | #
- * # (concat) | | V #
- * +---------------+ # o---------o (xor)+---------+ o---------o | o----o o---------o # +--------------+
- * | entropy Block | -----> | sha-256 | --(offset)-< | rndCore | ---> | sha-256 | --+--+-| +1 |---> | sha-256 | -----> | random Block |
- * +---------------+ # o---------o (xor)+---------+ o---------o | o----o o---------o # +--------------+
- * # (xor) (xor) | #
- * # ^ ^ | #
- * # \ / | #
- * # (offset)---------------------+ #
- * # #
- * ################################################################################################
- * \endverbatim
- */
-
- /* \verbatim
- * ################################################################################################
- * # #
- * # +---------------------------+ #
- * # | | +---+ #
- * # V | | | #
- * # (concat) | | V #
- * +---------------+ # o---------o (xor)+---------+ o---------o | o----o o---------o # +--------------+
- * | entropy Block | -----> | sha-256 | --(offset)-< | rndCore | ---> | sha-256 | --+--+-| +1 |---> | sha-256 | -----> | random Block |
- * +---------------+ # o---------o (xor)+---------+ o---------o | o----o o---------o # +--------------+
- * # (xor) (xor) | #
- * # ^ ^ | #
- * # \ / | #
- * # (offset)---------------------+ #
- * # #
- * ################################################################################################
- * \endverbatim
+ \verbatim
+ ################################################################################################
+ # #
+ # +---------------------------+ #
+ # | | #
+ # V | #
+ # (concat) | #
+ +---------------+ # o---------o (xor)+---------+ o---------o o----o o---------o # +--------------+
+ | entropy Block | -----> | sha-256 | --(offset)-< | rndCore | ---> | sha-256 | --+----| +1 |---> | sha-256 | -----> | random Block |
+ +---------------+ # o---------o (xor)+---------+ o---------o | o----o o---------o # +--------------+
+ # (xor) (xor) | #
+ # ^ ^ | #
+ # \ / | #
+ # (offset)---------------------+ #
+ # #
+ ################################################################################################
+ \endverbatim
*/
#include
@@ -78,12 +59,6 @@ uint32_t rndCore[16];
/*************************************************************************/
-/**
- * \brief This function adds entropy to the central entropy pool
- *
- * @param length This ist the length of the random data in BITS.
- * @param data This is the random data which should be added to the entropy pool
-*/
/* idea is: hash the message and add it via xor to rndCore
*
* length in bits
@@ -109,10 +84,7 @@ void entropium_addEntropy(unsigned length_b, const void* data){
}
/*************************************************************************/
-/**
- * \brief This function fills a given buffer with 32 random bytes
- * @param b Pointer to buffer wich is to fill
- */
+
void entropium_getRandomBlock(void *b){
sha256_ctx_t s;
uint8_t offset=8;
@@ -132,11 +104,7 @@ void entropium_getRandomBlock(void *b){
}
/*************************************************************************/
-
-/**
- * \brief This function simply returns a random byte
- * @return a random byte
- */
+
uint8_t entropium_getRandomByte(void){
static uint8_t block[32];
static uint8_t i=32;
@@ -148,13 +116,6 @@ uint8_t entropium_getRandomByte(void){
return block[i++];
}
-/*************************************************************************/
-
-/**
- * \brief This function fills the given bock with length random bytes
- * @return a random byte
- */
-
void entropium_fillBlockRandom(void* block, unsigned length_B){
while(length_B>ENTROPIUM_RANDOMBLOCK_SIZE){
entropium_getRandomBlock(block);