#KryptosK4 #Lesson34: Identifying mistakes
So when I was testing Gemini (free version of Google) to bruteforce historical machines, he didn’t do it. I mean it wrote code, but it was rubbish. And that’s a good thing. However when I asked to write code that historically is correct with how the machine worked, then it also had it’s own will.
And of course this lesson is about detecting mistakes. So what can possibly happen when you are asking AI to code something for you?
When I asked an implementation of the Beyer Krypto System, it generated 2 arrays, representing the pin wheels. And 1 has a different pin wheel as the other, but it just said 2 arrays of 10. The 10th pin was non-existent on 1 of the pin wheels, but he ‘solved’ that problem. He just added 0. Does the code work? Yes. Is it correct? No.
Same story with the K37, Krystall. When I asked it to code something he used the NSA documentation to code the K37 implementation. So I asked to rewrite it with the historical pin and code wheels. So he gave me something. Eventually I made it myself, based on one of his codes. So what happened that I couldn’t use the code? And what did I do to be sure that I had an exact replica? The problem with this machine was, that some of the details of the code and pin wheels for example where unknown on some sites, so I had to look up others. And so AI at a moment began mixing up rotor based pin/lug systems with this system. Depending on the day (today he gave it as it should be told) he gives a version. Maybe Google saw it and corrected it? So sometimes I used several lookups and also reasked AI the same thing. Have a look on this website: http://www.jfbouch.fr/crypto/b21/b21.html. I used pin wheels of size 23, 21, 19 and 17. Now the B211-M2 explained on this site is interesting as well. But I didn’t write code for that one. You will ask, why not? Well the outcome grid is also 25 characters. Kryptos has 26 characters

