WEBVTT

1
00:00:00.040 --> 00:00:03.439
<v Speaker 1>Hey everyone, and welcome back for another deep dive. Today,

2
00:00:04.639 --> 00:00:08.599
<v Speaker 1>we're going to be cracking the code on cryptography. Ooh,

3
00:00:08.839 --> 00:00:11.720
<v Speaker 1>I like that, you know, and not just like what

4
00:00:11.759 --> 00:00:14.480
<v Speaker 1>it is, but you know, really like why it matters,

5
00:00:14.839 --> 00:00:17.480
<v Speaker 1>especially in our digital world today, and how it all works.

6
00:00:17.800 --> 00:00:19.679
<v Speaker 1>And to help us out with this dive, we're using

7
00:00:19.679 --> 00:00:23.039
<v Speaker 1>a leading textbook on cryptography and believe me, it's a

8
00:00:23.039 --> 00:00:25.839
<v Speaker 1>fascinating read and you just might learn a thing or

9
00:00:25.879 --> 00:00:28.199
<v Speaker 1>two to impress your friends at your next you know,

10
00:00:28.280 --> 00:00:30.800
<v Speaker 1>game night. For example. Did you know that there's this

11
00:00:30.839 --> 00:00:33.320
<v Speaker 1>whole new field called post quantum cryptography.

12
00:00:33.439 --> 00:00:36.280
<v Speaker 2>Oh, it's true, it's true, and it's like exploding right now.

13
00:00:36.280 --> 00:00:39.320
<v Speaker 2>I mean, it's all about preparing for a future where

14
00:00:39.439 --> 00:00:42.880
<v Speaker 2>quantum computers could like crack the codes that we use

15
00:00:42.920 --> 00:00:45.759
<v Speaker 2>for everything like online banking and secure messaging.

16
00:00:45.320 --> 00:00:47.520
<v Speaker 1>Like all that quantum computers. Those things sound like they're

17
00:00:47.520 --> 00:00:49.719
<v Speaker 1>straight out of science fiction. So are they really like

18
00:00:49.799 --> 00:00:52.439
<v Speaker 1>that powerful? And what makes them such a game changer

19
00:00:52.479 --> 00:00:53.200
<v Speaker 1>for cryptography?

20
00:00:53.280 --> 00:00:56.240
<v Speaker 2>Yeah? Will they operate on completely different principles than our

21
00:00:56.280 --> 00:00:59.960
<v Speaker 2>everyday computers. Think of it this way. A traditional computer

22
00:01:00.359 --> 00:01:02.280
<v Speaker 2>is like a coin. It can be heads or tails, right,

23
00:01:02.759 --> 00:01:05.359
<v Speaker 2>But a quantum computer is like a spinning coin. It

24
00:01:05.359 --> 00:01:07.840
<v Speaker 2>can be heads, tails or both at the same time,

25
00:01:08.280 --> 00:01:10.680
<v Speaker 2>and this lets them perform calculations in ways that we

26
00:01:10.760 --> 00:01:12.159
<v Speaker 2>just couldn't imagine before.

27
00:01:12.680 --> 00:01:15.760
<v Speaker 1>So they can solve those super complex math problems that

28
00:01:15.840 --> 00:01:18.159
<v Speaker 1>like protect our data, the ones that would normally take

29
00:01:18.239 --> 00:01:19.519
<v Speaker 1>years for a regular.

30
00:01:19.200 --> 00:01:22.079
<v Speaker 2>Computer to solve exactly. And that's why researchers are like

31
00:01:22.319 --> 00:01:25.879
<v Speaker 2>scrambling to develop new cryptographic methods, ones that can withstand

32
00:01:25.920 --> 00:01:29.040
<v Speaker 2>the power of quantum computers. It's a whole new arms race,

33
00:01:29.280 --> 00:01:29.480
<v Speaker 2>you know.

34
00:01:29.719 --> 00:01:31.879
<v Speaker 1>Wow, it's like we're trying to stay one step ahead

35
00:01:31.879 --> 00:01:34.760
<v Speaker 1>of a technological tidal way. But okay, let's take a

36
00:01:34.760 --> 00:01:38.400
<v Speaker 1>step back for a second. The textbook mentions something called

37
00:01:38.519 --> 00:01:41.239
<v Speaker 1>hybrid cryptography. What is that all about?

38
00:01:41.480 --> 00:01:45.319
<v Speaker 2>So hypercryptography is all about efficiency and security. Imagine you

39
00:01:45.319 --> 00:01:47.640
<v Speaker 2>want to send like a huge file, like a video

40
00:01:47.760 --> 00:01:51.040
<v Speaker 2>to a friend securely. Now, public key encryption, which is

41
00:01:51.040 --> 00:01:53.719
<v Speaker 2>great for small things like sharing keys, that'd be way

42
00:01:53.719 --> 00:01:55.000
<v Speaker 2>too slow for something that big.

43
00:01:55.200 --> 00:01:58.280
<v Speaker 1>Okay, So how does hybrid cryptography solve this problem?

44
00:01:58.760 --> 00:02:01.879
<v Speaker 2>It combines the best of worlds, so it uses fast

45
00:02:01.959 --> 00:02:05.319
<v Speaker 2>secret key encryption to scramble the entire file and then

46
00:02:05.359 --> 00:02:07.840
<v Speaker 2>it uses a public key system to encrypt just the

47
00:02:07.840 --> 00:02:11.479
<v Speaker 2>secret key itself. This encrypted secret key is much smaller

48
00:02:11.680 --> 00:02:13.759
<v Speaker 2>and it can be sent quickly to your friend and

49
00:02:13.800 --> 00:02:16.960
<v Speaker 2>then they use their private key to decrypt the secret key,

50
00:02:17.280 --> 00:02:18.919
<v Speaker 2>which then unlocks the whole file.

51
00:02:19.120 --> 00:02:21.479
<v Speaker 1>It's pretty clever. It's like sending a secret message along

52
00:02:21.520 --> 00:02:23.960
<v Speaker 1>with like a tiny locked box containing the key.

53
00:02:24.520 --> 00:02:27.039
<v Speaker 2>But who are we actually trying to protect this data from?

54
00:02:27.080 --> 00:02:29.000
<v Speaker 2>Are there like different types of bad guys in the

55
00:02:29.039 --> 00:02:29.879
<v Speaker 2>cryptography world?

56
00:02:29.919 --> 00:02:33.319
<v Speaker 1>Oh? Absolutely. We have the passive adversaries. Those are the

57
00:02:33.360 --> 00:02:35.800
<v Speaker 1>ones who are just eavesdropping, like someone snooping on your

58
00:02:35.840 --> 00:02:38.919
<v Speaker 1>Wi Fi, you know. And then there are the active adversaries.

59
00:02:38.919 --> 00:02:41.000
<v Speaker 1>Those are the ones who not only want to read

60
00:02:41.039 --> 00:02:43.439
<v Speaker 1>your data but also potentially change it without you knowe Oh,

61
00:02:43.479 --> 00:02:45.719
<v Speaker 1>that's a bit unsettling to think about. Like what if

62
00:02:45.719 --> 00:02:48.520
<v Speaker 1>someone intercepts a bank transfer and changes the amount or

63
00:02:48.560 --> 00:02:52.120
<v Speaker 1>the recipient. Scary stuff. And the book mentions how much

64
00:02:52.159 --> 00:02:54.800
<v Speaker 1>faster computers have gotten since the seventies. Doesn't that make

65
00:02:54.840 --> 00:02:58.039
<v Speaker 1>cryptography like a moving target, always having to adapt.

66
00:02:58.240 --> 00:03:00.759
<v Speaker 2>Yeah, it's like a constant game of cat and mouse,

67
00:03:00.879 --> 00:03:04.520
<v Speaker 2>you know. As computers become more powerful, those complex mathematical

68
00:03:04.560 --> 00:03:08.199
<v Speaker 2>problems that protect our data. While they become slightly easier

69
00:03:08.240 --> 00:03:12.039
<v Speaker 2>to solve, Cryptographers have to constantly develop new algorithms and

70
00:03:12.159 --> 00:03:14.319
<v Speaker 2>larger key sizes to stay ahead of the games.

71
00:03:14.439 --> 00:03:16.759
<v Speaker 1>So what are some of the core mathematical concepts that

72
00:03:16.840 --> 00:03:20.240
<v Speaker 1>like make cryptography work. The textbook mentioned something called the

73
00:03:20.319 --> 00:03:23.560
<v Speaker 1>factoring problem and the discrete logarithm problem.

