WEBVTT
Kind: captions
Language: en

00:00:01.160 --> 00:00:06.690 align:start position:0%
 
[Music]

00:00:06.690 --> 00:00:06.700 align:start position:0%
 
 

00:00:06.700 --> 00:00:17.510 align:start position:0%
 
[Music]

00:00:17.510 --> 00:00:17.520 align:start position:0%
 
 

00:00:17.520 --> 00:00:20.109 align:start position:0%
 
hey<00:00:17.840><c> I'm</c><00:00:18.039><c> Tyler</c><00:00:18.600><c> I</c><00:00:18.720><c> go</c><00:00:18.920><c> by</c><00:00:19.240><c> at</c><00:00:19.560><c> hard</c><00:00:19.720><c> engineer</c>

00:00:20.109 --> 00:00:20.119 align:start position:0%
hey I'm Tyler I go by at hard engineer
 

00:00:20.119 --> 00:00:23.109 align:start position:0%
hey I'm Tyler I go by at hard engineer
on<00:00:20.240><c> the</c><00:00:20.359><c> internet</c><00:00:21.080><c> and</c><00:00:21.320><c> this</c><00:00:21.439><c> is</c><00:00:21.720><c> ying</c><00:00:22.080><c> Tong</c><00:00:22.960><c> um</c>

00:00:23.109 --> 00:00:23.119 align:start position:0%
on the internet and this is ying Tong um
 

00:00:23.119 --> 00:00:25.589 align:start position:0%
on the internet and this is ying Tong um
so<00:00:23.279><c> I'm</c><00:00:23.359><c> an</c><00:00:23.519><c> engineer</c><00:00:24.119><c> she's</c><00:00:24.400><c> a</c><00:00:24.599><c> cryptographer</c>

00:00:25.589 --> 00:00:25.599 align:start position:0%
so I'm an engineer she's a cryptographer
 

00:00:25.599 --> 00:00:26.990 align:start position:0%
so I'm an engineer she's a cryptographer
so<00:00:25.720><c> we're</c><00:00:25.880><c> going</c><00:00:25.960><c> to</c><00:00:26.119><c> kind</c><00:00:26.279><c> of</c><00:00:26.480><c> go</c><00:00:26.679><c> back</c><00:00:26.800><c> and</c>

00:00:26.990 --> 00:00:27.000 align:start position:0%
so we're going to kind of go back and
 

00:00:27.000 --> 00:00:30.269 align:start position:0%
so we're going to kind of go back and
forth<00:00:27.760><c> between</c><00:00:28.760><c> uh</c><00:00:28.920><c> the</c><00:00:29.119><c> mathematical</c><00:00:29.720><c> View</c>

00:00:30.269 --> 00:00:30.279 align:start position:0%
forth between uh the mathematical View
 

00:00:30.279 --> 00:00:32.069 align:start position:0%
forth between uh the mathematical View
and<00:00:30.400><c> then</c><00:00:30.560><c> like</c><00:00:30.679><c> the</c><00:00:30.800><c> Layman's</c><00:00:31.279><c> explanations</c>

00:00:32.069 --> 00:00:32.079 align:start position:0%
and then like the Layman's explanations
 

00:00:32.079 --> 00:00:36.030 align:start position:0%
and then like the Layman's explanations
for<00:00:32.480><c> a</c><00:00:32.599><c> lot</c><00:00:32.800><c> of</c><00:00:33.800><c> uh</c><00:00:33.960><c> introductory</c>

00:00:36.030 --> 00:00:36.040 align:start position:0%
for a lot of uh introductory
 

00:00:36.040 --> 00:00:38.590 align:start position:0%
for a lot of uh introductory
cryptography<00:00:37.040><c> so</c><00:00:37.480><c> cryptography</c><00:00:38.160><c> really</c><00:00:38.399><c> is</c>

00:00:38.590 --> 00:00:38.600 align:start position:0%
cryptography so cryptography really is
 

00:00:38.600 --> 00:00:41.389 align:start position:0%
cryptography so cryptography really is
kind<00:00:38.719><c> of</c><00:00:38.840><c> a</c><00:00:39.040><c> blend</c><00:00:39.399><c> of</c><00:00:39.559><c> Art</c><00:00:39.800><c> and</c><00:00:40.239><c> Science</c><00:00:41.239><c> and</c>

00:00:41.389 --> 00:00:41.399 align:start position:0%
kind of a blend of Art and Science and
 

00:00:41.399 --> 00:00:46.029 align:start position:0%
kind of a blend of Art and Science and
it's<00:00:41.520><c> the</c><00:00:41.640><c> Art</c><00:00:41.760><c> and</c><00:00:41.879><c> Science</c><00:00:42.160><c> Of</c>

00:00:46.029 --> 00:00:46.039 align:start position:0%
 
 

00:00:46.039 --> 00:00:48.630 align:start position:0%
 
Secrets<00:00:47.039><c> um</c><00:00:47.239><c> all</c><00:00:47.320><c> right</c><00:00:47.520><c> yep</c><00:00:47.719><c> this</c><00:00:47.800><c> one's</c><00:00:48.079><c> you</c>

00:00:48.630 --> 00:00:48.640 align:start position:0%
Secrets um all right yep this one's you
 

00:00:48.640 --> 00:00:51.470 align:start position:0%
Secrets um all right yep this one's you
yeah<00:00:48.840><c> and</c><00:00:49.280><c> often</c><00:00:49.719><c> times</c><00:00:50.280><c> we</c><00:00:50.520><c> think</c><00:00:50.879><c> of</c><00:00:51.239><c> the</c>

00:00:51.470 --> 00:00:51.480 align:start position:0%
yeah and often times we think of the
 

00:00:51.480 --> 00:00:54.510 align:start position:0%
yeah and often times we think of the
purpose<00:00:52.120><c> of</c><00:00:52.280><c> a</c><00:00:52.440><c> cryptographic</c><00:00:53.359><c> system</c><00:00:54.359><c> in</c>

00:00:54.510 --> 00:00:54.520 align:start position:0%
purpose of a cryptographic system in
 

00:00:54.520 --> 00:00:59.029 align:start position:0%
purpose of a cryptographic system in
terms<00:00:55.120><c> of</c><00:00:56.120><c> um</c><00:00:56.359><c> these</c><00:00:56.640><c> three</c><00:00:56.960><c> properties</c><00:00:58.039><c> CIA</c>

00:00:59.029 --> 00:00:59.039 align:start position:0%
terms of um these three properties CIA
 

00:00:59.039 --> 00:01:02.270 align:start position:0%
terms of um these three properties CIA
um<00:00:59.640><c> so</c><00:01:00.199><c> firstly</c>

00:01:02.270 --> 00:01:02.280 align:start position:0%
um so firstly
 

00:01:02.280 --> 00:01:04.910 align:start position:0%
um so firstly
confidentiality<00:01:03.280><c> um</c><00:01:03.680><c> the</c><00:01:03.879><c> property</c><00:01:04.400><c> of</c>

00:01:04.910 --> 00:01:04.920 align:start position:0%
confidentiality um the property of
 

00:01:04.920 --> 00:01:07.310 align:start position:0%
confidentiality um the property of
keeping<00:01:05.239><c> your</c><00:01:05.439><c> messages</c><00:01:06.040><c> secret</c><00:01:07.000><c> and</c>

00:01:07.310 --> 00:01:07.320 align:start position:0%
keeping your messages secret and
 

00:01:07.320 --> 00:01:10.550 align:start position:0%
keeping your messages secret and
ensuring<00:01:07.880><c> that</c><00:01:08.200><c> they're</c><00:01:08.439><c> only</c><00:01:08.799><c> ever</c><00:01:09.119><c> read</c><00:01:10.080><c> by</c>

00:01:10.550 --> 00:01:10.560 align:start position:0%
ensuring that they're only ever read by
 

00:01:10.560 --> 00:01:12.630 align:start position:0%
ensuring that they're only ever read by
their<00:01:10.799><c> intended</c>

00:01:12.630 --> 00:01:12.640 align:start position:0%
their intended
 

00:01:12.640 --> 00:01:16.910 align:start position:0%
their intended
recipient<00:01:14.000><c> Integrity</c><00:01:15.000><c> um</c><00:01:15.720><c> being</c><00:01:16.159><c> assured</c>

00:01:16.910 --> 00:01:16.920 align:start position:0%
recipient Integrity um being assured
 

00:01:16.920 --> 00:01:19.469 align:start position:0%
recipient Integrity um being assured
that<00:01:17.080><c> the</c><00:01:17.320><c> message</c><00:01:18.320><c> at</c><00:01:18.479><c> the</c><00:01:18.640><c> time</c><00:01:18.799><c> of</c><00:01:18.960><c> reading</c>

00:01:19.469 --> 00:01:19.479 align:start position:0%
that the message at the time of reading
 

00:01:19.479 --> 00:01:21.950 align:start position:0%
that the message at the time of reading
has<00:01:19.640><c> not</c><00:01:19.920><c> been</c><00:01:20.159><c> tampered</c><00:01:20.759><c> with</c><00:01:21.400><c> um</c><00:01:21.600><c> from</c><00:01:21.840><c> the</c>

00:01:21.950 --> 00:01:21.960 align:start position:0%
has not been tampered with um from the
 

00:01:21.960 --> 00:01:23.429 align:start position:0%
has not been tampered with um from the
time<00:01:22.119><c> of</c>

00:01:23.429 --> 00:01:23.439 align:start position:0%
time of
 

00:01:23.439 --> 00:01:26.670 align:start position:0%
time of
sending<00:01:24.439><c> and</c><00:01:25.240><c> authenticity</c><00:01:26.240><c> that</c><00:01:26.479><c> the</c>

00:01:26.670 --> 00:01:26.680 align:start position:0%
sending and authenticity that the
 

00:01:26.680 --> 00:01:29.910 align:start position:0%
sending and authenticity that the
message<00:01:27.159><c> was</c><00:01:27.600><c> indeed</c><00:01:28.600><c> uh</c><00:01:28.759><c> sent</c><00:01:29.280><c> by</c><00:01:29.439><c> the</c><00:01:29.600><c> expt</c>

00:01:29.910 --> 00:01:29.920 align:start position:0%
message was indeed uh sent by the expt
 

00:01:29.920 --> 00:01:33.310 align:start position:0%
message was indeed uh sent by the expt
expected<00:01:30.560><c> sender</c><00:01:31.560><c> and</c><00:01:31.759><c> not</c><00:01:32.000><c> forged</c><00:01:32.960><c> um</c><00:01:33.159><c> by</c>

00:01:33.310 --> 00:01:33.320 align:start position:0%
expected sender and not forged um by
 

00:01:33.320 --> 00:01:36.310 align:start position:0%
expected sender and not forged um by
someone<00:01:33.680><c> else</c><00:01:34.560><c> so</c><00:01:34.880><c> a</c><00:01:35.079><c> cryptographic</c><00:01:35.840><c> system</c>

00:01:36.310 --> 00:01:36.320 align:start position:0%
someone else so a cryptographic system
 

00:01:36.320 --> 00:01:37.710 align:start position:0%
someone else so a cryptographic system
should<00:01:36.680><c> provide</c>

00:01:37.710 --> 00:01:37.720 align:start position:0%
should provide
 

00:01:37.720 --> 00:01:42.670 align:start position:0%
should provide
Assurance<00:01:38.720><c> of</c><00:01:39.000><c> these</c><00:01:39.200><c> three</c>

00:01:42.670 --> 00:01:42.680 align:start position:0%
 
 

00:01:42.680 --> 00:01:46.190 align:start position:0%
 
properties<00:01:43.680><c> so</c><00:01:44.439><c> this</c><00:01:44.680><c> really</c><00:01:44.960><c> comes</c><00:01:45.360><c> down</c>

00:01:46.190 --> 00:01:46.200 align:start position:0%
properties so this really comes down
 

00:01:46.200 --> 00:01:48.910 align:start position:0%
properties so this really comes down
to<00:01:47.200><c> uh</c><00:01:47.640><c> you</c><00:01:47.799><c> basically</c><00:01:48.159><c> have</c><00:01:48.320><c> these</c><00:01:48.520><c> puzzles</c>

00:01:48.910 --> 00:01:48.920 align:start position:0%
to uh you basically have these puzzles
 

00:01:48.920 --> 00:01:50.469 align:start position:0%
to uh you basically have these puzzles
that<00:01:49.040><c> are</c><00:01:49.200><c> very</c><00:01:49.399><c> easy</c><00:01:49.640><c> to</c><00:01:49.799><c> solve</c><00:01:50.119><c> if</c><00:01:50.240><c> you</c><00:01:50.360><c> have</c>

00:01:50.469 --> 00:01:50.479 align:start position:0%
that are very easy to solve if you have
 

00:01:50.479 --> 00:01:53.069 align:start position:0%
that are very easy to solve if you have
the<00:01:50.600><c> right</c><00:01:50.840><c> key</c><00:01:51.159><c> and</c><00:01:51.399><c> very</c><00:01:51.640><c> hard</c><00:01:51.920><c> to</c><00:01:52.119><c> solve</c><00:01:52.920><c> if</c>

00:01:53.069 --> 00:01:53.079 align:start position:0%
the right key and very hard to solve if
 

00:01:53.079 --> 00:01:55.749 align:start position:0%
the right key and very hard to solve if
you<00:01:53.280><c> don't</c><00:01:53.560><c> have</c><00:01:53.680><c> the</c><00:01:53.960><c> key</c><00:01:54.960><c> uh</c><00:01:55.479><c> there's</c><00:01:55.680><c> a</c>

00:01:55.749 --> 00:01:55.759 align:start position:0%
you don't have the key uh there's a
 

00:01:55.759 --> 00:01:57.310 align:start position:0%
you don't have the key uh there's a
little<00:01:55.920><c> note</c><00:01:56.200><c> at</c><00:01:56.320><c> the</c><00:01:56.439><c> bottom</c><00:01:56.759><c> there's</c><00:01:57.000><c> a</c><00:01:57.159><c> lot</c>

00:01:57.310 --> 00:01:57.320 align:start position:0%
little note at the bottom there's a lot
 

00:01:57.320 --> 00:02:00.190 align:start position:0%
little note at the bottom there's a lot
of<00:01:57.520><c> nuance</c><00:01:58.119><c> here</c><00:01:58.360><c> this</c><00:01:58.439><c> is</c><00:01:58.640><c> very</c><00:01:58.880><c> hand</c><00:01:59.159><c> wavy</c>

00:02:00.190 --> 00:02:00.200 align:start position:0%
of nuance here this is very hand wavy
 

00:02:00.200 --> 00:02:03.149 align:start position:0%
of nuance here this is very hand wavy
you're<00:02:00.360><c> G</c><00:02:00.439><c> to</c><00:02:00.520><c> hang</c><00:02:00.680><c> out</c><00:02:00.799><c> on</c><00:02:00.920><c> this</c><00:02:01.159><c> side</c>

00:02:03.149 --> 00:02:03.159 align:start position:0%
you're G to hang out on this side
 

00:02:03.159 --> 00:02:07.029 align:start position:0%
you're G to hang out on this side
okay<00:02:04.159><c> um</c><00:02:05.000><c> but</c><00:02:05.240><c> yeah</c><00:02:05.479><c> so</c><00:02:06.119><c> easy</c><00:02:06.360><c> to</c><00:02:06.479><c> solve</c><00:02:06.759><c> with</c><00:02:06.880><c> a</c>

00:02:07.029 --> 00:02:07.039 align:start position:0%
okay um but yeah so easy to solve with a
 

00:02:07.039 --> 00:02:10.229 align:start position:0%
okay um but yeah so easy to solve with a
key<00:02:07.520><c> if</c><00:02:07.600><c> you</c><00:02:07.680><c> don't</c><00:02:07.880><c> have</c><00:02:08.039><c> the</c><00:02:08.160><c> key</c><00:02:08.640><c> very</c><00:02:08.879><c> very</c>

00:02:10.229 --> 00:02:10.239 align:start position:0%
key if you don't have the key very very
 

00:02:10.239 --> 00:02:12.510 align:start position:0%
key if you don't have the key very very
hard<00:02:11.239><c> so</c><00:02:11.440><c> the</c><00:02:11.640><c> topics</c><00:02:11.920><c> we're</c><00:02:12.080><c> going</c><00:02:12.200><c> to</c><00:02:12.360><c> go</c>

00:02:12.510 --> 00:02:12.520 align:start position:0%
hard so the topics we're going to go
 

00:02:12.520 --> 00:02:16.910 align:start position:0%
hard so the topics we're going to go
over<00:02:13.000><c> are</c><00:02:13.440><c> hashing</c><00:02:14.000><c> encryption</c><00:02:15.319><c> signing</c><00:02:16.319><c> and</c>

00:02:16.910 --> 00:02:16.920 align:start position:0%
over are hashing encryption signing and
 

00:02:16.920 --> 00:02:18.509 align:start position:0%
over are hashing encryption signing and
what<00:02:17.120><c> we're</c><00:02:17.319><c> now</c><00:02:17.560><c> calling</c><00:02:17.920><c> programmable</c>

00:02:18.509 --> 00:02:18.519 align:start position:0%
what we're now calling programmable
 

00:02:18.519 --> 00:02:22.150 align:start position:0%
what we're now calling programmable
cryptography<00:02:19.280><c> which</c><00:02:19.440><c> is</c><00:02:19.760><c> ZK</c><00:02:20.280><c> MPC</c><00:02:20.879><c> and</c><00:02:21.040><c> fhe</c><00:02:22.040><c> and</c>

00:02:22.150 --> 00:02:22.160 align:start position:0%
cryptography which is ZK MPC and fhe and
 

00:02:22.160 --> 00:02:24.270 align:start position:0%
cryptography which is ZK MPC and fhe and
you<00:02:22.280><c> can</c><00:02:22.560><c> kind</c><00:02:22.680><c> of</c><00:02:22.959><c> think</c><00:02:23.160><c> of</c><00:02:23.360><c> this</c><00:02:23.519><c> breakdown</c>

00:02:24.270 --> 00:02:24.280 align:start position:0%
you can kind of think of this breakdown
 

00:02:24.280 --> 00:02:27.470 align:start position:0%
you can kind of think of this breakdown
as<00:02:24.599><c> corresponding</c><00:02:25.519><c> to</c><00:02:26.519><c> the</c><00:02:26.720><c> three</c><00:02:27.000><c> properties</c>

00:02:27.470 --> 00:02:27.480 align:start position:0%
as corresponding to the three properties
 

00:02:27.480 --> 00:02:30.509 align:start position:0%
as corresponding to the three properties
that<00:02:27.599><c> we</c><00:02:27.800><c> discussed</c><00:02:28.360><c> just</c><00:02:28.560><c> now</c><00:02:29.200><c> so</c><00:02:30.040><c> hashing</c><00:02:30.400><c> is</c>

00:02:30.509 --> 00:02:30.519 align:start position:0%
that we discussed just now so hashing is
 

00:02:30.519 --> 00:02:33.550 align:start position:0%
that we discussed just now so hashing is
a<00:02:30.680><c> primitive</c><00:02:31.200><c> that's</c><00:02:31.599><c> often</c><00:02:32.040><c> used</c><00:02:33.040><c> um</c><00:02:33.200><c> to</c>

00:02:33.550 --> 00:02:33.560 align:start position:0%
a primitive that's often used um to
 

00:02:33.560 --> 00:02:36.670 align:start position:0%
a primitive that's often used um to
provide<00:02:34.560><c> Integrity</c><00:02:35.440><c> assurances</c><00:02:36.000><c> of</c>

00:02:36.670 --> 00:02:36.680 align:start position:0%
provide Integrity assurances of
 

00:02:36.680 --> 00:02:39.830 align:start position:0%
provide Integrity assurances of
Integrity<00:02:37.680><c> um</c><00:02:38.159><c> encryption</c><00:02:39.159><c> helps</c><00:02:39.440><c> us</c><00:02:39.599><c> to</c>

00:02:39.830 --> 00:02:39.840 align:start position:0%
Integrity um encryption helps us to
 

00:02:39.840 --> 00:02:40.990 align:start position:0%
Integrity um encryption helps us to
preserve

00:02:40.990 --> 00:02:41.000 align:start position:0%
preserve
 

00:02:41.000 --> 00:02:43.589 align:start position:0%
preserve
confidentiality<00:02:42.000><c> and</c><00:02:42.200><c> signing</c><00:02:42.640><c> is</c><00:02:42.760><c> a</c><00:02:42.959><c> way</c><00:02:43.360><c> to</c>

00:02:43.589 --> 00:02:43.599 align:start position:0%
confidentiality and signing is a way to
 

00:02:43.599 --> 00:02:44.710 align:start position:0%
confidentiality and signing is a way to
provide

00:02:44.710 --> 00:02:44.720 align:start position:0%
provide
 

00:02:44.720 --> 00:02:48.430 align:start position:0%
provide
authenticity<00:02:45.720><c> um</c><00:02:46.159><c> and</c><00:02:46.440><c> these</c><00:02:46.760><c> three</c><00:02:47.480><c> former</c>

00:02:48.430 --> 00:02:48.440 align:start position:0%
authenticity um and these three former
 

00:02:48.440 --> 00:02:51.309 align:start position:0%
authenticity um and these three former
Primitives<00:02:49.000><c> and</c><00:02:49.239><c> Protocols</c><00:02:50.239><c> are</c><00:02:50.920><c> what</c><00:02:51.080><c> we</c>

00:02:51.309 --> 00:02:51.319 align:start position:0%
Primitives and Protocols are what we
 

00:02:51.319 --> 00:02:53.949 align:start position:0%
Primitives and Protocols are what we
consider<00:02:52.000><c> first</c><00:02:52.360><c> generation</c><00:02:52.959><c> cryptography</c>

00:02:53.949 --> 00:02:53.959 align:start position:0%
consider first generation cryptography
 

00:02:53.959 --> 00:02:55.869 align:start position:0%
consider first generation cryptography
in<00:02:54.080><c> the</c><00:02:54.280><c> sense</c><00:02:54.560><c> that</c><00:02:54.720><c> they're</c><00:02:55.040><c> purpose-built</c>

00:02:55.869 --> 00:02:55.879 align:start position:0%
in the sense that they're purpose-built
 

00:02:55.879 --> 00:03:01.350 align:start position:0%
in the sense that they're purpose-built
for<00:02:56.879><c> a</c><00:02:57.159><c> specific</c><00:02:58.040><c> protocol</c><00:02:59.040><c> um</c><00:02:59.480><c> and</c><00:03:00.280><c> um</c><00:03:00.920><c> in</c><00:03:01.239><c> the</c>

00:03:01.350 --> 00:03:01.360 align:start position:0%
for a specific protocol um and um in the
 

00:03:01.360 --> 00:03:03.550 align:start position:0%
for a specific protocol um and um in the
rest<00:03:01.599><c> of</c><00:03:01.800><c> Devcon</c><00:03:02.680><c> on</c><00:03:02.879><c> the</c><00:03:03.080><c> applied</c>

00:03:03.550 --> 00:03:03.560 align:start position:0%
rest of Devcon on the applied
 

00:03:03.560 --> 00:03:05.710 align:start position:0%
rest of Devcon on the applied
cryptography<00:03:04.280><c> track</c><00:03:04.959><c> you're</c><00:03:05.120><c> going</c><00:03:05.280><c> to</c><00:03:05.480><c> hear</c>

00:03:05.710 --> 00:03:05.720 align:start position:0%
cryptography track you're going to hear
 

00:03:05.720 --> 00:03:08.190 align:start position:0%
cryptography track you're going to hear
a<00:03:05.879><c> lot</c><00:03:06.080><c> more</c><00:03:06.400><c> about</c><00:03:07.159><c> programmable</c>

00:03:08.190 --> 00:03:08.200 align:start position:0%
a lot more about programmable
 

00:03:08.200 --> 00:03:10.910 align:start position:0%
a lot more about programmable
cryptography<00:03:09.200><c> um</c><00:03:09.440><c> which</c><00:03:09.680><c> usually</c><00:03:10.120><c> involve</c>

00:03:10.910 --> 00:03:10.920 align:start position:0%
cryptography um which usually involve
 

00:03:10.920 --> 00:03:13.550 align:start position:0%
cryptography um which usually involve
more<00:03:11.360><c> heavyweight</c><00:03:12.040><c> and</c><00:03:12.239><c> more</c><00:03:12.640><c> general</c>

00:03:13.550 --> 00:03:13.560 align:start position:0%
more heavyweight and more general
 

00:03:13.560 --> 00:03:18.949 align:start position:0%
more heavyweight and more general
purpose

00:03:18.949 --> 00:03:18.959 align:start position:0%
 
 

00:03:18.959 --> 00:03:23.390 align:start position:0%
 
