Bug #600
Updated by profmakx almost 10 years ago
What is the point of keeping/using the in-kernel arc4 random number generator when you already have a very good/superior IBAA/L15 random number generator. If you need a u_int32_t quantity then simply add a function to /sys/kern/kern_nrandom.c to produce a u_int32_t. -- Some issues with /sys/libkern/karc4random.c : (a) If you intend to keep /sys/libkern/karc4random.c I recommend you make a modification to it to improve performance: Every time the karc4_random() function is called it calls getmicrotime(), to check the time, and it also checks the number of runs made, to see if it should reseed itself. You can make a big performance improvement by removing this call to getmicrotime() and instead simply checking the number of runs to determine when it should reseed itself. (b) The karc4random.c file uses u_int8_t types for arc4_i, arc4_j and arc4_t so there is no need for the % 256 operation - another performance improvement. (c) In arc4_init() you are throwing away 256*4 bytes of output, when you only need to throw away the first 256 bytes of output. Sincerely, R Carey. ___________________________________________________________ Yahoo! Answers - Got a question? Someone out there knows the answer. Try it now. http://uk.answers.yahoo.com/