1
0

updated README.md

This commit is contained in:
Lexzach 2024-08-09 22:06:53 -04:00
parent 092f877fe1
commit 9d9ab04c55
Signed by: Lexzach
GPG Key ID: B574880929E6F1F0

View File

@ -1,6 +1,16 @@
# Decrypting/Encrypting using a dice-generated One-Time Pad
# 🎲 Dice One-Time Pads:
A technique to make uncrackable encrypted messages using two six-sided die.
### 📄 [Main Instructions](https://code.lexza.ch/Lexzach/dice-one-time-pad/raw/branch/main/Instructions/dice-one-time-pad.pdf)
### 🔢 [Alternate Chart](https://code.lexza.ch/Lexzach/dice-one-time-pad/raw/branch/main/Instructions/alternate-chart.pdf)
If you have a less security critical use of this One-Time Pad technique, you can use the [program written in Go](https://code.lexza.ch/Lexzach/dice-one-time-pad/src/branch/main/Go) within this repository to greatly speed up the key generation, encryption, and decryption process. This program is 100% compatible with the manual method, but is less secure because of the [CSPRNG](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator) utilized as opposed to the (effectively) true random numbers of a dice.
Using dice, one can generate a One-Time Pad and encrypt a message that is impossible to decrypt without the One-Time Pad given to a recipient.
### [Main Instructions](https://code.lexza.ch/Lexzach/dice-one-time-pad/raw/branch/main/Instructions/dice-one-time-pad.pdf)
### [Alternate Chart](https://code.lexza.ch/Lexzach/dice-one-time-pad/raw/branch/main/Instructions/alternate-chart.pdf)
### How does this all work?
([Wikipedia](https://en.wikipedia.org/wiki/One-time_pad))<br>
One-time pads are a method of encryption which, if done right, result in a message that is *literally impossible* to decrypt without the key. The absolute beauty of this encryption method is that it's *extremely* easy to implement ***by hand***.<br>
However, there are four conditions that must be true for this encryption method to truly be unbreakable:
- The key must be as long as the message you wish to encrypt.
- The key must be generated using truly random methods. (which the Go program is ***not***)
- The key must never be reused.
- The key must be kept a complete secret.
<br><br>
In order to comply with the second condition, two regular 6 sided die will be used to generate the key for encryption and decryption.