protocols<00:03:19.959><c> all</c><00:03:20.120><c> right</c><00:03:20.480><c> so</c><00:03:21.120><c> hashing</c><00:03:22.040><c> is</c><00:03:22.400><c> a</c>

00:03:23.390 --> 00:03:23.400 align:start position:0%
protocols all right so hashing is a
 

00:03:23.400 --> 00:03:25.350 align:start position:0%
protocols all right so hashing is a
one-way<00:03:24.080><c> function</c><00:03:24.720><c> that</c><00:03:24.840><c> basically</c><00:03:25.200><c> gives</c>

00:03:25.350 --> 00:03:25.360 align:start position:0%
one-way function that basically gives
 

00:03:25.360 --> 00:03:27.630 align:start position:0%
one-way function that basically gives
you<00:03:25.480><c> a</c><00:03:25.599><c> fingerprint</c><00:03:26.239><c> of</c><00:03:26.400><c> some</c>

00:03:27.630 --> 00:03:27.640 align:start position:0%
you a fingerprint of some
 

00:03:27.640 --> 00:03:30.910 align:start position:0%
you a fingerprint of some
data<00:03:28.640><c> you</c><00:03:28.799><c> can</c><00:03:29.000><c> think</c><00:03:29.159><c> of</c><00:03:29.400><c> this</c><00:03:29.959><c> as</c><00:03:30.439><c> just</c><00:03:30.640><c> this</c>

00:03:30.910 --> 00:03:30.920 align:start position:0%
data you can think of this as just this
 

00:03:30.920 --> 00:03:33.309 align:start position:0%
data you can think of this as just this
magic<00:03:31.360><c> machine</c><00:03:31.920><c> that</c><00:03:32.040><c> you</c><00:03:32.200><c> put</c><00:03:32.439><c> data</c><00:03:32.760><c> in</c><00:03:32.959><c> one</c>

00:03:33.309 --> 00:03:33.319 align:start position:0%
magic machine that you put data in one
 

00:03:33.319 --> 00:03:35.229 align:start position:0%
magic machine that you put data in one
side<00:03:33.760><c> and</c><00:03:33.879><c> then</c><00:03:34.000><c> that</c><00:03:34.159><c> fingerprint</c><00:03:34.680><c> comes</c><00:03:34.879><c> out</c>

00:03:35.229 --> 00:03:35.239 align:start position:0%
side and then that fingerprint comes out
 

00:03:35.239 --> 00:03:38.910 align:start position:0%
side and then that fingerprint comes out
the<00:03:35.360><c> other</c><00:03:36.080><c> side</c><00:03:37.080><c> so</c><00:03:37.360><c> this</c><00:03:37.439><c> is</c><00:03:37.599><c> an</c><00:03:37.920><c> example</c><00:03:38.640><c> of</c>

00:03:38.910 --> 00:03:38.920 align:start position:0%
the other side so this is an example of
 

00:03:38.920 --> 00:03:41.589 align:start position:0%
the other side so this is an example of
what<00:03:39.480><c> that</c><00:03:40.040><c> machine</c><00:03:40.480><c> looks</c><00:03:40.799><c> like</c><00:03:41.080><c> which</c><00:03:41.439><c> is</c>

00:03:41.589 --> 00:03:41.599 align:start position:0%
what that machine looks like which is
 

00:03:41.599 --> 00:03:43.670 align:start position:0%
what that machine looks like which is
pretty<00:03:41.799><c> gnarly</c><00:03:42.480><c> but</c><00:03:42.799><c> essentially</c><00:03:43.239><c> it</c><00:03:43.400><c> comes</c>

00:03:43.670 --> 00:03:43.680 align:start position:0%
pretty gnarly but essentially it comes
 

00:03:43.680 --> 00:03:45.789 align:start position:0%
pretty gnarly but essentially it comes
down<00:03:43.879><c> to</c><00:03:44.400><c> you</c><00:03:44.599><c> put</c><00:03:44.799><c> in</c><00:03:45.120><c> you</c><00:03:45.200><c> know</c><00:03:45.319><c> for</c><00:03:45.480><c> example</c>

00:03:45.789 --> 00:03:45.799 align:start position:0%
down to you put in you know for example
 

00:03:45.799 --> 00:03:48.470 align:start position:0%
down to you put in you know for example
a<00:03:46.000><c> password</c><00:03:46.760><c> it</c><00:03:46.920><c> gets</c><00:03:47.159><c> hashed</c><00:03:47.920><c> and</c><00:03:48.040><c> then</c><00:03:48.239><c> some</c>

00:03:48.470 --> 00:03:48.480 align:start position:0%
a password it gets hashed and then some
 

00:03:48.480 --> 00:03:51.670 align:start position:0%
a password it gets hashed and then some
fingerprint<00:03:49.040><c> comes</c><00:03:49.200><c> out</c><00:03:49.599><c> the</c><00:03:49.720><c> other</c>

00:03:51.670 --> 00:03:51.680 align:start position:0%
fingerprint comes out the other
 

00:03:51.680 --> 00:03:56.949 align:start position:0%
fingerprint comes out the other
side<00:03:52.879><c> um</c><00:03:53.879><c> oh</c><00:03:54.200><c> that's</c><00:03:54.360><c> so</c><00:03:54.640><c> weird</c><00:03:55.439><c> yeah</c><00:03:56.079><c> um</c><00:03:56.439><c> this</c>

00:03:56.949 --> 00:03:56.959 align:start position:0%
side um oh that's so weird yeah um this
 

00:03:56.959 --> 00:03:58.589 align:start position:0%
side um oh that's so weird yeah um this
a<00:03:57.079><c> good</c><00:03:57.280><c> analogy</c><00:03:57.720><c> for</c><00:03:57.920><c> this</c><00:03:58.040><c> is</c><00:03:58.239><c> like</c><00:03:58.519><c> uh</c>

00:03:58.589 --> 00:03:58.599 align:start position:0%
a good analogy for this is like uh
 

00:03:58.599 --> 00:04:00.309 align:start position:0%
a good analogy for this is like uh
blending<00:03:59.000><c> fruits</c><00:03:59.280><c> in</c><00:03:59.360><c> a</c><00:03:59.439><c> blender</c><00:04:00.079><c> right</c><00:04:00.239><c> like</c>

00:04:00.309 --> 00:04:00.319 align:start position:0%
blending fruits in a blender right like
 

00:04:00.319 --> 00:04:02.190 align:start position:0%
blending fruits in a blender right like
you<00:04:00.400><c> can't</c><00:04:00.560><c> get</c><00:04:00.680><c> the</c><00:04:00.760><c> fruits</c><00:04:01.120><c> back</c><00:04:01.280><c> out</c><00:04:02.079><c> but</c>

00:04:02.190 --> 00:04:02.200 align:start position:0%
you can't get the fruits back out but
 

00:04:02.200 --> 00:04:05.309 align:start position:0%
you can't get the fruits back out but
you<00:04:02.519><c> have</c><00:04:02.959><c> a</c><00:04:03.280><c> consistent</c><00:04:04.079><c> like</c><00:04:04.360><c> color</c><00:04:05.159><c> right</c>

00:04:05.309 --> 00:04:05.319 align:start position:0%
you have a consistent like color right
 

00:04:05.319 --> 00:04:06.710 align:start position:0%
you have a consistent like color right
if<00:04:05.400><c> you</c><00:04:05.560><c> add</c><00:04:05.760><c> just</c><00:04:05.920><c> bananas</c><00:04:06.360><c> in</c><00:04:06.519><c> you're</c><00:04:06.599><c> going</c>

00:04:06.710 --> 00:04:06.720 align:start position:0%
if you add just bananas in you're going
 

00:04:06.720 --> 00:04:08.309 align:start position:0%
if you add just bananas in you're going
to<00:04:06.799><c> get</c><00:04:06.920><c> the</c><00:04:07.040><c> same</c><00:04:07.239><c> color</c><00:04:07.760><c> basically</c><00:04:08.079><c> every</c>

00:04:08.309 --> 00:04:08.319 align:start position:0%
to get the same color basically every
 

00:04:08.319 --> 00:04:11.789 align:start position:0%
to get the same color basically every
time<00:04:09.239><c> um</c><00:04:09.360><c> so</c><00:04:09.599><c> unique</c><00:04:09.959><c> input</c><00:04:10.480><c> unique</c><00:04:10.799><c> output</c>

00:04:11.789 --> 00:04:11.799 align:start position:0%
time um so unique input unique output
 

00:04:11.799 --> 00:04:14.350 align:start position:0%
time um so unique input unique output
these<00:04:11.920><c> are</c><00:04:12.120><c> always</c><00:04:12.439><c> fixed</c><00:04:13.000><c> length</c><00:04:14.000><c> so</c><00:04:14.200><c> that's</c>

00:04:14.350 --> 00:04:14.360 align:start position:0%
these are always fixed length so that's
 

00:04:14.360 --> 00:04:16.150 align:start position:0%
these are always fixed length so that's
to<00:04:14.599><c> stop</c><00:04:15.040><c> certain</c><00:04:15.319><c> types</c><00:04:15.519><c> of</c><00:04:15.680><c> attacks</c><00:04:16.040><c> where</c>

00:04:16.150 --> 00:04:16.160 align:start position:0%
to stop certain types of attacks where
 

00:04:16.160 --> 00:04:17.390 align:start position:0%
to stop certain types of attacks where
you<00:04:16.239><c> can</c><00:04:16.320><c> try</c><00:04:16.440><c> to</c><00:04:16.560><c> like</c><00:04:16.680><c> infer</c><00:04:17.040><c> what</c><00:04:17.160><c> kind</c><00:04:17.280><c> of</c>

00:04:17.390 --> 00:04:17.400 align:start position:0%
you can try to like infer what kind of
 

00:04:17.400 --> 00:04:21.390 align:start position:0%
you can try to like infer what kind of
data<00:04:17.639><c> went</c><00:04:17.840><c> in</c><00:04:18.720><c> and</c><00:04:18.880><c> you</c><00:04:18.959><c> can</c><00:04:19.199><c> see</c><00:04:19.959><c> so</c><00:04:20.359><c> hi</c><00:04:20.880><c> hell</c>

00:04:21.390 --> 00:04:21.400 align:start position:0%
data went in and you can see so hi hell
 

00:04:21.400 --> 00:04:23.749 align:start position:0%
data went in and you can see so hi hell
help<00:04:21.720><c> and</c><00:04:22.080><c> hello</c><00:04:23.080><c> like</c><00:04:23.240><c> they</c><00:04:23.320><c> have</c><00:04:23.520><c> very</c>

00:04:23.749 --> 00:04:23.759 align:start position:0%
help and hello like they have very
 

00:04:23.759 --> 00:04:25.710 align:start position:0%
help and hello like they have very
similar<00:04:24.120><c> letters</c><00:04:24.759><c> but</c><00:04:24.960><c> they're</c><00:04:25.240><c> totally</c>

00:04:25.710 --> 00:04:25.720 align:start position:0%
similar letters but they're totally
 

00:04:25.720 --> 00:04:28.710 align:start position:0%
similar letters but they're totally
different

00:04:28.710 --> 00:04:28.720 align:start position:0%
 
 

00:04:28.720 --> 00:04:30.990 align:start position:0%
 
fingerprints<00:04:29.720><c> you</c><00:04:29.759><c> want</c><00:04:29.880><c> to</c><00:04:29.919><c> talk</c><00:04:30.080><c> about</c><00:04:30.240><c> this</c>

00:04:30.990 --> 00:04:31.000 align:start position:0%
fingerprints you want to talk about this
 

00:04:31.000 --> 00:04:34.350 align:start position:0%
fingerprints you want to talk about this
yeah<00:04:31.280><c> so</c><00:04:31.600><c> we've</c><00:04:31.880><c> put</c><00:04:32.039><c> in</c><00:04:32.479><c> sort</c><00:04:32.720><c> of</c><00:04:33.000><c> Snippets</c><00:04:33.800><c> of</c>

00:04:34.350 --> 00:04:34.360 align:start position:0%
yeah so we've put in sort of Snippets of
 

00:04:34.360 --> 00:04:37.310 align:start position:0%
yeah so we've put in sort of Snippets of
the<00:04:34.840><c> relevant</c><00:04:35.360><c> Devcon</c><00:04:36.039><c> talks</c><00:04:36.720><c> um</c><00:04:37.000><c> throughout</c>

00:04:37.310 --> 00:04:37.320 align:start position:0%
the relevant Devcon talks um throughout
 

00:04:37.320 --> 00:04:40.870 align:start position:0%
the relevant Devcon talks um throughout
our<00:04:37.440><c> slides</c><00:04:37.880><c> to</c><00:04:38.039><c> help</c><00:04:38.240><c> you</c><00:04:38.720><c> Orient</c><00:04:39.720><c> um</c><00:04:40.240><c> and</c>

00:04:40.870 --> 00:04:40.880 align:start position:0%
our slides to help you Orient um and
 

00:04:40.880 --> 00:04:43.310 align:start position:0%
our slides to help you Orient um and
actually<00:04:41.639><c> um</c><00:04:42.160><c> oh</c><00:04:42.400><c> this</c><00:04:42.560><c> talk</c><00:04:42.880><c> already</c>

00:04:43.310 --> 00:04:43.320 align:start position:0%
actually um oh this talk already
 

00:04:43.320 --> 00:04:46.189 align:start position:0%
actually um oh this talk already
happened<00:04:44.320><c> but</c><00:04:44.600><c> it</c><00:04:44.720><c> was</c><00:04:44.919><c> an</c><00:04:45.160><c> example</c><00:04:45.800><c> of</c><00:04:46.000><c> how</c>

00:04:46.189 --> 00:04:46.199 align:start position:0%
happened but it was an example of how
 

00:04:46.199 --> 00:04:49.510 align:start position:0%
happened but it was an example of how
you<00:04:46.320><c> can</c><00:04:47.000><c> build</c><00:04:48.000><c> a</c><00:04:48.360><c> general</c><00:04:48.800><c> purpose</c><00:04:49.199><c> proof</c>

00:04:49.510 --> 00:04:49.520 align:start position:0%
you can build a general purpose proof
 

00:04:49.520 --> 00:04:52.510 align:start position:0%
you can build a general purpose proof
system<00:04:50.360><c> just</c><00:04:50.639><c> using</c><00:04:51.199><c> a</c><00:04:51.400><c> hash</c><00:04:51.680><c> function</c><00:04:52.160><c> as</c><00:04:52.240><c> a</c>

00:04:52.510 --> 00:04:52.520 align:start position:0%
system just using a hash function as a
 

00:04:52.520 --> 00:04:54.870 align:start position:0%
system just using a hash function as a
primitive<00:04:53.520><c> so</c><00:04:53.759><c> you</c><00:04:53.880><c> can</c><00:04:54.080><c> go</c><00:04:54.240><c> back</c><00:04:54.400><c> and</c><00:04:54.639><c> watch</c>

00:04:54.870 --> 00:04:54.880 align:start position:0%
primitive so you can go back and watch
 

00:04:54.880 --> 00:04:57.189 align:start position:0%
primitive so you can go back and watch
this<00:04:55.080><c> talk</c><00:04:55.639><c> you</c><00:04:55.759><c> can</c><00:04:55.919><c> do</c><00:04:56.120><c> a</c><00:04:56.240><c> lot</c><00:04:56.560><c> with</c><00:04:56.919><c> hash</c>

00:04:57.189 --> 00:04:57.199 align:start position:0%
this talk you can do a lot with hash
 

00:04:57.199 --> 00:04:59.950 align:start position:0%
this talk you can do a lot with hash
functions

00:04:59.950 --> 00:04:59.960 align:start position:0%
functions
 

00:04:59.960 --> 00:05:03.070 align:start position:0%
functions
cool<00:05:00.360><c> so</c><00:05:00.759><c> a</c><00:05:01.320><c> common</c><00:05:02.320><c> reason</c><00:05:02.639><c> that</c><00:05:02.800><c> hash</c>

00:05:03.070 --> 00:05:03.080 align:start position:0%
cool so a common reason that hash
 

00:05:03.080 --> 00:05:05.469 align:start position:0%
cool so a common reason that hash
functions<00:05:03.400><c> are</c><00:05:03.600><c> used</c><00:05:04.039><c> is</c><00:05:04.280><c> passwords</c><00:05:04.919><c> but</c><00:05:05.360><c> as</c>

00:05:05.469 --> 00:05:05.479 align:start position:0%
functions are used is passwords but as
 

00:05:05.479 --> 00:05:07.510 align:start position:0%
functions are used is passwords but as
you<00:05:05.600><c> can</c><00:05:05.759><c> see</c><00:05:06.280><c> if</c><00:05:06.440><c> two</c><00:05:06.639><c> users</c><00:05:07.039><c> had</c><00:05:07.199><c> the</c><00:05:07.280><c> same</c>

00:05:07.510 --> 00:05:07.520 align:start position:0%
you can see if two users had the same
 

00:05:07.520 --> 00:05:09.749 align:start position:0%
you can see if two users had the same
password<00:05:08.400><c> they</c><00:05:08.520><c> have</c><00:05:08.680><c> the</c><00:05:08.840><c> same</c><00:05:09.360><c> password</c>

00:05:09.749 --> 00:05:09.759 align:start position:0%
password they have the same password
 

00:05:09.759 --> 00:05:13.029 align:start position:0%
password they have the same password
hash<00:05:10.199><c> right</c><00:05:10.840><c> so</c><00:05:11.840><c> this</c><00:05:12.080><c> allows</c><00:05:12.520><c> an</c><00:05:12.720><c> attack</c>

00:05:13.029 --> 00:05:13.039 align:start position:0%
hash right so this allows an attack
 

00:05:13.039 --> 00:05:15.110 align:start position:0%
hash right so this allows an attack
called<00:05:13.600><c> a</c><00:05:13.960><c> like</c><00:05:14.120><c> rainbow</c><00:05:14.520><c> table</c><00:05:14.840><c> attack</c>

00:05:15.110 --> 00:05:15.120 align:start position:0%
called a like rainbow table attack
 

00:05:15.120 --> 00:05:17.670 align:start position:0%
called a like rainbow table attack
basically<00:05:15.400><c> you</c><00:05:15.600><c> just</c><00:05:16.039><c> hash</c><00:05:16.840><c> like</c><00:05:17.000><c> all</c><00:05:17.280><c> common</c>

00:05:17.670 --> 00:05:17.680 align:start position:0%
basically you just hash like all common
 

00:05:17.680 --> 00:05:19.430 align:start position:0%
basically you just hash like all common
passwords<00:05:18.520><c> and</c><00:05:18.639><c> then</c><00:05:18.800><c> now</c><00:05:18.919><c> you</c><00:05:19.039><c> have</c><00:05:19.240><c> this</c>

00:05:19.430 --> 00:05:19.440 align:start position:0%
passwords and then now you have this
 

00:05:19.440 --> 00:05:21.830 align:start position:0%
passwords and then now you have this
known<00:05:19.880><c> fingerprint</c><00:05:20.880><c> and</c><00:05:21.000><c> you</c><00:05:21.080><c> can</c><00:05:21.400><c> you</c><00:05:21.520><c> know</c>

00:05:21.830 --> 00:05:21.840 align:start position:0%
known fingerprint and you can you know
 

00:05:21.840 --> 00:05:23.950 align:start position:0%
known fingerprint and you can you know
use<00:05:22.039><c> that</c><00:05:22.199><c> to</c><00:05:22.360><c> attack</c><00:05:22.600><c> people's</c><00:05:22.960><c> passwords</c>

00:05:23.950 --> 00:05:23.960 align:start position:0%
use that to attack people's passwords
 

00:05:23.960 --> 00:05:25.830 align:start position:0%
use that to attack people's passwords
but<00:05:24.199><c> there's</c><00:05:24.440><c> this</c><00:05:24.639><c> thing</c><00:05:24.880><c> called</c><00:05:25.240><c> assault</c>

00:05:25.830 --> 00:05:25.840 align:start position:0%
but there's this thing called assault
 

00:05:25.840 --> 00:05:28.629 align:start position:0%
but there's this thing called assault
you<00:05:25.960><c> can</c><00:05:26.319><c> add</c><00:05:27.319><c> which</c><00:05:27.600><c> is</c><00:05:28.000><c> essentially</c><00:05:28.440><c> just</c>

00:05:28.629 --> 00:05:28.639 align:start position:0%
you can add which is essentially just
 

00:05:28.639 --> 00:05:32.150 align:start position:0%
you can add which is essentially just
tacking<00:05:29.880><c> a</c><00:05:30.120><c> random</c><00:05:30.520><c> string</c><00:05:31.360><c> that's</c><00:05:31.800><c> specific</c>

00:05:32.150 --> 00:05:32.160 align:start position:0%
tacking a random string that's specific
 

00:05:32.160 --> 00:05:34.150 align:start position:0%
tacking a random string that's specific
to<00:05:32.360><c> each</c><00:05:32.600><c> user</c><00:05:33.080><c> to</c><00:05:33.240><c> the</c><00:05:33.319><c> end</c><00:05:33.479><c> of</c><00:05:33.600><c> the</c><00:05:33.759><c> password</c>

00:05:34.150 --> 00:05:34.160 align:start position:0%
to each user to the end of the password
 

00:05:34.160 --> 00:05:35.390 align:start position:0%
to each user to the end of the password
and<00:05:34.240><c> then</c><00:05:34.400><c> hashing</c><00:05:34.720><c> it</c><00:05:34.919><c> now</c><00:05:35.039><c> you</c><00:05:35.160><c> have</c><00:05:35.280><c> a</c>

00:05:35.390 --> 00:05:35.400 align:start position:0%
and then hashing it now you have a
 

00:05:35.400 --> 00:05:38.110 align:start position:0%
and then hashing it now you have a
unique<00:05:35.840><c> fingerprint</c><00:05:36.840><c> for</c><00:05:37.240><c> every</c><00:05:37.479><c> password</c>

00:05:38.110 --> 00:05:38.120 align:start position:0%
unique fingerprint for every password
 

00:05:38.120 --> 00:05:41.950 align:start position:0%
unique fingerprint for every password
hash<00:05:39.120><c> so</c><00:05:39.360><c> this</c><00:05:39.440><c> is</c><00:05:39.639><c> just</c><00:05:39.840><c> like</c><00:05:40.000><c> a</c><00:05:40.680><c> example</c><00:05:41.360><c> of</c>

00:05:41.950 --> 00:05:41.960 align:start position:0%
hash so this is just like a example of
 

00:05:41.960 --> 00:05:47.270 align:start position:0%
hash so this is just like a example of
how<00:05:42.960><c> um</c><00:05:43.960><c> hashing</c><00:05:44.319><c> is</c><00:05:44.520><c> used</c><00:05:45.479><c> very</c><00:05:45.800><c> commonly</c><00:05:46.680><c> so</c>

00:05:47.270 --> 00:05:47.280 align:start position:0%
how um hashing is used very commonly so
 

00:05:47.280 --> 00:05:49.670 align:start position:0%
how um hashing is used very commonly so
pretty<00:05:47.479><c> much</c><00:05:47.759><c> every</c><00:05:48.680><c> popular</c><00:05:49.080><c> website</c><00:05:49.479><c> that</c>

00:05:49.670 --> 00:05:49.680 align:start position:0%
pretty much every popular website that
 

00:05:49.680 --> 00:05:54.150 align:start position:0%
pretty much every popular website that
has<00:05:49.880><c> logins</c><00:05:51.039><c> uses</c><00:05:52.039><c> uh</c><00:05:52.199><c> bcrypt</c><00:05:52.919><c> with</c><00:05:53.720><c> per</c><00:05:53.919><c> user</c>

00:05:54.150 --> 00:05:54.160 align:start position:0%
has logins uses uh bcrypt with per user
 

00:05:54.160 --> 00:05:56.390 align:start position:0%
has logins uses uh bcrypt with per user
salts<00:05:54.680><c> like</c><00:05:54.840><c> this</c><00:05:54.960><c> is</c><00:05:55.600><c> a</c><00:05:55.759><c> pretty</c><00:05:56.160><c> pretty</c>

00:05:56.390 --> 00:05:56.400 align:start position:0%
salts like this is a pretty pretty
 

00:05:56.400 --> 00:05:57.749 align:start position:0%
salts like this is a pretty pretty
common

00:05:57.749 --> 00:05:57.759 align:start position:0%
common
 

00:05:57.759 --> 00:06:00.950 align:start position:0%
common
technique<00:05:58.759><c> all</c><00:05:58.880><c> right</c><00:05:59.039><c> this</c><00:05:59.160><c> is</c><00:05:59.240><c> all</c><00:05:59.440><c> you</c>

00:06:00.950 --> 00:06:00.960 align:start position:0%
technique all right this is all you
 