74
00:03:23.719 --> 00:03:26.479
<v Speaker 2>Yeah, these problems are like the unsolvable riddles at the

75
00:03:26.479 --> 00:03:29.360
<v Speaker 2>heart of many cryptosystems. So the factoring problem, as you

76
00:03:29.400 --> 00:03:33.520
<v Speaker 2>might guess, involves finding the prime numbers that multiply together

77
00:03:33.680 --> 00:03:36.400
<v Speaker 2>to equal a given number. Sounds easy, right, but when

78
00:03:36.439 --> 00:03:40.400
<v Speaker 2>you're dealing with massive numbers, it becomes incredibly difficult, even

79
00:03:40.479 --> 00:03:42.159
<v Speaker 2>for super powerful computers.

80
00:03:42.479 --> 00:03:45.120
<v Speaker 1>And the discrete logarithm problem, what's that one all about?

81
00:03:45.400 --> 00:03:47.960
<v Speaker 2>That one's a tough one to crack. Two. It involves

82
00:03:48.000 --> 00:03:51.439
<v Speaker 2>finding an exponent that, when a specific number is raised

83
00:03:51.520 --> 00:03:55.520
<v Speaker 2>to that power, results in another specific number. Again, it

84
00:03:55.639 --> 00:03:59.120
<v Speaker 2>sounds simple, but in practice it can be incredibly challenging.

85
00:03:59.639 --> 00:04:02.360
<v Speaker 1>Okay, but I've seen enough movies to know that sometimes

86
00:04:02.400 --> 00:04:05.719
<v Speaker 1>it's not about like brute forcing the math. It's about

87
00:04:06.240 --> 00:04:10.400
<v Speaker 1>finding clever ways to exploit weaknesses in the system. What

88
00:04:10.479 --> 00:04:11.879
<v Speaker 1>about those side channel attacks.

89
00:04:12.439 --> 00:04:16.240
<v Speaker 2>Uh, you're thinking like a true codebreaker. So side channel

90
00:04:16.240 --> 00:04:18.680
<v Speaker 2>attacks they don't target the math directly. They look for

91
00:04:18.839 --> 00:04:23.199
<v Speaker 2>unintentional information leaks from the way a cryptosystem is actually implemented,

92
00:04:23.600 --> 00:04:26.319
<v Speaker 2>for example, by measuring the time it takes a device

93
00:04:26.399 --> 00:04:29.439
<v Speaker 2>to perform a cryptographic operation, or even the power it

94
00:04:29.480 --> 00:04:30.759
<v Speaker 2>consumes during the process.

95
00:04:30.839 --> 00:04:34.040
<v Speaker 1>So even if the algorithm is like theoretically unbreakable, the

96
00:04:34.040 --> 00:04:37.160
<v Speaker 1>way it's implemented in the real world can create vulnerabilities.

97
00:04:37.199 --> 00:04:39.600
<v Speaker 2>Precisely, it's like having a super strong lock on your

98
00:04:39.639 --> 00:04:42.639
<v Speaker 2>door but leaving a window open. Attackers are always looking

99
00:04:42.639 --> 00:04:43.519
<v Speaker 2>for those weaknesses.

100
00:04:43.639 --> 00:04:46.240
<v Speaker 1>So let's talk about some like real world examples of

101
00:04:46.240 --> 00:04:48.680
<v Speaker 1>these ciphers. What's it actually like to use them? The

102
00:04:48.720 --> 00:04:52.519
<v Speaker 1>textbook mentions the Hill cipher, which uses matrices for encryption.

103
00:04:52.759 --> 00:04:54.800
<v Speaker 2>Yeah, the Hill cipher is a classic example of how

104
00:04:54.800 --> 00:04:58.959
<v Speaker 2>seemingly simple mathematical concepts can be used for cryptography. So

105
00:04:59.000 --> 00:05:02.439
<v Speaker 2>you're basically converting the message into numbers and then using

106
00:05:02.480 --> 00:05:07.000
<v Speaker 2>matrix multiplication to transform those numbers into ciphertext matrices.

107
00:05:07.480 --> 00:05:10.399
<v Speaker 1>Oh man, I'm having flashbacks to high school math class.

108
00:05:11.040 --> 00:05:12.319
<v Speaker 1>But it's kind of cool to see how it can

109
00:05:12.360 --> 00:05:14.120
<v Speaker 1>be applied to something like cryptography.

110
00:05:14.319 --> 00:05:17.439
<v Speaker 2>It is. It's a great example of how cryptography draws

111
00:05:17.439 --> 00:05:20.519
<v Speaker 2>from different areas of mathematics. And while the hell cipher

112
00:05:20.600 --> 00:05:24.600
<v Speaker 2>itself isn't widely used today, it demonstrates the core principles

113
00:05:24.680 --> 00:05:29.480
<v Speaker 2>of substitution and permutation that underpin many classical ciphers.

114
00:05:29.480 --> 00:05:32.560
<v Speaker 1>So we're talking about like rearranging and substituting elements of

115
00:05:32.560 --> 00:05:35.439
<v Speaker 1>the message to make it unreadable without the key. But

116
00:05:35.519 --> 00:05:38.000
<v Speaker 1>what about more modern encryption methods. I've heard of the

117
00:05:38.040 --> 00:05:41.399
<v Speaker 1>Data Encryption Standard or DIES. What's the story with that one?

118
00:05:41.560 --> 00:05:43.800
<v Speaker 2>DIES was a big deal, it really was. It was

119
00:05:43.839 --> 00:05:47.000
<v Speaker 2>the gold standard for encryption for decades. It was adopted

120
00:05:47.040 --> 00:05:49.360
<v Speaker 2>by the US government and used worldwide. It was a

121
00:05:49.399 --> 00:05:52.720
<v Speaker 2>block cipher, meaning it encrypted data in fixed sized blocks,

122
00:05:53.000 --> 00:05:56.000
<v Speaker 2>and it relied on a series of complex permutations and

123
00:05:56.120 --> 00:05:58.079
<v Speaker 2>substitutions to scramble the data.

124
00:05:58.399 --> 00:05:59.319
<v Speaker 1>Sounds pretty secure.

125
00:05:59.399 --> 00:06:03.240
<v Speaker 2>So what happened to des Well, Like all things in technology,

126
00:06:03.279 --> 00:06:06.600
<v Speaker 2>it eventually became outdated. You see, its key size, which

127
00:06:06.639 --> 00:06:09.839
<v Speaker 2>was considered secure at the time, became vulnerable to brute

128
00:06:09.839 --> 00:06:13.600
<v Speaker 2>force attacks as computing power increased. It's a reminder that

129
00:06:13.600 --> 00:06:18.040
<v Speaker 2>cryptography is constantly evolving. What's considered secure today might be

130
00:06:18.120 --> 00:06:19.199
<v Speaker 2>vulnerable tomorrow.

131
00:06:19.800 --> 00:06:23.240
<v Speaker 1>Makes sense. So what replaced DES? The textbook mentions the

132
00:06:23.639 --> 00:06:25.600
<v Speaker 1>Advanced Encryption Standard or AES.

133
00:06:25.720 --> 00:06:29.720
<v Speaker 2>Ah. Yes, so AES emerged from a worldwide competition. The

134
00:06:29.759 --> 00:06:32.639
<v Speaker 2>best minds in cryptography battled it out to create a new,

135
00:06:32.879 --> 00:06:37.399
<v Speaker 2>more secure encryption standard. It's a more sophisticated block cipher

136
00:06:37.439 --> 00:06:40.040
<v Speaker 2>than DES, with a larger key size and a more

137
00:06:40.040 --> 00:06:40.920
<v Speaker 2>complex structure.

138
00:06:41.000 --> 00:06:44.079
<v Speaker 1>A global cryptography showdown. That sounds intense. I bet there

139
00:06:44.160 --> 00:06:46.120
<v Speaker 1>was a lot of coffee consumed during that competition.

140
00:06:46.240 --> 00:06:49.040
<v Speaker 2>I'm sure there was. But the result was a robust

141
00:06:49.079 --> 00:06:52.560
<v Speaker 2>and widely used encryption standard that's still considered secure today.

142
00:06:52.920 --> 00:06:55.879
<v Speaker 2>AES is used in everything from securing Wi Fi networks

143
00:06:55.879 --> 00:06:58.959
<v Speaker 2>to protecting sensitive government data. It's a testament to the

144
00:06:59.000 --> 00:07:02.040
<v Speaker 2>power of collaboration and innovation in the field of cryptography.

145
00:07:02.439 --> 00:07:05.519
<v Speaker 1>Okay, so we've covered how to encrypt data in blocks,

