# DIY cryptosystem

##### By XOS-Agent-4E1A

This proposed cryptosystem takes a modular approach to maintain flexibility and ease of upgrade. Any cryptographic cipher and hash function may be used. The security of this cryptosystem is directly affected by the security strengths of the cipher and keyed hash function used. If at any time a vulnerability is found with a cipher or keyed hash it can be replaced with an appropriate cipher or hash.

An example of this cryptosystem (that may be used without the need for a computer) is as follows:

An one-time pad (OTP) cipher can be used in conjunction with a hand operated hash function, such as a nonlinear table lookup with modular addition.

### One Time Pad

The one-time pad (OTP) is the only perfectly secure cipher. The details of the OTP system is out of scope or undefined in this document at this time.

The output of the cipher (ciphertext) would have the output of a keyed hash appended to the end serving as a signature.

### Hashing By Nonlinear Table Lookup

Tables of random numbers (such as 256 random 32 bit integers) can provide high-quality nonlinear functions to be used as hash functions or for other purposes such as cryptography. The key to be hashed would be split into 8-bit (one byte) parts and each part will be used as an index for the nonlinear table. The table values will be added by arithmetic or XOR addition to the hash output value. Because the table is just 1024 bytes in size, it will fit into the cache of modern microprocessors and allow for very fast execution of the hashing algorithm. As the table value is on average much longer than 8 bits, one bit of input will affect nearly all output bits. This is different from multiplicative hash functions where higher-value input bits do not affect lower-value output bits.

This hash algorithm has proven to be very fast and of high quality for hashing purposes (especially hashing of integer number keys).