Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to Send a Secret Message
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Breandan Considine
September 17, 2016
Education
69
0
Share
How to Send a Secret Message
https://github.com/breandan/crypto-exercises
Breandan Considine
September 17, 2016
More Decks by Breandan Considine
See All by Breandan Considine
Intrinsic social motivation via causal influence in multi-agent RL
breandan
0
170
Deep, Skinny Neural Networks are not Universal Approximators
breandan
0
150
PRM-RL: Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning
breandan
0
180
DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars
breandan
0
130
Idiolect: A Reconfigurable Voice Coding Assisant
breandan
0
250
Interactive Programming with Automated Reasoning
breandan
0
95
Learning Structural Edits via Incremental Tree Transformations
breandan
0
74
Thinking Like Transformers
breandan
0
110
Discriminative Embeddings of Latent Variable Models for Structured Data
breandan
0
82
Other Decks in Education
See All in Education
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
signer
PRO
0
2.7k
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
270
生成AI時代の情報発信
molmolken
0
110
Lenguajes de Programacion (Ingresantes UNI 2026)
robintux
0
170
Why the humanities may be your best career bet
figarospeech
0
180
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
Measuring what matters
jonoalderson
0
310
AWS Certified Generative AI Developer - Professional Beta 不合格体験記
amarelo_n24
1
240
BITCOIN : Les fondamentaux !
rlifchitz
0
140
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
12
2.8k
fake vs real
latrrr
0
120
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
370
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
270
Designing Experiences People Love
moore
143
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Unsuck your backbone
ammeep
672
58k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
180
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
370
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
How to Send a Secret Message GZS WZ PMJR Y
PMTDMW NMPPYKM Breandan Considine QDMYJRYJ TZJPOROJM Nikhil Nanivadekar JOBGOC JYJOVYRMBYD
What is cryptology?
Cryptology is the study of codes.
U V W X Y Z A B C D
E F G H I J K L M N O Q P R S T 1 2 3 4 5 6 7 8 9 0
None
None
None
Cryptology is the study of codes. ^ secret
Cryptology is the study of codes. ^ secret TOP SECRET
How do you share a secret message?
Let’s meet Tuesday afternoon at three.
Let’s meet Tuesday afternoon at three.
Let’s meet Tuesday afternoon at three. Lxt’s mxxt Tuxsday aftxrnoon
at thrxx.
Can we do better?
Exercise #1: Let’s write a cipher!
What is a key?
None
None
One path forward... Many paths backward
Exercise #2: Let’s crack a cipher!
Just like the key, a message can be...
907461028 123877499 129830976 123974729
“three o’clock”
“ ” हहलल वररर
None
Exercise #3: What is a key?
What happens if someone learns our algorithm?
What happens if someone learns our message?
What happens if someone learns our key?
What is a prime number?
None
None
None
None
31 32 33 34 35 36 37 13 14 15
16 17 30 38 3 4 5 12 18 29 39 1 2 6 11 19 28 40 7 8 9 10 20 27 41 21 22 23 24 25 26 42 43 44 45 46 47 48 49...
31 37 13 17 3 5 29 2 11 19
7 41 23 43 47 ...
None
How do we know if an integer is a prime
number?
Exercise #4: What is an algorithm?
Can we share a secret message without sharing a secret
key?
One day in 1977...
Exercise #5: What is a public key?
Step #1: Choose two large random prime numbers (p, q)
Step #2: Choose a number e, that is co-prime to
(p-1)(q-1) (let’s call ^ φ)
Step #3: Publish p*q and e.
Step #5: Encrypt with c(m) = me (mod pq)
Step #6: Decrypt with p(c) = cd (mod pq)
Step #6a: Where d is the inverse modulus of e
(mod φ) ie. e*d = 1 (mod (p-1)(q-1))
Step #2: Choose a number e, that is co-prime to
(p-1)(q-1)
Step #2: Choose a number e, that is co-prime to
(p-1)(q-1)
Exercise #6: Solve for d.