00:06:00.960 --> 00:06:03.390 align:start position:0%
technique all right this is all you
yeah<00:06:01.280><c> and</c><00:06:01.759><c> I</c><00:06:01.840><c> think</c><00:06:02.080><c> hash</c><00:06:02.440><c> functions</c><00:06:02.919><c> are</c><00:06:03.120><c> a</c>

00:06:03.390 --> 00:06:03.400 align:start position:0%
yeah and I think hash functions are a
 

00:06:03.400 --> 00:06:07.230 align:start position:0%
yeah and I think hash functions are a
great<00:06:04.440><c> introduction</c><00:06:05.440><c> um</c><00:06:05.680><c> as</c><00:06:05.800><c> a</c><00:06:06.000><c> cryptographic</c>

00:06:07.230 --> 00:06:07.240 align:start position:0%
great introduction um as a cryptographic
 

00:06:07.240 --> 00:06:11.270 align:start position:0%
great introduction um as a cryptographic
primitive<00:06:08.240><c> because</c><00:06:09.120><c> they</c><00:06:09.280><c> seem</c><00:06:10.160><c> very</c><00:06:10.479><c> simple</c>

00:06:11.270 --> 00:06:11.280 align:start position:0%
primitive because they seem very simple
 

00:06:11.280 --> 00:06:14.350 align:start position:0%
primitive because they seem very simple
the<00:06:11.440><c> API</c><00:06:12.080><c> is</c><00:06:12.280><c> really</c><00:06:12.880><c> straightforward</c><00:06:13.880><c> but</c><00:06:14.160><c> a</c>

00:06:14.350 --> 00:06:14.360 align:start position:0%
the API is really straightforward but a
 

00:06:14.360 --> 00:06:16.870 align:start position:0%
the API is really straightforward but a
cryptographic<00:06:15.199><c> hash</c><00:06:15.599><c> function</c><00:06:16.360><c> actually</c><00:06:16.759><c> has</c>

00:06:16.870 --> 00:06:16.880 align:start position:0%
cryptographic hash function actually has
 

00:06:16.880 --> 00:06:18.790 align:start position:0%
cryptographic hash function actually has
to<00:06:17.080><c> fulfill</c><00:06:17.720><c> a</c><00:06:17.840><c> few</c>

00:06:18.790 --> 00:06:18.800 align:start position:0%
to fulfill a few
 

00:06:18.800 --> 00:06:22.670 align:start position:0%
to fulfill a few
properties<00:06:19.800><c> um</c><00:06:20.400><c> so</c><00:06:21.400><c> we</c><00:06:21.520><c> won't</c><00:06:21.880><c> go</c><00:06:22.160><c> over</c><00:06:22.479><c> them</c>

00:06:22.670 --> 00:06:22.680 align:start position:0%
properties um so we won't go over them
 

00:06:22.680 --> 00:06:25.710 align:start position:0%
properties um so we won't go over them
in<00:06:23.000><c> detail</c><00:06:24.000><c> but</c>

00:06:25.710 --> 00:06:25.720 align:start position:0%
in detail but
 

00:06:25.720 --> 00:06:29.110 align:start position:0%
in detail but
um<00:06:26.720><c> I</c><00:06:26.800><c> think</c><00:06:27.039><c> I</c><00:06:27.280><c> put</c><00:06:27.599><c> this</c><00:06:27.759><c> in</c><00:06:28.000><c> to</c><00:06:28.319><c> highlight</c>

00:06:29.110 --> 00:06:29.120 align:start position:0%
um I think I put this in to highlight
 

00:06:29.120 --> 00:06:31.950 align:start position:0%
um I think I put this in to highlight
also<00:06:29.759><c> that</c><00:06:30.080><c> there</c><00:06:30.319><c> exist</c><00:06:30.919><c> non-</c><00:06:31.280><c> cryptographic</c>

00:06:31.950 --> 00:06:31.960 align:start position:0%
also that there exist non- cryptographic
 

00:06:31.960 --> 00:06:35.390 align:start position:0%
also that there exist non- cryptographic
hash<00:06:32.199><c> functions</c><00:06:33.000><c> so</c><00:06:34.000><c> um</c><00:06:34.240><c> that</c><00:06:34.400><c> are</c><00:06:34.840><c> way</c><00:06:35.039><c> more</c>

00:06:35.390 --> 00:06:35.400 align:start position:0%
hash functions so um that are way more
 

00:06:35.400 --> 00:06:37.350 align:start position:0%
hash functions so um that are way more
efficient<00:06:36.240><c> than</c><00:06:36.440><c> cryptographic</c><00:06:37.120><c> hash</c>

00:06:37.350 --> 00:06:37.360 align:start position:0%
efficient than cryptographic hash
 

00:06:37.360 --> 00:06:40.189 align:start position:0%
efficient than cryptographic hash
functions<00:06:38.120><c> and</c><00:06:38.319><c> that</c><00:06:38.440><c> are</c><00:06:38.639><c> suitable</c>

00:06:40.189 --> 00:06:40.199 align:start position:0%
functions and that are suitable
 

00:06:40.199 --> 00:06:44.029 align:start position:0%
functions and that are suitable
for<00:06:41.199><c> um</c><00:06:41.720><c> use</c><00:06:42.080><c> cases</c><00:06:42.400><c> such</c><00:06:42.560><c> as</c><00:06:42.800><c> hash</c><00:06:43.080><c> tables</c>

00:06:44.029 --> 00:06:44.039 align:start position:0%
for um use cases such as hash tables
 

00:06:44.039 --> 00:06:47.830 align:start position:0%
for um use cases such as hash tables
which<00:06:44.199><c> are</c><00:06:44.400><c> not</c><00:06:45.039><c> um</c><00:06:45.960><c> sort</c><00:06:46.199><c> of</c><00:06:46.479><c> high</c><00:06:46.840><c> security</c>

00:06:47.830 --> 00:06:47.840 align:start position:0%
which are not um sort of high security
 

00:06:47.840 --> 00:06:50.909 align:start position:0%
which are not um sort of high security
so<00:06:48.080><c> in</c><00:06:48.280><c> hash</c><00:06:48.599><c> tables</c><00:06:49.400><c> for</c><00:06:49.639><c> instance</c><00:06:50.440><c> we</c><00:06:50.599><c> don't</c>

00:06:50.909 --> 00:06:50.919 align:start position:0%
so in hash tables for instance we don't
 

00:06:50.919 --> 00:06:53.270 align:start position:0%
so in hash tables for instance we don't
need<00:06:51.800><c> um</c><00:06:52.000><c> the</c><00:06:52.199><c> Collision</c><00:06:52.720><c> resistance</c>

00:06:53.270 --> 00:06:53.280 align:start position:0%
need um the Collision resistance
 

00:06:53.280 --> 00:06:56.869 align:start position:0%
need um the Collision resistance
property<00:06:53.840><c> in</c><00:06:54.000><c> fact</c><00:06:54.199><c> in</c><00:06:54.400><c> hash</c><00:06:54.800><c> tables</c><00:06:55.800><c> we</c><00:06:56.039><c> have</c>

00:06:56.869 --> 00:06:56.879 align:start position:0%
property in fact in hash tables we have
 

00:06:56.879 --> 00:07:00.749 align:start position:0%
property in fact in hash tables we have
many<00:06:57.879><c> um</c><00:06:58.160><c> techniques</c><00:06:58.599><c> to</c><00:06:59.000><c> handle</c><00:06:59.599><c> collisions</c>

00:07:00.749 --> 00:07:00.759 align:start position:0%
many um techniques to handle collisions
 

00:07:00.759 --> 00:07:07.110 align:start position:0%
many um techniques to handle collisions
buckets<00:07:01.759><c> um</c><00:07:02.840><c> so</c><00:07:03.840><c> and</c><00:07:04.479><c> at</c><00:07:04.639><c> the</c><00:07:04.800><c> same</c><00:07:05.160><c> time</c><00:07:06.120><c> um</c>

00:07:07.110 --> 00:07:07.120 align:start position:0%
buckets um so and at the same time um
 

00:07:07.120 --> 00:07:08.950 align:start position:0%
buckets um so and at the same time um
cryptographic<00:07:07.960><c> security</c><00:07:08.440><c> of</c><00:07:08.560><c> a</c><00:07:08.680><c> hash</c>

00:07:08.950 --> 00:07:08.960 align:start position:0%
cryptographic security of a hash
 

00:07:08.960 --> 00:07:12.629 align:start position:0%
cryptographic security of a hash
function<00:07:09.479><c> is</c><00:07:10.319><c> I</c><00:07:10.400><c> think</c><00:07:10.599><c> literally</c><00:07:11.199><c> defined</c><00:07:11.759><c> as</c>

00:07:12.629 --> 00:07:12.639 align:start position:0%
function is I think literally defined as
 

00:07:12.639 --> 00:07:15.749 align:start position:0%
function is I think literally defined as
um<00:07:13.479><c> for</c><00:07:13.960><c> how</c><00:07:14.199><c> long</c><00:07:14.560><c> has</c><00:07:14.720><c> this</c><00:07:14.919><c> hash</c><00:07:15.199><c> function</c>

00:07:15.749 --> 00:07:15.759 align:start position:0%
um for how long has this hash function
 

00:07:15.759 --> 00:07:20.350 align:start position:0%
um for how long has this hash function
remained<00:07:16.039><c> unbroken</c><00:07:16.680><c> for</c><00:07:17.680><c> um</c><00:07:18.479><c> and</c><00:07:19.080><c> the</c><00:07:20.039><c> that's</c>

00:07:20.350 --> 00:07:20.360 align:start position:0%
remained unbroken for um and the that's
 

00:07:20.360 --> 00:07:22.670 align:start position:0%
remained unbroken for um and the that's
that's<00:07:20.520><c> where</c><00:07:20.720><c> the</c><00:07:20.919><c> art</c><00:07:21.639><c> of</c><00:07:21.840><c> cryptography</c>

00:07:22.670 --> 00:07:22.680 align:start position:0%
that's where the art of cryptography
 

00:07:22.680 --> 00:07:25.909 align:start position:0%
that's where the art of cryptography
comes<00:07:22.960><c> in</c><00:07:23.800><c> um</c><00:07:24.000><c> Crypt</c><00:07:24.440><c> analysis</c><00:07:25.120><c> security</c>

00:07:25.909 --> 00:07:25.919 align:start position:0%
comes in um Crypt analysis security
 

00:07:25.919 --> 00:07:29.629 align:start position:0%
comes in um Crypt analysis security
analysis<00:07:26.919><c> um</c><00:07:27.479><c> and</c><00:07:28.160><c> reasoning</c><00:07:28.800><c> about</c><00:07:29.280><c> the</c>

00:07:29.629 --> 00:07:29.639 align:start position:0%
analysis um and reasoning about the
 

00:07:29.639 --> 00:07:31.830 align:start position:0%
analysis um and reasoning about the
cryptographic<00:07:30.400><c> security</c><00:07:31.199><c> of</c><00:07:31.360><c> a</c><00:07:31.479><c> certain</c>

00:07:31.830 --> 00:07:31.840 align:start position:0%
cryptographic security of a certain
 

00:07:31.840 --> 00:07:34.670 align:start position:0%
cryptographic security of a certain
primitive<00:07:32.639><c> so</c><00:07:33.400><c> yeah</c><00:07:33.639><c> hash</c><00:07:33.919><c> functions</c><00:07:34.520><c> we</c>

00:07:34.670 --> 00:07:34.680 align:start position:0%
primitive so yeah hash functions we
 

00:07:34.680 --> 00:07:37.309 align:start position:0%
primitive so yeah hash functions we
chose<00:07:35.080><c> to</c><00:07:35.720><c> as</c><00:07:35.840><c> an</c><00:07:36.039><c> introductory</c>

00:07:37.309 --> 00:07:37.319 align:start position:0%
chose to as an introductory
 

00:07:37.319 --> 00:07:41.230 align:start position:0%
chose to as an introductory
primitive<00:07:38.319><c> um</c><00:07:38.639><c> just</c><00:07:38.759><c> to</c><00:07:38.960><c> give</c><00:07:39.080><c> you</c><00:07:39.240><c> a</c><00:07:39.400><c> taste</c><00:07:40.240><c> of</c>

00:07:41.230 --> 00:07:41.240 align:start position:0%
primitive um just to give you a taste of
 

00:07:41.240 --> 00:07:43.830 align:start position:0%
primitive um just to give you a taste of
what<00:07:41.440><c> they</c><00:07:41.560><c> can</c><00:07:41.720><c> be</c><00:07:41.879><c> used</c><00:07:42.160><c> for</c><00:07:42.960><c> um</c><00:07:43.479><c> how</c><00:07:43.639><c> we</c>

00:07:43.830 --> 00:07:43.840 align:start position:0%
what they can be used for um how we
 

00:07:43.840 --> 00:07:46.710 align:start position:0%
what they can be used for um how we
reason<00:07:44.280><c> about</c><00:07:44.560><c> them</c>

00:07:46.710 --> 00:07:46.720 align:start position:0%
reason about them
 

00:07:46.720 --> 00:07:50.629 align:start position:0%
reason about them
um<00:07:47.720><c> yeah</c><00:07:48.280><c> another</c><00:07:49.280><c> very</c><00:07:49.560><c> common</c><00:07:49.840><c> use</c><00:07:50.199><c> case</c><00:07:50.479><c> is</c>

00:07:50.629 --> 00:07:50.639 align:start position:0%
um yeah another very common use case is
 

00:07:50.639 --> 00:07:52.710 align:start position:0%
um yeah another very common use case is
in<00:07:50.879><c> Merkel</c><00:07:51.360><c> trees</c><00:07:51.720><c> I'm</c><00:07:51.800><c> sure</c><00:07:52.039><c> we're</c><00:07:52.280><c> all</c>

00:07:52.710 --> 00:07:52.720 align:start position:0%
in Merkel trees I'm sure we're all
 

00:07:52.720 --> 00:07:55.790 align:start position:0%
in Merkel trees I'm sure we're all
familiar<00:07:53.720><c> um</c><00:07:53.840><c> it's</c><00:07:54.000><c> used</c><00:07:54.280><c> in</c><00:07:54.560><c> git</c>

00:07:55.790 --> 00:07:55.800 align:start position:0%
familiar um it's used in git
 

00:07:55.800 --> 00:08:00.430 align:start position:0%
familiar um it's used in git
to<00:07:56.800><c> produce</c><00:07:57.240><c> unique</c><00:07:57.680><c> digests</c><00:07:58.520><c> of</c><00:07:58.720><c> a</c>

00:08:00.430 --> 00:08:00.440 align:start position:0%
to produce unique digests of a
 

00:08:00.440 --> 00:08:05.110 align:start position:0%
to produce unique digests of a
repository<00:08:01.440><c> um</c><00:08:01.800><c> it's</c><00:08:02.039><c> used</c><00:08:02.800><c> in</c><00:08:04.120><c> blockchains</c>

00:08:05.110 --> 00:08:05.120 align:start position:0%
repository um it's used in blockchains
 

00:08:05.120 --> 00:08:06.270 align:start position:0%
repository um it's used in blockchains
um

00:08:06.270 --> 00:08:06.280 align:start position:0%
um
 

00:08:06.280 --> 00:08:09.710 align:start position:0%
um
to<00:08:07.280><c> produce</c><00:08:07.840><c> L</c><00:08:08.120><c> cryptographically</c><00:08:09.000><c> linked</c>

00:08:09.710 --> 00:08:09.720 align:start position:0%
to produce L cryptographically linked
 

00:08:09.720 --> 00:08:12.790 align:start position:0%
to produce L cryptographically linked
headers<00:08:10.280><c> from</c><00:08:10.520><c> block</c><00:08:10.800><c> to</c><00:08:11.120><c> block</c><00:08:12.120><c> um</c><00:08:12.599><c> for</c>

00:08:12.790 --> 00:08:12.800 align:start position:0%
headers from block to block um for
 

00:08:12.800 --> 00:08:14.830 align:start position:0%
headers from block to block um for
instance<00:08:13.120><c> in</c><00:08:13.240><c> the</c><00:08:13.319><c> ethereum</c>

00:08:14.830 --> 00:08:14.840 align:start position:0%
instance in the ethereum
 

00:08:14.840 --> 00:08:16.790 align:start position:0%
instance in the ethereum
state

00:08:16.790 --> 00:08:16.800 align:start position:0%
state
 

00:08:16.800 --> 00:08:19.510 align:start position:0%
state
yeah<00:08:17.800><c> all</c><00:08:17.960><c> right</c><00:08:18.319><c> so</c><00:08:18.800><c> now</c><00:08:18.960><c> we're</c><00:08:19.080><c> going</c><00:08:19.159><c> to</c><00:08:19.319><c> go</c>

00:08:19.510 --> 00:08:19.520 align:start position:0%
yeah all right so now we're going to go
 

00:08:19.520 --> 00:08:22.149 align:start position:0%
yeah all right so now we're going to go
over<00:08:20.400><c> encryption</c><00:08:20.960><c> real</c><00:08:21.159><c> quick</c><00:08:21.639><c> um</c><00:08:21.759><c> so</c><00:08:21.919><c> one</c><00:08:22.039><c> of</c>

00:08:22.149 --> 00:08:22.159 align:start position:0%
over encryption real quick um so one of
 

00:08:22.159 --> 00:08:24.189 align:start position:0%
over encryption real quick um so one of
the<00:08:22.319><c> original</c><00:08:22.919><c> like</c><00:08:23.120><c> encryption</c><00:08:23.720><c> algorithms</c>

00:08:24.189 --> 00:08:24.199 align:start position:0%
the original like encryption algorithms
 

00:08:24.199 --> 00:08:25.510 align:start position:0%
the original like encryption algorithms
that<00:08:24.319><c> were</c><00:08:24.440><c> used</c><00:08:24.720><c> it's</c><00:08:24.879><c> called</c><00:08:25.000><c> a</c><00:08:25.120><c> Caesar</c>

00:08:25.510 --> 00:08:25.520 align:start position:0%
that were used it's called a Caesar
 

00:08:25.520 --> 00:08:28.270 align:start position:0%
that were used it's called a Caesar
Cipher<00:08:26.400><c> and</c><00:08:26.560><c> it's</c><00:08:26.960><c> terrible</c><00:08:27.960><c> um</c><00:08:28.120><c> but</c>

00:08:28.270 --> 00:08:28.280 align:start position:0%
Cipher and it's terrible um but
 

00:08:28.280 --> 00:08:30.230 align:start position:0%
Cipher and it's terrible um but
basically<00:08:28.800><c> you</c><00:08:29.000><c> take</c><00:08:29.280><c> that</c><00:08:29.560><c> alphabet</c><00:08:30.000><c> and</c><00:08:30.120><c> you</c>

00:08:30.230 --> 00:08:30.240 align:start position:0%
basically you take that alphabet and you
 

00:08:30.240 --> 00:08:34.029 align:start position:0%
basically you take that alphabet and you
shift<00:08:30.599><c> it</c><00:08:31.120><c> by</c><00:08:31.720><c> you</c><00:08:31.879><c> know</c><00:08:32.080><c> some</c><00:08:32.560><c> number</c><00:08:33.560><c> and</c>

00:08:34.029 --> 00:08:34.039 align:start position:0%
shift it by you know some number and
 

00:08:34.039 --> 00:08:35.269 align:start position:0%
shift it by you know some number and
let's<00:08:34.200><c> say</c><00:08:34.320><c> if</c><00:08:34.399><c> we</c><00:08:34.479><c> want</c><00:08:34.599><c> to</c><00:08:34.719><c> write</c><00:08:34.919><c> hello</c>

00:08:35.269 --> 00:08:35.279 align:start position:0%
let's say if we want to write hello
 

00:08:35.279 --> 00:08:37.070 align:start position:0%
let's say if we want to write hello
you're<00:08:35.399><c> going</c><00:08:35.519><c> to</c><00:08:35.599><c> identify</c><00:08:36.159><c> those</c><00:08:36.560><c> letters</c>

00:08:37.070 --> 00:08:37.080 align:start position:0%
you're going to identify those letters
 

00:08:37.080 --> 00:08:38.509 align:start position:0%
you're going to identify those letters
and<00:08:37.200><c> then</c><00:08:37.360><c> basically</c><00:08:37.760><c> just</c>

00:08:38.509 --> 00:08:38.519 align:start position:0%
and then basically just
 

00:08:38.519 --> 00:08:43.750 align:start position:0%
and then basically just
translate<00:08:39.519><c> to</c><00:08:40.440><c> the</c><00:08:40.760><c> new</c><00:08:41.039><c> code</c><00:08:41.800><c> right</c><00:08:42.680><c> um</c><00:08:43.640><c> and</c>

00:08:43.750 --> 00:08:43.760 align:start position:0%
translate to the new code right um and
 

00:08:43.760 --> 00:08:44.990 align:start position:0%
translate to the new code right um and
if<00:08:43.839><c> you</c><00:08:43.919><c> want</c><00:08:44.039><c> to</c><00:08:44.159><c> reverse</c><00:08:44.480><c> it</c><00:08:44.600><c> you</c><00:08:44.720><c> basically</c>

00:08:44.990 --> 00:08:45.000 align:start position:0%
if you want to reverse it you basically
 

00:08:45.000 --> 00:08:46.430 align:start position:0%
if you want to reverse it you basically
just<00:08:45.080><c> shift</c><00:08:45.320><c> it</c><00:08:45.480><c> the</c><00:08:45.600><c> other</c><00:08:45.800><c> way</c><00:08:46.120><c> and</c><00:08:46.240><c> then</c><00:08:46.320><c> you</c>

00:08:46.430 --> 00:08:46.440 align:start position:0%
just shift it the other way and then you
 

00:08:46.440 --> 00:08:48.750 align:start position:0%
just shift it the other way and then you
get<00:08:46.600><c> the</c><00:08:46.760><c> original</c><00:08:47.160><c> message</c><00:08:47.519><c> back</c><00:08:47.680><c> out</c><00:08:48.560><c> uh</c>

00:08:48.750 --> 00:08:48.760 align:start position:0%
get the original message back out uh
 

00:08:48.760 --> 00:08:50.230 align:start position:0%
get the original message back out uh
this<00:08:48.920><c> is</c>

00:08:50.230 --> 00:08:50.240 align:start position:0%
this is
 

00:08:50.240 --> 00:08:53.070 align:start position:0%
this is
4.6<00:08:51.240><c> bits</c><00:08:51.600><c> of</c><00:08:51.760><c> security</c><00:08:52.160><c> so</c><00:08:52.360><c> basically</c><00:08:52.640><c> 26</c>

00:08:53.070 --> 00:08:53.080 align:start position:0%
4.6 bits of security so basically 26
 

00:08:53.080 --> 00:08:57.910 align:start position:0%
4.6 bits of security so basically 26
letters<00:08:53.920><c> minus</c><00:08:54.480><c> one</c><00:08:55.480><c> and</c><00:08:56.120><c> it's</c><00:08:56.600><c> terrible</c><00:08:57.519><c> um</c>

00:08:57.910 --> 00:08:57.920 align:start position:0%
letters minus one and it's terrible um
 

00:08:57.920 --> 00:09:00.750 align:start position:0%
letters minus one and it's terrible um
we<00:08:58.040><c> have</c><00:08:58.360><c> much</c><00:08:58.640><c> much</c><00:08:58.839><c> better</c><00:08:59.720><c> techniques</c>

00:09:00.750 --> 00:09:00.760 align:start position:0%
we have much much better techniques
 

00:09:00.760 --> 00:09:03.949 align:start position:0%
we have much much better techniques
nowadays<00:09:01.760><c> um</c><00:09:02.120><c> so</c><00:09:02.399><c> symmetric</c><00:09:02.839><c> key</c><00:09:03.040><c> encryption</c>

00:09:03.949 --> 00:09:03.959 align:start position:0%
nowadays um so symmetric key encryption
 

00:09:03.959 --> 00:09:04.990 align:start position:0%
nowadays um so symmetric key encryption
which<00:09:04.040><c> is</c><00:09:04.160><c> basically</c><00:09:04.480><c> what</c><00:09:04.720><c> you</c><00:09:04.800><c> know</c><00:09:04.920><c> a</c>

00:09:04.990 --> 00:09:05.000 align:start position:0%
which is basically what you know a
 

00:09:05.000 --> 00:09:07.310 align:start position:0%
which is basically what you know a
Caesar<00:09:05.320><c> Cipher</c><00:09:05.640><c> is</c><00:09:05.760><c> a</c><00:09:06.120><c> type</c><00:09:06.279><c> of</c><00:09:06.399><c> symmetric</c><00:09:06.800><c> key</c>

