Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nning/vigenere_jorin
Quick POC of an idea for a Vigenere variant, my 6 year old son inspired
https://github.com/nning/vigenere_jorin
cryptography vigenere
Last synced: 8 days ago
JSON representation
Quick POC of an idea for a Vigenere variant, my 6 year old son inspired
- Host: GitHub
- URL: https://github.com/nning/vigenere_jorin
- Owner: nning
- Created: 2021-01-30T15:29:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-05T11:24:55.000Z (about 3 years ago)
- Last Synced: 2024-10-27T23:43:31.104Z (about 2 months ago)
- Topics: cryptography, vigenere
- Language: Go
- Homepage:
- Size: 23.4 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vigenere Jorin
This is a quick POC of an idea of my 6 year old son:
In regular vigenere, you can use Kasiski examination to deduce the key length (and do a frequency analysis).
But what if you change the way, the key position is calculated depending on plain text properties?We thought of starting on key position 0 on every 2nd or 3rd word change.
This code implements key position reset on 2nd word changes.
(It would also be possible to use rules like "every word change if position is even" or "every word change if previous plain text symbol's index was even").Of course, this will not change vigenere not quite being fit for after 1863 but we can do it by hand. The autokey attack probably will not work but one drawback is that key length is effectively reduced to about two times the average word length of the language the message is written in. Make sure to at least use padding, key derivation, and message authentication with this... ;)