Patent ID: 8443020

Claim:
A pseudo-random number generator generating a pseudo-random number in word unit having a plurality of bytes, comprising: a key memory storing key information; a first memory S 1 configured by a plurality of words and accessing a word S 1 [I] using an address I (I is an integer at least 0); a second memory S 2 being a memory configured by a same number of plurality of words with the first memory S 1 and accessing a word S 2 [I] using the address I; an initializing unit setting a value for each of words of the first memory S 1 and the second memory S 2 , and setting an initial value in a first internal memory and a second internal memory; a key scheduling unit key scheduling values of the words set in the first memory S 1 and the second memory S 2 using the key information stored in the key memory, and storing in the first memory S 1 and the second memory S 2 ; and a stream generating unit generating a pseudo-random number by alternately using words which have been key scheduled by the key scheduling unit and stored in the first memory S 1 and the second memory S 2 , wherein said stream generating unit comprises: a looping unit repeating the operations of the stream generating unit until the stream length of said pseudo-random number becomes a predetermined stream length of a random number to be generated; and a rescheduling unit causing the key scheduling unit to operate when the stream length of the pseudo-random number becomes a predetermined rescheduling length.