00:09:07.310 --> 00:09:07.320 align:start position:0%
Caesar Cipher is a type of symmetric key
 

00:09:07.320 --> 00:09:10.310 align:start position:0%
Caesar Cipher is a type of symmetric key
encryption<00:09:08.320><c> um</c><00:09:09.040><c> but</c><00:09:09.200><c> it's</c><00:09:09.399><c> when</c><00:09:09.880><c> all</c><00:09:10.120><c> the</c>

00:09:10.310 --> 00:09:10.320 align:start position:0%
encryption um but it's when all the
 

00:09:10.320 --> 00:09:12.069 align:start position:0%
encryption um but it's when all the
parties<00:09:10.800><c> that</c><00:09:10.920><c> are</c><00:09:11.079><c> participating</c><00:09:11.800><c> have</c><00:09:11.959><c> the</c>

00:09:12.069 --> 00:09:12.079 align:start position:0%
parties that are participating have the
 

00:09:12.079 --> 00:09:15.269 align:start position:0%
parties that are participating have the
same<00:09:12.440><c> key</c><00:09:13.079><c> right</c><00:09:13.920><c> so</c><00:09:14.120><c> use</c><00:09:14.320><c> the</c><00:09:14.480><c> same</c><00:09:14.720><c> key</c><00:09:14.959><c> to</c>

00:09:15.269 --> 00:09:15.279 align:start position:0%
same key right so use the same key to
 

00:09:15.279 --> 00:09:17.750 align:start position:0%
same key right so use the same key to
encrypt<00:09:15.760><c> and</c><00:09:16.279><c> decrypt</c><00:09:17.279><c> uh</c><00:09:17.399><c> there's</c><00:09:17.600><c> no</c>

00:09:17.750 --> 00:09:17.760 align:start position:0%
encrypt and decrypt uh there's no
 

00:09:17.760 --> 00:09:19.110 align:start position:0%
encrypt and decrypt uh there's no
authentication<00:09:18.399><c> so</c><00:09:18.519><c> you</c><00:09:18.600><c> don't</c><00:09:18.760><c> know</c><00:09:18.920><c> who</c>

00:09:19.110 --> 00:09:19.120 align:start position:0%
authentication so you don't know who
 

00:09:19.120 --> 00:09:21.910 align:start position:0%
authentication so you don't know who
encrypted<00:09:19.519><c> the</c><00:09:19.880><c> message</c><00:09:20.880><c> um</c><00:09:21.279><c> and</c><00:09:21.560><c> basically</c>

00:09:21.910 --> 00:09:21.920 align:start position:0%
encrypted the message um and basically
 

00:09:21.920 --> 00:09:23.790 align:start position:0%
encrypted the message um and basically
anyone<00:09:22.160><c> with</c><00:09:22.279><c> a</c><00:09:22.399><c> key</c><00:09:22.600><c> can</c><00:09:22.720><c> decrypt</c><00:09:23.160><c> it</c><00:09:23.519><c> but</c><00:09:23.680><c> it</c>

00:09:23.790 --> 00:09:23.800 align:start position:0%
anyone with a key can decrypt it but it
 

00:09:23.800 --> 00:09:27.030 align:start position:0%
anyone with a key can decrypt it but it
is<00:09:24.279><c> fast</c><00:09:24.720><c> and</c><00:09:24.800><c> it's</c><00:09:25.000><c> used</c><00:09:25.440><c> very</c><00:09:25.839><c> commonly</c><00:09:26.839><c> with</c>

00:09:27.030 --> 00:09:27.040 align:start position:0%
is fast and it's used very commonly with
 

00:09:27.040 --> 00:09:29.949 align:start position:0%
is fast and it's used very commonly with
like<00:09:27.200><c> data</c><00:09:27.480><c> at</c><00:09:27.720><c> rest</c><00:09:28.240><c> or</c><00:09:28.519><c> TLS</c><00:09:29.519><c> like</c><00:09:29.600><c> that</c><00:09:29.720><c> St</c>

00:09:29.949 --> 00:09:29.959 align:start position:0%
like data at rest or TLS like that St
 

00:09:29.959 --> 00:09:32.190 align:start position:0%
like data at rest or TLS like that St
where<00:09:30.120><c> you</c><00:09:30.200><c> need</c><00:09:30.399><c> like</c><00:09:30.560><c> high</c><00:09:30.959><c> bandwidth</c><00:09:31.959><c> uh</c>

00:09:32.190 --> 00:09:32.200 align:start position:0%
where you need like high bandwidth uh
 

00:09:32.200 --> 00:09:34.550 align:start position:0%
where you need like high bandwidth uh
common<00:09:32.519><c> examples</c><00:09:33.160><c> AES</c><00:09:33.640><c> for</c><00:09:33.800><c> like</c><00:09:33.920><c> an</c><00:09:34.079><c> actual</c>

00:09:34.550 --> 00:09:34.560 align:start position:0%
common examples AES for like an actual
 

00:09:34.560 --> 00:09:39.790 align:start position:0%
common examples AES for like an actual
algorithm<00:09:35.040><c> that's</c>

00:09:39.790 --> 00:09:39.800 align:start position:0%
 
 

00:09:39.800 --> 00:09:43.990 align:start position:0%
 
used<00:09:40.800><c> all</c><00:09:40.920><c> right</c><00:09:41.320><c> so</c><00:09:42.200><c> yeah</c><00:09:42.959><c> secret</c><00:09:43.399><c> key</c><00:09:43.720><c> plain</c>

00:09:43.990 --> 00:09:44.000 align:start position:0%
used all right so yeah secret key plain
 

00:09:44.000 --> 00:09:47.230 align:start position:0%
used all right so yeah secret key plain
text<00:09:44.399><c> go</c><00:09:44.560><c> in</c><00:09:45.480><c> you</c><00:09:45.560><c> get</c><00:09:45.720><c> some</c><00:09:45.880><c> Cipher</c><00:09:46.240><c> text</c><00:09:46.560><c> out</c>

00:09:47.230 --> 00:09:47.240 align:start position:0%
text go in you get some Cipher text out
 

00:09:47.240 --> 00:09:49.150 align:start position:0%
text go in you get some Cipher text out
to<00:09:47.480><c> decrypt</c><00:09:48.040><c> you</c><00:09:48.160><c> put</c><00:09:48.320><c> in</c><00:09:48.440><c> a</c><00:09:48.560><c> secret</c><00:09:48.880><c> key</c><00:09:49.079><c> in</c>

00:09:49.150 --> 00:09:49.160 align:start position:0%
to decrypt you put in a secret key in
 

00:09:49.160 --> 00:09:50.790 align:start position:0%
to decrypt you put in a secret key in
your<00:09:49.279><c> Cipher</c><00:09:49.640><c> text</c><00:09:50.079><c> you</c><00:09:50.160><c> have</c><00:09:50.279><c> a</c><00:09:50.360><c> decrypt</c>

00:09:50.790 --> 00:09:50.800 align:start position:0%
your Cipher text you have a decrypt
 

00:09:50.800 --> 00:09:52.990 align:start position:0%
your Cipher text you have a decrypt
function<00:09:51.720><c> and</c><00:09:51.880><c> then</c><00:09:52.079><c> you</c><00:09:52.320><c> get</c><00:09:52.480><c> your</c><00:09:52.720><c> plain</c>

00:09:52.990 --> 00:09:53.000 align:start position:0%
function and then you get your plain
 

00:09:53.000 --> 00:09:54.269 align:start position:0%
function and then you get your plain
text<00:09:53.240><c> back</c>

00:09:54.269 --> 00:09:54.279 align:start position:0%
text back
 

00:09:54.279 --> 00:09:55.990 align:start position:0%
text back
out<00:09:55.279><c> all</c>

00:09:55.990 --> 00:09:56.000 align:start position:0%
out all
 

00:09:56.000 --> 00:10:01.389 align:start position:0%
out all
right<00:09:57.160><c> um</c><00:09:58.160><c> yeah</c><00:09:58.440><c> and</c><00:09:58.920><c> um</c>

00:10:01.389 --> 00:10:01.399 align:start position:0%
 
 

00:10:01.399 --> 00:10:04.069 align:start position:0%
 
yeah<00:10:01.600><c> so</c><00:10:01.839><c> symmetric</c><00:10:02.399><c> encryption</c><00:10:03.040><c> is</c><00:10:03.240><c> suitable</c>

00:10:04.069 --> 00:10:04.079 align:start position:0%
yeah so symmetric encryption is suitable
 

00:10:04.079 --> 00:10:06.350 align:start position:0%
yeah so symmetric encryption is suitable
for<00:10:04.360><c> when</c><00:10:04.839><c> both</c><00:10:05.160><c> parties</c><00:10:05.640><c> are</c><00:10:05.839><c> able</c><00:10:06.120><c> to</c>

00:10:06.350 --> 00:10:06.360 align:start position:0%
for when both parties are able to
 

00:10:06.360 --> 00:10:08.990 align:start position:0%
for when both parties are able to
establish<00:10:06.959><c> a</c><00:10:07.120><c> common</c><00:10:07.440><c> shared</c><00:10:07.839><c> secret</c><00:10:08.720><c> um</c><00:10:08.880><c> and</c>

00:10:08.990 --> 00:10:09.000 align:start position:0%
establish a common shared secret um and
 

00:10:09.000 --> 00:10:12.230 align:start position:0%
establish a common shared secret um and
to<00:10:09.160><c> use</c><00:10:09.360><c> it</c><00:10:10.079><c> both</c><00:10:10.399><c> to</c><00:10:10.560><c> encrypt</c><00:10:11.040><c> and</c><00:10:11.120><c> to</c><00:10:11.279><c> decrypt</c>

00:10:12.230 --> 00:10:12.240 align:start position:0%
to use it both to encrypt and to decrypt
 

00:10:12.240 --> 00:10:14.509 align:start position:0%
to use it both to encrypt and to decrypt
but<00:10:12.480><c> in</c><00:10:12.680><c> many</c><00:10:12.959><c> use</c><00:10:13.360><c> cases</c><00:10:13.920><c> we</c><00:10:14.079><c> want</c><00:10:14.360><c> the</c>

00:10:14.509 --> 00:10:14.519 align:start position:0%
but in many use cases we want the
 

00:10:14.519 --> 00:10:17.110 align:start position:0%
but in many use cases we want the
ability<00:10:15.040><c> to</c><00:10:15.480><c> say</c><00:10:16.040><c> asynchronously</c><00:10:16.959><c> and</c>

00:10:17.110 --> 00:10:17.120 align:start position:0%
ability to say asynchronously and
 

00:10:17.120 --> 00:10:19.870 align:start position:0%
ability to say asynchronously and
non-interactively<00:10:17.920><c> encrypt</c><00:10:18.839><c> a</c><00:10:19.040><c> message</c><00:10:19.480><c> to</c><00:10:19.640><c> a</c>

00:10:19.870 --> 00:10:19.880 align:start position:0%
non-interactively encrypt a message to a
 

00:10:19.880 --> 00:10:23.150 align:start position:0%
non-interactively encrypt a message to a
recipient<00:10:20.880><c> and</c><00:10:21.000><c> in</c><00:10:21.200><c> this</c><00:10:21.440><c> case</c><00:10:22.000><c> um</c><00:10:22.519><c> asymmetric</c>

00:10:23.150 --> 00:10:23.160 align:start position:0%
recipient and in this case um asymmetric
 

00:10:23.160 --> 00:10:25.509 align:start position:0%
recipient and in this case um asymmetric
encryption<00:10:23.720><c> comes</c><00:10:23.920><c> in</c><00:10:24.120><c> really</c><00:10:24.399><c> handy</c><00:10:25.160><c> because</c>

00:10:25.509 --> 00:10:25.519 align:start position:0%
encryption comes in really handy because
 

00:10:25.519 --> 00:10:27.990 align:start position:0%
encryption comes in really handy because
all<00:10:25.680><c> you</c><00:10:25.839><c> need</c><00:10:26.079><c> to</c><00:10:26.279><c> know</c><00:10:26.959><c> is</c><00:10:27.240><c> the</c><00:10:27.480><c> public</c><00:10:27.760><c> key</c>

00:10:27.990 --> 00:10:28.000 align:start position:0%
all you need to know is the public key
 

00:10:28.000 --> 00:10:30.750 align:start position:0%
all you need to know is the public key
of<00:10:28.120><c> your</c><00:10:28.360><c> recipient</c><00:10:29.399><c> and</c><00:10:29.600><c> they</c><00:10:29.720><c> can</c><00:10:30.120><c> decrypt</c>

00:10:30.750 --> 00:10:30.760 align:start position:0%
of your recipient and they can decrypt
 

00:10:30.760 --> 00:10:32.550 align:start position:0%
of your recipient and they can decrypt
the<00:10:30.920><c> message</c><00:10:31.360><c> at</c><00:10:31.600><c> any</c><00:10:31.839><c> time</c><00:10:32.079><c> they</c><00:10:32.200><c> want</c>

00:10:32.550 --> 00:10:32.560 align:start position:0%
the message at any time they want
 

00:10:32.560 --> 00:10:36.350 align:start position:0%
the message at any time they want
without<00:10:33.279><c> um</c><00:10:34.279><c> without</c><00:10:34.519><c> your</c><00:10:34.720><c> help</c><00:10:35.440><c> so</c><00:10:35.959><c> we</c><00:10:36.160><c> put</c>

00:10:36.350 --> 00:10:36.360 align:start position:0%
without um without your help so we put
 

00:10:36.360 --> 00:10:39.230 align:start position:0%
without um without your help so we put
the<00:10:36.519><c> API</c><00:10:37.040><c> here</c><00:10:37.480><c> I</c><00:10:37.600><c> think</c><00:10:38.120><c> what's</c><00:10:38.600><c> important</c><00:10:39.040><c> to</c>

00:10:39.230 --> 00:10:39.240 align:start position:0%
the API here I think what's important to
 

00:10:39.240 --> 00:10:42.230 align:start position:0%
the API here I think what's important to
note<00:10:39.800><c> that's</c><00:10:40.279><c> different</c><00:10:41.279><c> um</c><00:10:41.480><c> from</c><00:10:41.720><c> symmetric</c>

00:10:42.230 --> 00:10:42.240 align:start position:0%
note that's different um from symmetric
 

00:10:42.240 --> 00:10:45.629 align:start position:0%
note that's different um from symmetric
encryption<00:10:43.240><c> is</c><00:10:43.480><c> that</c><00:10:43.920><c> the</c><00:10:44.880><c> encryption</c><00:10:45.440><c> and</c>

00:10:45.629 --> 00:10:45.639 align:start position:0%
encryption is that the encryption and
 

00:10:45.639 --> 00:10:49.550 align:start position:0%
encryption is that the encryption and
decryption<00:10:46.200><c> keys</c><00:10:46.639><c> are</c><00:10:47.040><c> different</c><00:10:47.959><c> and</c><00:10:48.160><c> the</c><00:10:48.480><c> in</c>

00:10:49.550 --> 00:10:49.560 align:start position:0%
decryption keys are different and the in
 

00:10:49.560 --> 00:10:53.790 align:start position:0%
decryption keys are different and the in
particular<00:10:50.560><c> um</c><00:10:50.880><c> when</c><00:10:51.079><c> we</c><00:10:51.560><c> encrypt</c><00:10:52.560><c> um</c><00:10:53.000><c> we</c><00:10:53.200><c> have</c>

00:10:53.790 --> 00:10:53.800 align:start position:0%
particular um when we encrypt um we have
 

00:10:53.800 --> 00:10:55.790 align:start position:0%
particular um when we encrypt um we have
when<00:10:53.920><c> we</c><00:10:54.120><c> encrypt</c><00:10:54.800><c> we</c><00:10:54.959><c> don't</c><00:10:55.200><c> need</c><00:10:55.519><c> any</c>

00:10:55.790 --> 00:10:55.800 align:start position:0%
when we encrypt we don't need any
 

00:10:55.800 --> 00:10:58.310 align:start position:0%
when we encrypt we don't need any
privileged<00:10:56.560><c> information</c><00:10:57.560><c> um</c><00:10:57.800><c> and</c><00:10:58.000><c> when</c><00:10:58.160><c> we</c>

00:10:58.310 --> 00:10:58.320 align:start position:0%
privileged information um and when we
 

00:10:58.320 --> 00:11:00.750 align:start position:0%
privileged information um and when we
decrypt<00:10:58.920><c> we</c><00:10:59.040><c> need</c><00:10:59.560><c> a</c><00:10:59.760><c> private</c><00:11:00.120><c> key</c><00:11:00.440><c> that</c>

00:11:00.750 --> 00:11:00.760 align:start position:0%
decrypt we need a private key that
 

00:11:00.760 --> 00:11:02.990 align:start position:0%
decrypt we need a private key that
should<00:11:01.120><c> absolutely</c><00:11:01.959><c> stay</c>

00:11:02.990 --> 00:11:03.000 align:start position:0%
should absolutely stay
 

00:11:03.000 --> 00:11:07.790 align:start position:0%
should absolutely stay
secret<00:11:04.040><c> um</c><00:11:05.040><c> so</c><00:11:05.839><c> a</c><00:11:06.200><c> very</c><00:11:06.560><c> closely</c><00:11:07.120><c> related</c>

00:11:07.790 --> 00:11:07.800 align:start position:0%
secret um so a very closely related
 

00:11:07.800 --> 00:11:11.190 align:start position:0%
secret um so a very closely related
primitive<00:11:08.519><c> in</c><00:11:08.720><c> public</c><00:11:09.000><c> key</c><00:11:09.320><c> cryptography</c><00:11:10.320><c> is</c>

00:11:11.190 --> 00:11:11.200 align:start position:0%
primitive in public key cryptography is
 

00:11:11.200 --> 00:11:13.150 align:start position:0%
primitive in public key cryptography is
signatures<00:11:12.200><c> and</c><00:11:12.320><c> you</c><00:11:12.440><c> can</c><00:11:12.639><c> think</c><00:11:12.839><c> of</c><00:11:12.959><c> a</c>

00:11:13.150 --> 00:11:13.160 align:start position:0%
signatures and you can think of a
 

00:11:13.160 --> 00:11:17.030 align:start position:0%
signatures and you can think of a
signature<00:11:13.800><c> as</c><00:11:14.040><c> a</c><00:11:14.160><c> sort</c><00:11:14.399><c> of</c><00:11:14.680><c> Watermark</c><00:11:15.880><c> so</c><00:11:16.880><c> the</c>

00:11:17.030 --> 00:11:17.040 align:start position:0%
signature as a sort of Watermark so the
 

00:11:17.040 --> 00:11:20.910 align:start position:0%
signature as a sort of Watermark so the
API<00:11:17.519><c> here</c><00:11:17.760><c> changes</c><00:11:18.880><c> slightly</c><00:11:19.880><c> um</c><00:11:20.279><c> in</c><00:11:20.519><c> this</c>

00:11:20.910 --> 00:11:20.920 align:start position:0%
API here changes slightly um in this
 

00:11:20.920 --> 00:11:24.550 align:start position:0%
API here changes slightly um in this
case<00:11:21.920><c> um</c><00:11:22.279><c> we're</c><00:11:22.920><c> using</c><00:11:23.399><c> a</c><00:11:23.639><c> private</c><00:11:24.000><c> key</c><00:11:24.360><c> to</c>

00:11:24.550 --> 00:11:24.560 align:start position:0%
case um we're using a private key to
 

00:11:24.560 --> 00:11:27.829 align:start position:0%
case um we're using a private key to
sign<00:11:24.800><c> a</c><00:11:25.200><c> message</c><00:11:26.200><c> and</c><00:11:26.720><c> using</c><00:11:27.079><c> the</c><00:11:27.279><c> public</c><00:11:27.600><c> key</c>

00:11:27.829 --> 00:11:27.839 align:start position:0%
sign a message and using the public key
 

00:11:27.839 --> 00:11:30.629 align:start position:0%
sign a message and using the public key
to<00:11:28.120><c> verify</c><00:11:29.079><c> um</c><00:11:29.399><c> um</c><00:11:29.680><c> that</c><00:11:29.839><c> it</c><00:11:29.959><c> was</c><00:11:30.160><c> indeed</c>

00:11:30.629 --> 00:11:30.639 align:start position:0%
to verify um um that it was indeed
 

00:11:30.639 --> 00:11:34.870 align:start position:0%
to verify um um that it was indeed
signed<00:11:31.200><c> by</c><00:11:31.639><c> who</c><00:11:31.839><c> we</c><00:11:32.320><c> expected</c><00:11:33.320><c> so</c><00:11:34.279><c> it's</c><00:11:34.600><c> really</c>

00:11:34.870 --> 00:11:34.880 align:start position:0%
signed by who we expected so it's really
 

00:11:34.880 --> 00:11:37.710 align:start position:0%
signed by who we expected so it's really
interesting<00:11:35.800><c> um</c><00:11:35.959><c> for</c><00:11:36.200><c> example</c><00:11:36.800><c> like</c><00:11:37.279><c> the</c><00:11:37.440><c> same</c>

00:11:37.710 --> 00:11:37.720 align:start position:0%
interesting um for example like the same
 

00:11:37.720 --> 00:11:41.550 align:start position:0%
interesting um for example like the same
crypto<00:11:38.160><c> system</c><00:11:38.639><c> RSA</c><00:11:39.639><c> can</c><00:11:39.839><c> be</c><00:11:40.000><c> used</c><00:11:40.360><c> for</c><00:11:40.760><c> both</c>

00:11:41.550 --> 00:11:41.560 align:start position:0%
crypto system RSA can be used for both
 

00:11:41.560 --> 00:11:44.750 align:start position:0%
crypto system RSA can be used for both
encryption<00:11:42.079><c> and</c><00:11:42.399><c> signing</c><00:11:43.399><c> and</c><00:11:43.800><c> often</c><00:11:44.160><c> times</c>

00:11:44.750 --> 00:11:44.760 align:start position:0%
encryption and signing and often times
 

00:11:44.760 --> 00:11:47.590 align:start position:0%
encryption and signing and often times
well<00:11:45.040><c> and</c><00:11:45.200><c> it</c><00:11:45.399><c> it</c><00:11:45.560><c> just</c><00:11:45.839><c> involves</c><00:11:46.839><c> flipping</c>

00:11:47.590 --> 00:11:47.600 align:start position:0%
well and it it just involves flipping
 

00:11:47.600 --> 00:11:52.990 align:start position:0%
well and it it just involves flipping
actually<00:11:48.079><c> which</c><00:11:48.320><c> key</c><00:11:48.600><c> you</c><00:11:49.160><c> use</c><00:11:50.399><c> um</c><00:11:51.399><c> so</c><00:11:52.360><c> I</c><00:11:52.519><c> think</c>

00:11:52.990 --> 00:11:53.000 align:start position:0%
actually which key you use um so I think
 

00:11:53.000 --> 00:11:56.750 align:start position:0%
actually which key you use um so I think
something<00:11:53.399><c> to</c><00:11:53.600><c> note</c><00:11:53.959><c> here</c><00:11:54.600><c> is</c><00:11:55.000><c> that</c><00:11:56.000><c> um</c><00:11:56.519><c> let's</c>

00:11:56.750 --> 00:11:56.760 align:start position:0%
something to note here is that um let's
 

00:11:56.760 --> 00:12:01.790 align:start position:0%
something to note here is that um let's
say<00:11:56.959><c> in</c><00:11:57.160><c> RSA</c><00:11:57.800><c> to</c><00:11:58.160><c> verify</c><00:11:59.600><c> um</c><00:12:00.440><c> a</c><00:12:00.800><c> signature</c>

00:12:01.790 --> 00:12:01.800 align:start position:0%
say in RSA to verify um a signature
 

00:12:01.800 --> 00:12:04.389 align:start position:0%
say in RSA to verify um a signature
you're<00:12:02.200><c> actually</c><00:12:02.560><c> you</c><00:12:02.760><c> actually</c><00:12:03.120><c> decrypt</c><00:12:03.680><c> it</c>

00:12:04.389 --> 00:12:04.399 align:start position:0%
you're actually you actually decrypt it
 

00:12:04.399 --> 00:12:09.310 align:start position:0%
you're actually you actually decrypt it
um<00:12:04.839><c> using</c><00:12:05.279><c> one</c><00:12:05.480><c> of</c><00:12:05.639><c> the</c><00:12:05.760><c> RS</c><00:12:06.639><c> a</c><00:12:07.000><c> key</c><00:12:07.440><c> Pairs</c><00:12:08.440><c> and</c>

00:12:09.310 --> 00:12:09.320 align:start position:0%
um using one of the RS a key Pairs and
 

