High-performance Cryptographically Secure Pseudo-random Number Generation via Bitslicing

09/10/2019
by   Saleh Khalaj Monfared, et al.
0

In this paper, a high-throughput Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) using the bitslicing technique is proposed. In such technique, instead of the conventional row-major data representation, column-major data representation is employed which allows the bitsliced implementation to take full advantage of all the available datapath of the hardware platform. We use LFSR-based (Linear Feedback Shift Register) PRNG for our implementation since its register oriented architecture perfectly suits the GPU's many-core structure and allows for usage of bitslicing technique which can further improve its performance. In our GPU implementation, each GPU thread is capable of generating a remarkable number of 32 pseudo-random bits in each LFSR clock cycle. In order to obtain cryptographically suitable properties, we propose an SIMD vectorized fully parallel bitsliced implementation of the LFSR-based, cryptographically secure MICKEY 2.0 stream cipher algorithm for CSPRNG. To the best of our knowledge, our method not only achieves better performance, but also significantly outperforms optical solutions in terms of performance per cost while maintaining an acceptable measure of randomness. It should be mentioned that our implementation successfully passes the NIST test for statistical randomness and bitwise correlation criteria. Our proposed methodology significantly outperforms the current best implementations in the literature for computer-based PRNG. Moreover, our evaluations show 6.6x improvement over the Nvidia's proprietary high-performance PRNG, cuRAND library, achieving 5.2 Tb/s of throughput on the affordable Nvidia GTX 980 Ti.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/20/2021

ThundeRiNG: Generating Multiple Independent Random Number Sequences on FPGAs

In this paper, we propose ThundeRiNG, a resource-efficient and high-thro...
research
11/18/2020

High-Throughput and Memory-Efficient Parallel Viterbi Decoder for Convolutional Codes on GPU

This paper describes a parallel implementation of Viterbi decoding algor...
research
02/02/2018

VIBNN: Hardware Acceleration of Bayesian Neural Networks

Bayesian Neural Networks (BNNs) have been proposed to address the proble...
research
02/06/2018

The performances of R GPU implementations of the GMRES method

Although the performance of commodity computers has improved drastically...
research
02/26/2020

Romu: Fast Nonlinear Pseudo-Random Number Generators Providing High Quality

We introduce the Romu family of pseudo-random number generators (PRNGs) ...
research
05/21/2020

Signal Processing for a Reverse-GPS Wildlife Tracking System: CPU and GPU Implementation Experiences

We present robust high-performance implementations of signal-processing ...
research
09/06/2020

Randomness Concerns When Deploying Differential Privacy

The U.S. Census Bureau is using differential privacy (DP) to protect con...

Please sign up or login with your details

Forgot password? Click here to reset