v1pad is a command-line tool that encrypts and decrypts files using one-time-pad encryption. v1pad uses a virtual pad, meaning that the one-time pad is generated dynamically based on user input instead of being stored in a file. The name v1pad is an abbreviation for Virtual One-Time Pad.
...The code is shared here for posterity (future folk) in the guise that it may help others also on the path to cryptography.
This code demo uses a 256bit rolling hash table (8x8bytes) at its heart to mix together pre-defined parameters in a way that allows the cipher to produce encoded output that is locked to a key of arbitrary length without padding.
Based upon some random data points the cipher produces encoded output that is non-deterministic in nature, the same key and message will never produce the same output each time it's run.
...
A program to generate random reciprocal bigram tables
...If the -p passphrase argument is given a specific table is generated and is repeatable each time the same passphrase is given.
This program was written to supplement the Enigma Simulator by Dirk Rijmenants.
http://users.telenet.be/d.rijmenants/en/enigmasim.htm
Enigma message procedures:
http://users.telenet.be/d.rijmenants/en/enigmaproc.htm