diff options
Diffstat (limited to 'gpxe/src/crypto/crandom.c')
-rw-r--r-- | gpxe/src/crypto/crandom.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/gpxe/src/crypto/crandom.c b/gpxe/src/crypto/crandom.c deleted file mode 100644 index 9828482e..00000000 --- a/gpxe/src/crypto/crandom.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2009 Joshua Oreman <oremanj@rwcr.net>. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -/** @file - * - * Cryptographically strong random number generator - * - * Currently the cryptographic part is not implemented, and this just - * uses random(). - */ - -#include <gpxe/crypto.h> -#include <stdlib.h> - -/** - * Get cryptographically strong random bytes - * - * @v buf Buffer in which to store random bytes - * @v len Number of random bytes to generate - * - * @b WARNING: This function is currently underimplemented, and does - * not give numbers any stronger than random()! - */ -void get_random_bytes ( void *buf, size_t len ) -{ - u8 *bufp = buf; - - /* - * Somewhat arbitrarily, choose the 0x00FF0000-masked byte - * returned by random() as having good entropy. PRNGs often - * don't provide good entropy in lower bits, and the top byte - * might show a pattern because of sign issues. - */ - - while ( len-- ) { - *bufp++ = ( random() >> 16 ) & 0xFF; - } -} |