]> AND Private Git Repository - prnggpu1.git/blob - PRNG/BBS.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
initialisation
[prnggpu1.git] / PRNG / BBS.tex
1 \textit{Blum Blum Shub Generators} or BBS are a known efficient cryptography secure PRNG proposed [1986]. It has been proposed to solve the quadratic residue problem [1999] represented by the Rabin function of $x_{t} = \ x{_{t-1}}^{2} \ mod \ n$. It's based on the product "n" of two big primes number called "Blum prime" and are congruent to (3 modulo 4). The output bit "j" from $x_{t}$ of this generator is in first extracted by the least significant bits implemented in this equation $j= c * log \ (log(n))$, where c is a constant. Then it will be added to the final generated binary sequence $y_{t}= \ x{_{t}}^{2} \ mod \ j$. However, just a few work using BBS are implemented in FPGA. As for this paper in \cite{sewak2012fpga}, the authors present an area/speed comparison without any optimization between a 4-bits LFSR and a 16-bits BBS PRNG. Another work is founded in \cite{peris2010cryptographically} for RFID tag applications. Here, the authors present some FPGA implementation of BBS of 160 to 512 bits using different multiplication algorithms to satisfy the main BBS equation $(A*B mod M)$. The algorithms used for comparison are \emph{classical combinational multiplier}, \emph{classical shift adder and multiplication}, \emph{Karatsuba's multiplication} and  \emph{Montgomery's direct modular multiplication}. However, the authors compare just the area results and they claim the uses of the "Montgomery" iterative approach is the low cost area in FPGA.