Updates/Additions since 1.0.0
:
-
Added a new "Encryption Key" generation feature which uses the state of the board in a given generation to generate symmetric encryption
keys. Access this experimental feature via the main menu. -
These encryption keys are generated using the current state of the Cellular Automaton :
- At the time of key generation, the current state/generation of the cellular automaton is converted into a binary string--> 1 for alive/0 for
dead. - This binary string is then divided into substrings of 12, and each substring is converted into it's decimal equivalent number.
- These numbers are then each encoded into a character. A string of jargon characters is thus generated. This string is then split into two
halves which are used to generate the secret key, and initialization vector. - Each of these two halves then undergo UTF-8 encoding and SHA-256 hashing.
- The first 16 bytes of the two halves are then converted into the key and IV respectively.
- At the time of key generation, the current state/generation of the cellular automaton is converted into a binary string--> 1 for alive/0 for
-
The algorithm used to test the symmetric key so-generated is AES(Advanced Encryption Standard). I used the
encrypter package for implementing the AES algorithm, since my purpose was only to showcase key
generation, not re-implement any encryption algorithm itself.