Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
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. , p. 67
Keywords [en]
Blum Blum Shub, Multi-precision, OpenCL, GPGPU
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-3759Local ID: oai:bth.se:arkivex3C6F1849BFB7A6AFC12579E9006423EBOAI: oai:DiVA.org:bth-3759DiVA, id: diva2:831071
Uppsok
Technology
Supervisors
Available from: 2015-04-22 Created: 2012-04-23 Last updated: 2018-01-11Bibliographically approved

Open Access in DiVA

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

By organisation
School of Computing
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 3000 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

urn-nbn

Altmetric score

urn-nbn
Total: 328 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf