OTP Enhancement : Failure Report
Overview
A failed attempt to make one time pads usefull. Given a set of 3 starting pads that are truly random and securely negotiated before hand, generate new pads that are only used once. I do not have a formal proof, but it seems any manner of extending a one time pad by generating new random keys will fail in this same manner.
Algorithm Description
Variables- s = Message to send(Output)
- u = Update Message for secret values(Output)
- X = Secret values, need 3 to start
- m = Message to send
- r = Random data
- n = Iteration of data
- ^ = XOR operation
- sn := X(n+1)%3 ^ X(n+2)%3 ^ mn
- X(n+1)%3 := rn
- un := X(n+1)%3 ^ Xn%3
Receiver
- mn := X(n+1)%3 ^ X(n+2)%3 ^ sn
- X(n+1)%3 := Xn%3 ^ un
No single key is used twice in a pass, and no pair of keys is ever used twice. The sender's message is XORed with two keys, then a new random value for one of the two keys used is generated. The third key we haven't used is XORed with the newly generated key and sent out.
Cracking it
Thanks to the hard work of Christopher Wellons at nullprogram I now know this is not feasible. Changing the notation not to cycle for the sender only:
- sn := X(n+1) ^ X(n+2) ^ mn
- X(n+3) := rn
- un := X(n+3) ^ Xn
- s1 := X2 ^ X3 ^ m1
- u1 := X4 ^ X1
- s2 := X3 ^ X4 ^ m2
- u2 := X5 ^ X2
- s3 := X4 ^ X5 ^ m3
- s3 := X4 ^ X5 ^ m3 ^ u2 ^ u1
- s3 := X4 ^ X5 ^ m3 ^ (X5 ^ X2) ^ (X4 ^ X1)
- s3 := X2 ^ X1 ^ m3
So it breaks down to the original pad used for sending a message for any message, and thus susceptible to plaintext attacks on the key.
Chris had previously encountered this issue and even had the smart idea to use bitmap data to visualize it.
Comments(0)
2009-01-04 19:41:57
Add your comment:
Hardware
Software
- TAIM (Alpha Version): GHCI integration with vim
- CheaTorrent -- An evil BitTorrent client
- Self Modifying 2D Turing Automata
- Competing Conway Life Automata
- X11 Timelapse Desktop Video
- Colored Wolfram Automata With Sound Input
- Pseudo Video Feedback in Processing
- Haskell Cipher Saber
- Illegal FIlenames -- Windows and *nix
- Simple Perl SDL Music Keyboard (Updated)
- Image to Spectrogram
- Pastebin Hell
- OMGWTFRNG (OWR)
- OTP Enhancement : Failure Report
- Java Network File Transfer Tool
- AES Encrypted Filesystem Speeds
- Dual Message Encryption
- PHP Website
- Mp3 Splitting Script
- Random Obfuscation Tool
- Filesystem Speed Comparisons
- Java Based Web Server GUI