146
00:07:06.000 --> 00:07:08.800
<v Speaker 1>but what about messages that are transmitted over time, like

147
00:07:09.040 --> 00:07:12.720
<v Speaker 1>streaming video or audio. How do you encrypt a continuous

148
00:07:12.759 --> 00:07:16.319
<v Speaker 1>flow of data? The textbook mentioned stream ciphers. What are

149
00:07:16.360 --> 00:07:17.000
<v Speaker 1>those all about?

150
00:07:17.160 --> 00:07:20.279
<v Speaker 2>So stream ciphers are designed to encrypt data bit by

151
00:07:20.319 --> 00:07:22.519
<v Speaker 2>bit as it's being transmitted. Think of it like a

152
00:07:22.560 --> 00:07:25.839
<v Speaker 2>constantly flowing stream of random bits that gets mixed with

153
00:07:25.920 --> 00:07:29.480
<v Speaker 2>your message to scramble it. One common method is called CFB.

154
00:07:29.959 --> 00:07:32.879
<v Speaker 2>It uses a chain reaction of encryption, where each bit

155
00:07:32.920 --> 00:07:36.399
<v Speaker 2>of ciphertext influences the encryption of the next bit. It's

156
00:07:36.439 --> 00:07:39.399
<v Speaker 2>like a constantly evolving code. It makes it very difficult

157
00:07:39.439 --> 00:07:40.600
<v Speaker 2>for attackers to break in.

158
00:07:40.759 --> 00:07:43.639
<v Speaker 1>So it's like adding a constantly shifting layer of camouflage

159
00:07:43.680 --> 00:07:45.800
<v Speaker 1>to the data as it's being sent exactly.

160
00:07:45.839 --> 00:07:48.439
<v Speaker 2>And this makes string ciphers particularly well suited for real

161
00:07:48.480 --> 00:07:51.720
<v Speaker 2>time applications like video conferencing, where you can't afford to

162
00:07:51.759 --> 00:07:53.959
<v Speaker 2>wait for an entire block of data to be encrypted

163
00:07:54.120 --> 00:07:55.000
<v Speaker 2>before sending it.

164
00:07:55.199 --> 00:07:57.439
<v Speaker 1>Okay, that makes sense, But in the textbook I came

165
00:07:57.480 --> 00:08:01.759
<v Speaker 1>across something called a linear feedback shift register or LFSR,

166
00:08:02.240 --> 00:08:05.319
<v Speaker 1>and it seems surprisingly simple for something used in cryptography.

167
00:08:05.920 --> 00:08:09.439
<v Speaker 1>How does something that basic contribute to something as complex

168
00:08:09.480 --> 00:08:10.120
<v Speaker 1>as encryption.

169
00:08:11.480 --> 00:08:14.519
<v Speaker 2>LFSRs are fascinating, they really are. They're like these little

170
00:08:14.519 --> 00:08:17.639
<v Speaker 2>circuits that shift bits around based on a specific pattern,

171
00:08:17.920 --> 00:08:21.439
<v Speaker 2>and while they look simple, they're surprisingly good at generating

172
00:08:21.480 --> 00:08:25.120
<v Speaker 2>those random looking key streams that are used in stream ciphers,

173
00:08:25.319 --> 00:08:25.800
<v Speaker 2>So it's.

174
00:08:25.680 --> 00:08:28.839
<v Speaker 1>Like a predictable machine generating unpredictable output.

175
00:08:28.959 --> 00:08:31.040
<v Speaker 2>That's a great way to put it. Of course, attackers

176
00:08:31.120 --> 00:08:34.279
<v Speaker 2>are aware of LFSRs and try to analyze their output

177
00:08:34.320 --> 00:08:36.799
<v Speaker 2>to like fitture at the initial state and predict the keystream.

178
00:08:36.879 --> 00:08:39.799
<v Speaker 2>So cryptographers have to get creative, you know. They use

179
00:08:39.840 --> 00:08:42.919
<v Speaker 2>clever techniques to mask the output of LFSRs and make

180
00:08:42.960 --> 00:08:43.679
<v Speaker 2>them more secure.

181
00:08:43.759 --> 00:08:46.159
<v Speaker 1>It's that cat and mouse game again. It seems like

182
00:08:46.200 --> 00:08:48.240
<v Speaker 1>there's always someone trying to find a way to break

183
00:08:48.279 --> 00:08:51.519
<v Speaker 1>the code. Speaking of which, the textbook mentions some pretty

184
00:08:51.519 --> 00:08:57.279
<v Speaker 1>intimidating sounding techniques like linear and differential cryptanalysis. What makes

185
00:08:57.320 --> 00:08:58.080
<v Speaker 1>these so effective?

186
00:08:58.360 --> 00:09:00.840
<v Speaker 2>Those are powerful techniques, no doubt about it. They're like

187
00:09:00.879 --> 00:09:04.200
<v Speaker 2>statistical detectives looking for subtle patterns and biases in the

188
00:09:04.240 --> 00:09:07.240
<v Speaker 2>way ciphers operate. Imagine you have a large set of

189
00:09:07.320 --> 00:09:11.960
<v Speaker 2>plaintext and ciphertext pairs. These attacks analyze those pairs to

190
00:09:12.000 --> 00:09:15.840
<v Speaker 2>try and find relationships between the input and output, hoping

191
00:09:15.840 --> 00:09:18.080
<v Speaker 2>to glean information about the secret key.

192
00:09:18.320 --> 00:09:20.159
<v Speaker 1>So it's like looking for those tiny cracks in the

193
00:09:20.240 --> 00:09:21.559
<v Speaker 1>encryption armor exactly.

194
00:09:21.600 --> 00:09:24.759
<v Speaker 2>It's all about finding those subtle weaknesses that might not

195
00:09:24.799 --> 00:09:27.000
<v Speaker 2>be a parent at first glance, and this is where

196
00:09:27.000 --> 00:09:29.639
<v Speaker 2>the concept of confusion and diffusion comes into play.

197
00:09:29.759 --> 00:09:32.399
<v Speaker 1>Confusion and diffusion those sound intriguing.

198
00:09:32.639 --> 00:09:35.919
<v Speaker 2>They are. These principles are fundamental to good cipher design.

199
00:09:36.240 --> 00:09:39.320
<v Speaker 2>Confusion is all about making the relationship between the plaintext,

200
00:09:39.440 --> 00:09:43.600
<v Speaker 2>the ciphertext, and the key as complex as possible. It's

201
00:09:43.600 --> 00:09:46.440
<v Speaker 2>like scrambling the message so thoroughly that even if an

202
00:09:46.480 --> 00:09:49.919
<v Speaker 2>attacker has some information about the ciphertext, they can't figure

203
00:09:49.919 --> 00:09:53.039
<v Speaker 2>out anything meaningful about the original message or the key.

204
00:09:53.360 --> 00:09:56.200
<v Speaker 1>So it's like creating a tangled web of relationships to

205
00:09:56.240 --> 00:09:59.679
<v Speaker 1>make it hard for attackers to unravel the secrets exactly.

206
00:10:00.039 --> 00:10:02.879
<v Speaker 2>Diffusion, on the other hand, aims to spread the influence

207
00:10:02.919 --> 00:10:06.159
<v Speaker 2>of each bit of the plaintext over many bits of

208
00:10:06.159 --> 00:10:09.759
<v Speaker 2>the ciphertext. This means that even a small change to

209
00:10:09.799 --> 00:10:12.879
<v Speaker 2>the original message will result in a big change to

210
00:10:12.919 --> 00:10:16.799
<v Speaker 2>the encrypted message, making it hard for attackers to track patterns.

211
00:10:17.039 --> 00:10:20.799
<v Speaker 1>It's like those butterfly effects scenarios where a small change

212
00:10:20.840 --> 00:10:23.120
<v Speaker 1>can have big, unpredictable consequences.

213
00:10:23.240 --> 00:10:26.240
<v Speaker 2>You got it. Confusion and diffusion. They work together to

214
00:10:26.320 --> 00:10:30.559
<v Speaker 2>create cryptosystems that are much more resistant to those statistical attacks.

215
00:10:30.600 --> 00:10:32.720
<v Speaker 2>We were talking about. It's like building a fortress with

216
00:10:32.799 --> 00:10:34.200
<v Speaker 2>multiple layers of defense.

217
00:10:34.360 --> 00:10:36.559
<v Speaker 1>That's impressive. But this is a lot to take in.

218
00:10:36.639 --> 00:10:39.240
<v Speaker 1>Are there any like key takeaways about cryptography that you

