Lossy Vigenere
I previously wrote that I was unable to reproduce the lossy Vigenere that I learned from a book by a forgotten German author. I have now been able to recapture the lossy version, and a way to salt the grid, which the German author called a "seed."
To build the unsalted grid, write the alphabet across the top without the "Z," so as to build a 25 x 25 grid. To fill the grid, start with "A," and increment through "Y," and begin the next line with a "Z," such that it displaces the line to the right.
I chose the message, "THE QUICK RED FOX JUMPS OVER THE LAZY BROWN DOG."
Underneath it, I repeated the password: PASSWORD.
To encrypt, I chose the row with the plaintext character, and chose the column of the key character, or plainchar DOWN, keychar ACROSS. For a "Z" I merely insert a "Z."
This yields the ciphertext:
THE QUICK RED FOX JUMPS OVER
PAS SWORD PAS SWO RDPAS SWOR
WTO CCGPT YWP NIR IJDLA EBKA
THE LAZY BROWN DOG
DPA SSWO RDPAS SWO
KIW HSZQ QMBEF PII
To decrypt, repeat the SAME process, that is cipherchar down, keychar across, and ciphertext decrypts as follows:
WTO CCGPT YWP NIR IJDLA EBKA
PAS SWORD PAS SWO RDPAS SWOR
THE QUICK RED FOX JUMPS OVER
KIW HSZA QMBEF PII
DPA SSWO RDPAS SWO
THE LAZY BROWN DOG
The rule is that when encountering a "Z" during decryption, simply duplicate the "Z," thus becoming "lossy."
This may be useless for computer communications, but it might serve as a watermark, since encrypting and decrypting a 255 x 255 grid would inevitably leave a deterministic pattern of dropouts.
My enthusiasm is enhanced, by finding that I am able to duplicate a way to "salt," the grid.
I chose the salt, "ATTACK AT DAWN." I struck the duplicate letters, with the result being "ATCKDWN." I then struck these from the alphabet, getting: BEFGHIJLMOPQRSUVXYZ.
To build the grid, I prepended the salt to the alphabet, and labelled all the columns with it:
ATCKDWNBEFGHIJLMOPQRSUVXYZ.
To be able to encrypt/decrypt, I found that I had to use the same alphabet, IN ORDER, to fill the grid, starting with "A" in the upper left, and using "Z" once again, to displace the columns to the right.
Then, encrypting:
THE QUICK RED FOX JUMPS OVER
PAS SWORD PAS SWO RDPAS SWOR
OMI CGDPT YQO HMR NFCFA DFEA
THE LAZY BROWN DOG
DPA SSWO RDPAS SWO
KNQ NSZQ IHTUL OMN
To decrypt, we see:
OMI CGDPT YQO HMR NFCFA DFEA
PAS SWORD PAS SWO RDPAS SWOR
THE QUICK RED FOX JUMPS OVER
KNQ WSZQ IHTUL OMN
DPA SSWO RDPAS SWO
THE LAZY BROWN DOG
This shows the salt has had some effect, because the SAME message, encrypted with the SAME password yields DIFFERENT ciphertext.
To be sure, they have similarities, but they are not the same.
Practical Note: I attempted to build the grid construct using Python, but the interpreter ignored the variable that staggered the alphabet, and built either 25 x 25 of the same alphabet, or 26 x 26. In either case, it did not accept different counters.
Comments
Post a Comment