00:12:09.320 --> 00:12:11.910 align:start position:0%
um using one of the RS a key Pairs and
um<00:12:09.600><c> this</c><00:12:09.760><c> means</c><00:12:10.120><c> that</c><00:12:10.440><c> anyone</c><00:12:11.240><c> can</c><00:12:11.440><c> read</c><00:12:11.760><c> the</c>

00:12:11.910 --> 00:12:11.920 align:start position:0%
um this means that anyone can read the
 

00:12:11.920 --> 00:12:14.389 align:start position:0%
um this means that anyone can read the
signed<00:12:12.279><c> message</c><00:12:12.800><c> so</c><00:12:13.079><c> it's</c><00:12:13.399><c> not</c><00:12:13.760><c> this</c><00:12:14.000><c> it</c><00:12:14.160><c> does</c>

00:12:14.389 --> 00:12:14.399 align:start position:0%
signed message so it's not this it does
 

00:12:14.399 --> 00:12:17.990 align:start position:0%
signed message so it's not this it does
not<00:12:14.680><c> give</c><00:12:14.800><c> you</c><00:12:14.959><c> the</c><00:12:15.199><c> same</c><00:12:16.120><c> um</c><00:12:16.320><c> properties</c><00:12:17.240><c> of</c>

00:12:17.990 --> 00:12:18.000 align:start position:0%
not give you the same um properties of
 

00:12:18.000 --> 00:12:20.910 align:start position:0%
not give you the same um properties of
confidentiality<00:12:19.000><c> but</c><00:12:19.240><c> it</c><00:12:19.360><c> does</c><00:12:19.680><c> give</c><00:12:19.800><c> you</c><00:12:20.680><c> uh</c>

00:12:20.910 --> 00:12:20.920 align:start position:0%
confidentiality but it does give you uh
 

00:12:20.920 --> 00:12:27.230 align:start position:0%
confidentiality but it does give you uh
authentic

00:12:27.230 --> 00:12:27.240 align:start position:0%
 
 

00:12:27.240 --> 00:12:31.030 align:start position:0%
 
authenticity<00:12:28.240><c> um</c><00:12:28.839><c> and</c><00:12:29.320><c> you</c><00:12:29.440><c> can</c><00:12:29.680><c> look</c><00:12:29.880><c> out</c><00:12:30.120><c> for</c>

00:12:31.030 --> 00:12:31.040 align:start position:0%
authenticity um and you can look out for
 

00:12:31.040 --> 00:12:33.509 align:start position:0%
authenticity um and you can look out for
oh<00:12:31.240><c> this</c><00:12:31.399><c> talk</c><00:12:31.680><c> already</c><00:12:31.920><c> ended</c><00:12:32.440><c> but</c><00:12:32.680><c> in</c>

00:12:33.509 --> 00:12:33.519 align:start position:0%
oh this talk already ended but in
 

00:12:33.519 --> 00:12:37.230 align:start position:0%
oh this talk already ended but in
ethereum<00:12:34.519><c> um</c><00:12:35.160><c> they're</c><00:12:35.959><c> currently</c><00:12:36.440><c> using</c><00:12:36.959><c> a</c>

00:12:37.230 --> 00:12:37.240 align:start position:0%
ethereum um they're currently using a
 

00:12:37.240 --> 00:12:39.829 align:start position:0%
ethereum um they're currently using a
signature<00:12:37.800><c> scheme</c><00:12:38.680><c> that</c><00:12:38.800><c> is</c><00:12:39.040><c> not</c><00:12:39.320><c> postquantum</c>

00:12:39.829 --> 00:12:39.839 align:start position:0%
signature scheme that is not postquantum
 

00:12:39.839 --> 00:12:43.350 align:start position:0%
signature scheme that is not postquantum
secure<00:12:40.760><c> and</c><00:12:41.360><c> they're</c><00:12:41.800><c> actively</c><00:12:42.800><c> um</c><00:12:42.959><c> thinking</c>

00:12:43.350 --> 00:12:43.360 align:start position:0%
secure and they're actively um thinking
 

00:12:43.360 --> 00:12:44.790 align:start position:0%
secure and they're actively um thinking
about<00:12:43.880><c> how</c><00:12:44.000><c> to</c>

00:12:44.790 --> 00:12:44.800 align:start position:0%
about how to
 

00:12:44.800 --> 00:12:49.269 align:start position:0%
about how to
transition<00:12:45.800><c> uh</c><00:12:45.920><c> to</c><00:12:46.160><c> postquantum</c>

00:12:49.269 --> 00:12:49.279 align:start position:0%
 
 

00:12:49.279 --> 00:12:52.710 align:start position:0%
 
yeah<00:12:50.279><c> so</c><00:12:50.720><c> a</c><00:12:51.000><c> common</c><00:12:51.519><c> Paradigm</c><00:12:52.000><c> and</c><00:12:52.160><c> like</c><00:12:52.320><c> email</c>

00:12:52.710 --> 00:12:52.720 align:start position:0%
yeah so a common Paradigm and like email
 

00:12:52.720 --> 00:12:55.910 align:start position:0%
yeah so a common Paradigm and like email
for<00:12:52.880><c> example</c><00:12:53.360><c> is</c><00:12:53.680><c> used</c><00:12:54.680><c> uh</c><00:12:54.880><c> like</c><00:12:55.040><c> use</c><00:12:55.360><c> signing</c>

00:12:55.910 --> 00:12:55.920 align:start position:0%
for example is used uh like use signing
 

00:12:55.920 --> 00:12:58.030 align:start position:0%
for example is used uh like use signing
and<00:12:56.120><c> encryption</c><00:12:56.839><c> right</c><00:12:57.320><c> so</c><00:12:57.480><c> you</c><00:12:57.639><c> want</c><00:12:57.800><c> to</c><00:12:57.920><c> be</c>

00:12:58.030 --> 00:12:58.040 align:start position:0%
and encryption right so you want to be
 

00:12:58.040 --> 00:12:59.430 align:start position:0%
and encryption right so you want to be
able<00:12:58.160><c> to</c><00:12:58.360><c> prove</c><00:12:58.680><c> that</c><00:12:58.800><c> you're</c><00:12:58.959><c> the</c><00:12:59.240><c> one</c><00:12:59.360><c> that</c>

00:12:59.430 --> 00:12:59.440 align:start position:0%
able to prove that you're the one that
 

00:12:59.440 --> 00:13:01.430 align:start position:0%
able to prove that you're the one that
created<00:12:59.760><c> the</c><00:12:59.920><c> message</c><00:13:00.600><c> and</c><00:13:00.720><c> you</c><00:13:00.880><c> only</c><00:13:01.199><c> want</c>

00:13:01.430 --> 00:13:01.440 align:start position:0%
created the message and you only want
 

00:13:01.440 --> 00:13:03.269 align:start position:0%
created the message and you only want
the<00:13:01.600><c> recipient</c><00:13:02.000><c> to</c><00:13:02.079><c> be</c><00:13:02.199><c> able</c><00:13:02.320><c> to</c><00:13:02.440><c> read</c><00:13:02.600><c> it</c><00:13:03.079><c> so</c>

00:13:03.269 --> 00:13:03.279 align:start position:0%
the recipient to be able to read it so
 

00:13:03.279 --> 00:13:04.629 align:start position:0%
the recipient to be able to read it so
in<00:13:03.360><c> order</c><00:13:03.600><c> to</c><00:13:03.800><c> do</c><00:13:04.000><c> this</c><00:13:04.160><c> you</c><00:13:04.279><c> would</c><00:13:04.399><c> put</c><00:13:04.560><c> in</c>

00:13:04.629 --> 00:13:04.639 align:start position:0%
in order to do this you would put in
 

00:13:04.639 --> 00:13:05.990 align:start position:0%
in order to do this you would put in
your<00:13:04.800><c> private</c><00:13:05.079><c> key</c><00:13:05.199><c> in</c><00:13:05.279><c> a</c><00:13:05.440><c> message</c><00:13:05.760><c> you</c><00:13:05.839><c> would</c>

00:13:05.990 --> 00:13:06.000 align:start position:0%
your private key in a message you would
 

00:13:06.000 --> 00:13:07.389 align:start position:0%
your private key in a message you would
sign<00:13:06.240><c> the</c><00:13:06.399><c> message</c><00:13:06.720><c> and</c><00:13:06.880><c> you</c><00:13:06.959><c> would</c><00:13:07.040><c> take</c><00:13:07.240><c> that</c>

00:13:07.389 --> 00:13:07.399 align:start position:0%
sign the message and you would take that
 

00:13:07.399 --> 00:13:10.069 align:start position:0%
sign the message and you would take that
sign<00:13:07.760><c> message</c><00:13:08.360><c> take</c><00:13:08.959><c> the</c><00:13:09.120><c> other</c><00:13:09.399><c> party's</c>

00:13:10.069 --> 00:13:10.079 align:start position:0%
sign message take the other party's
 

00:13:10.079 --> 00:13:13.230 align:start position:0%
sign message take the other party's
public<00:13:10.720><c> key</c><00:13:11.720><c> and</c><00:13:12.079><c> encrypt</c><00:13:12.600><c> the</c><00:13:12.760><c> message</c><00:13:13.120><c> and</c>

00:13:13.230 --> 00:13:13.240 align:start position:0%
public key and encrypt the message and
 

00:13:13.240 --> 00:13:15.189 align:start position:0%
public key and encrypt the message and
then<00:13:13.360><c> send</c><00:13:13.600><c> it</c><00:13:13.720><c> to</c><00:13:13.880><c> them</c><00:13:14.320><c> so</c><00:13:14.560><c> they</c><00:13:14.720><c> can</c><00:13:14.920><c> take</c>

00:13:15.189 --> 00:13:15.199 align:start position:0%
then send it to them so they can take
 

00:13:15.199 --> 00:13:17.310 align:start position:0%
then send it to them so they can take
that<00:13:15.519><c> decrypt</c><00:13:16.040><c> it</c><00:13:16.320><c> and</c><00:13:16.440><c> then</c><00:13:16.600><c> also</c><00:13:16.880><c> verify</c>

00:13:17.310 --> 00:13:17.320 align:start position:0%
that decrypt it and then also verify
 

00:13:17.320 --> 00:13:19.629 align:start position:0%
that decrypt it and then also verify
that<00:13:17.440><c> you</c><00:13:17.560><c> are</c><00:13:17.720><c> the</c>

00:13:19.629 --> 00:13:19.639 align:start position:0%
that you are the
 

00:13:19.639 --> 00:13:24.110 align:start position:0%
that you are the
sender<00:13:20.639><c> all</c><00:13:20.800><c> right</c><00:13:21.160><c> so</c><00:13:22.000><c> https</c><00:13:22.920><c> everyone</c><00:13:23.360><c> knows</c>

00:13:24.110 --> 00:13:24.120 align:start position:0%
sender all right so https everyone knows
 

00:13:24.120 --> 00:13:26.189 align:start position:0%
sender all right so https everyone knows
what<00:13:24.320><c> this</c><00:13:24.519><c> is</c><00:13:24.760><c> it's</c><00:13:24.959><c> little</c><00:13:25.160><c> green</c><00:13:25.440><c> lock</c><00:13:26.079><c> you</c>

00:13:26.189 --> 00:13:26.199 align:start position:0%
what this is it's little green lock you
 

00:13:26.199 --> 00:13:27.990 align:start position:0%
what this is it's little green lock you
know<00:13:26.399><c> make</c><00:13:26.560><c> sure</c><00:13:26.760><c> you're</c><00:13:27.279><c> you</c><00:13:27.399><c> have</c><00:13:27.519><c> a</c><00:13:27.680><c> secure</c>

00:13:27.990 --> 00:13:28.000 align:start position:0%
know make sure you're you have a secure
 

00:13:28.000 --> 00:13:29.790 align:start position:0%
know make sure you're you have a secure
connection<00:13:28.279><c> to</c><00:13:28.440><c> the</c><00:13:28.519><c> server</c>

00:13:29.790 --> 00:13:29.800 align:start position:0%
connection to the server
 

00:13:29.800 --> 00:13:34.310 align:start position:0%
connection to the server
um<00:13:30.800><c> this</c><00:13:30.920><c> is</c><00:13:31.079><c> a</c><00:13:31.160><c> little</c><00:13:31.760><c> handwavy</c><00:13:32.839><c> but</c><00:13:33.839><c> uh</c><00:13:34.040><c> the</c>

00:13:34.310 --> 00:13:34.320 align:start position:0%
um this is a little handwavy but uh the
 

00:13:34.320 --> 00:13:36.629 align:start position:0%
um this is a little handwavy but uh the
general<00:13:34.680><c> explanation</c><00:13:35.279><c> is</c><00:13:35.800><c> if</c><00:13:35.920><c> you</c><00:13:36.240><c> connect</c><00:13:36.519><c> to</c>

00:13:36.629 --> 00:13:36.639 align:start position:0%
general explanation is if you connect to
 

00:13:36.639 --> 00:13:38.509 align:start position:0%
general explanation is if you connect to
a<00:13:36.760><c> server</c><00:13:37.160><c> you</c><00:13:37.279><c> do</c><00:13:37.480><c> this</c><00:13:37.680><c> key</c><00:13:37.920><c> exchange</c><00:13:38.360><c> it's</c>

00:13:38.509 --> 00:13:38.519 align:start position:0%
a server you do this key exchange it's
 

00:13:38.519 --> 00:13:39.829 align:start position:0%
a server you do this key exchange it's
called<00:13:38.720><c> Diffy</c><00:13:39.000><c> Helman</c><00:13:39.320><c> which</c><00:13:39.440><c> I'll</c><00:13:39.560><c> go</c><00:13:39.639><c> into</c>

00:13:39.829 --> 00:13:39.839 align:start position:0%
called Diffy Helman which I'll go into
 

00:13:39.839 --> 00:13:42.829 align:start position:0%
called Diffy Helman which I'll go into
in<00:13:39.920><c> the</c><00:13:40.079><c> next</c><00:13:40.240><c> slide</c><00:13:41.199><c> and</c><00:13:41.800><c> you</c><00:13:42.040><c> get</c><00:13:42.279><c> out</c><00:13:42.600><c> a</c>

00:13:42.829 --> 00:13:42.839 align:start position:0%
in the next slide and you get out a
 

00:13:42.839 --> 00:13:45.310 align:start position:0%
in the next slide and you get out a
symmetric<00:13:43.399><c> key</c><00:13:43.880><c> right</c><00:13:44.440><c> so</c><00:13:44.760><c> public</c><00:13:45.120><c> key</c>

00:13:45.310 --> 00:13:45.320 align:start position:0%
symmetric key right so public key
 

00:13:45.320 --> 00:13:48.030 align:start position:0%
symmetric key right so public key
cryptography<00:13:46.160><c> is</c><00:13:46.360><c> slow</c><00:13:46.959><c> compared</c><00:13:47.320><c> to</c>

00:13:48.030 --> 00:13:48.040 align:start position:0%
cryptography is slow compared to
 

00:13:48.040 --> 00:13:50.470 align:start position:0%
cryptography is slow compared to
symmetric<00:13:48.600><c> key</c>

00:13:50.470 --> 00:13:50.480 align:start position:0%
symmetric key
 

00:13:50.480 --> 00:13:53.350 align:start position:0%
symmetric key
so<00:13:51.480><c> um</c><00:13:51.800><c> yeah</c><00:13:52.079><c> basically</c><00:13:52.560><c> to</c><00:13:52.800><c> to</c><00:13:52.920><c> make</c><00:13:53.199><c> web</c>

00:13:53.350 --> 00:13:53.360 align:start position:0%
so um yeah basically to to make web
 

00:13:53.360 --> 00:13:55.310 align:start position:0%
so um yeah basically to to make web
pages<00:13:53.639><c> load</c><00:13:53.959><c> faster</c><00:13:54.759><c> you</c><00:13:54.880><c> would</c><00:13:55.040><c> do</c><00:13:55.199><c> this</c>

00:13:55.310 --> 00:13:55.320 align:start position:0%
pages load faster you would do this
 

00:13:55.320 --> 00:13:58.189 align:start position:0%
pages load faster you would do this
Diffy<00:13:55.600><c> Helman</c><00:13:55.880><c> key</c><00:13:56.120><c> exchange</c><00:13:57.120><c> and</c><00:13:57.360><c> then</c><00:13:58.079><c> get</c>

00:13:58.189 --> 00:13:58.199 align:start position:0%
Diffy Helman key exchange and then get
 

00:13:58.199 --> 00:14:00.310 align:start position:0%
Diffy Helman key exchange and then get
out<00:13:58.399><c> a</c><00:13:58.560><c> symmetric</c><00:13:59.160><c> key</c><00:13:59.360><c> that</c><00:13:59.560><c> only</c><00:13:59.920><c> you</c><00:14:00.160><c> and</c>

00:14:00.310 --> 00:14:00.320 align:start position:0%
out a symmetric key that only you and
 

00:14:00.320 --> 00:14:02.430 align:start position:0%
out a symmetric key that only you and
the<00:14:00.440><c> server</c><00:14:00.800><c> know</c><00:14:01.399><c> and</c><00:14:01.519><c> then</c><00:14:01.680><c> from</c><00:14:01.920><c> there</c><00:14:02.079><c> on</c>

00:14:02.430 --> 00:14:02.440 align:start position:0%
the server know and then from there on
 

00:14:02.440 --> 00:14:06.550 align:start position:0%
the server know and then from there on
you<00:14:02.560><c> can</c><00:14:02.800><c> do</c><00:14:03.759><c> um</c><00:14:04.279><c> faster</c><00:14:05.120><c> messages</c><00:14:06.120><c> so</c><00:14:06.279><c> the</c><00:14:06.399><c> way</c>

00:14:06.550 --> 00:14:06.560 align:start position:0%
you can do um faster messages so the way
 

00:14:06.560 --> 00:14:08.949 align:start position:0%
you can do um faster messages so the way
this<00:14:06.720><c> works</c><00:14:07.199><c> is</c><00:14:07.360><c> you</c><00:14:07.680><c> start</c><00:14:07.959><c> with</c><00:14:08.120><c> some</c><00:14:08.320><c> shared</c>

00:14:08.949 --> 00:14:08.959 align:start position:0%
this works is you start with some shared
 

00:14:08.959 --> 00:14:12.269 align:start position:0%
this works is you start with some shared
paint<00:14:09.600><c> right</c><00:14:09.759><c> some</c><00:14:09.920><c> shared</c><00:14:10.680><c> colors</c><00:14:11.680><c> and</c><00:14:12.199><c> this</c>

00:14:12.269 --> 00:14:12.279 align:start position:0%
paint right some shared colors and this
 

00:14:12.279 --> 00:14:14.110 align:start position:0%
paint right some shared colors and this
is<00:14:12.399><c> the</c><00:14:12.560><c> paint</c><00:14:12.839><c> analogy</c><00:14:13.360><c> for</c><00:14:13.639><c> for</c><00:14:13.800><c> Diffy</c>

00:14:14.110 --> 00:14:14.120 align:start position:0%
is the paint analogy for for Diffy
 

00:14:14.120 --> 00:14:17.069 align:start position:0%
is the paint analogy for for Diffy
helmet<00:14:15.079><c> but</c><00:14:16.000><c> you</c><00:14:16.120><c> start</c><00:14:16.480><c> with</c><00:14:16.600><c> some</c><00:14:16.720><c> shared</c>

00:14:17.069 --> 00:14:17.079 align:start position:0%
helmet but you start with some shared
 

00:14:17.079 --> 00:14:18.990 align:start position:0%
helmet but you start with some shared
paint<00:14:17.440><c> and</c><00:14:17.560><c> then</c><00:14:17.639><c> you</c><00:14:17.800><c> each</c><00:14:18.040><c> have</c><00:14:18.199><c> some</c><00:14:18.440><c> secret</c>

00:14:18.990 --> 00:14:19.000 align:start position:0%
paint and then you each have some secret
 

00:14:19.000 --> 00:14:22.350 align:start position:0%
paint and then you each have some secret
color<00:14:20.000><c> and</c><00:14:20.360><c> you</c><00:14:20.600><c> combine</c><00:14:21.120><c> those</c><00:14:21.440><c> to</c><00:14:21.800><c> create</c>

00:14:22.350 --> 00:14:22.360 align:start position:0%
color and you combine those to create
 

00:14:22.360 --> 00:14:26.629 align:start position:0%
color and you combine those to create
these<00:14:22.639><c> two</c><00:14:23.639><c> inputs</c><00:14:24.399><c> you</c><00:14:24.600><c> exchange</c><00:14:25.120><c> the</c><00:14:25.639><c> inputs</c>

00:14:26.629 --> 00:14:26.639 align:start position:0%
these two inputs you exchange the inputs
 

00:14:26.639 --> 00:14:28.430 align:start position:0%
these two inputs you exchange the inputs
you<00:14:26.880><c> add</c><00:14:27.120><c> back</c><00:14:27.240><c> in</c><00:14:27.399><c> your</c><00:14:27.600><c> secrets</c><00:14:28.199><c> and</c><00:14:28.320><c> then</c>

00:14:28.430 --> 00:14:28.440 align:start position:0%
you add back in your secrets and then
 

00:14:28.440 --> 00:14:30.430 align:start position:0%
you add back in your secrets and then
you<00:14:28.639><c> end</c><00:14:28.839><c> up</c><00:14:29.160><c> with</c><00:14:29.279><c> the</c><00:14:29.360><c> same</c><00:14:29.600><c> paint</c><00:14:29.880><c> color</c><00:14:30.240><c> on</c>

00:14:30.430 --> 00:14:30.440 align:start position:0%
you end up with the same paint color on
 

00:14:30.440 --> 00:14:32.470 align:start position:0%
you end up with the same paint color on
either<00:14:30.800><c> side</c><00:14:31.480><c> but</c><00:14:31.639><c> no</c><00:14:31.759><c> one</c><00:14:31.880><c> in</c><00:14:32.000><c> the</c><00:14:32.120><c> middle</c>

00:14:32.470 --> 00:14:32.480 align:start position:0%
either side but no one in the middle
 

00:14:32.480 --> 00:14:38.990 align:start position:0%
either side but no one in the middle
could<00:14:32.880><c> know</c><00:14:33.880><c> what</c><00:14:34.040><c> your</c><00:14:34.600><c> what</c><00:14:34.720><c> your</c><00:14:34.880><c> secrets</c>

00:14:38.990 --> 00:14:39.000 align:start position:0%
 
 

00:14:39.000 --> 00:14:43.509 align:start position:0%
 
are<00:14:40.000><c> yeah</c><00:14:40.440><c> so</c><00:14:41.440><c> um</c><00:14:41.720><c> we</c><00:14:41.880><c> went</c><00:14:42.240><c> through</c><00:14:42.959><c> hashing</c>

00:14:43.509 --> 00:14:43.519 align:start position:0%
are yeah so um we went through hashing
 

00:14:43.519 --> 00:14:48.509 align:start position:0%
are yeah so um we went through hashing
encryption<00:14:44.440><c> and</c><00:14:45.120><c> signatures</c><00:14:46.120><c> um</c><00:14:46.880><c> and</c><00:14:47.880><c> we</c><00:14:48.240><c> were</c>

00:14:48.509 --> 00:14:48.519 align:start position:0%
encryption and signatures um and we were
 

00:14:48.519 --> 00:14:50.910 align:start position:0%
encryption and signatures um and we were
considering<00:14:49.120><c> these</c><00:14:49.360><c> to</c><00:14:49.560><c> be</c><00:14:50.079><c> sort</c><00:14:50.279><c> of</c>

00:14:50.910 --> 00:14:50.920 align:start position:0%
considering these to be sort of
 

00:14:50.920 --> 00:14:52.749 align:start position:0%
considering these to be sort of
generation<00:14:51.600><c> one</c><00:14:52.079><c> purpose-built</c>

00:14:52.749 --> 00:14:52.759 align:start position:0%
generation one purpose-built
 

00:14:52.759 --> 00:14:55.509 align:start position:0%
generation one purpose-built
cryptography<00:14:53.759><c> that</c><00:14:54.160><c> are</c><00:14:54.399><c> really</c><00:14:54.680><c> lightweight</c>

00:14:55.509 --> 00:14:55.519 align:start position:0%
cryptography that are really lightweight
 

00:14:55.519 --> 00:14:59.150 align:start position:0%
cryptography that are really lightweight
and<00:14:56.360><c> um</c><00:14:57.360><c> just</c><00:14:57.560><c> do</c><00:14:58.120><c> their</c><00:14:58.360><c> task</c><00:14:58.720><c> really</c><00:14:58.880><c> well</c><00:14:59.040><c> as</c>

00:14:59.150 --> 00:14:59.160 align:start position:0%
and um just do their task really well as
 