. But technically a 30 character matrix using the M2 settings is possible. Historically the K37 is based on the M1 version. And that is based on the B-21. And it’s that implementation I wrote to simulate a K37.
Now I understand that you will think, why does he now start about all these systems when he gave us the Beyer Krypto System and the Kryha Lilliput? People don’t realise something. I can only say, try to understand the patterns or try to recognise them.
Let’s look at this example:
Fysieke Startpositie Ring: AAA
Rotor III Wiring Gebruikt : KRYPTOSABCDEFGHIJLMNQUVWXZ
-------------------------------------------------------------------------------
Positie | RIII Stand | Pln -> Cph | Pin RIII in | Pin RIII uit | Verify
-------------------------------------------------------------------------------
#00 | B (Pin 02) | F -> O | 06 -> 17 Pin R | Pin 14 <- 02 C | Pin R
#01 | C (Pin 03) | O -> B | 16 -> 07 Pin H | Pin 01 <- 08 I | Pin H
#02 | D (Pin 04) | R -> K | 20 -> 13 Pin N | Pin 10 <- 16 Q | Pin N
#03 | E (Pin 05) | M -> R | 16 -> 05 Pin F | Pin 17 <- 18 S | Pin F
#04 | F (Pin 06) | E -> U | 09 -> 23 Pin X | Pin 20 <- 20 U | Pin X
#05 | G (Pin 07) | A -> O | 06 -> 12 Pin M | Pin 14 <- 15 P | Pin M
#06 | H (Pin 08) | S -> X | 25 -> 18 Pin S | Pin 23 <- 04 E | Pin S
#07 | I (Pin 09) | Y -> O | 06 -> 10 Pin K | Pin 14 <- 15 P | Pin K
#08 | J (Pin 10) | R -> G | 00 -> 01 Pin B | Pin 06 <- 20 U | Pin B
#09 | K (Pin 11) | O -> H | 24 -> 13 Pin N | Pin 07 <- 17 R | Pin N
#10 | L (Pin 12) | T -> U | 04 -> 08 Pin I | Pin 20 <- 01 B | Pin I
#11 | M (Pin 13) | A -> L | 12 -> 19 Pin T | Pin 11 <- 12 M | Pin T
#12 | N (Pin 14) | T -> B | 06 -> 05 Pin F | Pin 01 <- 18 S | Pin F
#13 | O (Pin 15) | I -> S | 22 -> 07 Pin H | Pin 18 <- 25 Z | Pin H
#14 | P (Pin 16) | O -> O | 03 -> 00 Pin A | Pin 14 <- 21 V | Pin A
#15 | Q (Pin 17) | N -> L | 03 -> 25 Pin Z | Pin 11 <- 18 S | Pin Z
#16 | R (Pin 18) | S -> I | 09 -> 11 Pin L | Pin 08 <- 08 I | Pin L
#17 | S (Pin 19) | W -> F | 14 -> 15 Pin P | Pin 05 <- 06 G | Pin P
#18 | T (Pin 20) | E -> B | 23 -> 03 Pin D | Pin 01 <- 02 C | Pin D
#19 | U (Pin 21) | A -> B | 20 -> 22 Pin W | Pin 01 <- 02 C | Pin W
#20 | V (Pin 22) | K -> W | 05 -> 19 Pin T | Pin 22 <- 06 G | Pin T
#21 | W (Pin 23) | E -> F | 00 -> 14 Pin O | Pin 05 <- 12 M | Pin O
#22 | X (Pin 24) | A -> L | 23 -> 25 Pin Z | Pin 11 <- 18 S | Pin Z
#23 | Y (Pin 25) | S -> R | 16 -> 11 Pin L | Pin 17 <- 05 F | Pin L
#24 | Z (Pin 26) | T -> V | 18 -> 13 Pin N | Pin 21 <- 22 W | Pin N
#25 | A (Pin 01) | N -> Q | 13 -> 06 Pin G | Pin 16 <- 20 U | Pin G
#26 | B (Pin 02) | O -> Q | 15 -> 07 Pin H | Pin 16 <- 00 A | Pin H
#27 | C (Pin 03) | R -> P | 19 -> 11 Pin L | Pin 15 <- 25 Z | Pin L
#28 | D (Pin 04) | T -> R | 22 -> 18 Pin S | Pin 17 <- 18 S | Pin S
#29 | E (Pin 05) | H -> N | 11 -> 00 Pin A | Pin 13 <- 23 X | Pin A
#30 | F (Pin 06) | E -> G | 09 -> 23 Pin X | Pin 06 <- 12 M | Pin X
#31 | G (Pin 07) | A -> K | 06 -> 12 Pin M | Pin 10 <- 14 O | Pin M
#32 | H (Pin 08) | S -> S | 25 -> 18 Pin S | Pin 18 <- 18 S | Pin S
#33 | I (Pin 09) | T -> S | 01 -> 09 Pin J | Pin 18 <- 25 Z | Pin J
#34 | J (Pin 10) | P -> O | 24 -> 14 Pin O | Pin 14 <- 15 P | Pin O
#35 | K (Pin 11) | A -> T | 10 -> 19 Pin T | Pin 19 <- 00 A | Pin T
#36 | L (Pin 12) | R -> W | 02 -> 13 Pin N | Pin
22 <- 03 D | Pin
N
#37 | M (Pin 13) | T -> T | 05 -> 02 Pin C | Pin 19 <- 00 A | Pin C
#38 | N (Pin 14) | S -> Q | 05 -> 01 Pin B | Pin 16 <- 23 X | Pin B
#39 | O (Pin 15) | A -> S | 14 -> 19 Pin T | Pin 18 <- 25 Z | Pin T
#40 | P (Pin 16) | R -> J | 06 -> 03 Pin D | Pin 09 <- 13 N | Pin D
#41 | Q (Pin 17) | E -> Q | 20 -> 00 Pin A | Pin 16 <- 23 X | Pin A
#42 | R (Pin 18) | D -> S | 20 -> 25 Pin Z | Pin 18 <- 25 Z | Pin Z
#43 | S (Pin 19) | E -> S | 22 -> 03 Pin D | Pin 18 <- 08 I | Pin D
#44 | T (Pin 20) | C -> E | 21 -> 01 Pin B | Pin 04 <- 05 F | Pin B
#45 | U (Pin 21) | O -> K | 08 -> 07 Pin H | Pin 10 <- 17 R | Pin H
#46 | V (Pin 22) | D -> Z | 24 -> 02 Pin C | Pin 25 <- 00 A | Pin C
#47 | W (Pin 23) | E -> Z | 00 -> 14 Pin O | Pin 25 <- 00 A | Pin O
#48 | X (Pin 24) | D -> W | 00 -> 13 Pin N | Pin 22 <- 07 H | Pin N
#49 | Y (Pin 25) | B -> A | 25 -> 01 Pin B | Pin 00 <- 04 E | Pin B
#50 | Z (Pin 26) | Y -> T | 23 -> 23 Pin X | Pin 19 <- 07 H | Pin X
#51 | A (Pin 01) | C -> J | 02 -> 24 Pin Y | Pin 09 <- 16 Q | Pin Y
#52 | B (Pin 02) | I -> K | 09 -> 01 Pin B | Pin 10 <- 16 Q | Pin B
#53 | C (Pin 03) | A -> L | 02 -> 22 Pin W | Pin 11 <- 17 R | Pin W
#54 | D (Pin 04) | A -> U | 03 -> 12 Pin M | Pin 20 <- 21 V | Pin M
#55 | E (Pin 05) | G -> D | 10 -> 25 Pin Z | Pin 03 <- 10 K | Pin Z
#56 | F (Pin 06) | E -> I | 09 -> 23 Pin X | Pin 08 <- 14 O | Pin X
#57 | G (Pin 07) | N -> A | 19 -> 07 Pin H | Pin 00 <- 07 H | Pin H
#58 | H (Pin 08) | T -> W | 00 -> 03 Pin D | Pin
22 <- 03 D | Pin
D
#59 | I (Pin 09) | S -> I | 00 -> 02 Pin C | Pin 08 <- 12 M | Pin C
#60 | J (Pin 10) | T -> N | 02 -> 15 Pin P | Pin 13 <- 14 O | Pin P
#61 | K (Pin 11) | H -> F | 17 -> 01 Pin B | Pin 05 <- 19 T | Pin B
#62 | L (Pin 12) | E -> B | 15 -> 23 Pin X | Pin 01 <- 07 H | Pin X
#63 | M (Pin 13) | B -> N | 13 -> 20 Pin U | Pin 13 <- 13 N | Pin U
#64 | N (Pin 14) | E -> Y | 17 -> 24 Pin Y | Pin 24 <- 04 E | Pin Y
#65 | O (Pin 15) | R -> P | 05 -> 00 Pin A | Pin 15 <- 22 W | Pin A
#66 | P (Pin 16) | L -> V | 00 -> 21 Pin V | Pin 21 <- 11 L | Pin V
#67 | Q (Pin 17) | I -> T | 24 -> 07 Pin H | Pin 19 <- 00 A | Pin H
#68 | R (Pin 18) | N -> T | 04 -> 02 Pin C | Pin 19 <- 09 J | Pin C
#69 | S (Pin 19) | C -> M | 20 -> 24 Pin Y | Pin 12 <- 19 T | Pin Y
#70 | T (Pin 20) | L -> Z | 04 -> 00 Pin A | Pin 25 <- 13 N | Pin A
#71 | U (Pin 21) | O -> F | 08 -> 07 Pin H | Pin 05 <- 05 F | Pin H
#72 | V (Pin 22) | C -> P | 23 -> 01 Pin B | Pin 15 <- 05 F | Pin B
#73 | W (Pin 23) | K -> K | 06 -> 22 Pin W | Pin 10 <- 17 R | Pin W
#74 | X (Pin 24) | E -> W | 01 -> 20 Pin U | Pin 22 <- 07 H | Pin U
#75 | Y (Pin 25) | R -> G | 15 -> 10 Pin K | Pin 06 <- 13 N | Pin K
#76 | Z (Pin 26) | A -> D | 25 -> 00 Pin A | Pin 03 <- 10 K | Pin A
#77 | A (Pin 01) | S -> K | 18 -> 12 Pin M | Pin 10 <- 00 A | Pin M
#78 | B (Pin 02) | E -> Z | 05 -> 13 Pin N | Pin 25 <- 06 G | Pin N
#79 | C (Pin 03) | D -> X | 05 -> 12 Pin M | Pin 23 <- 23 X | Pin M
#80 | D (Pin 04) | T -> T | 22 -> 18 Pin S | Pin 19 <- 20 U | Pin S
#81 | E (Pin 05) | H -> J | 11 -> 00 Pin A | Pin 09 <- 15 P | Pin A
#82 | F (Pin 06) | E -> C | 09 -> 23 Pin X | Pin 02 <- 09 J | Pin X
#83 | G (Pin 07) | S -> D | 24 -> 17 Pin R | Pin 03 <- 10 K | Pin R
#84 | H (Pin 08) | T -> I | 00 -> 03 Pin D | Pin 08 <- 22 W | Pin D
#85 | I (Pin 09) | A -> G | 08 -> 19 Pin T | Pin 06 <- 23 X | Pin T
#86 | J (Pin 10) | R -> K | 00 -> 01 Pin B | Pin 10 <- 21 V | Pin B
#87 | K (Pin 11) | T -> U | 03 -> 05 Pin F | Pin 20 <- 01 B | Pin F
#88 | L (Pin 12) | P -> H | 00 -> 25 Pin Z | Pin 07 <- 21 V | Pin Z
#89 | M (Pin 13) | O -> U | 00 -> 24 Pin Y | Pin 20 <- 01 B | Pin Y
#90 | N (Pin 14) | S -> A | 05 -> 01 Pin B | Pin 00 <- 06 G | Pin B
#91 | O (Pin 15) | I -> U | 22 -> 07 Pin H | Pin 20 <- 01 B | Pin H
#92 | P (Pin 16) | T -> E | 08 -> 12 Pin M | Pin 04 <- 15 P | Pin M
#93 | Q (Pin 17) | I -> K | 24 -> 07 Pin H | Pin 10 <- 17 R | Pin H
#94 | R (Pin 18) | O -> C | 05 -> 23 Pin X | Pin 02 <- 13 N | Pin X
#95 | S (Pin 19) | N -> A | 05 -> 22 Pin W | Pin 00 <- 14 O | Pin W
#96 | T (Pin 20) | . -> R | 00 -> 17 Pin R | Pin 17 <- 07 H | Pin R
===============================================================================
Does it look fine? Does it look like pin settings of a rotor? Yes. But the implementation is wrong. It isn’t forming your alphabet which is basically an Alberti disc. So try to understand what is wrong with it and what you need to fix.
And here we have a rodding square. Did we follow the rules? Well the first column has the alberti disc sequence, from the top right to the bottom left we see the alphabet...So what is going on?
=== DILLY KNOX RODDING SQUARE (26x26) FOR ROTOR III ===
Rij = Interne IN Pin / Contactpunt (A t/m Z)
Kolom/Stand = Rotorpositie (A t/m Z)
Cellen = De resulterende letters/uitgangen
-------------------------------------------------------------------
| A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-------------------------------------------------------------------
A | K Q W M P J M T T T T T T T T T T U U U W Z Z Z Z A
B | R X N Q K N U U U U U U U U U U V V V X A A A A B L
C | Y O R L O V V V V V V V V V V W W W Y B B B B C M S
D | P S M P W W W W W W W W W W X X X Z C C C C D N T Z
E | T N Q X X X X X X X X X X Y Y Y A D D D D E O U A Q
F | O R Y Y Y Y Y Y Y Y Y Y Z Z Z B E E E E F P V B R U
G | S Z Z Z Z Z Z Z Z Z Z A A A C F F F F G Q W C S V P
H | A A A A A A A A A A B B B D G G G G H R X D T W Q T
I | B B B B B B B B B C C C E H H H H I S Y E U X R U B
J | C C C C C C C C D D D F I I I I J T Z F V Y S V C C
K | D D D D D D D E E E G J J J J K U A G W Z T W D D D
L | E E E E E E F F F H K K K K L V B H X A U X E E E E
M | F F F F F G G G I L L L L M W C I Y B V Y F F F F F
N | G G G G H H H J M M M M N X D J Z C W Z G G G G G G
O | H H H I I I K N N N N O Y E K A D X A H H H H H H H
P | I I J J J L O O O O P Z F L B E Y B I I I I I I I I
Q | J K K K M P P P P Q A G M C F Z C J J J J J J J J J
R | L L L N Q Q Q Q R B H N D G A D K K K K K K K K K K
S | M M O R R R R S C I O E H B E L L L L L L L L L L M
T | N P S S S S T D J P F I C F M M M M M M M M M M N N
U | Q T T T T U E K Q G J D G N N N N N N N N N N O O O
V | U U U U V F L R H K E H O O O O O O O O O O P P P R
W | V V V W G M S I L F I P P P P P P P P P P Q Q Q S V
X | W W X H N T J M G J Q Q Q Q Q Q Q Q Q Q R R R T W W
Y | X Y I O U K N H K R R R R R R R R R R S S S U X X X
Z | Z J P V L O I L S S S S S S S S S S T T T V Y Y Y Y
-------------------------------------------------------------------
Ah yes, not all characters are in the row, so there is a problem. Ok, how about this one?
=== DILLY KNOX RODDING SQUARE (26x26) FOR ROTOR III ===
Rij/Stand = Rotorpositie (A t/m Z)
Kolom = Interne IN Pin / Contactpunt (A t/m Z)
Cellen = De resulterende letters/uitgangen
-------------------------------------------------------------------
| A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-------------------------------------------------------------------
A | K R Y P T O S A B C D E F G H I J L M N Q U V W X Z
B | Q X O S N R Z A B C D E F G H I K L M P T U V W Y J
C | W N R M Q Y Z A B C D E F G H J K L O S T U V X I P
D | M Q L P X Y Z A B C D E F G I J K N R S T U W H O V
E | P K O W X Y Z A B C D E F H I J M Q R S T V G N U L
F | J N V W X Y Z A B C D E G H I L P Q R S U F M T K O
G | M U V W X Y Z A B C D F G H K O P Q R T E L S J N I
H | T U V W X Y Z A B C E F G J N O P Q S D K R I M H L
I | T U V W X Y Z A B D E F I M N O P R C J Q H L G K S
J | T U V W X Y Z A C D E H L M N O Q B I P G K F J R S
K | T U V W X Y Z B C D G K L M N P A H O F J E I Q R S
L | T U V W X Y A B C F J K L M O Z G N E I D H P Q R S
M | T U V W X Z A B E I J K L N Y F M D H C G O P Q R S
N | T U V W Y Z A D H I J K M X E L C G B F N O P Q R S
O | T U V X Y Z C G H I J L W D K B F A E M N O P Q R S
P | T U W X Y B F G H I K V C J A E Z D L M N O P Q R S
Q | T V W X A E F G H J U B I Z D Y C K L M N O P Q R S
R | U V W Z D E F G I T A H Y C X B J K L M N O P Q R S
S | U V Y C D E F H S Z G X B W A I J K L M N O P Q R T
T | U X B C D E G R Y F W A V Z H I J K L M N O P Q S T
U | W A B C D F Q X E V Z U Y G H I J K L M N O P R S T
V | Z A B C E P W D U Y T X F G H I J K L M N O Q R S V
W | Z A B D O V C T X S W E F G H I J K L M N P Q R U Y
X | Z A C N U B S W R V D E F G H I J K L M O P Q T X Y
Y | Z B M T A R V Q U C D E F G H I J K L N O P S W X Y
Z | A L S Z Q U P T B C D E F G H I J K M N O R V W X Y
-------------------------------------------------------------------
So now from the bottom left to the top right we have our alphabet and the first row is our used alphabet. Looks fine? No? AI can explain you about the mistake here.
You won’t believe me, but Gemini could explain how the Rodding Square should look like. I let it write code. And it fails against it’s own test. Now I used the KRYPTOS alphabet but I also used others. It consistently made the same mistake over and over again. So I refeeded his results and it said for example, yes that’s the same problem as with number 2. Now if you don’t know that it is wrong? Will you fix it? This lesson is about the ‘I cracked it with AI’ people. If you don’t understand the basics of each system, you don’t know how to historically break the systems.
However when I was explaining AI what I was about to do...It knew it would work. And I did knew it too of course, otherwise I wasn’t going to do it.
And that’s the problem with AI. Sometimes it tells you something, you say. Huh? Really? And what should happen next is not copy/paste, but validation. On each question Google mentions that at the bottom. A good example is when I asked for a brute forcer. And AI gave me one. I said, no it’s incorrect. He gave me another one. So I repeated this cycle a couple of times, then I said, no it’s wrong because blablabla. Guess what it did...He wrote code that gave me the first 3 correct lines. Hardcoded! So I asked it, how come you write so much rubbish. And then it explained to me it couldn’t validate it’s own code. In other words: it forms code. Almost instantly that code will work. But it doesn’t mean that the code is exactly doing what you asked for. The syntax is correct and you have instant boilerplate code.
But if you don’t think...The solution doesn’t come by itself. Now I hear people think, but did AI crack Kryptos? I have reasons to believe that it did. But their creators aren’t telling you (or it is hiding it from the creators as well) ;). But what proof do I have? Actually none. It has to do with the reasoning I did with AI. So are we sure it did or didn’t? I’m not sure, but I think it did.
It's best to copy paste the examples and use font consolas, it will align correctly normally.