Cryptographic systems need strings of randomly chosen bits in order to function correctly. The most obvious need is with key generation. A secret key must be un-guessable for it to be secure. If a Random Number Generator (RNG) meets this fundamental requirement an attacker will be forced to try every possible combination of bits for the given key length. Many cryptographic systems have a single subsystem that supplies these crucial bits [1]. In some cases the random bits are revealed to observers (e.g. the initialization vector is transmitted in the clear in many protocols). Thus an attacker can observe the characteristics of the bits produced by the system's RNG and take advantage of any weakness found there. RNGs used for cryptographic processes must, therefore, be considered a critical part of the cryptographic system [2]. A weakness or failure in the RNG can lead to a complete failure of the system [3]. RNGs are divided into two basic types. RNGs that base their output on a physical source of randomness are known as True Random Number Generators (TRNGs). RNGs that are given an initial random seed and thereafter generate random-seeming numbers in a deterministic way are known as Pseudo Random Number Generators (PRNGs). In this project we used Genetic Algorithm to improve LFSR structure and finally succeed to introduce an intelligent PRNG.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.