219
00:10:39.279 --> 00:10:42.840
<v Speaker 1>think everyone should understand, even if they're not aspiring code breakers.

220
00:10:43.000 --> 00:10:47.399
<v Speaker 2>Absolutely. One fundamental principle is Kirkhoff's principle, which states that

221
00:10:47.440 --> 00:10:50.159
<v Speaker 2>the security of a cryptosystem should depend only on the

222
00:10:50.200 --> 00:10:52.879
<v Speaker 2>secrecy of the key, not on the secrecy of the

223
00:10:52.879 --> 00:10:56.720
<v Speaker 2>algorithm itself. In fact, making the algorithm public allows for

224
00:10:56.759 --> 00:11:00.600
<v Speaker 2>more scrutiny from the cryptography community, which actually improved security.

225
00:11:00.720 --> 00:11:03.399
<v Speaker 1>So it's like open source software. The more eyes on

226
00:11:03.440 --> 00:11:06.120
<v Speaker 1>the code, the more likely someone is to spot and

227
00:11:06.200 --> 00:11:07.799
<v Speaker 1>fix potential vulnerabilities.

228
00:11:07.840 --> 00:11:11.039
<v Speaker 2>Exactly. It's a key concept in modern cryptography. And another

229
00:11:11.080 --> 00:11:16.240
<v Speaker 2>important takeaway is that cryptography is constantly evolving. As technology advances,

230
00:11:16.399 --> 00:11:19.039
<v Speaker 2>new threats emerge and new solutions are needed.

231
00:11:19.240 --> 00:11:21.080
<v Speaker 1>It's like that arms race we were talking about earlier.

232
00:11:21.159 --> 00:11:22.960
<v Speaker 1>So what's next on our cryptography journey.

233
00:11:23.240 --> 00:11:26.960
<v Speaker 2>Let's move on to another critical element of cryptography, hash functions.

234
00:11:27.200 --> 00:11:31.159
<v Speaker 2>They're essential for ensuring data integrity and are used in

235
00:11:31.200 --> 00:11:35.159
<v Speaker 2>a wide range of applications, from password storage to digital signatures.

236
00:11:35.200 --> 00:11:37.639
<v Speaker 1>Okay, let's hash it out. So hash functions, they sound

237
00:11:37.720 --> 00:11:40.360
<v Speaker 1>kind of like a mathematical blender. What exactly are we

238
00:11:40.399 --> 00:11:40.960
<v Speaker 1>blending here?

239
00:11:41.080 --> 00:11:43.440
<v Speaker 2>Think of a hash function as a special kind of

240
00:11:43.480 --> 00:11:46.919
<v Speaker 2>mathematical function that takes any input, no matter how large,

241
00:11:47.159 --> 00:11:50.600
<v Speaker 2>and produces a unique, fixed size output. We call this

242
00:11:50.639 --> 00:11:52.759
<v Speaker 2>a hash value. It's like a digital fingerprint for a

243
00:11:52.759 --> 00:11:53.360
<v Speaker 2>piece of data.

244
00:11:53.440 --> 00:11:56.080
<v Speaker 1>Okay, so if we change even like one tiny bit

245
00:11:56.080 --> 00:11:58.919
<v Speaker 1>of the input data, we get a completely different fingerprint.

246
00:11:58.720 --> 00:12:01.840
<v Speaker 2>Exactly, And that's what makes them so valuable for ensuring

247
00:12:02.000 --> 00:12:06.279
<v Speaker 2>data integrity. Let's say you download a software update. You

248
00:12:06.320 --> 00:12:09.360
<v Speaker 2>can use a hash function to generate a hash value

249
00:12:09.440 --> 00:12:12.279
<v Speaker 2>for that downloaded file and compare it to the hash

250
00:12:12.360 --> 00:12:16.000
<v Speaker 2>value provided by the software developer. If they match, you

251
00:12:16.039 --> 00:12:18.440
<v Speaker 2>can be confident that the file hasn't been tampered with.

252
00:12:18.559 --> 00:12:22.080
<v Speaker 1>That's reassuring them more worrying about downloading corrupted files. But

253
00:12:22.440 --> 00:12:25.679
<v Speaker 1>how does this digital fingerprinting actually work? What's going on

254
00:12:25.759 --> 00:12:27.240
<v Speaker 1>inside that mathematical blender.

255
00:12:27.600 --> 00:12:29.960
<v Speaker 2>There are different ways to construct hash functions, but they

256
00:12:30.000 --> 00:12:33.600
<v Speaker 2>generally involve a series of mathematical operations that mix and

257
00:12:33.679 --> 00:12:37.080
<v Speaker 2>scramble the input data in a very specific way. They're

258
00:12:37.120 --> 00:12:40.559
<v Speaker 2>designed to be one way functions, meaning it's incredibly difficult

259
00:12:40.600 --> 00:12:42.799
<v Speaker 2>to reverse the process and get the original data back

260
00:12:42.799 --> 00:12:44.679
<v Speaker 2>from the hash value, So you can't put.

261
00:12:44.480 --> 00:12:45.720
<v Speaker 1>The blended ingredients back in.

262
00:12:45.639 --> 00:12:48.399
<v Speaker 2>Their original form precisely. And that's what makes them so

263
00:12:48.519 --> 00:12:52.519
<v Speaker 2>useful for things like password storage. Websites don't actually store

264
00:12:52.559 --> 00:12:55.360
<v Speaker 2>your password, they store its hash value. When you log in,

265
00:12:55.639 --> 00:12:57.679
<v Speaker 2>they hash the password you enter it and compare it

266
00:12:57.679 --> 00:12:59.440
<v Speaker 2>to the stored hash If they match.

267
00:12:59.240 --> 00:13:02.559
<v Speaker 1>Your in that's really clever. So even if hackers got

268
00:13:02.559 --> 00:13:04.840
<v Speaker 1>their hands on the database of hash values, they can't

269
00:13:04.879 --> 00:13:06.559
<v Speaker 1>get the actual passwords.

270
00:13:06.039 --> 00:13:08.799
<v Speaker 2>From it exactly. That's assuming the hash function is strong

271
00:13:08.799 --> 00:13:12.159
<v Speaker 2>and hasn't been compromised. There are three key properties that

272
00:13:12.200 --> 00:13:16.320
<v Speaker 2>make a hash function secure. Collision resistance, pre image resistance,

273
00:13:16.679 --> 00:13:18.240
<v Speaker 2>and second pre image resistance.

274
00:13:18.360 --> 00:13:21.679
<v Speaker 1>Okay, those sound like some serious security measures, breakdos down

275
00:13:21.679 --> 00:13:21.879
<v Speaker 1>for me.

276
00:13:22.039 --> 00:13:25.519
<v Speaker 2>Sure, collision resistance means it's incredibly difficult to find two

277
00:13:25.600 --> 00:13:30.000
<v Speaker 2>different inputs that produce the same hash value. Pre image

278
00:13:30.000 --> 00:13:33.159
<v Speaker 2>resistance means that given a hash value, it's practically impossible

279
00:13:33.159 --> 00:13:35.919
<v Speaker 2>to find the original input that produced it, And second,

280
00:13:36.000 --> 00:13:38.720
<v Speaker 2>pre image resistance means that given one input and its

281
00:13:38.720 --> 00:13:41.919
<v Speaker 2>hash value, it's very hard to find a different input

282
00:13:41.960 --> 00:13:43.159
<v Speaker 2>that produces the same hash.

283
00:13:43.320 --> 00:13:45.480
<v Speaker 1>So it's like trying to find a needle in a haystack,

284
00:13:46.039 --> 00:13:49.120
<v Speaker 1>but the haystack is filled with digital needles and you're blindfolded.

285
00:13:49.240 --> 00:13:51.840
<v Speaker 2>That's a pretty accurate analogy. Now, to achieve these properties,

286
00:13:51.879 --> 00:13:55.120
<v Speaker 2>there are different ways to design hash functions. Iterated hash

287
00:13:55.159 --> 00:13:58.639
<v Speaker 2>functions like those used in SAHA one and SOHA two

288
00:13:58.720 --> 00:14:02.279
<v Speaker 2>process data and blocks repeatedly applying a compression function to

289
00:14:02.360 --> 00:14:04.480
<v Speaker 2>squeeze the data into a fixed size hash.

290
00:14:04.679 --> 00:14:06.639
<v Speaker 1>So it's like putting the data through a series of

291
00:14:06.639 --> 00:14:11.720
<v Speaker 1>mathematical ringers, squeezing out all the excess until you're left

292
00:14:11.720 --> 00:14:13.080
<v Speaker 1>with a concentrated essence.

