Hi everyone. I want to talk to you in this video about really important encryption standard algorithm called DES, the Data Encryption Standard. It's got like a kind of an interesting story to it. Back in the 1970s, it's a long time ago, I'm sure the vast majority of you are not born then. I was. But anyway, the banks at that time were starting to use cryptography to send things to each other and they thought, what we should do is we should instead of everybody having differing encryption functions, let's have one encryption function, a standard, and just have different keys. That way, we can all inter operate. It made perfect sense as computing was becoming more important in our world. So they put out this thing called the request for proposal and they, being the U.S. government, and it was the National Bureau of Standards NBS. If you're here in the US, you know them as NIST now, the National Institute of Standards and Technology, but at the time, it was called NBS. And I think most of it was driven by the banks. And whatever country you are in, they were going through the same process. Everybody saying we need to find ways to standardize on cryptography. So they put out this request for proposal. How many companies would you guess bid on it? Like think back. You think, wow, different universities, groups. The answer is zero. Nobody bid on it. There wasn't much of a crypto community then. So NBS looked around. They realized they needed somebody to do something. And they found a group at IBM led by a really genius pioneer in crypto named Horst Feistel. And I'd never say that right, but I say it in my American accent. They convinced him that an algorithm he and his team were working on called Lucifer would be perfect for DES. So they first RFP out again and how many people bid? One. That's funny because if you do that now, there's teams from all over the world, the cryptography community is so vibrant now. But in the 70s, not so much. And here's what they came up with, this is what Lucifer and ultimately DES looked like. I've got a little shot here of the different components. It takes 64-bit blocks as input and produces corresponding 64-bit blocks as output. So think of your data stream as a train and each train car is 64-bits, it gets into like the encryption tunnel or something. Maybe that's a bad analogy because tunnel means something in computing, but gets a little encryption box and I take the train and, boom, another train pops out that's encrypted. The next car comes out, boom, I encrypt that. So it's called block encryption, block by block 64-bit. That's the first thing. Second is that there's a 64-bit key but computer networks were such a bummer in the 70s that you had to use one bit of each 8-bit word as parity check on whether the first seven had gotten garbled. So you really only have seven bits per eight, hence, you really have 56 bits of effective key length in DES. So think 64-bit block, 56-bit key that's used to generate sub keys for 16 rounds of guess what? Substitution, transposition XOR. That's why I had to do that stuff and look at those previous videos. Substitution transposition XOR, six rounds of them, 56-bit key, 64-bit block. It's interesting when you think about that, you think, well those three numbers in some sense may be a hint as to whether or not this algorithm is going to be any good. And it turns out that the 16 rounds is not such a big problem, that turns out to be pretty strong. But the other two numbers, some problems. And it's not so much the 64 bits, but rather the fact that it's block and we'll get to in a subsequent video some understanding of how we solve that and think about it. How do you think you would solve block encryption problems? With block chain. So we'll explain block chain and you'll see that it's based on a patent that was written in the 70s. Block chain is not new. It's an old concept but that 56 is a big problem. Turns out that 2 to the 56 possibilities is child's play on a current computer. In the 70s, no problem. You know the computers used to get tired and we just trying to multiply. But now, it's a joke. And it became a joke sort of into the late 70s, it became clear that maybe this wasn't going to be enough. So it turns out that DES has been an incredibly good standard. The concept is actually referred to as like a Feistel structure, that idea of doing successive rounds of substitution transposition where you break up the 64-bit blocks, use the keys. It's really cool algorithm. So that's fine. People have not really had much success "Cryptanalyzing" Or coming up with short cuts to break DES. But the 2 to the 56 turned out to be a gigantic problem and in a subsequent video, we'll spend some time looking at both that and the block weakness. But just to sort of test your understanding of DES. We have a little quiz here. The answer is B. Right. We talked about the fact that networks were kind of noisy. Couldn't use the whole 64 bits and in that word, use 56 bits. Kind of an interesting artifact from computer limitations that we had at the time. So we'll see in a subsequent video and we'll start fixing some of the problems in DES and in particular, looking at a couple of things that in my opinion are some of the most substantive contributions that computer security experts have made to computer science. So look forward to seeing in the next one.