Objective: The random numbers play a major role in cryptographic applications as the security of the system relies on the randomness of the secret key. Randomness is first extracted from a physical noise source and then this is interpreted into raw random bit-stream using a sampler. Finally, postprocessing operation is performed to improve statistical properties of sampled random numbers. This module provides a basic understanding of multi-RO based TRNG design techniques in FPGAs, sources of randomness in TRNG output during measurement, the quality of the bitstream produced by the TRNG is tested using the NIST statistical test suite.
Target Audience: Government officers, Scientists
Prerequisite Knowledge and Skills:
- programming knowledge: Verilog HDL, python, MATLAB
- Xilinx Vivado softwares
- A FPGA board experience
Resources Provided at the Training | Deliverables:
- Detailed description of set-ups used in training
- A video demo of the module
- Verilog and python scripts examples for analysis
Learning Outcome: By end of this course trainees will understand the how true random number generators work in theory, and then how to generate a technology independent TRNG on FPGA which provides high quality TRNG output across environmental conditions, attacks, and analysis the quality of the bitstream produced by the TRNG using the NIST statistical test suite.