293
00:14:13.320 --> 00:14:16.000
<v Speaker 2>I like that analogy, and SAHA one and SAHA two

294
00:14:16.080 --> 00:14:18.960
<v Speaker 2>those are like the industry standard hash functions, right, yeah,

295
00:14:19.320 --> 00:14:21.759
<v Speaker 2>they were for a long time. Unfortunately, SAHA one has

296
00:14:21.799 --> 00:14:25.120
<v Speaker 2>been shown to have vulnerabilities, meaning collisions have been found,

297
00:14:25.279 --> 00:14:28.080
<v Speaker 2>but SAHA two is still widely used and considered secure,

298
00:14:28.080 --> 00:14:30.440
<v Speaker 2>at least for now. And then we have SAHA three,

299
00:14:30.480 --> 00:14:33.559
<v Speaker 2>which uses a fascinating design called the sponge construction.

300
00:14:33.919 --> 00:14:36.240
<v Speaker 1>A sponge construction that sounds absorbent.

301
00:14:36.600 --> 00:14:39.519
<v Speaker 2>It is imagine a sponge that absorbs data and then

302
00:14:39.559 --> 00:14:42.639
<v Speaker 2>squeezes out the hash value. Data is absorbed into the sponge,

303
00:14:42.720 --> 00:14:45.039
<v Speaker 2>changing its internal state, and then the hash value is

304
00:14:45.080 --> 00:14:47.960
<v Speaker 2>squeezed out. It's a more flexible and efficient way to

305
00:14:47.960 --> 00:14:51.039
<v Speaker 2>build hash functions, and it's believed to be more resistant

306
00:14:51.039 --> 00:14:53.840
<v Speaker 2>to attacks, even from those quantum computers we discussed earlier.

307
00:14:54.000 --> 00:14:56.559
<v Speaker 1>So it's like a super secure digital sponge that can

308
00:14:56.600 --> 00:14:57.799
<v Speaker 1>handle anything you throw at it.

309
00:14:58.120 --> 00:15:00.399
<v Speaker 2>You got it. And now. Closely related to hash functions

310
00:15:00.440 --> 00:15:03.960
<v Speaker 2>are message authentication codes or pics. They provide a way

311
00:15:03.960 --> 00:15:07.519
<v Speaker 2>to verify both the integrity and the authenticity of a message, so.

312
00:15:07.440 --> 00:15:09.679
<v Speaker 1>It's not just about ensuring that the message hasn't been

313
00:15:09.679 --> 00:15:13.679
<v Speaker 1>tampered with, but also about verifying who it came from exactly.

314
00:15:14.159 --> 00:15:16.559
<v Speaker 2>Imagine you receive an email that appears to be from

315
00:15:16.600 --> 00:15:20.080
<v Speaker 2>your bank, but you're suspicious. A MAC can be used

316
00:15:20.120 --> 00:15:23.039
<v Speaker 2>to confirm that the message really did originate from your

317
00:15:23.080 --> 00:15:25.480
<v Speaker 2>bank and hasn't been modified in transit.

318
00:15:25.679 --> 00:15:28.600
<v Speaker 1>That's a relief, no more falling for phishing scams. So

319
00:15:28.600 --> 00:15:30.200
<v Speaker 1>how do empuxis actually work.

320
00:15:30.559 --> 00:15:33.799
<v Speaker 2>They rely on a shared secret key between the sender

321
00:15:33.840 --> 00:15:36.679
<v Speaker 2>and the receiver and often use hash functions as a

322
00:15:36.720 --> 00:15:40.039
<v Speaker 2>core component. The sender uses the secret key and a

323
00:15:40.039 --> 00:15:43.080
<v Speaker 2>hash function to generate a MACTAG which is attached to

324
00:15:43.120 --> 00:15:46.000
<v Speaker 2>the message. The receiver, who also knows the secret key,

325
00:15:46.279 --> 00:15:48.799
<v Speaker 2>can then use the same hash function to verify that

326
00:15:48.879 --> 00:15:51.320
<v Speaker 2>the tag is valid, meaning the message is authentic and

327
00:15:51.360 --> 00:15:52.200
<v Speaker 2>hasn't been altered.

328
00:15:52.320 --> 00:15:55.000
<v Speaker 1>It's like a secret handshake that proves both the identity

329
00:15:55.000 --> 00:15:58.759
<v Speaker 1>of the sender and the integrity of the message. Pretty clever. Well,

330
00:15:58.759 --> 00:16:01.639
<v Speaker 1>with all this talk about quantum computers potentially breaking our

331
00:16:01.639 --> 00:16:05.559
<v Speaker 1>current codes, or even these advanced hash functions and ms

332
00:16:05.799 --> 00:16:08.080
<v Speaker 1>save from their code cracking abilities.

333
00:16:07.799 --> 00:16:10.480
<v Speaker 2>That's a question that keeps cryptographers up at night. While

334
00:16:10.519 --> 00:16:13.720
<v Speaker 2>some hash functions are believed to be quantum resistant, others

335
00:16:13.759 --> 00:16:17.080
<v Speaker 2>are not. That's why the research into post quantum cryptography

336
00:16:17.120 --> 00:16:19.919
<v Speaker 2>is so important. We need to develop new algorithms that

337
00:16:19.960 --> 00:16:22.440
<v Speaker 2>can withstand the power of these future computers.

338
00:16:22.759 --> 00:16:25.919
<v Speaker 1>So it's like cryptography is preparing for a quantum leap forward.

339
00:16:26.240 --> 00:16:28.639
<v Speaker 2>Exactly. We need to be ready for a future where

340
00:16:28.720 --> 00:16:31.559
<v Speaker 2>quantum computers are a reality, and that's what makes this

341
00:16:31.720 --> 00:16:34.840
<v Speaker 2>field so exciting. It's a constant race to stay ahead

342
00:16:34.840 --> 00:16:37.480
<v Speaker 2>of the curve to develop new and innovative solutions to

343
00:16:37.559 --> 00:16:41.360
<v Speaker 2>protect our digital lives. Speaking of staying ahead of the curve.

344
00:16:41.879 --> 00:16:45.320
<v Speaker 2>The textbook delves into the RSA cryptosystem, which is a

345
00:16:45.360 --> 00:16:48.679
<v Speaker 2>classic example of public key cryptography. It's been around for

346
00:16:48.759 --> 00:16:51.360
<v Speaker 2>decades and is widely used. What makes it so popular,

347
00:16:51.840 --> 00:16:54.799
<v Speaker 2>RSA is a legend in the cryptography world. Its security

348
00:16:54.919 --> 00:16:57.440
<v Speaker 2>is based on the difficulty of factoring large numbers, a

349
00:16:57.480 --> 00:17:00.240
<v Speaker 2>problem that's been a challenge for mathematicians for central.

350
00:17:00.519 --> 00:17:03.080
<v Speaker 1>Factoring that takes me back to high school math class.

351
00:17:03.639 --> 00:17:06.519
<v Speaker 1>It's basically finding the prime numbers that multiply together to

352
00:17:06.519 --> 00:17:08.200
<v Speaker 1>get a specific number, right, you've got.

353
00:17:08.279 --> 00:17:11.559
<v Speaker 2>RSA uses two large prime numbers to generate the public

354
00:17:11.599 --> 00:17:13.920
<v Speaker 2>and private keys. The public key can be given to

355
00:17:13.960 --> 00:17:17.240
<v Speaker 2>anyone and used to encrypt messages, but only the person

356
00:17:17.279 --> 00:17:20.359
<v Speaker 2>with the private key can decrypt them. The security of

357
00:17:20.359 --> 00:17:22.960
<v Speaker 2>the system relies on the fact that it's computationally and

358
00:17:23.000 --> 00:17:25.960
<v Speaker 2>feasible to factor the product of those two large prime

359
00:17:26.039 --> 00:17:28.039
<v Speaker 2>numbers and recover the private key.

360
00:17:28.240 --> 00:17:31.400
<v Speaker 1>So even if you know the product, it's practically impossible

361
00:17:31.440 --> 00:17:33.240
<v Speaker 1>to find those original prime numbers exactly.

362
00:17:33.240 --> 00:17:35.559
<v Speaker 2>It's like trying to solve a giant jigsaw puzzle where

363
00:17:35.599 --> 00:17:37.839
<v Speaker 2>the pieces are all prime numbers. And to make things

364
00:17:37.880 --> 00:17:41.680
<v Speaker 2>even more secure, there's a clever trick called primality testing.

365
00:17:41.880 --> 00:17:43.559
<v Speaker 1>Primality testing, what's that all about.

