Change search
ReferencesLink to record
Permanent link

Direct link
Blum Blum Shub on the GPU
Blekinge Institute of Technology, School of Computing.
Blekinge Institute of Technology, School of Computing.
2012 (English)Student thesis
Abstract [en]

Context. The cryptographically secure pseudo-random number generator Blum Blum Shub (BBS) is a simple algorithm with a strong security proof, however it requires very large numbers to be secure, which makes it computationally heavy. The Graphics Processing Unit (GPU) is a common vector processor originally dedicated to computer-game graphics, but has since been adapted to perform general-purpose computing. The GPU has a large potential for fast general-purpose parallel computing but due to its architecture it is difficult to adapt certain algorithms to utilise the full computational power of the GPU. Objectives. The objective of this thesis was to investigate if an implementation of the BBS pseudo-random number generator algorithm on the GPU would be faster than a CPU implementation. Methods. In this thesis, we modelled the performance of a multi-precision number system with different data types; to decide which data type should be used for a multi-precision number system implementation on the GPU. The multi-precision number system design was based on a positional number system. Because multi-precision numbers were used, conventional methods for arithmetic were not efficient or practical. Therefore, addition was performed by using Lazy Addition that allows larger carry values in order to limit the amount of carry propagation required to perform addition. Carry propagation was done by using a technique derived from a Kogge-Stone carry look-ahead adder. Single-precision multiplication was done using Dekker splits and multi-precision modular multiplication used Montgomery multiplication. Results. Our results showed that using the floating-point data type would yield greater performance for a multi-precision number system on the GPU compared to using the integer data type. The performance results from our GPU bound BBS implementation was about 4 times slower than a CPU version implemented with the GNU Multiple Precision Arithmetic Library (GMP). Conclusions. The conclusion made from this thesis, is that our GPU bound BBS implementation, is not a suitable alternative or replacement for the CPU bound implementation.

Place, publisher, year, edition, pages
2012. , 67 p.
Keyword [en]
Blum Blum Shub, Multi-precision, OpenCL, GPGPU
National Category
Computer Science
URN: urn:nbn:se:bth-3759Local ID: diva2:831071
Available from: 2015-04-22 Created: 2012-04-23 Last updated: 2015-06-30Bibliographically approved

Open Access in DiVA

fulltext(1094 kB)170 downloads
File information
File name FULLTEXT01.pdfFile size 1094 kBChecksum SHA-512
Type fulltextMimetype application/pdf

By organisation
School of Computing
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 170 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 29 hits
ReferencesLink to record
Permanent link

Direct link