00:14:59.160 --> 00:15:03.230 align:start position:0%
and um just do their task really well as
well<00:15:00.000><c> um</c><00:15:00.399><c> what's</c><00:15:00.680><c> been</c><00:15:01.360><c> emerging</c><00:15:02.360><c> um</c><00:15:02.920><c> and</c><00:15:03.120><c> what</c>

00:15:03.230 --> 00:15:03.240 align:start position:0%
well um what's been emerging um and what
 

00:15:03.240 --> 00:15:05.749 align:start position:0%
well um what's been emerging um and what
you'll<00:15:03.440><c> see</c><00:15:03.639><c> a</c><00:15:03.800><c> lot</c><00:15:04.079><c> of</c><00:15:04.680><c> at</c><00:15:04.839><c> Devcon</c><00:15:05.480><c> is</c>

00:15:05.749 --> 00:15:05.759 align:start position:0%
you'll see a lot of at Devcon is
 

00:15:05.759 --> 00:15:09.910 align:start position:0%
you'll see a lot of at Devcon is
programmable<00:15:06.880><c> cryptography</c><00:15:08.360><c> so</c><00:15:09.360><c> um</c><00:15:09.600><c> these</c>

00:15:09.910 --> 00:15:09.920 align:start position:0%
programmable cryptography so um these
 

00:15:09.920 --> 00:15:12.230 align:start position:0%
programmable cryptography so um these
include<00:15:10.440><c> zero</c><00:15:10.800><c> knowledge</c><00:15:11.079><c> proofs</c><00:15:11.959><c> um</c>

00:15:12.230 --> 00:15:12.240 align:start position:0%
include zero knowledge proofs um
 

00:15:12.240 --> 00:15:14.030 align:start position:0%
include zero knowledge proofs um
multi-party<00:15:12.920><c> computation</c><00:15:13.519><c> and</c><00:15:13.680><c> fully</c>

00:15:14.030 --> 00:15:14.040 align:start position:0%
multi-party computation and fully
 

00:15:14.040 --> 00:15:15.110 align:start position:0%
multi-party computation and fully
homomorphic

00:15:15.110 --> 00:15:15.120 align:start position:0%
homomorphic
 

00:15:15.120 --> 00:15:18.710 align:start position:0%
homomorphic
encryption<00:15:16.120><c> and</c><00:15:16.480><c> these</c><00:15:16.720><c> Protocols</c><00:15:17.399><c> are</c><00:15:18.399><c> a</c><00:15:18.519><c> lot</c>

00:15:18.710 --> 00:15:18.720 align:start position:0%
encryption and these Protocols are a lot
 

00:15:18.720 --> 00:15:20.990 align:start position:0%
encryption and these Protocols are a lot
more<00:15:19.000><c> heavyweight</c><00:15:20.000><c> in</c><00:15:20.120><c> the</c><00:15:20.279><c> sense</c><00:15:20.600><c> that</c><00:15:20.759><c> they</c>

00:15:20.990 --> 00:15:21.000 align:start position:0%
more heavyweight in the sense that they
 

00:15:21.000 --> 00:15:25.550 align:start position:0%
more heavyweight in the sense that they
involve<00:15:21.720><c> usually</c><00:15:22.519><c> lots</c><00:15:23.000><c> more</c><00:15:23.920><c> um</c><00:15:24.560><c> assumptions</c>

00:15:25.550 --> 00:15:25.560 align:start position:0%
involve usually lots more um assumptions
 

00:15:25.560 --> 00:15:26.749 align:start position:0%
involve usually lots more um assumptions
security

00:15:26.749 --> 00:15:26.759 align:start position:0%
security
 

00:15:26.759 --> 00:15:29.350 align:start position:0%
security
assumptions<00:15:27.759><c> um</c><00:15:28.240><c> but</c><00:15:28.560><c> on</c><00:15:28.680><c> the</c><00:15:29.040><c> other</c><00:15:29.199><c> hand</c>

00:15:29.350 --> 00:15:29.360 align:start position:0%
assumptions um but on the other hand
 

00:15:29.360 --> 00:15:31.749 align:start position:0%
assumptions um but on the other hand
they're<00:15:29.560><c> a</c><00:15:29.720><c> lot</c><00:15:29.880><c> more</c><00:15:30.160><c> general</c><00:15:30.600><c> purpose</c><00:15:31.600><c> in</c>

00:15:31.749 --> 00:15:31.759 align:start position:0%
they're a lot more general purpose in
 

00:15:31.759 --> 00:15:34.749 align:start position:0%
they're a lot more general purpose in
the<00:15:31.920><c> sense</c><00:15:32.319><c> that</c><00:15:32.639><c> the</c><00:15:32.800><c> end</c><00:15:33.120><c> user</c><00:15:33.920><c> is</c><00:15:34.079><c> free</c><00:15:34.440><c> to</c>

00:15:34.749 --> 00:15:34.759 align:start position:0%
the sense that the end user is free to
 

00:15:34.759 --> 00:15:38.350 align:start position:0%
the sense that the end user is free to
Define<00:15:35.680><c> any</c><00:15:35.959><c> arbitrary</c><00:15:36.880><c> relation</c><00:15:37.880><c> uh</c><00:15:38.079><c> they're</c>

00:15:38.350 --> 00:15:38.360 align:start position:0%
Define any arbitrary relation uh they're
 

00:15:38.360 --> 00:15:42.269 align:start position:0%
Define any arbitrary relation uh they're
not<00:15:39.160><c> um</c><00:15:39.399><c> limited</c><00:15:39.839><c> to</c><00:15:40.040><c> say</c><00:15:40.720><c> signatures</c>

00:15:42.269 --> 00:15:42.279 align:start position:0%
not um limited to say signatures
 

00:15:42.279 --> 00:15:46.269 align:start position:0%
not um limited to say signatures
encryption<00:15:43.279><c> um</c><00:15:44.199><c> and</c><00:15:44.600><c> in</c><00:15:44.959><c> that</c><00:15:45.199><c> sense</c><00:15:45.839><c> um</c><00:15:46.040><c> this</c>

00:15:46.269 --> 00:15:46.279 align:start position:0%
encryption um and in that sense um this
 

00:15:46.279 --> 00:15:51.110 align:start position:0%
encryption um and in that sense um this
Clause<00:15:46.639><c> of</c><00:15:47.240><c> Primitives</c><00:15:47.959><c> are</c>

00:15:51.110 --> 00:15:51.120 align:start position:0%
 
 

00:15:51.120 --> 00:15:53.949 align:start position:0%
 
programmable<00:15:52.120><c> yeah</c><00:15:52.440><c> I</c><00:15:52.560><c> think</c><00:15:53.360><c> these</c><00:15:53.560><c> talks</c>

00:15:53.949 --> 00:15:53.959 align:start position:0%
programmable yeah I think these talks
 

00:15:53.959 --> 00:15:56.710 align:start position:0%
programmable yeah I think these talks
happened

00:15:56.710 --> 00:15:56.720 align:start position:0%
 
 

00:15:56.720 --> 00:15:59.430 align:start position:0%
 
already<00:15:57.720><c> um</c><00:15:58.199><c> but</c><00:15:58.399><c> introduct</c>

00:15:59.430 --> 00:15:59.440 align:start position:0%
already um but introduct
 

00:15:59.440 --> 00:16:03.309 align:start position:0%
already um but introduct
to<00:16:00.360><c> this</c><00:16:00.560><c> Paradigm</c><00:16:01.120><c> of</c><00:16:01.319><c> programmable</c>

00:16:03.309 --> 00:16:03.319 align:start position:0%
to this Paradigm of programmable
 

00:16:03.319 --> 00:16:06.189 align:start position:0%
to this Paradigm of programmable
cryptography<00:16:04.319><c> so</c><00:16:04.560><c> we'll</c><00:16:04.880><c> quickly</c><00:16:05.279><c> go</c><00:16:05.519><c> through</c>

00:16:06.189 --> 00:16:06.199 align:start position:0%
cryptography so we'll quickly go through
 

00:16:06.199 --> 00:16:09.910 align:start position:0%
cryptography so we'll quickly go through
the<00:16:06.399><c> three</c><00:16:06.920><c> categories</c><00:16:07.920><c> um</c><00:16:08.399><c> maybe</c><00:16:09.319><c> the</c><00:16:09.519><c> most</c>

00:16:09.910 --> 00:16:09.920 align:start position:0%
the three categories um maybe the most
 

00:16:09.920 --> 00:16:13.309 align:start position:0%
the three categories um maybe the most
popular<00:16:10.639><c> one</c><00:16:10.959><c> is</c><00:16:11.160><c> zero</c><00:16:11.560><c> knowledge</c>

00:16:13.309 --> 00:16:13.319 align:start position:0%
popular one is zero knowledge
 

00:16:13.319 --> 00:16:17.710 align:start position:0%
popular one is zero knowledge
um<00:16:14.319><c> yeah</c><00:16:14.480><c> that's</c><00:16:14.680><c> great</c><00:16:15.440><c> um</c><00:16:15.680><c> so</c><00:16:16.720><c> essentially</c>

00:16:17.710 --> 00:16:17.720 align:start position:0%
um yeah that's great um so essentially
 

00:16:17.720 --> 00:16:20.990 align:start position:0%
um yeah that's great um so essentially
zero<00:16:18.079><c> knowledge</c><00:16:18.360><c> ZK</c><00:16:18.880><c> is</c><00:16:19.000><c> a</c><00:16:19.120><c> way</c><00:16:19.240><c> for</c><00:16:19.399><c> aover</c><00:16:20.120><c> to</c>

00:16:20.990 --> 00:16:21.000 align:start position:0%
zero knowledge ZK is a way for aover to
 

00:16:21.000 --> 00:16:22.749 align:start position:0%
zero knowledge ZK is a way for aover to
prove<00:16:21.319><c> some</c><00:16:21.519><c> statement</c><00:16:21.880><c> to</c><00:16:22.040><c> somebody</c><00:16:22.399><c> else</c>

00:16:22.749 --> 00:16:22.759 align:start position:0%
prove some statement to somebody else
 

00:16:22.759 --> 00:16:25.389 align:start position:0%
prove some statement to somebody else
and<00:16:22.880><c> they</c><00:16:23.040><c> can</c><00:16:23.160><c> verify</c><00:16:23.560><c> it</c><00:16:23.759><c> so</c><00:16:23.959><c> for</c><00:16:24.199><c> example</c><00:16:25.199><c> um</c>

00:16:25.389 --> 00:16:25.399 align:start position:0%
and they can verify it so for example um
 

00:16:25.399 --> 00:16:28.110 align:start position:0%
and they can verify it so for example um
you<00:16:25.519><c> can</c><00:16:25.839><c> have</c><00:16:26.279><c> your</c><00:16:26.639><c> picture</c><00:16:27.279><c> and</c><00:16:27.399><c> then</c><00:16:27.759><c> some</c>

00:16:28.110 --> 00:16:28.120 align:start position:0%
you can have your picture and then some
 

00:16:28.120 --> 00:16:29.870 align:start position:0%
you can have your picture and then some
private<00:16:28.480><c> data</c><00:16:29.000><c> your</c><00:16:29.160><c> age</c><00:16:29.360><c> or</c><00:16:29.480><c> your</c><00:16:29.600><c> date</c><00:16:29.759><c> of</c>

00:16:29.870 --> 00:16:29.880 align:start position:0%
private data your age or your date of
 

00:16:29.880 --> 00:16:32.990 align:start position:0%
private data your age or your date of
birth<00:16:30.079><c> or</c><00:16:30.199><c> whatever</c><00:16:30.480><c> go</c><00:16:30.680><c> into</c><00:16:30.959><c> some</c><00:16:31.920><c> ckp</c><00:16:32.920><c> and</c>

00:16:32.990 --> 00:16:33.000 align:start position:0%
birth or whatever go into some ckp and
 

00:16:33.000 --> 00:16:35.470 align:start position:0%
birth or whatever go into some ckp and
then<00:16:33.240><c> out</c><00:16:33.560><c> comes</c><00:16:33.959><c> a</c><00:16:34.199><c> hash</c><00:16:34.519><c> of</c><00:16:34.639><c> your</c><00:16:34.839><c> photo</c><00:16:35.360><c> and</c>

00:16:35.470 --> 00:16:35.480 align:start position:0%
then out comes a hash of your photo and
 

00:16:35.480 --> 00:16:36.710 align:start position:0%
then out comes a hash of your photo and
then<00:16:35.600><c> basically</c><00:16:35.880><c> a</c><00:16:36.000><c> thumbs</c><00:16:36.240><c> up</c><00:16:36.440><c> that</c><00:16:36.560><c> you're</c>

00:16:36.710 --> 00:16:36.720 align:start position:0%
then basically a thumbs up that you're
 

00:16:36.720 --> 00:16:39.350 align:start position:0%
then basically a thumbs up that you're
like<00:16:36.920><c> over</c><00:16:37.120><c> 21</c><00:16:37.519><c> or</c><00:16:37.680><c> whatever</c><00:16:38.680><c> um</c><00:16:38.839><c> so</c><00:16:38.959><c> you</c><00:16:39.079><c> need</c>

00:16:39.350 --> 00:16:39.360 align:start position:0%
like over 21 or whatever um so you need
 

00:16:39.360 --> 00:16:41.790 align:start position:0%
like over 21 or whatever um so you need
that<00:16:39.680><c> hash</c><00:16:39.920><c> your</c><00:16:40.199><c> photo</c><00:16:41.079><c> to</c><00:16:41.279><c> make</c><00:16:41.440><c> sure</c><00:16:41.680><c> that</c>

00:16:41.790 --> 00:16:41.800 align:start position:0%
that hash your photo to make sure that
 

00:16:41.800 --> 00:16:43.150 align:start position:0%
that hash your photo to make sure that
someone<00:16:42.079><c> can</c><00:16:42.240><c> actually</c><00:16:42.480><c> authenticate</c><00:16:43.040><c> that</c>

00:16:43.150 --> 00:16:43.160 align:start position:0%
someone can actually authenticate that
 

00:16:43.160 --> 00:16:44.670 align:start position:0%
someone can actually authenticate that
it's<00:16:43.319><c> you</c><00:16:43.600><c> they</c><00:16:43.720><c> can</c><00:16:43.880><c> they</c><00:16:43.959><c> can</c><00:16:44.040><c> see</c><00:16:44.199><c> the</c><00:16:44.319><c> image</c>

00:16:44.670 --> 00:16:44.680 align:start position:0%
it's you they can they can see the image
 

00:16:44.680 --> 00:16:46.470 align:start position:0%
it's you they can they can see the image
make<00:16:44.880><c> sure</c><00:16:45.040><c> that</c><00:16:45.160><c> it</c><00:16:45.360><c> you</c><00:16:45.480><c> know</c><00:16:45.800><c> corresponds</c>

00:16:46.470 --> 00:16:46.480 align:start position:0%
make sure that it you know corresponds
 

00:16:46.480 --> 00:16:50.189 align:start position:0%
make sure that it you know corresponds
with<00:16:46.639><c> your</c><00:16:47.199><c> age</c><00:16:48.199><c> um</c><00:16:49.199><c> and</c><00:16:49.560><c> yeah</c><00:16:49.880><c> they</c><00:16:50.000><c> can</c><00:16:50.120><c> you</c>

00:16:50.189 --> 00:16:50.199 align:start position:0%
with your age um and yeah they can you
 

00:16:50.199 --> 00:16:51.829 align:start position:0%
with your age um and yeah they can you
know<00:16:50.319><c> you</c><00:16:50.399><c> can</c><00:16:50.519><c> prove</c><00:16:50.759><c> your</c><00:16:50.959><c> over</c><00:16:51.199><c> 21</c><00:16:51.639><c> without</c>

00:16:51.829 --> 00:16:51.839 align:start position:0%
know you can prove your over 21 without
 

00:16:51.839 --> 00:16:55.829 align:start position:0%
know you can prove your over 21 without
showing<00:16:52.079><c> your</c><00:16:52.399><c> license</c><00:16:52.720><c> or</c><00:16:52.880><c> your</c><00:16:53.040><c> passport</c><00:16:53.399><c> or</c>

00:16:55.829 --> 00:16:55.839 align:start position:0%
 
 

00:16:55.839 --> 00:17:00.590 align:start position:0%
 
whatever<00:16:56.839><c> yeah</c><00:16:57.240><c> so</c><00:16:57.920><c> the</c><00:16:58.399><c> over</c><00:16:58.920><c> 21</c><00:16:59.480><c> relation</c><00:17:00.120><c> is</c>

00:17:00.590 --> 00:17:00.600 align:start position:0%
whatever yeah so the over 21 relation is
 

00:17:00.600 --> 00:17:03.710 align:start position:0%
whatever yeah so the over 21 relation is
just<00:17:00.920><c> one</c><00:17:01.319><c> example</c><00:17:02.319><c> of</c><00:17:02.800><c> a</c><00:17:02.959><c> relation</c><00:17:03.480><c> that</c><00:17:03.600><c> you</c>

00:17:03.710 --> 00:17:03.720 align:start position:0%
just one example of a relation that you
 

00:17:03.720 --> 00:17:05.669 align:start position:0%
just one example of a relation that you
can<00:17:03.920><c> prove</c><00:17:04.199><c> in</c><00:17:04.360><c> zero</c><00:17:04.679><c> knowledge</c><00:17:05.120><c> the</c><00:17:05.319><c> point</c>

00:17:05.669 --> 00:17:05.679 align:start position:0%
can prove in zero knowledge the point
 

00:17:05.679 --> 00:17:08.150 align:start position:0%
can prove in zero knowledge the point
here<00:17:05.959><c> being</c><00:17:06.360><c> that</c><00:17:06.959><c> this</c><00:17:07.079><c> is</c><00:17:07.240><c> an</c><00:17:07.439><c> arbitrary</c>

00:17:08.150 --> 00:17:08.160 align:start position:0%
here being that this is an arbitrary
 

00:17:08.160 --> 00:17:12.909 align:start position:0%
here being that this is an arbitrary
user<00:17:08.640><c> defined</c><00:17:09.600><c> relation</c><00:17:10.600><c> and</c><00:17:11.240><c> as</c><00:17:11.439><c> Tyler</c><00:17:11.919><c> said</c>

00:17:12.909 --> 00:17:12.919 align:start position:0%
user defined relation and as Tyler said
 

00:17:12.919 --> 00:17:16.549 align:start position:0%
user defined relation and as Tyler said
the<00:17:13.120><c> pr</c><00:17:13.880><c> can</c><00:17:14.199><c> keep</c><00:17:14.559><c> their</c><00:17:14.880><c> secret</c><00:17:15.360><c> witness</c><00:17:16.360><c> um</c>

00:17:16.549 --> 00:17:16.559 align:start position:0%
the pr can keep their secret witness um
 

00:17:16.559 --> 00:17:19.189 align:start position:0%
the pr can keep their secret witness um
unknown<00:17:17.079><c> to</c><00:17:17.280><c> the</c><00:17:17.480><c> verifier</c><00:17:18.160><c> and</c><00:17:18.439><c> yet</c><00:17:18.839><c> still</c>

00:17:19.189 --> 00:17:19.199 align:start position:0%
unknown to the verifier and yet still
 

00:17:19.199 --> 00:17:21.630 align:start position:0%
unknown to the verifier and yet still
convince<00:17:19.600><c> the</c><00:17:19.760><c> verifier</c><00:17:20.679><c> that</c><00:17:20.839><c> it</c><00:17:21.079><c> satisfies</c>

00:17:21.630 --> 00:17:21.640 align:start position:0%
convince the verifier that it satisfies
 

00:17:21.640 --> 00:17:24.230 align:start position:0%
convince the verifier that it satisfies
the<00:17:22.039><c> relation</c><00:17:23.039><c> um</c><00:17:23.199><c> and</c><00:17:23.400><c> corresponds</c><00:17:23.919><c> to</c><00:17:24.079><c> a</c>

00:17:24.230 --> 00:17:24.240 align:start position:0%
the relation um and corresponds to a
 

00:17:24.240 --> 00:17:26.870 align:start position:0%
the relation um and corresponds to a
certain<00:17:24.839><c> agreed</c><00:17:25.280><c> upon</c><00:17:25.760><c> and</c><00:17:26.000><c> publicly</c><00:17:26.400><c> known</c>

00:17:26.870 --> 00:17:26.880 align:start position:0%
certain agreed upon and publicly known
 

00:17:26.880 --> 00:17:28.950 align:start position:0%
certain agreed upon and publicly known
output

00:17:28.950 --> 00:17:28.960 align:start position:0%
output
 

00:17:28.960 --> 00:17:32.430 align:start position:0%
output
so<00:17:29.520><c> another</c><00:17:30.000><c> interesting</c><00:17:30.799><c> property</c><00:17:31.640><c> of</c><00:17:32.080><c> many</c>

00:17:32.430 --> 00:17:32.440 align:start position:0%
so another interesting property of many
 

00:17:32.440 --> 00:17:34.590 align:start position:0%
so another interesting property of many
zero<00:17:32.840><c> knowledge</c><00:17:33.160><c> proof</c><00:17:33.520><c> systems</c><00:17:33.960><c> is</c><00:17:34.160><c> sex</c>

00:17:34.590 --> 00:17:34.600 align:start position:0%
zero knowledge proof systems is sex
 

00:17:34.600 --> 00:17:37.909 align:start position:0%
zero knowledge proof systems is sex
synness<00:17:35.600><c> and</c><00:17:36.120><c> what</c><00:17:36.360><c> this</c><00:17:36.520><c> means</c><00:17:37.400><c> is</c><00:17:37.559><c> that</c><00:17:37.760><c> the</c>

00:17:37.909 --> 00:17:37.919 align:start position:0%
synness and what this means is that the
 

00:17:37.919 --> 00:17:41.350 align:start position:0%
synness and what this means is that the
PR's<00:17:38.760><c> communication</c><00:17:39.760><c> is</c><00:17:40.120><c> much</c><00:17:40.400><c> smaller</c><00:17:41.160><c> than</c>

00:17:41.350 --> 00:17:41.360 align:start position:0%
PR's communication is much smaller than
 

00:17:41.360 --> 00:17:44.590 align:start position:0%
PR's communication is much smaller than
the<00:17:41.559><c> size</c><00:17:41.760><c> of</c><00:17:41.919><c> the</c><00:17:42.080><c> relation</c><00:17:43.039><c> that</c><00:17:43.160><c> he</c><00:17:43.600><c> proved</c>

00:17:44.590 --> 00:17:44.600 align:start position:0%
the size of the relation that he proved
 

00:17:44.600 --> 00:17:47.950 align:start position:0%
the size of the relation that he proved
and<00:17:44.760><c> this</c><00:17:45.000><c> comes</c><00:17:45.280><c> in</c><00:17:45.919><c> handy</c><00:17:46.520><c> in</c><00:17:46.799><c> ZK</c><00:17:47.280><c> rollups</c>

00:17:47.950 --> 00:17:47.960 align:start position:0%
and this comes in handy in ZK rollups
 

00:17:47.960 --> 00:17:50.150 align:start position:0%
and this comes in handy in ZK rollups
which<00:17:48.720><c> I</c><00:17:48.840><c> think</c><00:17:49.120><c> many</c><00:17:49.360><c> of</c><00:17:49.520><c> us</c><00:17:49.679><c> have</c><00:17:49.840><c> heard</c>

00:17:50.150 --> 00:17:50.160 align:start position:0%
which I think many of us have heard
 

00:17:50.160 --> 00:17:54.190 align:start position:0%
which I think many of us have heard
about<00:17:50.760><c> where</c><00:17:51.640><c> whereby</c><00:17:52.039><c> we</c><00:17:52.200><c> Outsource</c><00:17:53.200><c> um</c><00:17:53.880><c> very</c>

00:17:54.190 --> 00:17:54.200 align:start position:0%
about where whereby we Outsource um very
 

00:17:54.200 --> 00:17:57.909 align:start position:0%
about where whereby we Outsource um very
heavy<00:17:54.600><c> computation</c><00:17:55.600><c> to</c><00:17:56.280><c> some</c><00:17:57.280><c> um</c><00:17:57.600><c> well</c>

00:17:57.909 --> 00:17:57.919 align:start position:0%
heavy computation to some um well
 

00:17:57.919 --> 00:18:01.870 align:start position:0%
heavy computation to some um well
resourced<00:17:58.840><c> machine</c><00:17:59.880><c> offchain</c><00:18:00.880><c> um</c><00:18:01.360><c> and</c><00:18:01.559><c> then</c>

00:18:01.870 --> 00:18:01.880 align:start position:0%
resourced machine offchain um and then
 

00:18:01.880 --> 00:18:05.230 align:start position:0%
resourced machine offchain um and then
simply<00:18:02.320><c> submit</c><00:18:03.000><c> a</c><00:18:03.280><c> very</c><00:18:03.640><c> small</c><00:18:04.080><c> proof</c><00:18:04.760><c> of</c><00:18:05.000><c> its</c>