366
00:17:43.839 --> 00:17:46.480
<v Speaker 2>It's a way to efficiently determine if a large random

367
00:17:46.559 --> 00:17:51.079
<v Speaker 2>number is likely prime. Remember RSA needs those large prime

368
00:17:51.160 --> 00:17:54.519
<v Speaker 2>numbers as building blocks. The Miller Raven test is a

369
00:17:54.519 --> 00:17:57.680
<v Speaker 2>popular method for primality testing. It's like a probabilistic filter

370
00:17:57.799 --> 00:18:00.599
<v Speaker 2>that can quickly weed out numbers that are deaf not prime,

371
00:18:00.640 --> 00:18:01.839
<v Speaker 2>saving a lot of time and effort.

372
00:18:02.000 --> 00:18:05.039
<v Speaker 1>So it's like a quality control check for those prime ingredients.

373
00:18:05.440 --> 00:18:07.559
<v Speaker 2>Exactly. You want to be sure you're using the best

374
00:18:07.559 --> 00:18:11.000
<v Speaker 2>possible primes for your RSA cryptosystem. But of course, as

375
00:18:11.000 --> 00:18:14.319
<v Speaker 2>with any cryptographic system, there are potential weaknesses.

376
00:18:14.640 --> 00:18:16.000
<v Speaker 1>Oh no, what kind of weaknesses.

377
00:18:16.319 --> 00:18:19.759
<v Speaker 2>Well, as computers get faster, factoring gets slightly easier. So

378
00:18:19.799 --> 00:18:23.839
<v Speaker 2>to keep RSA secure, cryptographers have to constantly increase the

379
00:18:23.920 --> 00:18:27.000
<v Speaker 2>key sizes. It's that arms race we're talking about.

380
00:18:27.079 --> 00:18:28.960
<v Speaker 1>It's a good thing we have those brilliant minds working

381
00:18:29.000 --> 00:18:32.279
<v Speaker 1>on keeping our data secure. So how do attackers actually

382
00:18:32.319 --> 00:18:37.279
<v Speaker 1>try to crack RSA? The textbook mentions things like Pollard's

383
00:18:37.400 --> 00:18:40.640
<v Speaker 1>row algorithm and the index calculus algorithm.

384
00:18:40.960 --> 00:18:44.480
<v Speaker 2>Those are just two examples of the many techniques attackers use.

385
00:18:45.279 --> 00:18:48.119
<v Speaker 2>Pollard's row algorithm is a clever method that exploits the

386
00:18:48.160 --> 00:18:50.880
<v Speaker 2>birthday paradox. It's based on the idea that if you

387
00:18:50.920 --> 00:18:53.359
<v Speaker 2>have enough random numbers, you're more likely to find two

388
00:18:53.480 --> 00:18:56.240
<v Speaker 2>that have the same remainder when divided by a specific number,

389
00:18:56.519 --> 00:18:58.880
<v Speaker 2>and this can be used to find factors of large numbers,

390
00:18:58.880 --> 00:18:59.960
<v Speaker 2>potentially cracking ours.

391
00:19:00.599 --> 00:19:02.960
<v Speaker 1>So it's like looking for collisions and hash functions, but

392
00:19:03.039 --> 00:19:04.759
<v Speaker 1>for factorization exactly.

393
00:19:04.799 --> 00:19:08.480
<v Speaker 2>It's all about finding those unexpected relationships and patterns that

394
00:19:08.519 --> 00:19:12.119
<v Speaker 2>can be exploited. The index calculus algorithm is another powerful

395
00:19:12.160 --> 00:19:16.440
<v Speaker 2>method that uses a more systematic approach to solve discrete

396
00:19:16.480 --> 00:19:19.559
<v Speaker 2>logarithm problems, which can also be used to attack RSA.

397
00:19:19.880 --> 00:19:22.880
<v Speaker 1>It sounds like breaking RSA is a real challenge, which

398
00:19:22.920 --> 00:19:24.359
<v Speaker 1>is a good thing for those of us who rely

399
00:19:24.480 --> 00:19:25.400
<v Speaker 1>on it for security.

400
00:19:25.759 --> 00:19:28.079
<v Speaker 2>It is a challenge, but that doesn't mean it's impossible.

401
00:19:28.200 --> 00:19:31.440
<v Speaker 2>Cryptographers are constantly working to improve the security of RSA

402
00:19:31.640 --> 00:19:34.920
<v Speaker 2>and develop new algorithms that are even more resistant to attacks.

403
00:19:35.160 --> 00:19:39.880
<v Speaker 1>That's reassuring. So is OURSSA the only public key cryptosystem

404
00:19:39.920 --> 00:19:41.799
<v Speaker 1>out there or are there other options?

405
00:19:42.039 --> 00:19:44.480
<v Speaker 2>There are other public key cryptosystems, each with its own

406
00:19:44.519 --> 00:19:48.440
<v Speaker 2>strengths and weaknesses. The textbook mentions the Elgamol cryptosystem, which

407
00:19:48.480 --> 00:19:51.279
<v Speaker 2>is based on the discrete logarithm problem, and there's a

408
00:19:51.319 --> 00:19:54.599
<v Speaker 2>fascinating variation of it that uses something called elliptic curves.

409
00:19:54.759 --> 00:19:57.880
<v Speaker 1>Elliptic curves. I remember seeing those elegant curves in my

410
00:19:58.000 --> 00:20:02.720
<v Speaker 1>calculus textbook, something about specific equations defining their shape. But

411
00:20:02.799 --> 00:20:04.519
<v Speaker 1>how do those tie into cryptography?

412
00:20:04.720 --> 00:20:08.759
<v Speaker 2>Elliptic curve cryptography or ECC is a relatively new field,

413
00:20:09.079 --> 00:20:11.839
<v Speaker 2>but one that's gained a lot of traction. It leverages

414
00:20:11.920 --> 00:20:15.319
<v Speaker 2>the properties of elliptic curves over finite fields to create

415
00:20:15.359 --> 00:20:18.160
<v Speaker 2>cryptographic systems that are both efficient and secure.

416
00:20:18.279 --> 00:20:22.000
<v Speaker 1>So it's like RSA, but with a different mathematical foundation exactly.

417
00:20:22.039 --> 00:20:24.200
<v Speaker 2>And one of the big advantages of ECC is that

418
00:20:24.279 --> 00:20:27.079
<v Speaker 2>it can achieve the same level of security as RSA,

419
00:20:27.200 --> 00:20:31.359
<v Speaker 2>but with smaller key sizes. This makes ECC particularly attractive

420
00:20:31.359 --> 00:20:35.279
<v Speaker 2>for resource constrained devices like smartphones and embedded systems.

421
00:20:35.799 --> 00:20:39.400
<v Speaker 1>That makes sense. Smaller keys mean less processing power is needed,

422
00:20:39.599 --> 00:20:43.000
<v Speaker 1>which is crucial for devices with limited resources. But remember

423
00:20:43.039 --> 00:20:45.559
<v Speaker 1>those sneaky side channel attacks we talked about earlier are

424
00:20:45.640 --> 00:20:47.440
<v Speaker 1>they a threat to ECC as well.

425
00:20:47.559 --> 00:20:51.319
<v Speaker 2>Unfortunately, Yes, even though ECC is based on different mathematical

426
00:20:51.359 --> 00:20:54.200
<v Speaker 2>principles than RSA, it can still be vulnerable to side

427
00:20:54.240 --> 00:20:56.240
<v Speaker 2>channel attacks if it's not implemented carefully.

428
00:20:56.279 --> 00:20:58.519
<v Speaker 1>So no matter how strong the math is, there's always

429
00:20:58.519 --> 00:21:01.680
<v Speaker 1>the potential for weaknesses in the real world implementation.

430
00:21:02.000 --> 00:21:04.599
<v Speaker 2>That's why it's so important to have a holistic approach

431
00:21:04.680 --> 00:21:09.200
<v Speaker 2>to security. You need strong algorithms, robust implementations, and constant

432
00:21:09.319 --> 00:21:11.200
<v Speaker 2>vigilance to stay ahead of the attackers.

433
00:21:11.440 --> 00:21:13.839
<v Speaker 1>Okay, let's shift gears a bit and talk about how

434
00:21:13.880 --> 00:21:17.839
<v Speaker 1>all of this applies to real world applications. How do

435
00:21:18.079 --> 00:21:22.039
<v Speaker 1>digital signatures work in practice. We've touched on the theory,

436
00:21:22.079 --> 00:21:24.559
<v Speaker 1>but how does it translate to something like signing a

