Username: 
Password: 
Restrict session to IP 
Online within 1d

KryptoK4 Lessons

1 2 3
Global Rank: 280
Totalscore: 83109
Posts: 51
Thanks: 41
UpVotes: 36
Registered: 14y 242d


Last Seen: 117d 1h
The User is Offline
RE: KryptoK4 Lessons
Google/translate1Thank You!1Good Post!0Bad Post! link
#KryptosK4 #Lesson18: Recapitulation
If you did your homework, then we see that for the moment we figured out possibilities for at least 21 positions of the decryption alphabet. So if we could do more with the first 2 sections, then we would advance more in our research. It isn’t necessary, but it will be easier because afterwards you’ll be cracking the implementation.

So in lesson 12 I asked to figure out what the problem was, if we always changed (apart from the main change) the positioning of our alphabet. To give everyone the same baseline to start with, you’ll get answers to continue the next lessons. The downside of always changing your position, apart from the main shift, is that it blurs the whole. For example, in the beginning right after easy. If you want to solve what comesnext, then you’ll have to do quite a lot of position changes. And then you no longer follow the main rotor principle. So it’s more interesting to find out how the main rotor works and what comes next without changing the position several times. Because we don’t know yet where we should or should not change our rotor setting. We do know that this doesn’t happen that often, so it’s better to stick with a main shift implementation.

In lesson 14 I asked to find other ways to change letters after the main implementation. In other words, in lesson 13 we changed the original alphabet, but in lesson 14 was asked to change the alphabet after the decryption took place. There are multiple ways, but the easiest is to develop a kind of translation alphabet. For example, if after decryption you get an X, but you want them to be an A. Then this translation alphabet will translate all X’s into A’s. But it doesn’t touch the original A’s, who also would be A’s.

Now we noticed that if you would do this for the Y that it will result in problems. You want to have EASY, but you also want to have WEAK. So here you want the opposite of lesson 14. You don’t want to change the original alphabet, but you don’t want to change the outcome after decryption. You want to change the outcome before you do the decryption. In such a way that the outcome at the end, after decryption, is the exact letter you wanted.

For those who want to advance further, try to figure out, what is potentially possible as the word between easy and weak. We’ll have a look at that in lesson 21: BLIMEY.
Global Rank: 280
Totalscore: 83109
Posts: 51
Thanks: 41
UpVotes: 36
Registered: 14y 242d


Last Seen: 117d 1h
The User is Offline
RE: KryptoK4 Lessons
Google/translate1Thank You!1Good Post!0Bad Post! link
#KryptosK4 #Lesson19: The Enigma Uhr

Jim Sandborn said: ‘For the student of cryptography it's always helpful to gather as much information as possible when zeroing in on and encoding a system.’

If you look at all the previous techniques we used, then in fact we are explaining the enigma process. You could encrypt by using rotor systems. You could change the incoming position, the outgoing position (steckerbrett). A steckerbrett changed your letter BEFORE you entered the rotor. Also after going through the rotors, again you entered the steckerbrett. So the letter now changes AFTER the rotors, before giving the final result. The consequence was that the complexity to crack the code increased. And then we have this peculiar thing. In Enigma you couldn’t encrypt a letter into itself. So in other words, when you tried to encrypt a K, you couldn’t receive a K. But in kryptos this can be the case. BERLIN CLOCK could potentially refer to the enigma uhr. When this was used, you got a code withing a code. A bit like position 9-20. But is this really the case? The enigma uhr had a backwards compatible setting (uhr 0) that basically worked like the steckerbrett function. So when the steckerbrett was A-Z, then A became Z and Z became A. But when the uhr setting was set to eg. 1… Then A could become B, whilst the Z could become an Y. So in the regular enigma process (with or without steckerbrett) you could start from the encrypted message to get back to readable text. It was reciprocal. But the enigma uhr made this impossible. So without the enigma uhr, if you wanted to encrypt an E, with the end result encrypted letter R, you could decrypt the R and back the E. But with the enigma uhr that was no longer the case. You had 10 positions that made it possible to get back to the original position, but also 30 positions where this wasn’t the case. That’s why we first focused so much on the alphabet.

It is important to note that the Uhr ONLY acted on the steckerbretted letters. So we now found a way to get something completely different than expected. It might be an explanation why you see what you see at the moment, like form easy, weak, …

Since we notice that more and more mechanisms from enigma are coming back, you could say it is enigma based. And I know that a lot of you say, that’s impossible, but the main idea is not to copy/paste the enigma machine. But to use an implementation, that uses the same basic principles.

