Font Size: a A A

Research On CUDA-based Random Number Quality Detection Platform

Posted on:2021-12-27Degree:MasterType:Thesis
Country:ChinaCandidate:K K LiFull Text:PDF
GTID:2518306113453974Subject:Measuring and Testing Technology and Instruments
Abstract/Summary:PDF Full Text Request
Random numbers are widely used in many fields of scientific research and engineering technology,such as scientific simulation,statistical sampling,deep learning,optical fiber sensing,radar ranging,digital spread spectrum communication,etc.Especially in information security,random numbers play a vital role in key generation,digital signature and various cryptographic protocols.The designs of random number include pseudo-random number generator and physical(true)random number generator.The pseudo-random number generator is mainly composed of mathematical algorithm and seed.Once the seed value and algorithm are obtained,the output sequence can be copied completely.Physical random number generator makes use of the real random phenomenon in nature,but the random numbers generated by external interference or human attack may still be predicted.In secure communication,if an attacker predicts and obtains the random number used,it may cause the entire system to be cracked,resulting in serious information disclosure.So no matter which method is used to generate random numbers,it should undergo strict randomness testing.It is a key link to verify the quality of random number or the reliability of random number generator.If the random number in practical application can be tested at high speed or even in real time,it can discover the hidden security risks caused by the decline in the quality of random numbers in time.Therefore,it requires efficient and real-time requirements for its testing efficiency.The randomness test uses the principle of statistics to intuitively evaluate the quality of a random sequence,and is also a way to judge whether a random number generator is qualified.The SP 800-22 standard issued by the National Institute of Standards and Technology(NIST)is a random number test standard widely recognized by various countries.Due to its strictness and the complexity of the algorithms,the testing process is very time-consuming.This paper evaluates the time-consuming situation of each test,and analyzes the most time-consuming non-overlapping template matching test and sub-time-consuming linear complexity test.By designing parallel algorithm and using multi-core CPU and GPU hardware,the performance of these two tests has been obviously improved.The main work of this paper includes the following two aspects:1.Researching the statistical principle of the random number test standard NIST SP 800-22 and the meaning of each test.Through time-consuming analysis,selecting the time-consuming Non-overlapping Template Matching Test and Linear Complexity Test as the research object.Studying the CPU multithreading processing technology and CUDA programming model,hardware structure.Realizing the design idea of parallel program.2.Analyzing the algorithm principle and test process of the above two tests,design the parallel computing methods,and use the CPU multi-thread processing technology and CUDA architecture to implement parallel computing programs.The acceleration effects of the improved tests are evaluated under different parameters and calculation scales respectively.The experimental results show that the parallel implementations of the two tests has a great speedup performance,and the effect of the GPU computing scheme is better.
Keywords/Search Tags:Random Number, Randomness Test, NIST SP 800-22, Parallel Computing, Multithreading, CUDA
PDF Full Text Request
Related items