437
00:21:24.599 --> 00:21:25.640
<v Speaker 1>document online.

438
00:21:25.960 --> 00:21:28.799
<v Speaker 2>Think of a digital signature as a way to electronically

439
00:21:28.839 --> 00:21:32.960
<v Speaker 2>sign a document and verify both its authenticity and integrity.

440
00:21:33.359 --> 00:21:36.359
<v Speaker 2>It relies on a combination of hash functions and public

441
00:21:36.400 --> 00:21:38.359
<v Speaker 2>key cryptography, so it's like.

442
00:21:38.279 --> 00:21:41.720
<v Speaker 1>Having a tamper proof seal that proves both who signed

443
00:21:41.759 --> 00:21:43.680
<v Speaker 1>the document and that it hasn't been changed since it

444
00:21:43.720 --> 00:21:44.680
<v Speaker 1>was signed exactly.

445
00:21:44.680 --> 00:21:47.160
<v Speaker 2>It all starts with a digital certificate, which is like

446
00:21:47.200 --> 00:21:50.119
<v Speaker 2>an electronic passport that binds a public key to a

447
00:21:50.160 --> 00:21:54.640
<v Speaker 2>specific identity. These certificates are issued by trusted certification authorities

448
00:21:54.640 --> 00:21:55.839
<v Speaker 2>we're CAAs, so it's like.

449
00:21:55.799 --> 00:21:58.400
<v Speaker 1>Having a trusted third party vouch for your identity.

450
00:21:58.519 --> 00:22:02.200
<v Speaker 2>Exactly. When you digitally sign document, your computer first generates

451
00:22:02.200 --> 00:22:04.960
<v Speaker 2>a hash of the document's content that it encrypts this

452
00:22:05.079 --> 00:22:08.319
<v Speaker 2>hash value using your private key. This encrypted hash is

453
00:22:08.359 --> 00:22:10.119
<v Speaker 2>your digital signature, so it's.

454
00:22:10.000 --> 00:22:12.240
<v Speaker 1>Like creating a unique fingerprint of the document and then

455
00:22:12.279 --> 00:22:13.880
<v Speaker 1>locking it away with your private.

456
00:22:13.599 --> 00:22:16.559
<v Speaker 2>Key you got. This signature is then attached to the document.

457
00:22:16.680 --> 00:22:20.079
<v Speaker 2>Anyone who wants to verify your signature can use your

458
00:22:20.119 --> 00:22:23.359
<v Speaker 2>public key to decrypt the signature and compare it to

459
00:22:23.400 --> 00:22:25.720
<v Speaker 2>the hash of the document. If they match, they know

460
00:22:25.799 --> 00:22:29.119
<v Speaker 2>the signature's valid and the document hasn't been tampered with.

461
00:22:29.319 --> 00:22:32.920
<v Speaker 1>It's like a two step verification process. Pretty impressive, but

462
00:22:33.079 --> 00:22:36.839
<v Speaker 1>the textbook mentions a concept that truly boggles my mind.

463
00:22:37.720 --> 00:22:42.279
<v Speaker 1>Zero knowledge proofs. How can you possibly prove you know

464
00:22:42.359 --> 00:22:44.759
<v Speaker 1>something without revealing the actual secret?

465
00:22:45.000 --> 00:22:47.480
<v Speaker 2>Zero knowledge proofs are a bit like magic, aren't They

466
00:22:47.880 --> 00:22:49.880
<v Speaker 2>Imagine you have a magic trick and want to prove

467
00:22:49.960 --> 00:22:52.119
<v Speaker 2>you know how to perform it without revealing the secret

468
00:22:52.119 --> 00:22:52.519
<v Speaker 2>behind it.

469
00:22:52.519 --> 00:22:53.920
<v Speaker 1>Okay, that seems impossible.

470
00:22:54.039 --> 00:22:57.359
<v Speaker 2>That's the beauty of zero knowledge proofs. They use clever interactions,

471
00:22:57.400 --> 00:23:00.880
<v Speaker 2>typically involving challenges and responses, where the per improving their

472
00:23:00.960 --> 00:23:03.720
<v Speaker 2>knowledge can convince the other party that they possess the

473
00:23:03.759 --> 00:23:07.319
<v Speaker 2>secret without actually revealing any information about the secret itself.

474
00:23:07.359 --> 00:23:09.640
<v Speaker 1>So it's like I can prove I know the secret,

475
00:23:09.720 --> 00:23:11.759
<v Speaker 1>but I won't tell you what it is exactly.

476
00:23:11.799 --> 00:23:15.480
<v Speaker 2>One example is the Schnor identification scheme, where one party

477
00:23:15.480 --> 00:23:18.279
<v Speaker 2>can prove they know a specific secret number without actually

478
00:23:18.319 --> 00:23:19.880
<v Speaker 2>disclosing the number itself.

479
00:23:20.640 --> 00:23:23.720
<v Speaker 1>My head is spinning. Cryptography is clearly a deep and

480
00:23:23.799 --> 00:23:26.839
<v Speaker 1>complex subject. It seems like every time we think we've

481
00:23:26.880 --> 00:23:30.759
<v Speaker 1>grasped the basics, a whole new layer of complexity unfolds.

482
00:23:30.880 --> 00:23:34.200
<v Speaker 2>You're right, cryptography is a vast and ever evolving field.

483
00:23:34.720 --> 00:23:36.400
<v Speaker 2>But the good news is that you don't have to

484
00:23:36.400 --> 00:23:39.400
<v Speaker 2>be a mathematician to appreciate its importance and impact on

485
00:23:39.440 --> 00:23:39.960
<v Speaker 2>our lives.

486
00:23:40.319 --> 00:23:43.440
<v Speaker 1>That's a relief. But with all these different algorithms, attacks,

487
00:23:43.440 --> 00:23:45.920
<v Speaker 1>and concepts, where do we even begin to make sense

488
00:23:45.920 --> 00:23:46.279
<v Speaker 1>of it? All?

489
00:23:46.559 --> 00:23:49.640
<v Speaker 2>Start with the basics. Focus on understanding the core concepts

490
00:23:49.680 --> 00:23:54.000
<v Speaker 2>like symmetric key cryptography, public key cryptography, hash functions, and

491
00:23:54.039 --> 00:23:58.200
<v Speaker 2>digital signatures. There are many great resources available, from introductory

492
00:23:58.200 --> 00:24:01.559
<v Speaker 2>textbooks to on little courses. And remember it's a journey,

493
00:24:01.720 --> 00:24:04.319
<v Speaker 2>not a race. Take your time, ask questions, and don't

494
00:24:04.359 --> 00:24:06.799
<v Speaker 2>be afraid to explore different areas that pique your interest.

495
00:24:07.039 --> 00:24:09.200
<v Speaker 1>That's encouraging. It's like starting with the foundation of a

496
00:24:09.240 --> 00:24:11.640
<v Speaker 1>house before you build the walls in the roof. And

497
00:24:11.720 --> 00:24:15.000
<v Speaker 1>speaking of building, what's next on our cryptography construction project.

498
00:24:15.279 --> 00:24:19.359
<v Speaker 2>Let's explore some more specialized cryptosystems. We'll dive into the

499
00:24:19.519 --> 00:24:23.119
<v Speaker 2>entrue encrypt public key cryptosystem, which is known for its

500
00:24:23.119 --> 00:24:25.759
<v Speaker 2>speed and efficiency, and we'll take a look at the

501
00:24:25.960 --> 00:24:30.839
<v Speaker 2>mcwally's cryptosystem, which uses a fascinating approach based on error

502
00:24:30.880 --> 00:24:32.079
<v Speaker 2>correcting codes.

503
00:24:31.920 --> 00:24:36.039
<v Speaker 1>Er correcting codes for cryptography. That sounds intriguing, all right,

504
00:24:36.119 --> 00:24:38.759
<v Speaker 1>So we're back and ready to wrack up our cryptography

505
00:24:38.839 --> 00:24:39.359
<v Speaker 1>deep dive.

506
00:24:39.559 --> 00:24:42.799
<v Speaker 2>It's been quite a journey exploring this fascinating world of

507
00:24:42.880 --> 00:24:43.920
<v Speaker 2>codes and ciphers.

508
00:24:44.079 --> 00:24:46.160
<v Speaker 1>You know, it's amazing how much goes on behind the

509
00:24:46.200 --> 00:24:48.640
<v Speaker 1>scenes to keep our digital lives secure.

510
00:24:48.960 --> 00:24:52.039
<v Speaker 2>Yeah, it's like a hidden world of mathematical magic and