00:18:05.230 --> 00:18:05.240 align:start position:0%
simply submit a very small proof of its
 

00:18:05.240 --> 00:18:08.590 align:start position:0%
simply submit a very small proof of its
validity<00:18:06.280><c> onchain</c><00:18:07.280><c> um</c><00:18:07.520><c> the</c><00:18:07.679><c> point</c><00:18:07.960><c> here</c><00:18:08.159><c> being</c>

00:18:08.590 --> 00:18:08.600 align:start position:0%
validity onchain um the point here being
 

00:18:08.600 --> 00:18:11.350 align:start position:0%
validity onchain um the point here being
that<00:18:08.880><c> verifying</c><00:18:09.480><c> the</c><00:18:09.840><c> computation</c><00:18:10.840><c> is</c><00:18:11.000><c> a</c><00:18:11.159><c> lot</c>

00:18:11.350 --> 00:18:11.360 align:start position:0%
that verifying the computation is a lot
 

00:18:11.360 --> 00:18:13.789 align:start position:0%
that verifying the computation is a lot
cheaper<00:18:12.120><c> and</c><00:18:12.679><c> we</c><00:18:12.840><c> we</c><00:18:12.960><c> don't</c><00:18:13.120><c> have</c><00:18:13.240><c> to</c><00:18:13.440><c> pay</c><00:18:13.640><c> that</c>

00:18:13.789 --> 00:18:13.799 align:start position:0%
cheaper and we we don't have to pay that
 

00:18:13.799 --> 00:18:18.110 align:start position:0%
cheaper and we we don't have to pay that
much<00:18:14.039><c> gas</c><00:18:14.320><c> for</c><00:18:14.799><c> it</c><00:18:15.799><c> um</c><00:18:16.159><c> there's</c><00:18:16.640><c> also</c><00:18:17.559><c> many</c>

00:18:18.110 --> 00:18:18.120 align:start position:0%
much gas for it um there's also many
 

00:18:18.120 --> 00:18:21.630 align:start position:0%
much gas for it um there's also many
other<00:18:19.120><c> um</c><00:18:19.960><c> sort</c><00:18:20.159><c> of</c><00:18:20.440><c> developments</c><00:18:21.080><c> in</c><00:18:21.280><c> zero</c>

00:18:21.630 --> 00:18:21.640 align:start position:0%
other um sort of developments in zero
 

00:18:21.640 --> 00:18:25.390 align:start position:0%
other um sort of developments in zero
knowledge<00:18:21.960><c> proof</c><00:18:22.360><c> systems</c><00:18:23.360><c> um</c><00:18:24.120><c> so</c><00:18:25.039><c> I</c><00:18:25.159><c> think</c>

00:18:25.390 --> 00:18:25.400 align:start position:0%
knowledge proof systems um so I think
 

00:18:25.400 --> 00:18:28.029 align:start position:0%
knowledge proof systems um so I think
youf<00:18:26.159><c> actually</c><00:18:26.440><c> will</c><00:18:26.679><c> talk</c><00:18:26.960><c> about</c><00:18:27.559><c> elliptic</c>

00:18:28.029 --> 00:18:28.039 align:start position:0%
youf actually will talk about elliptic
 

00:18:28.039 --> 00:18:32.230 align:start position:0%
youf actually will talk about elliptic
curves<00:18:28.320><c> and</c><00:18:28.440><c> SN</c><00:18:29.159><c> right</c><00:18:29.320><c> after</c><00:18:29.799><c> us</c>

00:18:32.230 --> 00:18:32.240 align:start position:0%
curves and SN right after us
 

00:18:32.240 --> 00:18:38.510 align:start position:0%
curves and SN right after us
um<00:18:33.240><c> and</c><00:18:33.760><c> many</c><00:18:34.640><c> more</c><00:18:35.320><c> exciting</c><00:18:36.320><c> examples</c><00:18:37.320><c> of</c><00:18:38.159><c> um</c>

00:18:38.510 --> 00:18:38.520 align:start position:0%
um and many more exciting examples of um
 

00:18:38.520 --> 00:18:40.950 align:start position:0%
um and many more exciting examples of um
applications<00:18:39.200><c> that</c><00:18:39.320><c> use</c><00:18:39.600><c> ZK</c><00:18:40.039><c> I</c><00:18:40.120><c> think</c><00:18:40.320><c> Prat</c>

00:18:40.950 --> 00:18:40.960 align:start position:0%
applications that use ZK I think Prat
 

00:18:40.960 --> 00:18:43.350 align:start position:0%
applications that use ZK I think Prat
right<00:18:41.159><c> before</c><00:18:41.440><c> us</c><00:18:41.760><c> for</c>

00:18:43.350 --> 00:18:43.360 align:start position:0%
right before us for
 

00:18:43.360 --> 00:18:48.909 align:start position:0%
right before us for
example<00:18:44.360><c> um</c><00:18:44.840><c> so</c><00:18:45.960><c> now</c><00:18:46.960><c> if</c><00:18:47.240><c> we</c><00:18:47.840><c> sort</c>

00:18:48.909 --> 00:18:48.919 align:start position:0%
example um so now if we sort
 

00:18:48.919 --> 00:18:50.669 align:start position:0%
example um so now if we sort
of

00:18:50.669 --> 00:18:50.679 align:start position:0%
of
 

00:18:50.679 --> 00:18:57.270 align:start position:0%
of
um<00:18:51.679><c> if</c><00:18:51.799><c> we</c><00:18:52.400><c> introduce</c><00:18:53.400><c> um</c><00:18:54.159><c> this</c><00:18:54.960><c> setting</c><00:18:56.280><c> where</c>

00:18:57.270 --> 00:18:57.280 align:start position:0%
um if we introduce um this setting where
 

00:18:57.280 --> 00:18:59.549 align:start position:0%
um if we introduce um this setting where
the<00:18:57.480><c> witness</c><00:18:57.919><c> is</c><00:18:58.159><c> no</c><00:18:58.400><c> longer</c><00:18:58.960><c> held</c><00:18:59.320><c> by</c><00:18:59.440><c> a</c>

00:18:59.549 --> 00:18:59.559 align:start position:0%
the witness is no longer held by a
 

00:18:59.559 --> 00:19:03.070 align:start position:0%
the witness is no longer held by a
single<00:18:59.960><c> party</c><00:19:00.840><c> namely</c><00:19:01.159><c> the</c><00:19:01.280><c> prer</c><00:19:02.240><c> and</c><00:19:02.559><c> we</c><00:19:02.720><c> move</c>

00:19:03.070 --> 00:19:03.080 align:start position:0%
single party namely the prer and we move
 

00:19:03.080 --> 00:19:07.430 align:start position:0%
single party namely the prer and we move
to<00:19:03.760><c> consider</c><00:19:04.760><c> like</c><00:19:05.760><c> multiple</c><00:19:06.360><c> parties</c><00:19:07.120><c> um</c>

00:19:07.430 --> 00:19:07.440 align:start position:0%
to consider like multiple parties um
 

00:19:07.440 --> 00:19:11.190 align:start position:0%
to consider like multiple parties um
working<00:19:08.240><c> together</c><00:19:09.240><c> to</c><00:19:09.480><c> compete</c><00:19:09.919><c> a</c><00:19:10.200><c> relation</c>

00:19:11.190 --> 00:19:11.200 align:start position:0%
working together to compete a relation
 

00:19:11.200 --> 00:19:14.029 align:start position:0%
working together to compete a relation
um<00:19:11.400><c> this</c><00:19:11.520><c> would</c><00:19:11.679><c> bring</c><00:19:11.919><c> us</c><00:19:12.120><c> into</c><00:19:13.120><c> um</c><00:19:13.240><c> MPC</c>

00:19:14.029 --> 00:19:14.039 align:start position:0%
um this would bring us into um MPC
 

00:19:14.039 --> 00:19:18.710 align:start position:0%
um this would bring us into um MPC
multi-party<00:19:15.039><c> computation</c><00:19:16.039><c> and</c><00:19:16.720><c> um</c><00:19:17.400><c> this</c><00:19:17.640><c> is</c>

00:19:18.710 --> 00:19:18.720 align:start position:0%
multi-party computation and um this is
 

00:19:18.720 --> 00:19:23.070 align:start position:0%
multi-party computation and um this is
um<00:19:19.720><c> a</c><00:19:19.960><c> superet</c><00:19:20.679><c> of</c><00:19:20.840><c> zero</c><00:19:21.520><c> knowledge</c>

00:19:23.070 --> 00:19:23.080 align:start position:0%
um a superet of zero knowledge
 

00:19:23.080 --> 00:19:26.830 align:start position:0%
um a superet of zero knowledge
um<00:19:24.080><c> um</c><00:19:24.480><c> so</c><00:19:24.760><c> it</c><00:19:24.880><c> is</c><00:19:25.039><c> a</c><00:19:25.240><c> way</c><00:19:25.440><c> for</c>

00:19:26.830 --> 00:19:26.840 align:start position:0%
um um so it is a way for
 

00:19:26.840 --> 00:19:31.029 align:start position:0%
um um so it is a way for
multiple<00:19:27.840><c> um</c><00:19:28.320><c> parties</c><00:19:29.159><c> to</c><00:19:29.559><c> jointly</c><00:19:30.080><c> compute</c><00:19:30.840><c> a</c>

00:19:31.029 --> 00:19:31.039 align:start position:0%
multiple um parties to jointly compute a
 

00:19:31.039 --> 00:19:34.470 align:start position:0%
multiple um parties to jointly compute a
function<00:19:31.799><c> over</c><00:19:32.120><c> secret</c><00:19:32.559><c> inputs</c><00:19:33.559><c> so</c><00:19:34.159><c> yeah</c><00:19:34.320><c> I</c>

00:19:34.470 --> 00:19:34.480 align:start position:0%
function over secret inputs so yeah I
 

00:19:34.480 --> 00:19:38.630 align:start position:0%
function over secret inputs so yeah I
put<00:19:34.799><c> this</c><00:19:35.280><c> visual</c><00:19:35.760><c> here</c><00:19:36.440><c> to</c><00:19:36.679><c> show</c><00:19:37.039><c> that</c><00:19:37.640><c> um</c>

00:19:38.630 --> 00:19:38.640 align:start position:0%
put this visual here to show that um
 

00:19:38.640 --> 00:19:40.710 align:start position:0%
put this visual here to show that um
well<00:19:38.919><c> once</c><00:19:39.200><c> again</c><00:19:39.480><c> we</c><00:19:39.640><c> have</c><00:19:39.799><c> an</c><00:19:40.039><c> arbitrary</c>

00:19:40.710 --> 00:19:40.720 align:start position:0%
well once again we have an arbitrary
 

00:19:40.720 --> 00:19:43.909 align:start position:0%
well once again we have an arbitrary
function<00:19:41.720><c> um</c><00:19:41.919><c> but</c><00:19:42.159><c> what's</c><00:19:42.480><c> changed</c><00:19:43.120><c> is</c><00:19:43.360><c> that</c>

00:19:43.909 --> 00:19:43.919 align:start position:0%
function um but what's changed is that
 

00:19:43.919 --> 00:19:46.390 align:start position:0%
function um but what's changed is that
the<00:19:44.320><c> the</c><00:19:44.440><c> witness</c><00:19:44.960><c> the</c><00:19:45.159><c> secret</c><00:19:45.480><c> input</c><00:19:45.960><c> is</c><00:19:46.120><c> now</c>

00:19:46.390 --> 00:19:46.400 align:start position:0%
the the witness the secret input is now
 

00:19:46.400 --> 00:19:50.510 align:start position:0%
the the witness the secret input is now
split<00:19:47.240><c> um</c><00:19:47.440><c> across</c><00:19:47.919><c> multiple</c>

00:19:50.510 --> 00:19:50.520 align:start position:0%
 
 

00:19:50.520 --> 00:19:55.149 align:start position:0%
 
parties<00:19:51.520><c> um</c><00:19:52.080><c> and</c><00:19:53.080><c> we</c><00:19:53.280><c> can</c><00:19:53.679><c> actually</c><00:19:54.200><c> combine</c>

00:19:55.149 --> 00:19:55.159 align:start position:0%
parties um and we can actually combine
 

00:19:55.159 --> 00:19:57.630 align:start position:0%
parties um and we can actually combine
um<00:19:55.400><c> multi-party</c><00:19:56.039><c> computation</c><00:19:57.000><c> with</c><00:19:57.240><c> Zer</c>

00:19:57.630 --> 00:19:57.640 align:start position:0%
um multi-party computation with Zer
 

00:19:57.640 --> 00:19:59.270 align:start position:0%
um multi-party computation with Zer
knowledge<00:19:58.159><c> proofs</c>

00:19:59.270 --> 00:19:59.280 align:start position:0%
knowledge proofs
 

00:19:59.280 --> 00:20:04.470 align:start position:0%
knowledge proofs
um<00:20:00.120><c> and</c><00:20:00.400><c> get</c><00:20:00.919><c> um</c><00:20:01.200><c> publicly</c><00:20:01.799><c> auditable</c><00:20:02.960><c> NPC</c><00:20:03.960><c> so</c>

00:20:04.470 --> 00:20:04.480 align:start position:0%
um and get um publicly auditable NPC so
 

00:20:04.480 --> 00:20:08.190 align:start position:0%
um and get um publicly auditable NPC so
we<00:20:04.640><c> can</c><00:20:05.000><c> have</c><00:20:05.679><c> both</c><00:20:05.919><c> an</c><00:20:06.120><c> MPC</c><00:20:07.080><c> and</c><00:20:07.360><c> a</c><00:20:07.520><c> su</c><00:20:07.880><c> sync</c>

00:20:08.190 --> 00:20:08.200 align:start position:0%
we can have both an MPC and a su sync
 

00:20:08.200 --> 00:20:10.870 align:start position:0%
we can have both an MPC and a su sync
certificate<00:20:09.159><c> that</c><00:20:09.520><c> the</c><00:20:09.640><c> NPC</c><00:20:10.120><c> was</c><00:20:10.240><c> done</c>

00:20:10.870 --> 00:20:10.880 align:start position:0%
certificate that the NPC was done
 

00:20:10.880 --> 00:20:14.190 align:start position:0%
certificate that the NPC was done
correctly<00:20:11.880><c> um</c><00:20:12.360><c> and</c><00:20:12.640><c> you</c><00:20:12.799><c> can</c><00:20:13.640><c> Yeah</c><00:20:13.919><c> we</c>

00:20:14.190 --> 00:20:14.200 align:start position:0%
correctly um and you can Yeah we
 

00:20:14.200 --> 00:20:17.590 align:start position:0%
correctly um and you can Yeah we
actually<00:20:14.480><c> have</c><00:20:14.679><c> a</c><00:20:14.799><c> bunch</c><00:20:15.039><c> of</c><00:20:15.240><c> MPC</c><00:20:15.840><c> talks</c><00:20:16.520><c> um</c><00:20:17.360><c> at</c>

00:20:17.590 --> 00:20:17.600 align:start position:0%
actually have a bunch of MPC talks um at
 

00:20:17.600 --> 00:20:20.950 align:start position:0%
actually have a bunch of MPC talks um at
this<00:20:17.840><c> conference</c><00:20:18.840><c> so</c><00:20:19.159><c> yeah</c><00:20:19.559><c> this</c><00:20:19.760><c> ZK</c><00:20:20.159><c> MPC</c><00:20:20.720><c> is</c>

00:20:20.950 --> 00:20:20.960 align:start position:0%
this conference so yeah this ZK MPC is
 

00:20:20.960 --> 00:20:23.029 align:start position:0%
this conference so yeah this ZK MPC is
what<00:20:21.559><c> I</c><00:20:21.679><c> was</c><00:20:21.880><c> talking</c><00:20:22.200><c> about</c><00:20:22.679><c> publicly</c>

00:20:23.029 --> 00:20:23.039 align:start position:0%
what I was talking about publicly
 

00:20:23.039 --> 00:20:24.950 align:start position:0%
what I was talking about publicly
auditable

00:20:24.950 --> 00:20:24.960 align:start position:0%
auditable
 

00:20:24.960 --> 00:20:27.310 align:start position:0%
auditable
MPC

00:20:27.310 --> 00:20:27.320 align:start position:0%
MPC
 

00:20:27.320 --> 00:20:31.310 align:start position:0%
MPC
um<00:20:28.320><c> yeah</c><00:20:28.480><c> so</c><00:20:28.679><c> so</c><00:20:29.000><c> this</c><00:20:29.120><c> is</c><00:20:29.200><c> a</c><00:20:29.480><c> project</c><00:20:30.039><c> that</c><00:20:30.720><c> uh</c>

00:20:31.310 --> 00:20:31.320 align:start position:0%
um yeah so so this is a project that uh
 

00:20:31.320 --> 00:20:34.070 align:start position:0%
um yeah so so this is a project that uh
our<00:20:31.880><c> colleague</c><00:20:32.400><c> Andrew</c><00:20:32.880><c> wrote</c><00:20:33.480><c> so</c><00:20:33.679><c> it's</c><00:20:33.799><c> a</c>

00:20:34.070 --> 00:20:34.080 align:start position:0%
our colleague Andrew wrote so it's a
 

00:20:34.080 --> 00:20:36.630 align:start position:0%
our colleague Andrew wrote so it's a
game<00:20:34.600><c> where</c><00:20:34.720><c> you</c><00:20:34.799><c> can</c><00:20:35.000><c> play</c><00:20:35.760><c> Rock</c><00:20:36.159><c> a</c><00:20:36.240><c> modified</c>

00:20:36.630 --> 00:20:36.640 align:start position:0%
game where you can play Rock a modified
 

00:20:36.640 --> 00:20:39.390 align:start position:0%
game where you can play Rock a modified
version<00:20:36.880><c> of</c><00:20:36.960><c> rock</c><00:20:37.159><c> paper</c><00:20:37.400><c> scissors</c><00:20:38.120><c> over</c><00:20:38.400><c> NPC</c>

00:20:39.390 --> 00:20:39.400 align:start position:0%
version of rock paper scissors over NPC
 

00:20:39.400 --> 00:20:41.590 align:start position:0%
version of rock paper scissors over NPC
so<00:20:39.760><c> only</c><00:20:40.120><c> you</c><00:20:40.679><c> and</c><00:20:41.039><c> the</c><00:20:41.200><c> person</c><00:20:41.440><c> you're</c>

00:20:41.590 --> 00:20:41.600 align:start position:0%
so only you and the person you're
 

00:20:41.600 --> 00:20:42.830 align:start position:0%
so only you and the person you're
playing<00:20:41.919><c> with</c><00:20:42.080><c> are</c><00:20:42.240><c> like</c><00:20:42.480><c> actually</c>

00:20:42.830 --> 00:20:42.840 align:start position:0%
playing with are like actually
 

00:20:42.840 --> 00:20:44.510 align:start position:0%
playing with are like actually
participating<00:20:43.840><c> there's</c><00:20:44.000><c> no</c><00:20:44.200><c> like</c>

00:20:44.510 --> 00:20:44.520 align:start position:0%
participating there's no like
 

00:20:44.520 --> 00:20:47.789 align:start position:0%
participating there's no like
intermediate<00:20:45.520><c> party</c><00:20:46.400><c> and</c><00:20:46.559><c> you</c><00:20:46.679><c> can</c><00:20:46.919><c> trust</c>

00:20:47.789 --> 00:20:47.799 align:start position:0%
intermediate party and you can trust
 

00:20:47.799 --> 00:20:53.230 align:start position:0%
intermediate party and you can trust
that<00:20:48.039><c> each</c><00:20:48.159><c> other</c><00:20:48.400><c> aren't</c><00:20:48.799><c> cheating</c><00:20:49.799><c> so</c><00:20:50.159><c> fun</c>

00:20:53.230 --> 00:20:53.240 align:start position:0%
 
 

00:20:53.240 --> 00:20:57.029 align:start position:0%
 
game<00:20:54.240><c> right</c><00:20:55.000><c> yeah</c><00:20:55.400><c> these</c><00:20:55.559><c> are</c><00:20:56.320><c> some</c><00:20:56.679><c> other</c>

00:20:57.029 --> 00:20:57.039 align:start position:0%
game right yeah these are some other
 

00:20:57.039 --> 00:21:00.470 align:start position:0%
game right yeah these are some other
applications<00:20:57.559><c> of</c><00:20:57.679><c> NPC</c><00:20:58.320><c> that</c><00:20:58.640><c> you</c><00:20:58.720><c> can</c><00:20:58.960><c> hear</c>

00:21:00.470 --> 00:21:00.480 align:start position:0%
applications of NPC that you can hear
 

00:21:00.480 --> 00:21:04.789 align:start position:0%
applications of NPC that you can hear
about<00:21:01.480><c> so</c><00:21:01.840><c> the</c><00:21:02.080><c> final</c><00:21:02.720><c> sort</c><00:21:03.320><c> of</c><00:21:04.320><c> I</c><00:21:04.400><c> think</c><00:21:04.600><c> the</c>

00:21:04.789 --> 00:21:04.799 align:start position:0%
about so the final sort of I think the
 

00:21:04.799 --> 00:21:07.830 align:start position:0%
about so the final sort of I think the
most<00:21:05.120><c> heavyweight</c><00:21:06.080><c> um</c><00:21:07.000><c> um</c><00:21:07.159><c> primitive</c><00:21:07.600><c> in</c>

00:21:07.830 --> 00:21:07.840 align:start position:0%
most heavyweight um um primitive in
 

00:21:07.840 --> 00:21:09.590 align:start position:0%
most heavyweight um um primitive in
programmable<00:21:08.480><c> cryptography</c><00:21:09.120><c> is</c><00:21:09.320><c> fully</c>

00:21:09.590 --> 00:21:09.600 align:start position:0%
programmable cryptography is fully
 

00:21:09.600 --> 00:21:10.789 align:start position:0%
programmable cryptography is fully
homomorphic

00:21:10.789 --> 00:21:10.799 align:start position:0%
homomorphic
 

00:21:10.799 --> 00:21:13.710 align:start position:0%
homomorphic
encryption<00:21:11.799><c> um</c><00:21:12.120><c> and</c><00:21:12.279><c> the</c><00:21:12.440><c> API</c><00:21:12.880><c> of</c><00:21:13.080><c> this</c><00:21:13.320><c> looks</c>

00:21:13.710 --> 00:21:13.720 align:start position:0%
encryption um and the API of this looks
 

00:21:13.720 --> 00:21:18.310 align:start position:0%
encryption um and the API of this looks
pretty<00:21:14.080><c> different</c><00:21:15.080><c> so</c><00:21:15.679><c> in</c><00:21:16.000><c> this</c><00:21:16.360><c> case</c>

00:21:18.310 --> 00:21:18.320 align:start position:0%
pretty different so in this case
 

00:21:18.320 --> 00:21:23.830 align:start position:0%
pretty different so in this case
um<00:21:19.320><c> um</c><00:21:20.080><c> the</c><00:21:20.600><c> holder</c><00:21:21.600><c> um</c><00:21:21.960><c> of</c><00:21:22.120><c> the</c><00:21:22.279><c> secret</c><00:21:22.840><c> data</c>

00:21:23.830 --> 00:21:23.840 align:start position:0%
um um the holder um of the secret data
 

00:21:23.840 --> 00:21:27.630 align:start position:0%
um um the holder um of the secret data
um<00:21:24.320><c> en</c><00:21:24.640><c> Crypts</c><00:21:25.039><c> it</c><00:21:25.880><c> homomorphically</c><00:21:26.880><c> so</c><00:21:27.159><c> it</c>

00:21:27.630 --> 00:21:27.640 align:start position:0%
um en Crypts it homomorphically so it
 

00:21:27.640 --> 00:21:29.110 align:start position:0%
um en Crypts it homomorphically so it
transforms<00:21:28.279><c> it</c>

00:21:29.110 --> 00:21:29.120 align:start position:0%
transforms it
 

00:21:29.120 --> 00:21:30.149 align:start position:0%
transforms it
um

00:21:30.149 --> 00:21:30.159 align:start position:0%
um
 

00:21:30.159 --> 00:21:35.350 align:start position:0%
um
into<00:21:31.159><c> this</c><00:21:31.400><c> sort</c><00:21:31.640><c> of</c><00:21:32.159><c> um</c><00:21:32.600><c> Cipher</c><00:21:33.200><c> text</c><00:21:34.200><c> um</c><00:21:34.480><c> that</c>

00:21:35.350 --> 00:21:35.360 align:start position:0%
into this sort of um Cipher text um that
 