So you already have a lot, but your homework will be, try to figure out when these shifts change, or the rotor positions. If you know that, you might get a bit further again. Sometimes you see rubbish, but if you spot the difference within the rubbish, it helps. If you get stuck...I’ll show you the difference between lesson 21 and 29. And if you thought, oh well keep talking the talk, in lesson 31 I show something completely different. But again interesting. In lesson 20 I noticed I made a mistake and since I threw away the code, I had to redo a part of it. And since I hade to redo it, you’ll get more screenshots.
Global Rank: 280
Totalscore: 83109
Posts: 51
Thanks: 41
UpVotes: 36
Registered: 14y 242d


Last Seen: 117d 1h
The User is Offline
RE: KryptoK4 Lessons
Google/translate1Thank You!1Good Post!0Bad Post! link
#KryptosK4 #Lesson20: The notch
In the meantime I have undone certain things so that we can search for ‘notches’. Here for example I have done a shift change on position 26 and 52 (see attachment 1).

Because the shift changes at position 27, doesn’t actually explain yet whether the alphabet is 26 or 27 characters long. But if you think in notches, that position is definitely a notch. Probably the right rotor. So pure theoretically, if you have an alphabet of 26 characters, you would expect that as of position 53 the next shift appears (recognisable above with CKC). But in fact we would rather start the next shift change on position 55. So we should see it coming back at position 55 and 82. Now the second change is also clear, it’s position 36. We want to have PARTS ARE DECODED and so if we raise the shift on that position we get an X that becomes an A and a Z that becomes a T. For the same reason we want to have a shift on position 9. (because of the east problem, we correct it at position 10 again). So what we see is that we want to change the first time after 26 positions and the second time after 28 positions. So suppose your right rotor has 28 positions, but it started the first time 2 positions further. Than the first position change is at position 27, but the second time only at position 55. Interesting… (see attachment 2)

Let’s do these changes quickly and we now see that CKC became CWA. We also saw how we can get to WEAK by swapping the I and the W. But it seems we need to restart with our alphabet. So an alphabet with 28 characters then? But in lesson 17 you said… What this lesson shows you is that if there are 28 positions, then what is the translation of position 27? So before we can advance, it is crucial to place notches consistently. Let’s recheck… 28+27 = 55. 9 + 27 = 36. Is there another spot where we want to change something? Well, let’s see at the example of position 64 where I also did +1. This is the starting point of BERLIN. So in total I have a version with -1 for the first positions < 27, + 1 as of position 27. A +1 on position 9 and a -1 on position 10. A +1 on position 36. As of position 55 till 83 -11. Again a +1 on position 64 (remember that here we have that same 28 positions thing). And at the end we did a shift of +11. (see attachment 3)

Now I redid this, because I reread my lessons before I publish them. And I noticed that I got a different output on lesson 20, but I had overwritten that piece of code (thinking I wouldn’t need it again). And since I had other shift positions and didn’t knew which alphabet I used, I had to redo this part of the lesson. But the benefit is, that now you’ll see the subtle differences. (see attachment 4)

I hope that you understand the main principle and that you quickly evolve with a certain consistency. PS: I made a calculation mistake, can you find the error? And I also know how I got to the different outcome (it wasn’t that hard if you think about it for a little bit). To proof it, I just rewrote that piece of code again. (see attachment 5)

The difference as of position 81 is another shift.
You will notice that the moment you start playing with an alphabet of 26, 27 and 28 characters… Well if the alphabet is not 26, you’ll get a lot more collisions. Maybe we should think about another form of implementation which gives us more freedom for these collisions. But before we start with that...Why don’t we first try to find a few more cribs.
Kryptos k4 les 20.png
Kryptos k4 les 20-2.png
Kryptos k4 les 20-3.png
Kryptos k4 les 20-4.png
Kryptos k4 les 20-5.png
Global Rank: 280
Totalscore: 83109
Posts: 51
Thanks: 41
UpVotes: 36
Registered: 14y 242d


Last Seen: 117d 1h
The User is Offline
RE: KryptoK4 Lessons
Google/translate0Thank You!0Good Post!0Bad Post! link
#KryptosK4 #Lesson21: Blimey

Hope the ones that had exams, passed their exams. Most of you now have holidays.

We were playing a bit and realised that maybe we have to redo our alfabet in a certain way… But then we also need to figure out what comes after EASY.
So let’s do an educated guess (well it’s not a guess, because there is logic behind it) but for now...All the time you have been doing ROTATIONS. The whole idea is that we restart from the left and if in some way we can develop Form easy rotations weak east north east part(s?) are decoded by cia agent(s?) etc. Then basically we broke the implementation. We are applying 1+2=3 again. If we have the decryption letters and we have the encryption letters, and we have such a long English text. Then we should figure out how we can do it. Now I did something, but that’s the homework. But suppose you didn’t know anything at all, how could you have guessed it? Look back at the previous screenshots. Remember where we figured out how to form CIA. Then DHRPHK in fact, using that rotation and shift implementation, becomes BFPNFI. Now that B should then be an A. The F should then be a G. Now look at RLYLEXRHC. The R we formed by changing the shift, because first it was something that started with a Q. If you continue you can look at both rubbish words and figure out what they have in common. I basically know what I am looking at, but do you know it too?