511
00:24:52.200 --> 00:24:53.240
<v Speaker 2>clever algorithms.

512
00:24:53.400 --> 00:24:56.319
<v Speaker 1>Speaking of clever algorithms, remember that entry and public key

513
00:24:56.359 --> 00:24:58.960
<v Speaker 1>cryptosystem we're talking about, the one that uses those cool

514
00:24:59.039 --> 00:24:59.880
<v Speaker 1>lattice structures.

515
00:25:00.079 --> 00:25:02.720
<v Speaker 2>Absolutely. En true encrypt is a great example of how

516
00:25:02.799 --> 00:25:05.720
<v Speaker 2>abstract algebra can be used to create a practical and

517
00:25:05.759 --> 00:25:09.640
<v Speaker 2>efficient cryptosystem. It uses polynomials and rings to create a

518
00:25:09.680 --> 00:25:13.079
<v Speaker 2>trapdoor function, which is basically a mathematical operation that's easy

519
00:25:13.079 --> 00:25:15.960
<v Speaker 2>to perform in one direction, but very difficult to reverse

520
00:25:16.039 --> 00:25:17.359
<v Speaker 2>unless you have the private keys.

521
00:25:17.440 --> 00:25:19.640
<v Speaker 1>So it's like a secret passage that only the holder

522
00:25:19.680 --> 00:25:22.039
<v Speaker 1>of the private key can unlock exactly.

523
00:25:22.319 --> 00:25:25.000
<v Speaker 2>And the security of en true encrypt relies on the

524
00:25:25.039 --> 00:25:29.240
<v Speaker 2>difficulty of certain lattice problems, which we discussed are believed

525
00:25:29.279 --> 00:25:31.839
<v Speaker 2>to be resistant even to those quantum computers.

526
00:25:32.039 --> 00:25:34.680
<v Speaker 1>That's good to know. It's like building a cryptographic fortress

527
00:25:34.680 --> 00:25:38.279
<v Speaker 1>on a foundation of those complex mathematical structures precisely.

528
00:25:38.279 --> 00:25:41.599
<v Speaker 2>Now, let's talk about another unique approach to cryptography, the

529
00:25:41.680 --> 00:25:43.160
<v Speaker 2>mkie Le's cryptosystem.

530
00:25:43.400 --> 00:25:46.480
<v Speaker 1>Ah, yes, the one that uses error correcting codes. I'm

531
00:25:46.519 --> 00:25:48.640
<v Speaker 1>still kind of wrapping my head around how that works.

532
00:25:48.880 --> 00:25:52.079
<v Speaker 2>It is a bit counterintuitive, but very clever. Think about

533
00:25:52.079 --> 00:25:55.680
<v Speaker 2>how error correcting codes are used. In communications to ensure

534
00:25:55.680 --> 00:25:59.039
<v Speaker 2>that a message is transmitted accurately, even if there's noise

535
00:25:59.119 --> 00:26:01.599
<v Speaker 2>or interference like static on a phone line.

536
00:26:01.759 --> 00:26:04.440
<v Speaker 1>Right, it's like adding redundancy to a message so that

537
00:26:04.559 --> 00:26:07.279
<v Speaker 1>even if some parts get garbled, you can still figure

538
00:26:07.279 --> 00:26:09.240
<v Speaker 1>out what it was supposed to say exactly.

539
00:26:09.359 --> 00:26:12.519
<v Speaker 2>Now, imagine disguising a special type of error correcting code

540
00:26:12.559 --> 00:26:15.920
<v Speaker 2>called a GOPA code as a more general linear code.

541
00:26:16.119 --> 00:26:18.880
<v Speaker 2>This disguised code becomes your public key, so.

542
00:26:18.799 --> 00:26:21.559
<v Speaker 1>You're intentionally making the code look more complex than it

543
00:26:21.599 --> 00:26:22.039
<v Speaker 1>really is.

544
00:26:22.480 --> 00:26:25.920
<v Speaker 2>Precisely, and to encrypt a message, you essentially add errors

545
00:26:25.960 --> 00:26:28.160
<v Speaker 2>to it according to this disguised code.

546
00:26:28.200 --> 00:26:31.400
<v Speaker 1>Wait, you're intentionally adding errors to the message. That seems counterproductive.

547
00:26:31.480 --> 00:26:34.039
<v Speaker 2>I know it sounds strange, but here's the key. Only

548
00:26:34.039 --> 00:26:36.680
<v Speaker 2>someone who knows the original GOPA code, which is the

549
00:26:36.680 --> 00:26:41.240
<v Speaker 2>private key, can efficiently decode the message and remove those errors.

550
00:26:41.680 --> 00:26:44.640
<v Speaker 1>So it's like having a secret decoder ring that only

551
00:26:44.680 --> 00:26:47.240
<v Speaker 1>the holder of the private key can use exactly.

552
00:26:47.440 --> 00:26:50.279
<v Speaker 2>And the security of the Achilles' cryptosystem rests on the

553
00:26:50.319 --> 00:26:53.920
<v Speaker 2>difficulty of decoding general linear codes, which again is a

554
00:26:53.960 --> 00:26:56.880
<v Speaker 2>problem that's believed to be hard even for quantum computers.

555
00:26:56.920 --> 00:27:00.160
<v Speaker 1>Wow, it's like using the tools of error correction to

556
00:27:00.240 --> 00:27:03.960
<v Speaker 1>create a trapdoor function, turning a method for fixing errors

557
00:27:04.440 --> 00:27:06.200
<v Speaker 1>into a way to encrypt information.

558
00:27:06.759 --> 00:27:09.480
<v Speaker 2>It's a really creative approach and it highlights the deep

559
00:27:09.480 --> 00:27:11.839
<v Speaker 2>connections between different areas of mathematics.

560
00:27:11.920 --> 00:27:13.359
<v Speaker 1>You know, we've covered a lot of ground in this

561
00:27:13.400 --> 00:27:16.039
<v Speaker 1>deep dive, and it's been fascinating to learn about all

562
00:27:16.039 --> 00:27:18.279
<v Speaker 1>the different approaches to cryptography it has.

563
00:27:18.480 --> 00:27:21.519
<v Speaker 2>We've gone from the basics of encryption and hash functions

564
00:27:21.640 --> 00:27:25.160
<v Speaker 2>to these more advanced cryptosystems like and to you encrypt

565
00:27:25.240 --> 00:27:26.640
<v Speaker 2>andmki les, and.

566
00:27:26.559 --> 00:27:29.319
<v Speaker 1>We even touched on the challenges of quantum computing and

567
00:27:29.319 --> 00:27:30.559
<v Speaker 1>the future of cryptography.

568
00:27:30.799 --> 00:27:33.960
<v Speaker 2>It's a feel that's constantly evolving, which makes it both

569
00:27:34.000 --> 00:27:35.119
<v Speaker 2>exciting and challenging.

570
00:27:35.519 --> 00:27:37.519
<v Speaker 1>But you knowed, I think the most important takeaway for

571
00:27:37.640 --> 00:27:41.480
<v Speaker 1>me is that cryptography is not just about math and algorithms.

572
00:27:41.640 --> 00:27:45.200
<v Speaker 2>Oh, I agree, It's about people. It's about protecting our privacy,

573
00:27:45.240 --> 00:27:47.400
<v Speaker 2>our communications, and our digital lives.

574
00:27:47.519 --> 00:27:51.000
<v Speaker 1>It's about building a more secure and trustworthy.

575
00:27:50.680 --> 00:27:54.119
<v Speaker 2>Digital world exactly, and it's a responsibility we all share.

576
00:27:54.599 --> 00:27:57.119
<v Speaker 1>So as we wrap up this deep dive, let's remember

577
00:27:57.160 --> 00:28:00.279
<v Speaker 1>that cryptography is a powerful tool for good and it's

578
00:28:00.359 --> 00:28:01.759
<v Speaker 1>up to all of us to use it.

579
00:28:01.799 --> 00:28:05.440
<v Speaker 2>Wisely well said, and remember the journey of discovery doesn't

580
00:28:05.559 --> 00:28:08.799
<v Speaker 2>end here. There's always more to learn and explore in

581
00:28:08.880 --> 00:28:10.799
<v Speaker 2>the fascinating world of cryptography.

582
00:28:10.960 --> 00:28:13.960
<v Speaker 1>So to all our listeners out there, stay curious, stay informed,

583
00:28:14.039 --> 00:28:16.720
<v Speaker 1>and stay safe in the digital realm. Until next time,

584
00:28:16.920 --> 00:28:17.599
<v Speaker 1>Bye everyone,