00:21:35.360 --> 00:21:38.350 align:start position:0%
into this sort of um Cipher text um that
preserves<00:21:36.000><c> the</c><00:21:36.240><c> privacy</c><00:21:36.679><c> of</c><00:21:36.840><c> the</c><00:21:37.000><c> data</c><00:21:37.760><c> but</c>

00:21:38.350 --> 00:21:38.360 align:start position:0%
preserves the privacy of the data but
 

00:21:38.360 --> 00:21:40.830 align:start position:0%
preserves the privacy of the data but
also<00:21:38.679><c> preserves</c><00:21:39.200><c> the</c><00:21:39.400><c> structure</c><00:21:39.840><c> of</c><00:21:40.000><c> it</c><00:21:40.559><c> such</c>

00:21:40.830 --> 00:21:40.840 align:start position:0%
also preserves the structure of it such
 

00:21:40.840 --> 00:21:44.190 align:start position:0%
also preserves the structure of it such
that<00:21:41.279><c> any</c><00:21:41.679><c> party</c><00:21:42.520><c> um</c><00:21:42.760><c> Can</c><00:21:43.360><c> Transform</c><00:21:43.960><c> it</c>

00:21:44.190 --> 00:21:44.200 align:start position:0%
that any party um Can Transform it
 

00:21:44.200 --> 00:21:46.950 align:start position:0%
that any party um Can Transform it
according<00:21:44.559><c> to</c><00:21:44.799><c> any</c><00:21:45.159><c> arbitrary</c><00:21:45.799><c> function</c><00:21:46.679><c> so</c>

00:21:46.950 --> 00:21:46.960 align:start position:0%
according to any arbitrary function so
 

00:21:46.960 --> 00:21:50.470 align:start position:0%
according to any arbitrary function so
once<00:21:47.200><c> again</c><00:21:47.640><c> this</c><00:21:47.760><c> is</c><00:21:47.919><c> fully</c><00:21:48.559><c> programmable</c><00:21:49.559><c> um</c>

00:21:50.470 --> 00:21:50.480 align:start position:0%
once again this is fully programmable um
 

00:21:50.480 --> 00:21:53.750 align:start position:0%
once again this is fully programmable um
but<00:21:51.480><c> all</c><00:21:51.640><c> the</c><00:21:51.840><c> work</c><00:21:52.080><c> is</c><00:21:52.320><c> kind</c><00:21:52.480><c> of</c><00:21:53.120><c> um</c>

00:21:53.750 --> 00:21:53.760 align:start position:0%
but all the work is kind of um
 

00:21:53.760 --> 00:21:56.950 align:start position:0%
but all the work is kind of um
outsourced<00:21:54.760><c> um</c><00:21:55.000><c> to</c><00:21:55.600><c> this</c><00:21:55.840><c> arbitrary</c><00:21:56.480><c> third</c>

00:21:56.950 --> 00:21:56.960 align:start position:0%
outsourced um to this arbitrary third
 

00:21:56.960 --> 00:22:01.549 align:start position:0%
outsourced um to this arbitrary third
party<00:21:57.960><c> um</c><00:21:58.600><c> so</c><00:21:58.960><c> this</c><00:21:59.159><c> third</c><00:21:59.480><c> party</c><00:22:00.320><c> performs</c><00:22:01.320><c> uh</c>

00:22:01.549 --> 00:22:01.559 align:start position:0%
party um so this third party performs uh
 

00:22:01.559 --> 00:22:04.630 align:start position:0%
party um so this third party performs uh
an<00:22:01.720><c> arbitrary</c><00:22:02.360><c> computation</c><00:22:03.360><c> and</c><00:22:03.559><c> then</c>

00:22:04.630 --> 00:22:04.640 align:start position:0%
an arbitrary computation and then
 

00:22:04.640 --> 00:22:06.230 align:start position:0%
an arbitrary computation and then
returns

00:22:06.230 --> 00:22:06.240 align:start position:0%
returns
 

00:22:06.240 --> 00:22:09.149 align:start position:0%
returns
um<00:22:07.240><c> uh</c><00:22:07.760><c> so</c><00:22:08.000><c> this</c><00:22:08.159><c> third</c><00:22:08.400><c> party</c><00:22:08.640><c> is</c><00:22:08.760><c> working</c>

00:22:09.149 --> 00:22:09.159 align:start position:0%
um uh so this third party is working
 

00:22:09.159 --> 00:22:13.070 align:start position:0%
um uh so this third party is working
completely<00:22:10.039><c> blindly</c><00:22:11.039><c> um</c><00:22:11.720><c> and</c><00:22:12.039><c> ends</c><00:22:12.360><c> up</c><00:22:12.679><c> only</c>

00:22:13.070 --> 00:22:13.080 align:start position:0%
completely blindly um and ends up only
 

00:22:13.080 --> 00:22:16.870 align:start position:0%
completely blindly um and ends up only
with<00:22:13.480><c> a</c><00:22:13.679><c> cipher</c><00:22:14.080><c> text</c><00:22:14.360><c> form</c><00:22:14.880><c> of</c><00:22:15.039><c> the</c><00:22:15.480><c> output</c><00:22:16.480><c> um</c>

00:22:16.870 --> 00:22:16.880 align:start position:0%
with a cipher text form of the output um
 

00:22:16.880 --> 00:22:18.909 align:start position:0%
with a cipher text form of the output um
and<00:22:17.000><c> the</c><00:22:17.159><c> point</c><00:22:17.440><c> here</c><00:22:17.640><c> is</c><00:22:17.840><c> that</c><00:22:18.240><c> only</c><00:22:18.799><c> the</c>

00:22:18.909 --> 00:22:18.919 align:start position:0%
and the point here is that only the
 

00:22:18.919 --> 00:22:21.950 align:start position:0%
and the point here is that only the
holder<00:22:19.320><c> of</c><00:22:19.440><c> the</c><00:22:19.600><c> secret</c><00:22:20.120><c> key</c><00:22:21.120><c> um</c><00:22:21.279><c> is</c><00:22:21.480><c> able</c><00:22:21.760><c> to</c>

00:22:21.950 --> 00:22:21.960 align:start position:0%
holder of the secret key um is able to
 

00:22:21.960 --> 00:22:24.590 align:start position:0%
holder of the secret key um is able to
decrypt<00:22:22.880><c> the</c><00:22:23.039><c> output</c><00:22:23.559><c> to</c><00:22:23.799><c> some</c><00:22:24.080><c> sensible</c>

00:22:24.590 --> 00:22:24.600 align:start position:0%
decrypt the output to some sensible
 

00:22:24.600 --> 00:22:26.990 align:start position:0%
decrypt the output to some sensible
plain<00:22:25.360><c> text</c>

00:22:26.990 --> 00:22:27.000 align:start position:0%
plain text
 

00:22:27.000 --> 00:22:31.110 align:start position:0%
plain text
um<00:22:28.000><c> and</c><00:22:28.960><c> yeah</c><00:22:29.240><c> there's</c><00:22:29.640><c> actually</c><00:22:30.039><c> been</c><00:22:30.960><c> a</c>

00:22:31.110 --> 00:22:31.120 align:start position:0%
um and yeah there's actually been a
 

00:22:31.120 --> 00:22:36.350 align:start position:0%
um and yeah there's actually been a
bunch<00:22:31.360><c> of</c><00:22:31.520><c> cool</c><00:22:31.919><c> experiments</c><00:22:32.919><c> using</c><00:22:33.880><c> FHA</c><00:22:35.360><c> um</c>

00:22:36.350 --> 00:22:36.360 align:start position:0%
bunch of cool experiments using FHA um
 

00:22:36.360 --> 00:22:39.950 align:start position:0%
bunch of cool experiments using FHA um
by<00:22:36.840><c> cursive</c><00:22:37.840><c> so</c><00:22:38.320><c> you</c><00:22:38.440><c> can</c><00:22:38.640><c> check</c><00:22:38.960><c> that</c><00:22:39.120><c> out</c><00:22:39.799><c> uh</c>

00:22:39.950 --> 00:22:39.960 align:start position:0%
by cursive so you can check that out uh
 

00:22:39.960 --> 00:22:45.430 align:start position:0%
by cursive so you can check that out uh
no<00:22:40.440><c> yeah</c><00:22:40.880><c> that's</c><00:22:41.159><c> already</c><00:22:41.520><c> over</c><00:22:42.080><c> as</c><00:22:42.600><c> well</c><00:22:43.760><c> um</c>

00:22:45.430 --> 00:22:45.440 align:start position:0%
no yeah that's already over as well um
 

00:22:45.440 --> 00:22:49.510 align:start position:0%
no yeah that's already over as well um
so<00:22:46.440><c> yeah</c><00:22:46.640><c> I</c><00:22:46.760><c> think</c><00:22:47.000><c> that's</c><00:22:47.279><c> all</c><00:22:47.480><c> we</c><00:22:47.919><c> have</c><00:22:48.919><c> and</c>

00:22:49.510 --> 00:22:49.520 align:start position:0%
so yeah I think that's all we have and
 

00:22:49.520 --> 00:22:53.310 align:start position:0%
so yeah I think that's all we have and
do<00:22:49.679><c> we</c><00:22:49.840><c> have</c><00:22:50.000><c> time</c><00:22:50.120><c> for</c>

00:22:53.310 --> 00:22:53.320 align:start position:0%
 
 

00:22:53.320 --> 00:22:55.149 align:start position:0%
 
questions

00:22:55.149 --> 00:22:55.159 align:start position:0%
questions
 

00:22:55.159 --> 00:22:57.990 align:start position:0%
questions
questions<00:22:56.159><c> thank</c><00:22:56.400><c> you</c><00:22:56.799><c> first</c><00:22:57.360><c> maybe</c><00:22:57.720><c> give</c><00:22:57.880><c> a</c>

00:22:57.990 --> 00:22:58.000 align:start position:0%
questions thank you first maybe give a
 

00:22:58.000 --> 00:22:59.470 align:start position:0%
questions thank you first maybe give a
round<00:22:58.159><c> of</c><00:22:58.240><c> app</c><00:22:58.559><c> off</c><00:22:58.679><c> to</c><00:22:58.760><c> the</c><00:22:58.840><c> speakers</c><00:22:59.159><c> for</c><00:22:59.360><c> a</c>

00:22:59.470 --> 00:22:59.480 align:start position:0%
round of app off to the speakers for a
 

00:22:59.480 --> 00:23:01.430 align:start position:0%
round of app off to the speakers for a
very<00:22:59.720><c> nice</c><00:22:59.919><c> overview</c><00:23:00.360><c> of</c>

00:23:01.430 --> 00:23:01.440 align:start position:0%
very nice overview of
 

00:23:01.440 --> 00:23:04.190 align:start position:0%
very nice overview of
cryptography<00:23:02.440><c> um</c><00:23:02.760><c> so</c><00:23:03.279><c> it's</c><00:23:03.440><c> a</c><00:23:03.679><c> little</c><00:23:03.960><c> bit</c>

00:23:04.190 --> 00:23:04.200 align:start position:0%
cryptography um so it's a little bit
 

00:23:04.200 --> 00:23:06.070 align:start position:0%
cryptography um so it's a little bit
over<00:23:04.440><c> time</c><00:23:04.640><c> so</c><00:23:04.880><c> we</c><00:23:05.039><c> have</c><00:23:05.240><c> maybe</c><00:23:05.520><c> time</c><00:23:05.679><c> for</c><00:23:05.880><c> one</c>

00:23:06.070 --> 00:23:06.080 align:start position:0%
over time so we have maybe time for one
 

00:23:06.080 --> 00:23:07.549 align:start position:0%
over time so we have maybe time for one
question<00:23:06.480><c> but</c><00:23:06.640><c> I</c><00:23:06.720><c> think</c><00:23:06.880><c> one</c><00:23:07.039><c> that</c><00:23:07.200><c> came</c><00:23:07.360><c> in</c>

00:23:07.549 --> 00:23:07.559 align:start position:0%
question but I think one that came in
 

00:23:07.559 --> 00:23:09.350 align:start position:0%
question but I think one that came in
very<00:23:07.760><c> early</c><00:23:08.039><c> and</c><00:23:08.159><c> was</c><00:23:08.320><c> uploaded</c><00:23:08.799><c> a</c><00:23:08.880><c> lot</c><00:23:09.159><c> very</c>

00:23:09.350 --> 00:23:09.360 align:start position:0%
very early and was uploaded a lot very
 

00:23:09.360 --> 00:23:11.789 align:start position:0%
very early and was uploaded a lot very
quickly<00:23:10.159><c> was</c><00:23:10.559><c> what</c><00:23:10.679><c> are</c><00:23:10.840><c> some</c><00:23:11.080><c> good</c><00:23:11.279><c> resources</c>

00:23:11.789 --> 00:23:11.799 align:start position:0%
quickly was what are some good resources
 

00:23:11.799 --> 00:23:13.830 align:start position:0%
quickly was what are some good resources
to<00:23:12.000><c> dive</c><00:23:12.279><c> deeper</c><00:23:12.640><c> into</c><00:23:12.880><c> formal</c><00:23:13.240><c> cryptography</c>

00:23:13.830 --> 00:23:13.840 align:start position:0%
to dive deeper into formal cryptography
 

00:23:13.840 --> 00:23:15.710 align:start position:0%
to dive deeper into formal cryptography
as<00:23:13.960><c> someone</c><00:23:14.200><c> with</c><00:23:14.400><c> no</c><00:23:14.720><c> prior</c>

00:23:15.710 --> 00:23:15.720 align:start position:0%
as someone with no prior
 

00:23:15.720 --> 00:23:19.950 align:start position:0%
as someone with no prior
experience<00:23:16.720><c> so</c><00:23:17.200><c> there</c><00:23:17.600><c> is</c><00:23:18.320><c> a</c><00:23:19.039><c> elliptic</c><00:23:19.559><c> curve</c>

00:23:19.950 --> 00:23:19.960 align:start position:0%
experience so there is a elliptic curve
 

00:23:19.960 --> 00:23:23.470 align:start position:0%
experience so there is a elliptic curve
cryptography<00:23:20.799><c> primer</c><00:23:21.679><c> by</c><00:23:22.200><c> Cloud</c><00:23:22.559><c> flare</c><00:23:23.360><c> that</c>

00:23:23.470 --> 00:23:23.480 align:start position:0%
cryptography primer by Cloud flare that
 

00:23:23.480 --> 00:23:26.470 align:start position:0%
cryptography primer by Cloud flare that
I<00:23:23.600><c> would</c><00:23:24.159><c> recommend</c><00:23:25.159><c> um</c>

00:23:26.470 --> 00:23:26.480 align:start position:0%
I would recommend um
 

00:23:26.480 --> 00:23:30.310 align:start position:0%
I would recommend um
it's<00:23:27.480><c> a</c><00:23:27.600><c> little</c><00:23:27.880><c> long</c><00:23:28.600><c> but</c><00:23:28.760><c> it's</c><00:23:29.320><c> very</c>

00:23:30.310 --> 00:23:30.320 align:start position:0%
it's a little long but it's very
 

00:23:30.320 --> 00:23:31.669 align:start position:0%
it's a little long but it's very
understandable<00:23:30.840><c> like</c><00:23:30.960><c> you</c><00:23:31.080><c> can</c><00:23:31.279><c> you</c><00:23:31.360><c> can</c><00:23:31.520><c> get</c>

00:23:31.669 --> 00:23:31.679 align:start position:0%
understandable like you can you can get
 

00:23:31.679 --> 00:23:34.029 align:start position:0%
understandable like you can you can get
through<00:23:31.840><c> that</c><00:23:32.039><c> pretty</c><00:23:32.279><c> well</c><00:23:33.200><c> um</c><00:23:33.480><c> three</c><00:23:33.760><c> blue</c>

00:23:34.029 --> 00:23:34.039 align:start position:0%
through that pretty well um three blue
 

00:23:34.039 --> 00:23:36.470 align:start position:0%
through that pretty well um three blue
one<00:23:34.320><c> brown</c><00:23:34.919><c> did</c><00:23:35.080><c> a</c><00:23:35.240><c> video</c><00:23:35.640><c> on</c><00:23:35.840><c> how</c><00:23:36.039><c> Bitcoin</c>

00:23:36.470 --> 00:23:36.480 align:start position:0%
one brown did a video on how Bitcoin
 

00:23:36.480 --> 00:23:38.470 align:start position:0%
one brown did a video on how Bitcoin
works<00:23:36.760><c> that</c><00:23:36.919><c> he</c><00:23:37.039><c> Dives</c><00:23:37.400><c> deep</c><00:23:38.080><c> and</c><00:23:38.200><c> it's</c><00:23:38.360><c> like</c>

00:23:38.470 --> 00:23:38.480 align:start position:0%
works that he Dives deep and it's like
 

00:23:38.480 --> 00:23:41.230 align:start position:0%
works that he Dives deep and it's like
20<00:23:38.760><c> minutes</c><00:23:39.080><c> and</c><00:23:39.279><c> he</c><00:23:39.600><c> he</c><00:23:39.840><c> goes</c><00:23:40.120><c> over</c><00:23:41.080><c> uh</c>

00:23:41.230 --> 00:23:41.240 align:start position:0%
20 minutes and he he goes over uh
 

00:23:41.240 --> 00:23:45.789 align:start position:0%
20 minutes and he he goes over uh
hashing<00:23:41.760><c> and</c><00:23:41.919><c> signing</c><00:23:42.720><c> pretty</c><00:23:43.320><c> deeply</c><00:23:44.799><c> and</c>

00:23:45.789 --> 00:23:45.799 align:start position:0%
hashing and signing pretty deeply and
 

00:23:45.799 --> 00:23:47.190 align:start position:0%
hashing and signing pretty deeply and
yeah<00:23:46.120><c> I</c><00:23:46.200><c> think</c><00:23:46.320><c> those</c><00:23:46.440><c> are</c><00:23:46.600><c> probably</c><00:23:46.799><c> two</c><00:23:46.960><c> good</c>

00:23:47.190 --> 00:23:47.200 align:start position:0%
yeah I think those are probably two good
 

00:23:47.200 --> 00:23:50.230 align:start position:0%
yeah I think those are probably two good
options<00:23:48.039><c> oh</c><00:23:48.440><c> also</c><00:23:49.039><c> there's</c><00:23:49.320><c> this</c><00:23:49.600><c> legendary</c>

00:23:50.230 --> 00:23:50.240 align:start position:0%
options oh also there's this legendary
 

00:23:50.240 --> 00:23:52.830 align:start position:0%
options oh also there's this legendary
cryptographer<00:23:50.960><c> Dan</c><00:23:51.279><c> Bonet</c><00:23:52.000><c> who's</c><00:23:52.240><c> done</c><00:23:52.640><c> a</c>

00:23:52.830 --> 00:23:52.840 align:start position:0%
cryptographer Dan Bonet who's done a
 

00:23:52.840 --> 00:23:56.789 align:start position:0%
cryptographer Dan Bonet who's done a
bunch<00:23:53.080><c> of</c><00:23:53.440><c> open</c><00:23:54.080><c> courseware</c><00:23:55.080><c> um</c><00:23:55.480><c> courses</c><00:23:56.480><c> with</c>

00:23:56.789 --> 00:23:56.799 align:start position:0%
bunch of open courseware um courses with
 

00:23:56.799 --> 00:24:00.350 align:start position:0%
bunch of open courseware um courses with
like<00:23:57.159><c> videos</c><00:23:57.960><c> and</c><00:23:58.440><c> course</c><00:23:59.039><c> materials</c><00:24:00.039><c> um</c><00:24:00.279><c> I</c>

00:24:00.350 --> 00:24:00.360 align:start position:0%
like videos and course materials um I
 

00:24:00.360 --> 00:24:03.590 align:start position:0%
like videos and course materials um I
think<00:24:00.559><c> it's</c><00:24:00.720><c> on</c><00:24:00.960><c> corsera</c><00:24:01.919><c> actually</c><00:24:02.840><c> so</c><00:24:03.279><c> I</c>

00:24:03.590 --> 00:24:03.600 align:start position:0%
think it's on corsera actually so I
 

00:24:03.600 --> 00:24:05.870 align:start position:0%
think it's on corsera actually so I
highly<00:24:03.919><c> highly</c><00:24:04.240><c> recommend</c><00:24:05.120><c> that</c>

00:24:05.870 --> 00:24:05.880 align:start position:0%
highly highly recommend that
 

00:24:05.880 --> 00:24:08.430 align:start position:0%
highly highly recommend that
one<00:24:06.880><c> cool</c><00:24:07.120><c> I</c><00:24:07.240><c> maybe</c><00:24:07.559><c> watching</c><00:24:07.840><c> back</c><00:24:08.039><c> the</c><00:24:08.159><c> talks</c>

00:24:08.430 --> 00:24:08.440 align:start position:0%
one cool I maybe watching back the talks
 

00:24:08.440 --> 00:24:09.990 align:start position:0%
one cool I maybe watching back the talks
that<00:24:08.559><c> you</c><00:24:08.679><c> linked</c><00:24:09.039><c> as</c><00:24:09.159><c> well</c><00:24:09.400><c> so</c><00:24:09.640><c> watching</c><00:24:09.880><c> the</c>

00:24:09.990 --> 00:24:10.000 align:start position:0%
that you linked as well so watching the
 

00:24:10.000 --> 00:24:12.470 align:start position:0%
that you linked as well so watching the
videos<00:24:10.440><c> back</c><00:24:11.200><c> very</c><00:24:11.440><c> nice</c><00:24:11.799><c> so</c><00:24:12.080><c> I</c><00:24:12.159><c> think</c><00:24:12.320><c> we're</c>

00:24:12.470 --> 00:24:12.480 align:start position:0%
videos back very nice so I think we're
 

00:24:12.480 --> 00:24:14.110 align:start position:0%
videos back very nice so I think we're
at<00:24:12.679><c> time</c><00:24:12.919><c> we</c><00:24:13.000><c> have</c><00:24:13.120><c> a</c><00:24:13.200><c> few</c><00:24:13.360><c> minutes</c><00:24:13.640><c> to</c><00:24:13.840><c> switch</c>

00:24:14.110 --> 00:24:14.120 align:start position:0%
at time we have a few minutes to switch
 

00:24:14.120 --> 00:24:15.909 align:start position:0%
at time we have a few minutes to switch
over<00:24:14.400><c> for</c><00:24:14.520><c> the</c><00:24:14.640><c> next</c><00:24:14.799><c> session</c><00:24:15.240><c> but</c><00:24:15.559><c> yeah</c><00:24:15.720><c> we'</c>

00:24:15.909 --> 00:24:15.919 align:start position:0%
over for the next session but yeah we'
 

00:24:15.919 --> 00:24:17.549 align:start position:0%
over for the next session but yeah we'
like<00:24:16.039><c> to</c><00:24:16.159><c> thank</c><00:24:16.320><c> the</c><00:24:16.400><c> speakers</c><00:24:16.840><c> again</c><00:24:17.320><c> and</c><00:24:17.440><c> we</c>

00:24:17.549 --> 00:24:17.559 align:start position:0%
like to thank the speakers again and we
 

00:24:17.559 --> 00:24:18.870 align:start position:0%
like to thank the speakers again and we
see<00:24:17.760><c> you</c>

00:24:18.870 --> 00:24:18.880 align:start position:0%
see you
 

00:24:18.880 --> 00:24:21.990 align:start position:0%
see you
soon<00:24:19.880><c> so</c><00:24:20.600><c> uh</c><00:24:20.760><c> we'll</c><00:24:20.919><c> be</c><00:24:21.120><c> back</c><00:24:21.279><c> in</c><00:24:21.400><c> four</c><00:24:21.640><c> minutes</c>

00:24:21.990 --> 00:24:22.000 align:start position:0%
soon so uh we'll be back in four minutes
 

00:24:22.000 --> 00:24:23.870 align:start position:0%
soon so uh we'll be back in four minutes
but<00:24:22.120><c> I</c><00:24:22.200><c> was</c><00:24:22.400><c> just</c><00:24:22.600><c> advised</c><00:24:23.000><c> to</c><00:24:23.120><c> say</c><00:24:23.720><c> and</c>

00:24:23.870 --> 00:24:23.880 align:start position:0%
but I was just advised to say and
 

00:24:23.880 --> 00:24:25.430 align:start position:0%
but I was just advised to say and
there's<00:24:24.080><c> quite</c><00:24:24.200><c> a</c><00:24:24.320><c> lot</c><00:24:24.440><c> of</c><00:24:24.559><c> cans</c><00:24:25.000><c> and</c><00:24:25.200><c> stuff</c>

00:24:25.430 --> 00:24:25.440 align:start position:0%
there's quite a lot of cans and stuff
 

00:24:25.440 --> 00:24:28.039 align:start position:0%
there's quite a lot of cans and stuff
left<00:24:25.640><c> around</c>

