Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 20 days ago
JSON representation

Quick POC of an idea for a Vigenere variant, my 6 year old son inspired

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... ;)