diff options
| author | Mirek Kratochvil <exa.exa@gmail.com> | 2026-10-29 22:06:51 +0100 |
|---|---|---|
| committer | Mirek Kratochvil <exa.exa@gmail.com> | 2026-10-29 22:06:51 +0100 |
| commit | 6b2449b8dbaa486021890f18271edf1bcae22efd (patch) | |
| tree | d1bc1b134450ed7bac70c10a0f3144e286198c08 /README.md | |
| parent | c656ddb778ce59b1e6c680813ef8389efc46f26d (diff) | |
| download | ls47-6b2449b8dbaa486021890f18271edf1bcae22efd.tar.gz ls47-6b2449b8dbaa486021890f18271edf1bcae22efd.tar.bz2 | |
spellcheckery
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -21,7 +21,7 @@ If you trust your computer, there's an implementation in `ls47.py`. Historically, there were several other versions, e.g.: -- A nice Python version usuable as an actual binary (also supporting MANY +- A nice Python version usable as an actual binary (also supporting MANY versions of padding and the original ElsieFour cipher) was supplied by Bernhard Esslinger from the CrypTool project. - Javascript version (npm-compatible) of the cipher implementations was created @@ -239,7 +239,7 @@ not very handy. There are many methods to do key expansion, so we show a simple 1. Think a password as a string of letters from the board. 2. Start with a board in the "canonical order". 3. In series, take all letters of your password from the board and place them - to the new board, starting at bottom right, and contining by rows going to + to the new board, starting at bottom right, and continuing by rows going to the left, and wrapping upwards to the next line. If some letter is already moved out of the board, ignore it. 4. If the password did not include the space tile (`_`), add it as if it was @@ -251,12 +251,12 @@ not very handy. There are many methods to do key expansion, so we show a simple The new board is the expanded key. -For any notion of real security, it is quite adviseable to **not** rely on the +For any notion of real security, it is quite advisable to **not** rely on the mixing provided by this procedure (it **is** insufficient). Instead, run a few encryption rounds of random padding characters (i.e., a *nonce*) before starting the encryption of the actual plaintext (see below). -### Undistinguishable ciphertexts +### Indistinguishable ciphertexts To get a different ciphertext even if the same plaintext is encrypted repeatedly, prepend the plaintext with a *nonce*. A nonce is a completely @@ -270,7 +270,7 @@ separator that is guaranteed to not occur in the nonce. Randomization of ciphertext length is quite beneficial for short messages; even if not using nonces, it is quite beneficial to add a random number of spaces to the end of the ciphertext: It prevents the adversary from seeing the difference -between plaintexts such as 'yes please' and 'no', the ciphertexts of whese +between plaintexts such as 'yes please' and 'no', the ciphertexts of which would otherwise be easily distinguishable by length, like `qwc3w_cs'(` and `+v`. |
