|
Cracking Loki's Adfgvx Ciphertext (part 2)
|
|
Topic Started: May 24 2006, 12:39 PM (356 Views)
|
|
rot13
|
May 24 2006, 12:39 PM
Post #1
|
- Posts:
- 306
- Group:
- Trusted Member
- Member
- #14
- Joined:
- September 29, 2005
|
At this point, you have a bunch of pairs that may or may not be in the right order. When I first worked this out, I arranged the text in 8 columns. I am pretty sure, however, that since it is an even number of columns, I should be able to work with 4 instead of 8. For an odd number, I think you'd have to use the full number. The reason it should work to halve the number of columns is that there are two letters in each column, and we already know they are supposed to be together. The only question is the order of those columns. The original transposition was in single letters, so it seems to make sense that if you now pair them, there are half as many columns.
Here is the text in columnar form:
- Code:
-
AX VX FA DD VX DV AX VX FA DD DG AF VV FF VD DV VX FF DD AX DD FA VV DV VV VX GA DV DD DG VX DV VF AA FV VD AF GX VX AA DV XF DV VV VF FA VX XA VF VX VF AA DD VA FV VF FA FV VX DD DD XF VD DD AX VX FA DD DG AF VV FF VD DV VX FF DD AX DD FA VV DV VV VX AX XF VD DD AX VX VX DD VF XF DG DV AF VA VV DD DD XF DD DG VF AA GX GX AA DD DD VX VX FF GA VF VX DD DD AX VX DG DD AX DV FA AX VX VV DD VX AF VX DV FF DD AX XF AA AF VX AX GF VF AF VF VX VD DD AX AF FA FF DG VX VV DV AX AV VX VV DV DD VV AX FF VV AF DD AV AA DG VV AX AF DV AA FF VA VF XF DD VX AF XA AX FA VV VX XA DD AX DV VV FF AF DV AF DV VA DD FA VV DV GX VX VX DV DG DD VD VF VF VV DD VA DD FA VV DV VV VX AX XF XF VF DG DD AV DD VV DV AF VV GA VD VD XA DD FF VD DG DV DD AX VX AF AX GX VA VF VF DD GV XA FF DV AV FF VD DV VV FF AF VF AA DD VA AF XF AX VX VV XA XA FA AX VX VV DD AF DV AF FF VA DV FA DV DG AF GX FF AA XA AF GV XV GX VX DV AX VX GX DD VV DV VA VX VA VF VD DD AV VX DV DD DD AA DV XF VA VV FF DV DV DD FF VD VF VD DV FA VX VX DD GX VF VX GV VF GX AV AA DV VV DD VX VF DD AX DV FA AA VX VA DV VX DD VX VF DD AX AF FA FF DG DV VV FF VD AF XF AX VV FF DD VF VX VF GF VD AF VD AF AX VX DG DD GF DD AF VF AF AA GA VD FA VV VX XA AX VX XV DD GX DV VX GX DG XA DD VD DV FF DV GA VD AF VX VV AF AX DV VA FF VD DD AX DV AX VX FF FV VF XV GX XF DV XV DV DD AX AX VX VD DD DD XF VX VD VF VX AX VX FA DD DV DD VX VV FA VV VX XA VF VV VD VF DV AX VX FF FA VF DV DD DV VX DD DG DG VX DV DD VF VX DD DG VV GX VX DD DD AX XF XV XA VF FF GX DV AX DD XD VF VX VD DG AF AX VX VA AV VF DD AF DD AA DV VV VV AX AF DV VX FF DD AX DV FA AF VX DD VV VD DD XF VF DD AX AX VX VX DV VV AF DD VD VX AF DD AX VF DG DD VD AX VX VD AF VD GA DG VF AX VX VF DD AX VX DG DD DV AX VD VV FV VF AF DG VD DD VV FF
And here is a frequency count:
- Code:
-
DD:80 VX:73 DV:57 AX:48 VV:42 VF:40 AF:37 VD:32 FF:28 DG:23 FA:22 XF:16 GX:15 AA:15 VA:14 XA:12 AV:7 GA:6 FV:5 XV:5 GV:3 GF:3 XD:1
So, DD and VX are the most frequent and most likely correspond to E and T respectively, so we can fill them in on the polybius square (I also filled in the 5 that comes after E in the ADFGVX polybius):
- Code:
-
..A D F G V X -------------- A| | | | | | | -------------- D| |e|5| | | | -------------- F| | | | | | | -------------- G| | | | | | | -------------- V| | | | | |t| -------------- X| | | | | | | --------------
I tend to be very aggressive at first when filling out a polybius square, so I make the assumption that it is in normal top-down, left-right order, and I notice that the X row is just big enough to contain the rest of the alphabet, so I fill it in:
- Code:
-
..A D F G V X -------------- A| | | | | | | -------------- D| |e| | | | | -------------- F| | | | | | | -------------- G| | | | | | | -------------- V| | | | | |t| -------------- X|u|v|w|x|y|z| --------------
I feel pretty comfortable with this because the x (XG) and z (XX) don't occur at all in the text, y (XV) occurs a few times and w (XF) a bit more.
So this is the text as it stands with these substitutions made:
- Code:
-
AX t FA e t DV AX t FA e DG AF VV FF VD DV t FF e AX e FA VV DV VV t GA DV e DG t DV VF AA FV VD AF GX t AA DV w DV VV VF FA t u VF t VF AA e VA FV VF FA FV t e e w VD e AX t FA e DG AF VV FF VD DV t FF e AX e FA VV DV VV t AX w VD e AX t t e VF w DG DV AF VA VV e e w e DG VF AA GX GX AA e e t t FF GA VF t e e AX t DG e AX DV FA AX t VV e t AF t DV FF e AX w AA AF t AX GF VF AF VF t VD e AX AF FA FF DG t VV DV AX AV t VV DV e VV AX FF VV AF e AV AA DG VV AX AF DV AA FF VA VF w e t AF u AX FA VV t u e AX DV VV FF AF DV AF DV VA e FA VV DV GX t t DV DG e VD VF VF VV e VA e FA VV DV VV t AX w w VF DG e AV e VV DV AF VV GA VD VD u e FF VD DG DV e AX t AF AX GX VA VF VF e GV u FF DV AV FF VD DV VV FF AF VF AA e VA AF w AX t VV u u FA AX t VV e AF DV AF FF VA DV FA DV DG AF GX FF AA u AF GV y GX t DV AX t GX e VV DV VA t VA VF VD e AV t DV e e AA DV w VA VV FF DV DV e FF VD VF VD DV FA t t e GX VF t GV VF GX AV AA DV VV e t VF e AX DV FA AA t VA DV t e t VF e AX AF FA FF DG DV VV FF VD AF w AX VV FF e VF t VF GF VD AF VD AF AX t DG e GF e AF VF AF AA GA VD FA VV t u AX t y e GX DV t GX DG u e VD DV FF DV GA VD AF t VV AF AX DV VA FF VD e AX DV AX t FF FV VF y GX w DV y DV e AX AX t VD e e w t VD VF t AX t FA e DV e t VV FA VV t u VF VV VD VF DV AX t FF FA VF DV e DV t e DG DG t DV e VF t e DG VV GX t e e AX w y u VF FF GX DV AX e v VF t VD DG AF AX t VA AV VF e AF e AA DV VV VV AX AF DV t FF e AX DV FA AF t e VV VD e w VF e AX AX t t DV VV AF e VD t AF e AX VF DG e VD AX t VD AF VD GA DG VF AX t VF e AX t DG e DV AX VD VV FV VF AF DG VD e VV FF
Now, I noticed that there was a single V in the text. When I look at it, I see there is an E in the same row, and no E in the next row. Since E frequently comes after V, I decide to swap columns 3 and 4 so that E comes after V in that row:
- Code:
-
AX t e FA t DV t AX FA e AF DG VV FF DV VD t FF AX e e FA DV VV VV t DV GA e DG DV t VF AA VD FV AF GX AA t DV w VV DV VF FA u t VF t AA VF e VA VF FV FA FV e t e w e VD AX t e FA DG AF FF VV VD DV FF t e AX FA e VV DV t VV AX w e VD AX t e t VF w DV DG AF VA e VV e w DG e VF AA GX GX AA e t e t FF VF GA t e AX e t DG AX e DV FA t AX VV e AF t t DV e FF AX w AF AA t AX VF GF AF VF VD t e AX FA AF FF DG VV t DV AX t AV VV DV VV e AX FF AF VV e AV DG AA VV AX DV AF AA FF VF VA w e AF t u AX VV FA t u AX e DV VV AF FF DV AF VA DV e FA DV VV GX t DV t DG e VF VD VF VV VA e e FA DV VV VV t w AX w VF e DG AV e DV VV AF VV VD GA VD u FF e VD DG e DV AX t AX AF GX VA VF VF e GV FF u DV AV VD FF DV VV AF FF VF AA VA e AF w t AX VV u FA u AX t e VV AF DV FF AF VA DV DV FA DG AF FF GX AA u GV AF y GX DV t AX t e GX VV DV t VA VA VF e VD AV t e DV e AA w DV VA VV DV FF DV e VD FF VF VD FA DV t t GX e VF t VF GV GX AV DV AA VV e VF t e AX FA DV AA t DV VA t e VF t e AX FA AF FF DG VV DV FF VD w AF AX VV e FF VF t GF VF VD AF AF VD AX t e DG GF e VF AF AF AA VD GA FA VV u t AX t e y GX DV GX t DG u VD e DV FF GA DV VD AF VV t AF AX VA DV FF VD AX e DV AX FF t FV VF GX y w DV DV y e AX t AX VD e w e t VD t VF AX t e FA DV e VV t FA VV u t VF VV VF VD DV AX FF t FA VF e DV DV t DG e DG t e DV VF t DG e VV GX e t e AX y w u VF GX FF DV AX v e VF t DG VD AF AX VA t AV VF AF e e AA VV DV VV AX DV AF t FF AX e DV FA t AF e VV e VD w VF AX e AX t DV t VV AF VD e t AF AX e VF DG VD e AX t AF VD VD GA VF DG AX t e VF AX t e DG DV AX VV VD FV VF DG AF VD e FF VV
Looking at the first line, I see: "AX t e FA" and I think that many times you see a text start with THE, so I wonder if AX might be h. I look further down and see that if I were to exchange columns 1 and 2, I would have a number of occurrences of t AX e, so I swap columns 1 and 2, and fill in h for AX in the grid. The text is now:
- Code:
-
t h e FA DV t t h e FA AF DG FF VV DV VD FF t h e FA e DV VV t VV DV GA DG e DV t AA VF VD FV GX AF AA t w DV VV DV FA VF u t t VF AA VF VA e VF FV FV FA e t w e e VD t h e FA AF DG FF VV DV VD FF t h e FA e DV VV t VV w h e VD t h e t w VF DV DG VA AF e VV w e DG e AA VF GX GX e AA t e FF t VF GA e t h e DG t h e FA DV t h e VV AF t DV t e FF w h AF AA h t VF GF VF AF VD t h e FA AF DG FF VV t h DV t AV DV VV VV e FF h AF VV AV e DG AA h VV DV AF FF AA VF VA e w AF t h u VV FA u t h e VV DV AF FF AF DV VA DV FA e DV VV t GX DV t e DG VF VD VV VF VA e FA e DV VV t VV w h VF w e DG e AV DV VV VV AF VD GA u VD FF e DG VD e DV t h h AF VA GX VF VF GV e FF u AV DV VD FF VV DV AF FF AA VF VA e w AF t h u VV FA u t h e VV DV AF FF AF DV VA DV FA AF DG FF GX u AA GV AF GX y DV t t h e GX DV VV t VA VF VA e VD t AV e DV AA e w DV VV VA DV FF e DV VD FF VD VF FA DV t t GX e t VF VF GV AV GX DV AA e VV VF t h e FA DV t AA DV VA e t VF t h e FA AF DG FF VV DV VD FF w AF VV h e FF t VF GF VF AF VD AF VD t h e DG e GF VF AF AA AF VD GA VV FA u t t h e y DV GX GX t u DG VD e FF DV GA DV AF VD VV t h AF VA DV VD FF h e h DV FF t VF FV GX y DV w DV y h e t h e VD w e VD t t VF t h e FA e DV VV t VV FA u t VV VF VF VD h DV FF t VF FA e DV t DV DG e t DG e DV t VF DG e GX VV e t h e y w VF u GX FF h DV v e t VF DG VD h AF VA t VF AV AF e AA e VV DV h VV DV AF FF t h e FA DV t AF VV e e VD VF w h e t h DV t AF VV VD e AF t h e DG VF VD e t h AF VD GA VD VF DG t h e VF t h e DG h DV VV VD VF FV DG AF e VD FF VV
The square now looks like:
- Code:
-
..A D F G V X -------------- A| | | | | |h| -------------- D|8|e|5| | | | -------------- F| | | | | | | -------------- G| | | | | | | -------------- V| | | | | |t| -------------- X|u|v|w|x|y|z| --------------
At this point, I go back to the square, and look at the frequencies. I notice that VV is a high frequency, VG doesn't occur at all, VF and VD are fairly high, and VA is a bit less frequent. This would lead me to guess that VV is either R or S, but I don't know which, and that VG is probably Q. VF is probably O, VD probably N and VA probably M (although it could be L, so for now I'll leave it blank):
- Code:
-
..A D F G V X -------------- A| | | | | |h| -------------- D|8|e|5| | | | -------------- F| | | | | | | -------------- G| | | | | | | -------------- V| |n|o|q| |t| -------------- X|u|v|w|x|y|z| --------------
The text is starting to come apart now, and since I think I have the columns in the right order now, I don't need to keep the text in 4 columns:
- Code:
-
t h e FA DV t t h e FA AF DG FF VV DV n FF t h e FA e DV VV t VV DV GA DG e DV t AA o n FV GX AF AA t w DV VV DV FA o u t t o AA o VA e o FV FV FA e t w e e n t h e FA AF DG FF VV DV n FF t h e FA e DV VV t VV w h e n t h e t w o DV DG VA AF e VV w e DG e AA o GX GX e AA t e FF t o GA e t h e DG t h e FA DV t h e VV AF t DV t e FF w h AF AA h t o GF o AF n t h e FA AF DG FF VV t h DV t AV DV VV VV e FF h AF VV AV e DG AA h VV DV AF FF AA o VA e w AF t h u VV FA u t h e VV DV AF FF AF DV VA DV FA e DV VV t GX DV t e DG o n VV o VA e FA e DV VV t VV w h o w e DG e AV DV VV VV AF n GA u n FF e DG n e DV t h h AF VA GX o o GV e FF u AV DV n FF VV DV AF FF AA o VA e w AF t h u VV FA u t h e VV DV AF FF AF DV VA DV FA AF DG FF GX u AA GV AF GX y DV t t h e GX DV VV t VA o VA e n t AV e DV AA e w DV VV VA DV FF e DV n FF n o FA DV t t GX e t o o GV AV GX DV AA e VV o t h e FA DV t AA DV VA e t o t h e FA AF DG FF VV DV n FF w AF VV h e FF t o GF o AF n AF n t h e DG e GF o AF AA AF n GA VV FA u t t h e y DV GX GX t u DG n e FF DV GA DV AF n VV t h AF VA DV n FF h e h DV FF t o FV GX y DV w DV y h e t h e n w e n t t o t h e FA e DV VV t VV FA u t VV o o n h DV FF t o FA e DV t DV DG e t DG e DV t o DG e GX VV e t h e y w o u GX FF h DV v e t o DG n h AF VA t o AV AF e AA e VV DV h VV DV AF FF t h e FA DV t AF VV e e n o w h e t h DV t AF VV n e AF t h e DG o n e t h AF n GA n o DG t h e o t h e DG h DV VV n o FV DG AF e n FF VV
One pattern I see is FA e t w e e n. It's probably a good bet that FA = b. Making that substitution. The beginning of the text is now "t h e b DV t t h e". DV is probably either A or I. Looking towards the end, I see "h DV v e" and since HAVE occurs a bit more than HIVE, I assume that A = DV. And make that substitution.
The text is now unraveling rapidly and it is pretty easy to finish from here:
- Code:
-
t h e b a t t h e b AF DG FF VV a n FF t h e b e a VV t VV a GA DG e a t AA o n FV GX AF AA t w a VV a b o u t t o AA o VA e o FV FV b e t w e e n t h e b AF DG FF VV a n FF t h e b e a VV t VV w h e n t h e t w o a DG VA AF e VV w e DG e AA o GX GX e AA t e FF t o GA e t h e DG t h e b a t h e VV AF t a t e FF w h AF AA h t o GF o AF n t h e b AF DG FF VV t h a t AV a VV VV e FF h AF VV AV e DG AA h VV a AF FF AA o VA e w AF t h u VV b u t h e VV a AF FF AF a VA a b e a VV t GX a t e DG o n VV o VA e b e a VV t VV w h o w e DG e AV a VV VV AF n GA u n FF e DG n e a t h h AF VA GX o o GV e FF u AV a n FF VV a AF FF AA o VA e w AF t h u VV b u t h e VV a AF FF AF a VA a b AF DG FF GX u AA GV AF GX y a t t h e GX a VV t VA o VA e n t AV e a AA e w a VV VA a FF e a n FF n o b a t t GX e t o o GV AV GX a AA e VV o t h e b a t AA a VA e t o t h e b AF DG FF VV a n FF w AF VV h e FF t o GF o AF n AF n t h e DG e GF o AF AA AF n GA VV b u t t h e y a GX GX t u DG n e FF a GA a AF n VV t h AF VA a n FF h e h a FF t o FV GX y a w a y h e t h e n w e n t t o t h e b e a VV t VV b u t VV o o n h a FF t o b e a t a DG e t DG e a t o DG e GX VV e t h e y w o u GX FF h a v e t o DG n h AF VA t o AV AF e AA e VV a h VV a AF FF t h e b a t AF VV e e n o w h e t h a t AF VV n e AF t h e DG o n e t h AF n GA n o DG t h e o t h e DG h a VV n o FV DG AF e n FF VV
The square is currently:
- Code:
-
..A D F G V X -------------- A| | | | | |h| -------------- D|8|e|5| |a|1| -------------- F|b|2| | | | | -------------- G| | | | | | | -------------- V| |n|o|q| |t| -------------- X|u|v|w|x|y|z| --------------
One more pattern word I see in the text is "w h AF AA h" and I assume that it should be "which". I'll forgo inserting the text here, because we should be able to finish by attacking the square.
The square is now:
- Code:
-
..A D F G V X -------------- A|c|3|i|9| |h| -------------- D|8|e|5| |a|1| -------------- F|b|2| | | | | -------------- G| | | | | | | -------------- V| |n|o|q| |t| -------------- X|u|v|w|x|y|z| --------------
If you look at the gap between b and n, you might see that there is just enough room for all the unused letters in between:
- Code:
-
..A D F G V X -------------- A|c|3|i|9| |h| -------------- D|8|e|5| |a|1| -------------- F|b|2|d|4|f|6| -------------- G|g|7|j|0|k|l| -------------- V|m|n|o|q| |t| -------------- X|u|v|w|x|y|z| --------------
That leaves P, R and S. We know P must be either AV or DG. At this point, you can probably guess that the keyword is cipher and the final square is:
- Code:
-
..A D F G V X -------------- A|c|3|i|9|p|h| -------------- D|8|e|5|r|a|1| -------------- F|b|2|d|4|f|6| -------------- G|g|7|j|0|k|l| -------------- V|m|n|o|q|s|t| -------------- X|u|v|w|x|y|z| --------------
|
|
|
| |
|
Donald
|
May 24 2006, 12:49 PM
Post #2
|
- Posts:
- 454
- Group:
- Trusted Member
- Member
- #8
- Joined:
- September 2, 2005
|
Incredible work!
I have simply GOT to get some time so that I can tackle these challenges.
|
|
|
| |
|
Revelation
|
May 24 2006, 02:43 PM
Post #3
|
- Posts:
- 386
- Group:
- Admin
- Member
- #1
- Joined:
- August 23, 2005
|
You are truly brilliant!
|
RRRREJMEEEEEPVKLWENFNVJKEEEEEAOLKAFKLXCFZAASDJXZTTTTTTTLSIOWJXMOKLAFJNNKFNXN RAGRBAQEMHIGDJVDSEOXVIYCELFHWLELJFIENXLRATALSJFSLCYTKLASJDKMHGOVOKAJDNMNUITN RRRRLJVEEEEECLYVYHNVPFTAEEEEEMWLMEIRNGLARWJAKJDFLWNTIERJMIPQWOTZEOCXKNUBNXCN RJIRPOWEANFUSNCZVDVZNMSFEKLOEPZLDKDJWSAAAAAAAOERHJCTNCKFRIMVKSOFOMKMANREWNBN RZUDRGXEEEEENFQIDVLQNCKNEEEEEDGLLLLLLAWIOSNCDARLODMTOEJXMILDFJROTKJSDNLVCZNN
|
| |
|
loki
|
May 25 2006, 10:29 AM
Post #4
|
- Posts:
- 87
- Group:
- Members
- Member
- #48
- Joined:
- April 28, 2006
|
indeed you should be working for SIGSEC or COMSEC if your not. You have a talent. Exploit it.
I would really like to see how you break the straddling checkerboards, #6, 7
|
|
c(x) = 3x3 + x2 + x + 2; Find the inverse
|
| |
|
rot13
|
May 25 2006, 12:32 PM
Post #5
|
- Posts:
- 306
- Group:
- Trusted Member
- Member
- #14
- Joined:
- September 29, 2005
|
- loki
- May 25 2006, 10:29 AM
indeed you should be working for SIGSEC or COMSEC if your not. You have a talent. Exploit it.
I would really like to see how you break the straddling checkerboards, #6, 7
Okay, I went ahead and wrote up how I cracked the straddling checkerboard as a separate post. It is very similar to a monome-dinome, except that in the straddling checkerboard, the two digits that represent the first digits of the two-digit numbers can also appear as second digits. In a monome-dinome, that isn't the case, so you just have to find two digits that never follow themselves. For the straddling checkerboard, you can just use index of coincidence to find which pair of first digits gives a text with an IC closest to English.
|
|
|
| |
|
rot13
|
May 25 2006, 02:42 PM
Post #6
|
- Posts:
- 306
- Group:
- Trusted Member
- Member
- #14
- Joined:
- September 29, 2005
|
- loki
- May 25 2006, 10:29 AM
indeed you should be working for SIGSEC or COMSEC if your not. You have a talent. Exploit it.
I should also mention that I'm probably a bit old for military work. I was 11 when the Diffie-Hellman key exchange paper was published. Also, I am not very good when it comes to attacking digital ciphers. While I have been able to attack the IBC ciphers so far, I expect that very soon I won't be able to.
|
|
|
| |
| 1 user reading this topic (1 Guest and 0 Anonymous)
|