Kryptos
Section K1
Cipher:
E M U F P H Z
L R F A X Y U
S D J K Z L D
K R N S H G N
F I V J Y Q T
Q U X Q B Q V
Y U V L L T R
E V J Y Q T M
K Y R D M F D
Key & Method:
key1 = "PALIMPSEST"
alphabet1 = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
Method: Double Keyed Vigenère
Script/Solution:
# Define the alphabet and key
ALPHABET = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
KEY = "PALIMPSEST"
def vigenere_decoder(ciphertext, key, alphabet):
"""
Decrypt a Vigenere cipher using the specified key and alphabet.
Parameters:
ciphertext (str): The text to decrypt.
key (str): The key to use for decryption.
alphabet (str): The alphabet to use for decryption.
Returns:
str: The decrypted plaintext.
"""
# Convert the key and ciphertext to uppercase
key = key.upper()
ciphertext = ciphertext.upper()
# Calculate the length of the key and ciphertext
key_length = len(key)
ciphertext_length = len(ciphertext)
# Generate the repeated key
repeated_key = ""
for i in range(ciphertext_length):
repeated_key += key[i % key_length]
# Decrypt the ciphertext using the repeated key
plaintext = ""
for i in range(ciphertext_length):
ciphertext_char = ciphertext[i]
key_char = repeated_key[i]
# Find the position of the key and ciphertext characters in the alphabet
key_pos = alphabet.find(key_char)
ciphertext_pos = alphabet.find(ciphertext_char)
# Subtract the key position from the ciphertext position to get the plaintext position
plaintext_pos = (ciphertext_pos - key_pos) % len(alphabet)
# Get the plaintext character from the alphabet
plaintext_char = alphabet[plaintext_pos]
plaintext += plaintext_char
return plaintext
# Decrypt the ciphertext using the given key and alphabet
ciphertext = "EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJYQTQUXQBQVYUVLLTREVJYQTMKYRDMFD"
key = "PALIMPSEST"
alphabet = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
plaintext = vigenere_decoder(ciphertext, key, alphabet)
# Print the decrypted plaintext
print(plaintext)
Section K2
Cipher:
VFPJUDEEHZWETZYVGWHKKQETGFQJNCE
GGWHKKDQMCPFQZDQMMIAGPFXHQRLGTI
MVMZJANQLVKQEDAGDVFRPJUNGEUNAQZ
GZLECGYUXUEENJTBJLBQCRTBJDFHRRY
IZETKZEMVDUFKSJHKFWHKUWQLSZFTIH
HDDDUVH?DWKBFUFPWNTDFIYCUQZEREE
VLDKFEZMOQQJLTTUGSYQPFEUNLAVIDX
FLGGTEZ?FKZBSFDQVGOGIPUFXHHDRKF
FHQNTGPUAECNUVPDJMQCLQUMUNEDFQE
LZZVRRGKFFVOEEXBDMVPNFQXEZLGRED
NQFMPNZGLFLPMRJQYALMGNUVPDXVKPD
QUMEBEDMHDAFMJGZNUPLGEWJLLAETG
Key & Method:
key = "ABSCISSA"
alphabet = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
Method: Double Keyed Vigenère
Script/Solution:
def vigenere_decoder(ciphertext, key, alphabet):
plaintext = ''
key_index = 0
for c in ciphertext:
if c not in alphabet:
plaintext += c
continue
shift = alphabet.index(key[key_index])
ciphertext_index = alphabet.index(c)
plaintext_index = (ciphertext_index - shift) % len(alphabet)
plaintext += alphabet[plaintext_index]
key_index = (key_index + 1) % len(key)
return plaintext
ciphertext = "VFPJUDEEHZWETZYVGWHKKQETGFQJNCEGGWHKKDQMCPFQZDQMMIAGPFXHQRLGTIMVMZJANQLVKQEDAGDVFRPJUNGEUNAQZGZLECGYUXUEENJTBJLBQCRTBJDFHRRYIZETKZEMVDUFKSJHKFWHKUWQLSZFTIHHDDDUVH?DWKBFUFPWNTDFIYCUQZEREEVLDKFEZMOQQJLTTUGSYQPFEUNLAVIDXFLGGTEZ?FKZBSFDQVGOGIPUFXHHDRKFFHQNTGPUAECNUVPDJMQCLQUMUNEDFQELZZVRRGKFFVOEEXBDMVPNFQXEZLGREDNQFMPNZGLFLPMRJQYALMGNUVPDXVKPDQUMEBEDMHDAFMJGZNUPLGEWJLLAETG"
key = "ABSCISSA"
alphabet = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
plaintext = vigenere_decoder(ciphertext, key, alphabet)
print(plaintext)
Section K1+K2
Script/Solution:
def vigenere_decoder(ciphertext, key, alphabet):
"""
Decrypt a Vigenere cipher using the specified key and alphabet.
Parameters:
ciphertext (str): The text to decrypt.
key (str): The key to use for decryption.
alphabet (str): The alphabet to use for decryption.
Returns:
str: The decrypted plaintext.
"""
plaintext = ''
key_index = 0
key_length = len(key)
ciphertext_length = len(ciphertext)
for i in range(ciphertext_length):
if ciphertext[i] not in alphabet:
plaintext += ciphertext[i]
continue
# Calculate the shift
shift = alphabet.index(key[key_index])
key_index = (key_index + 1) % key_length
# Decrypt the character
ciphertext_char = ciphertext[i]
ciphertext_pos = alphabet.find(ciphertext_char)
plaintext_pos = (ciphertext_pos - shift) % len(alphabet)
plaintext += alphabet[plaintext_pos]
return plaintext
# Test the combined function with the given ciphertexts and keys
ciphertext1 = "EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJYQTQUXQBQVYUVLLTREVJYQTMKYRDMFD"
key1 = "PALIMPSEST"
alphabet1 = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
plaintext1 = vigenere_decoder(ciphertext1, key1, alphabet1)
print("Cipher 1:")
print(plaintext1)
print("\n\n")
ciphertext2 = "VFPJUDEEHZWETZYVGWHKKQETGFQJNCEGGWHKKDQMCPFQZDQMMIAGPFXHQRLGTIMVMZJANQLVKQEDAGDVFRPJUNGEUNAQZGZLECGYUXUEENJTBJLBQCRTBJDFHRRYIZETKZEMVDUFKSJHKFWHKUWQLSZFTIHHDDDUVH?DWKBFUFPWNTDFIYCUQZEREEVLDKFEZMOQQJLTTUGSYQPFEUNLAVIDXFLGGTEZ?FKZBSFDQVGOGIPUFXHHDRKFFHQNTGPUAECNUVPDJMQCLQUMUNEDFQELZZVRRGKFFVOEEXBDMVPNFQXEZLGREDNQFMPNZGLFLPMRJQYALMGNUVPDXVKPDQUMEBEDMHDAFMJGZNUPLGEWJLLAETG"
key2 = "ABSCISSA"
alphabet2 = "KRYPTOSABCDEFGHIJLMNQUVWXZ"
plaintext2 = vigenere_decoder(ciphertext2, key2, alphabet2)
print("Cipher 2:")
print(plaintext2)
print("\n\n")
Section K3
Cipher:
ENDYAHROHNLSRHEOCPTEOIBIDY
SHNAIACHTNREYULDSLLSLLNOHS
NOSMRWXMNETPRNGATIHNRARPES
LNNELEBLPIIACAEWMTWNDITEEN
RAHCTENEUDRETNHAEOETFOLSED
TIWENHAEIOYTEYQHEENCTAYCRE
IFTBRSPAMHHEWENATAMATEGYEE
RLBTEEFOASFIOTUETUAEOTOARM
AEERTNRTIBSEDDNIAAHTTMSTEW
PIEROAGRIEWFEBAECTDDHILCEI
HSITEGOEAOSDDRYDLORITRKLML
EHAGTDHARDPNEOHMGFMFEUHEEC
DMRIPFEIMEHNLSSTTRTVDOHWX?
Note: This Includes The Final Character "X" That Was Excluded From The Sculpture By Mistake. Jim Sanborn Has Verified This To Be His Error.
Key & Method 1:
Key: None
Method: Shift & Skip Cipher (Decode)
Shift: 252
Skip: 1
Step 1: Start with the original cipher string:
"ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNOHSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTWNDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEYQHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOASFIOTUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGRIEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHAGTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHWX"
Step 2: Take the remaining part of the full string after counting 252 characters, and place it on top of the original cipher string.
The new string should look like this:
"SFIOTUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGRIEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHAGTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHWXENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNOHSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTWNDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEYQHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOA"
Step 3: Decryption
Starting from the first character of the new string, write down every 252nd character until you reach the end of the new string. Then, starting from the first character of the original string, write down every 252nd character until you have written down all 336 characters.
Step 4: Read the resulting string of 336 characters, which is the decrypted message.
The final message should be:
"SLOWLYDESPARATLYSLOWLYTHEREMAINSOFPASSAGEDEBRISTHATENCUMBEREDTHELOWERPARTOFTHEDOORWAYWASREMOVEDWITHTREMBLINGHANDSIMADEATINYBREACHINTHEUPPERLEFTHANDCORNERANDTHENWIDENINGTHEHOLEALITTLEIINSERTEDTHECANDLEANDPEEREDINTHEHOTAIRESCAPINGFROMTHECHAMBERCAUSEDTHEFLAMETOFLICKERBUTPRESENTLYDETAILSOFTHEROOMWITHINEMERGEDFROMTHEMISTXCANYOUSEEANYTHINGQX"
That's it!
Verify With: Skip Cipher: Decode/Encode
Note: This Method Uses The Skip Decoder To Decrypt.
Original Cipher
[Original Ciphertext]
[Locate Shift]
Skip (Decoder): Skip Cipher: Encode/Decode
Manual parameters
Skip size: 251
Initial position (start = 1)
Shifted Cipher
[Shifted Ciphertext]
[Locate Shift]
[Solution In Plaintext]
Key & Method 2:
Key: None
Method: Shift & Skip Cipher (Encode)
Shift: 192
Skip: 192
Step 1: Start with the original cipher string:
"ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNOHSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTWNDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEYQHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOASFIOTUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGRIEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHAGTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHWX"
Step 2: Encode
Starting from the 192nd character of the new string, write down every 192nd character until you reach the end of the new string. Then, starting from the first character of the original string, write down every 192nd character until you have written down all 336 characters.
Step 3: Read the resulting string of 336 characters, which is the Encrypted message.
The final message should be:
"THECANDLEANDPEEREDINTHEHOTAIRESCAPINGFROMTHECHAMBERCAUSEDTHEFLAMETOFLICKERBUTPRESENTLYDETAILSOFTHEROOMWITHINEMERGEDFROMTHEMISTXCANYOUSEEANYTHINGQX? - Top
Bottom - SLOWLYDESPARATLYSLOWLYTHEREMAINSOFPASSAGEDEBRISTHATENCUMBEREDTHELOWERPARTOFTHEDOORWAYWASREMOVEDWITHTREMBLINGHANDSIMADEATINYBREACHINTHEUPPERLEFTHANDCORNERANDTHENWIDENINGTHEHOLEALITTLEIINSERTED"
Step 4: Shift The Results
Next You Have To Shift The Entire Message 192 Spaces To Create The Plaintext Solution:
"SLOWLYDESPARATLYSLOWLYTHEREMAINSOFPASSAGEDEBRISTHATENCUMBEREDTHELOWERPARTOFTHEDOORWAYWASREMOVEDWITHTREMBLINGHANDSIMADEATINYBREACHINTHEUPPERLEFTHANDCORNERANDTHENWIDENINGTHEHOLEALITTLEIINSERTED - Top
Bottom - THECANDLEANDPEEREDINTHEHOTAIRESCAPINGFROMTHECHAMBERCAUSEDTHEFLAMETOFLICKERBUTPRESENTLYDETAILSOFTHEROOMWITHINEMERGEDFROMTHEMISTXCANYOUSEEANYTHINGQX"
step 5: Clean It Up
"SLOWLYDESPARATLYSLOWLYTHEREMAINSOFPASSAGEDEBRISTHATENCUMBEREDTHELOWERPARTOFTHEDOORWAYWASREMOVEDWITHTREMBLINGHANDSIMADEATINYBREACHINTHEUPPERLEFTHANDCORNERANDTHENWIDENINGTHEHOLEALITTLEIINSERTEDTHECANDLEANDPEEREDINTHEHOTAIRESCAPINGFROMTHECHAMBERCAUSEDTHEFLAMETOFLICKERBUTPRESENTLYDETAILSOFTHEROOMWITHINEMERGEDFROMTHEMISTXCANYOUSEEANYTHINGQX"
That's it!
Verify With: Skip Cipher: Decode/Encode
Note: This Method Uses The Skip Encoder To Encrypt.
Key & Method 3:
This Is A Long And Convoluted Method That Uses A1Z26, Columnar Transposition, Keyed Route Transposition & Is What Has Been Offered As The Solution By The NSA, CIA & Shills Since 1990. The Methods They Used Are Faked Because Jim Literally Just Gave Them Solutions. Hence Why Nobody Can Clearly Solve Using This Method.
For The Record:
KRYPTOS = 0362514 - A1Z26 Cipher Starting At "0"
Or...
Kryptos = 1473625 - A1Z26 Cipher Starting At "1"
Note, To Do The NSA Method, You Must Split The Cipher Into Groups Of 7, Transposition Route With One Of The Mentioned Routes, Grid It Again In A New Grid Size, Then It Can Be Read Out Reading Down The Columns & From Right To Left.
Another Thing To Note, The Original Handwritten Notes By Sanborn Show He Folded The Paper At 2 Locations By The Fold Marks And Staple Holes Along With Notes And An Arrow (Supposed To Reference "Layer 2", Which Was Part Of Another Solution That Sanborn Messed Up By Removing A Vital Character In The Cipher "s" Which Incorrectly Decoded To "Rows By ID"). Given The Overall Lack Of Trust Of Sanborn (I Used To Be One) & Knowing Nothing The NSA Says Public Will Be Said At Face Value & They Lie Religiously.
30 Years & So Many Errors, This Is Just Like Cicada3301 & How Bad Actors & Prophets For Profit Ruined A Fun Puzzle & Movement.
Anyway, Ranting Is Over...
A Simplified Variation With A Single Route Transposition & No Key Is All You Really Need.
K3 Can Be Solved On Paper In A Grid That Is 48 Columns & 7 Rows.
Method:
Take The Cipher, Grid It Out, Starting At Row 4, Column 48 "S".
Read down the columns skipping 4 rows (Wrapping To The Top Row If Needed).
Then Move 1 row Left & Repeat The Pattern. That's It!
I Will Update This Later. Noticing So Many Fake Solutions That Make This Seem Harder Than It Really Is.
K4 Is Most Likely Messed Up & Contain Errors. Jim Was An Artist, Not A Cryptographer. Also, Jim Sanborn Isn't Even His Real Name.
[Transposition Route]
Note: The Grid Is Sideways & To Decode It Needs To Be Rotated To The Right 90°.
Step 0:
Break The Cipher Text Into Groups Of 48 Characters & Place Them In A 48×7 Grid Filling In Going Down The 48 Rows, Then Across The 7 Columns.
Step 1:
Starting At Row 4, Column 1 (Reading Down) From "S", Skip 4 Rows Down (Wrap To The Top Row If Needed)
Step 2:
Next You Move 1 Column Right & Write That Character Down.
Step 3:
Repeating This To Get The New Transposed Grid & Plaintext Solution.
Script/Solution 1:
I Need To Write This Script Still.
Script/Solution 2:
I Need To Write This Script Still.
Script/Solution 3:
I Need To Write This Script Still.
Section K4+Rants
Cipher:
Key & Method:
Script/Solution:
K0: The Morse Code
Background:
The Morse code phrase are cut into thin slabs of "aged" copper-plate, which rests on the "outline" sections of the 2nd layer of some of the granite slabs at the front entrance.
Cipher:
Morse Code Phrases:
. . ...- .. .-. - ..- .- .-.. .-.. -.-- . | . . . . . . .. -. ...- .. ... .. -... .-.. .
Key & Method:
Method: Morse Code
Take The Morse Code Phrases:
. . ...- .. .-. - ..- .- .-.. .-.. -.-- . | . . . . . . .. -. ...- .. ... .. -... .-.. .
e e V I R T U A L L Y e | e e e e e e I N V I S I B L E
-.. .. --. . - .- .-.. . . . | .. -. - . .-. .--. .-. . - .- - .. -cut
D I G E T A L e e e | I N T E R P R E T A T I -?*
or
D I G e T A L E e e | I N T E R P R E T A T I -?*
* possibly "Interpretation" or "Interpret at I"
. . ... .... .- -.. --- .-- . . | ..-. --- .-. -.-. . ... . . . . .
e e S H A D O W e e | F O R C E S e e e e e
.-.. ..- -.-. .. -.. . . . | -- . -- --- .-. -.-- .
L U C I D e e e | M E M O R Y e
- .. ... -.-- --- ..- .-. | .--. --- ... .. - .. --- -. (.)?
T I S Y O U R | P O S I T I O N (e)?
... --- ...
S O S
.-. --.-
R Q
Finally Combine The String Of Characters To See The Solution
Script/Solution:
Solution:
e e V I R T U A L L e | e e e e e e I N V I S I B L E
D I G E T A L e e e | I N T E R P R E T A T I -?
e e S H A D O W e e | F O R C E S e e e e e
L U C I D e e e | M E M O R Y e
T I S Y O U R | P O S I T I O N (e)?
S O S
R Q
Which When Removing "e" Becomes:
DIGITAL INTERPRETATION
SHADOW FORCES
LUCID MEMORY
TIS YOUR POSITION?
SOS
RQ
View More Here: K0-MorseCode
Notes & Clues
Jim Sanborn:
NSA/CIA:
Notes:
The key to the third part of Kryptos has been recovered!
July 25th - August 14th, 2003
The first three parts of KRYPTOS have been broken over four years ago. However the actual encryption process
and the key to the third part have not been [publicly] recovered until now. It is the first major discovery
since Jim Gillogly breaking the first three parts of the sculpture.
The key is 0362514 (KRYPTOS).
And the encryption process is Route Transposition followed by a Keyed Columnar Transposition.
Jim Gillogly who first broke the first three parts of the KRYPTOS writes later:
> Yes -- I used my standard army double transposition program on it, and
> it discovered a lot of the text, which I rearranged by hand to get the
> actual solution: the third (irregular) transposition and complete
> crack. It wasn't until later (after I'd described the break) that I
> saw the clean and easy way... which I'm quite sure is the way Scheidt
> had intended. That said, a triple columnar transposition has indeed
> been used historically... but this ain't it!
Other cryptanalysts came up with different solutions, but they all lacked consistency and Sanborn kept saying
that they were not correct solutions. I didn't like them either. When I first saw Elonka's page describing
the way to decrypt the third part, I immediately told her that in my opinion it wasn't the right way and
I dedicated some time to prove it. I put together a proper encryption-decryption process for a keyed columnar
transposition using either 4152630 or 0362514 as the key and e-mailed the keys to the greatest inspiration for
anyone interested in breaking KRYPTOS - the Yahoo KRYPTOS Group - recommending them to run a dictionary over
those keys to find a proper keyword. I wasn't surprised when the next morning David Wilson found a good match.
Impressively enough it was the word KRYPTOS itself. As Elonka insisted, I'm publishing my findings here.
______________________________________________________________________________________________________________
The actual encryption process as I see it:
Step 1, Route Transposition:
First we pad the message fitting it into a 86xN box.
Why padding it? To make the text in all the columns line up leaving columns of only two different lengths for
the person decrypting to deal with, who is expected to know exactly how many of them there are and which ones
they are. We are just being considerate of the guy with the key on the other end.
How many letters to add? The message length is 336 and we are fitting it into a box of width 86. 86 mod 7 = 2.
It means that every line except for the last one will have 2 extra columns. 336 mod 86 = 78.
The last line will be 78 letters long and 78 mod 7 = 1.
And since the number of the last line's "extra" columns has to be the same as the first lines
to make the columns line up, we only need one extra Q to make it 2 for all the lines. Clear enough?
Now to the transposition itself:
In by Rows backwards into 86x4, Out by Columns in groups of 7 which is the length of the key:
SLOWLYDESPARATLYSLOWLYTHEREMAINSOFPASSAGEDEBRISTHATENCUM
BEREDTHELOWERPARTOFTHEDOORWAYWASREMOVEDWITHTREMBLINGHAND
SIMADEATINYBREACHINTHEUPPERLEFTHANDCORNERANDTHENWIDENING
THEHOLEALITTLEIINSERTEDTHECANDLEANDPEEREDINTHEHOTAIRESCA
PINGFROMTHECHAMBERCAUSEDTHEFLAMETOFLICKERBUTPRESENTLYDET
AILSOFTHEROOMWITHINEMERGEDFROMTHEMISTXCANYOUSEEANYTHINGQ?
->
?QGNIHTYNAEESUOYNACXTSIMEHTMORFDEGREMENIHTIWMOOREHTFOSLIATEDYLTNESERPTUBREKCILFOTEMALF
EHTDESUACREBMAHCEHTMORFGNIPACSERIATOHEHTNIDEREEPDNAELDNACEHTDETRESNIIELTTILAELOHEHTGNI
NEDIWNEHTDNARENROCDNAHTFELREPPUEHTNIHCAERBYNITAEDAMISDNAHGNILBMERTHTIWDEVOMERSAWYAWROO
DEHTFOTRAPREWOLEHTDEREBMUCNETAHTSIRBEDEGASSAPFOSNIAMEREHTYLWOLSYLTARAPSEDYLWOLS
What makes me think it was written backwards? Because the extra space is not at the end of the message but
before the first letter. Who would bother calculating the position of the first letter and start writing
the message beginning with the 7th column just to make it fill up the rectangle perfectly at the end?
I think it is easier to simply fill out the rectangle backwards if you are doing it with pen and paper.
Either way, it is 86x4 with 7 spaces in front of the first letter.
?QGNIHT YNAEESU OYNACXT SIMEHTM ORFDEGR EMENIHT IWMOORE HTFOSLI ATEDYLT NESERPT UBREKCI LFOTEMA LF
EHTDESU ACREBMA HCEHTMO RFGNIPA CSERIAT OHEHTNI DEREEPD NAELDNA CEHTDET RESNIIE LTTILAE LOHEHTG NI
NEDIWNE HTDNARE NROCDNA HTFELRE PPUEHTN IHCAERB YNITAED AMISDNA HGNILBM ERTHTIW DEVOMER SAWYAWR OO
DEHTFOT RAPREWO LEHTDER EBMUCNE TAHTSIR BEDEGAS SAPFOSN IAMEREH TYLWOLS YLTARAP SEDYLWO LS
Whichever way the text was written initially, after we restack it into 7 columns, it will result in:
?QGNIHT
EHTDESU
NEDIWNE
DEHTFOT
YNAEESU
ACREBMA
HTDNARE
RAPREWO
OYNACXT
HCEHTMO
NROCDNA
LEHTDER
SIMEHTM
RFGNIPA
HTFELRE
EBMUCNE
ORFDEGR
CSERIAT
PPUEHTN
TAHTSIR
EMENIHT
OHEHTNI
IHCAERB
BEDEGAS
IWMOORE
DEREEPD
YNITAED
SAPFOSN
HTFOSLI
NAELDNA
AMISDNA
IAMEREH
ATEDYLT
CEHTDET
HGNILBM
TYLWOLS
NESERPT
RESNIIE
ERTHTIW
YLTARAP
UBREKCI
LTTILAE
DEVOMER
SEDYLWO
LFOTEMA
LOHEHTG
SAWYAWR
LS
LF
NI
OO
Now write the key on top and proceed with...
Step 2, The Keyed Columnar Transposition:
KRYPTOS KOPRSTY
0362514 -> 0123456
?QGNIHT ?HNQTIG
EHTDESU ESDHUET
NEDIWNE NNIEEWD
DEHTFOT DOTETFH
YNAEESU YSENUEA
ACREBMA AMECABR
HTDNARE HRNTEAD
RAPREWO RWRAOEP
OYNACXT OXAYTCN
HCEHTMO HMHCOTE
NROCDNA NNCRADO
LEHTDER LETERDH
SIMEHTM STEIMHM
RFGNIPA RPNFAIG
HTFELRE HRETELF
EBMUCNE ENUBECM
ORFDEGR OGDRREF
CSERIAT CARSTIE
PPUEHTN PTEPNHU
TAHTSIR TITARSH
EMENIHT EHNMTIE
OHEHTNI ONHHITE
IHCAERB IRAHBEC
BEDEGAS BAEESGD
IWMOORE IROWEOM
DEREEPD DPEEDER
YNITAED YETNDAI
SAPFOSN SSFANOP
HTFOSLI HLOTISF
NAELDNA NNLAADE
AMISDNA ANSMADI
IAMEREH IEEAHRM
ATEDYLT ALDTTYE
CEHTDET CETETDH
HGNILBM HBIGMLN
TYLWOLS TLWYSOL
NESERPT NPEETRS
RESNIIE RINEEIS
ERTHTIW EIHRWTT
YLTARAP YAALPRT
UBREKCI UCEBIKR
LTTILAE LAITELT
DEVOMER DEOERMV
SEDYLWO SWYEOLD
LFOTEMA LMTFAEO
LOHEHTG LTEOGHH
SAWYAWR SWYARAW
LS L S
LF L F
NI N I
OO O O
Now to the last...
Step 3, Out by columns downwards, left to right resulting in:
?ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNO
HSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTW
NDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEY
QHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOASFIO
TUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGR
IEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHA
GTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHW
Reminds you of anything? ;)
The decryption process requires knowing the key and the rectangle size for the route transposition:
KRYPTOS and 86.
First we determine the line lengths to split the message:
86 mod 7 = 2. It means that two of the columns are going to be longer.
Which two and by how much?
The first two in our system (they are 0 and 3 for the person decrypting the message), with lengths 51 and 47.
The difference between those lengths will be the same (4) for 86 mod 7 regardless of the message length.
You may want to find out why as an excercise.
So we...
Step 1, Split the input as follows:
0 ?ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNO
1 HSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTW
2 NDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEY
3 QHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOASFIO
4 TUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGR
5 IEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHA
6 GTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHW
Step 2, Write it in columns... (i omitted it to make Step 3 clearer, hence the following text is on its side)
Step 3, Reorder the columns according to the key:
0 ?ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIACHTNREYULDSLLSLLNO
3 QHEENCTAYCREIFTBRSPAMHHEWENATAMATEGYEERLBTEEFOASFIO
6 GTDHARDPNEOHMGFMFEUHEECDMRIPFEIMEHNLSSTTRTVDOHW
2 NDITEENRAHCTENEUDRETNHAEOETFOLSEDTIWENHAEIOYTEY
5 IEWFEBAECTDDHILCEIHSITEGOEAOSDDRYDLORITRKLMLEHA
1 HSNOSMRWXMNETPRNGATIHNRARPESLNNELEBLPIIACAEWMTW
4 TUETUAEOTOARMAEERTNRTIBSEDDNIAAHTTMSTEWPIEROAGR
Step 4, Chop them into 86-letter long lines
(in groups of 4 of course, since 337/86 is > 3 but is <= 4)
0 ?END YAHR OHNL SRHE OCPT EOIB IDYS HNAI ACHT NREY ULDS LLSL LNO
3 QHEE NCTA YCRE IFTB RSPA MHHE WENA TAMA TEGY EERL BTEE FOAS FIO
6 GTDH ARDP NEOH MGFM FEUH EECD MRIP FEIM EHNL SSTT RTVD OHW
2 NDIT EENR AHCT ENEU DRET NHAE OETF OLSE DTIW ENHA EIOY TEY
5 IEWF EBAE CTDD HILC EIHS ITEG OEAO SDDR YDLO RITR KLML EHA
1 HSNO SMRW XMNE TPRN GATI HNRA RPES LNNE LEBL PIIA CAEW MTW
4 TUET UAEO TOAR MAEE RTNR TIBS EDDN IAAH TTMS TEWP IERO AGR
Step 5, Read the resulting 4 lines of the message backwards (reverse of the Step 1 of encryption). Done.
______________________________________________________________________________________________________________
If the same key KRYPTOS=0362514 was used to encrypt the 4th part, the decryption process would be as follows:
Let's say the number of columns for the route transposition was 49 or 21...
Step 1:
?OBKRUOXOGHULBSOLIFBBWFLRVQQPRNGKSSOTWTQSJQSSEKZZWATJKLUDIAWINFBNYPVTTMZFPKWGDKZXTJCDIGKUHUAUEKCAR
->
?OBKRUOXOGHULB
SOLIFBBWFLRVQQ
PRNGKSSOTWTQSJ
QSSEKZZWATJKLU
DIAWINFBNYPVTT
MZFPKWGDKZXTJC
DIGKUHUAUEKCAR
Step 2:
?SPQDMD
OORSIZI
BLNSAFG
KIGEWPK
RFKKIKU
UBSZNWH
OBSZFGU
XWOWBDA
OFTANKU
GLWTYZE
HRTJPXK
UVQKVTC
LQSLTJA
BQJUTCR
Step 3:
KOPRSTY KRYPTOS
0123456 -> 0362514
?SPQDMD ?QDPMSD
OORSIZI OSIRZOI
BLNSAFG BSGNFLA
KIGEWPK KEKGPIW
RFKKIKU RKUKKFI
UBSZNWH UZHSWBN
OBSZFGU OZUSGBF
XWOWBDA XWAODWB
OFTANKU OAUTKFN
GLWTYZE GTEWZLY
HRTJPXK HJKTXRP
UVQKVTC UKCQTVV
LQSLTJA LLASJQT
BQJUTCR BURJCQT
Step 4:
For 49 columns:
?QDPMSD BSGNFLA RKUKKFI OZUSGBF OAUTKFN HJKTXRP LLASJQT
OSIRZOI KEKGPIW UZHSWBN XWAODWB GTEWZLY UKCQTVV BURJCQT
For 21 columns:
?QDPMSD UZHSWBN HJKTXRP
OSIRZOI OZUSGBF UKCQTVV
BSGNFLA XWAODWB LLASJQT
KEKGPIW OAUTKFN BURJCQT
RKUKKFI GTEWZLY
Step 5:
For 49: TQCJRUBVVTQCKUYLZWETGBWDOAWXNBWSHZUWIPGKEKIOZRISOTQJSALLPRXTKJHNFKTUAOFBGSUZOIFKKUKRALFNGSBDSMPDQ?
For 21: YLZWETGIFKKUKRTQCJRUBNFKTUAOWIPGKEKTQJSALLBWDOAWXALFNGSBVVTQCKUFBGSUZOIOZRISOPRXTKJHNBWSHZUDSMPDQ?
Step 6: Breaking the cipher (most probably the same double-key Vigenere) and reading the message.
The key to the transposition is most probably different and a different route transposition may have been used.
In any case, it is all done by the book: Chapter 11 of the Army Field Manual on Basic Cryptanalysis.
Breaking keyed columnar transpositions is described in Chapter 12.
I would not be surprised if the 4th part gets broken in less than a month after this long four-year pause.
Moral of the story: Always Recover the Key.
Special thanks to: Elonka Dunin, Jim Gillogly, David Wilson.
Sean O'Neil <soneil@iss.net>
Reverse Engineering Guru,
X-Force Research Group,
Internet Security Systems Inc.
PS: Yes, we all have our day jobs and we will all die eventually... BG 5.20
Note: These Are Fake Steps Given By The NSA & They Don't Work Due To The Many Mistakes Sanborn Made With The Ciphertext. Excluding Vital Characters Creates Nonsense. You Are Expected To First Correct The Mess Ups And Then After That, You Can Decode. I Highly Advise To NEVER Listen To Others About Solutions With Vague Details How They Arrived At Any Point Or Give Real Examples And Methods Others Can Replicate.
Hope You Enjoyed This Special Little PAge Dedicated To the Kryptos Scultpture In Langley. Some Of The Opinions Expressed Are My Own & You Are Free To Contest Or Question Anything Said Here & Try The Challenges Yourself With Ease Of Knowing The Difficult Parts Have Been Done For You.
K4 Colored Table:
[KEY]
Vertical Bigram Doublets
Horizontal Bigram Doublets
Intersecting Bigram Doublets
E N D Y A H R O H N L S R H E O C P T E O I B I D Y S H N A I
A C H T N R E Y U L D S L L S L L N O H S N O S M R W X M N E
T P R N G A T I H N R A R P E S L N N E L E B L P I I A C A E
W M T W N D I T E E N R A H C T E N E U D R E T N H A E O E T
F O L S E D T I W E N H A E I O Y T E Y Q H E E N C T A Y C R
E I F T B R S P A M H H E W E N A T A M A G E T Y E E R L B T
E E F O A S F I O T U E T U A E O T O A R M A E E R T N R T I
B S E D D N I A A H T T M S T E W P I E R O A G R I E W F E B
A E C T D D H I L C E I H S I T E G O E A O S D D R Y D L O R
I T R K L M L E H A G T D H A R D P N E O H M G F M F E U H E
E C D M R I P F E I M E H N L S S T T R T V D O H W ? O B K R
U O X O G H U L B S O L I F B B W F L R V Q Q P R N G K S S O
T W T Q S J Q S S E K Z Z W A T J K L U D I A W I N F B N Y P
V T T M Z F P K W G D K Z X T J C D I G K U H U A U E K C A R
Plain K3-K4 Table:
E N D Y A H R O H N L S R H E O C P T E O I B I D Y S H N A I
A C H T N R E Y U L D S L L S L L N O H S N O S M R W X M N E
T P R N G A T I H N R A R P E S L N N E L E B L P I I A C A E
W M T W N D I T E E N R A H C T E N E U D R E T N H A E O E T
F O L S E D T I W E N H A E I O Y T E Y Q H E E N C T A Y C R
E I F T B R S P A M H H E W E N A T A M A G E T Y E E R L B T
E E F O A S F I O T U E T U A E O T O A R M A E E R T N R T I
B S E D D N I A A H T T M S T E W P I E R O A G R I E W F E B
A E C T D D H I L C E I H S I T E G O E A O S D D R Y D L O R
I T R K L M L E H A G T D H A R D P N E O H M G F M F E U H E
E C D M R I P F E I M E H N L S S T T R T V D O H W ? O B K R
U O X O G H U L B S O L I F B B W F L R V Q Q P R N G K S S O
T W T Q S J Q S S E K Z Z W A T J K L U D I A W I N F B N Y P
V T T M Z F P K W G D K Z X T J C D I G K U H U A U E K C A R