And here is where the homework comes: try to understand what is going on and essentially what you should have done. I guarantee you (yes I read those I cracked it posts Smile) Google or AI don’t have the logic behind it. So whatever you are looking at, they don’t know what it needs to become. That’s why AI fails. Now if on the other hand, you figured out everything else, with these first 60 characters, you basically cracked it. Because at that moment, you have 24 out of 26 characters (on a single rotor) and you only lack the C and the Y. So the full logic is, if you can crack this, the right side will solve itself.

But the homework is about the basic skill you will need in order to advance. I will come back at this in lesson 29. So you have 8 weeks to gain the skill that is needed. Now if you are stuck...I was raised by this lesson: if you can’t explain it simple, you don’t understand the problem well enough. So whatever you need to figure out, is already explained in the previous 20 lessons. But if you don’t learn the skill, then solving others will be a problem too.
Kryptos k4 les 21.png
Global Rank: 280
Totalscore: 83109
Posts: 51
Thanks: 41
UpVotes: 36
Registered: 14y 242d


Last Seen: 117d 1h
The User is Offline
RE: KryptoK4 Lessons
Google/translate0Thank You!0Good Post!0Bad Post! link
#KryptosK4 #Lesson22: The DIANA cipher
If you look up the DIANA cipher, you will see that it was used during the Cold War and the Vietnam war. Theoretically this again is unbreakable.

DIANA uses trigraphs. The Diana cipher is a polyalphabetic, reciprocal, one-time pad (OTP) system used by U.S. special operations personnel in Vietnam during the 1960s-70s. It employed a 26x26 table with reversed alphabets, allowing users to encrypt and decrypt by matching letters, often featuring a key that matched the message length for maximum security. The conversion uses a fixed lookup table.

So how does this work? If you have a tabula recta, on the left you start with A; B; C; D; … Z. At the top you do the same. Now you can form the tabula recta. Typical again is a shift +1 or shift -1. So DIANA makes use of a one time pad. It’s a randomly generated list of letters.
So suppose we want to encrypt: THIS IS AWESOME.
To encrypt it, we will make use of the KRYPTOS tabula recta to explain. So the Kryptos tabula recta is actually already prepared for this technique.
Suppose we encrypt with this one time pad: NERDS ARE SUPER. To encrypt this message you look up the N column at the left. You find the T at the top. The intersection of both is your encryption letter: in this case the S. Now you go to the E row, you lookup the H column: E. So if we encrypt this we get: SEYUKMLKVFPJU.
So decryption works the other way around. You use the same one time pad and now with the encrypted text. So this method is reciprocal. So now you go to the N row again, then look up the S in that row and you get the T. Go to the E row, look up the E in that column you get the H.

Now I did something special to make it reciprocal, because if you would use the same implementation for the Kryptos tabula recta, it won’t work. In a typical DIANA tabula recta, what happens is that if you encode with a one time pad. Then the alphabet has something typical as well to make it work.
If your alphabet for row G says: G-A = T then in that same row G the T of the alphabet is linked to A. If B is S then S is B. You start to see the system here? It’s like they are steckerbretted. So in theory this is unbreakable, but in reality this has a key weakness.

Let’s do the decryption with the KRYPTOS tabula recta. So in the normal DIANA decryption we would look up the N row, go to the S alphabet letter and we have: O. So we repeat this process for all the letters: OBIWYFYHGZTGE. So as you can see...This won’t work.

But as I showed, there is an easy way to make it work. Typically we now say: that’s a different implementation, so this isn’t DIANA. The weakness in DIANA is that is can basically be reverted into a shift, because again in this implementation, the alphabet stays the same...And if alphabets stay the same, then you will notice in the next lesson, you can go back to it’s grandparent.
1 2 3
overthewire, ysx_hacking, klinsten, quangntenemy, TheHiveMind, Z, balicocat, Ge0, arraez, jcquinterov, hophuocthinh, alfamen2, burhanudinn123, Ben_Dover, stephanduran89, braddie0, fpombal, csuquvq have subscribed to this thread and receive emails on new posts.
1 people are watching the thread at the moment.
This thread has been viewed 1086 times.

PHP Fatal Error(1): Constant E_STRICT is deprecated since 8.4, the error level was removed in www/protected/config.php line 6


Backtrace starts in [unknown file] line ?. GWF_Debug::shutdown_function() core/inc/util/GWF_Debug.php line 109. GWF_Debug::error_handler().... core/inc/util/GWF_Debug.php line 180.