David Johnston's Projects
Code referenced in Intel SP800-90B Compliance Document. Published here for easy access.
Compute the min entropy input requirements for SP800-90B Vetted Conditioning Components
Script and CSV file from the script to id the back ea_non_iid tests
Cleans up hex files by removing 0x, non hex characters, whitespace and lines starting with #.
A C program to generate random data using several random models, with parameterized non uniformities and flexible output formats.
A reimplementation of the Fourmilab/John Walker random number test program ent with several improvements.
Smart shapes and templates for Visio, for hardware diagrams, timing diagrams and other things.
Entropy Source and DRNG Manager
A program to compute entropy from a PUF array after HDM and BCH code offset masking has been applied.
A C command line program to generate a 256 bit full entropy key using rdrand or rdseed as the source, with an SP800-90A and B compliant entropy source and DRBG.
Six utility programs to convert between hex, binary, ascii-binary and the oddball NIST format for 90B testing. The hex output is more compact than hexdump or od -x.
k40 head plate
A linux command line python program to control the Korad KA6003P and other Korad bench power supplies.
A library for a 2 parameter markov model random number generator
Create base 64 IR encodings for Tuya ZS06 IR blaster with Home Assistant
A program for the STM32 to test a motor control program with quadrature rotary encoder feedback.
The MyHDL development repository
Counts the frequency of a set of bit patterns up to 12 bits long in binary data, on a sliding window basis.
Placeholder for code snippets
Run binary data through the polygon OHT with n=2304
Code to attack PUFs through BCH ECC bits
A Python 6502 Assembler/Disassembler/simulator in which python serves in place of the a macro language.
A library to sit on top of termbox in python to provide a bunch of curses like functions and virtual viewplanes.
A program to quickly fetch and dump data from the RdRand or RdSeed instruction to binary or hex output.
python interface to intel hardware RNG
A small C library to use RdRand and RdSeed, using fixed size stdint types.
Two programs to implement the SP800-90B restart test.
Programs and data to accompany the book "Random Number Generators, Principles and Practices"