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
0
69
How to Send a Secret Message
https://github.com/breandan/crypto-exercises
Breandan Considine
September 17, 2016
Tweet
Share
More Decks by Breandan Considine
See All by Breandan Considine
Intrinsic social motivation via causal influence in multi-agent RL
breandan
0
150
Deep, Skinny Neural Networks are not Universal Approximators
breandan
0
140
PRM-RL: Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning
breandan
0
170
DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars
breandan
0
120
Idiolect: A Reconfigurable Voice Coding Assisant
breandan
0
250
Interactive Programming with Automated Reasoning
breandan
0
94
Learning Structural Edits via Incremental Tree Transformations
breandan
0
68
Thinking Like Transformers
breandan
0
100
Discriminative Embeddings of Latent Variable Models for Structured Data
breandan
0
78
Other Decks in Education
See All in Education
Why the humanities may be your best career bet
figarospeech
0
110
GOBUSATA紹介
chankawa919
0
130
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
0
360
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
210
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
310
SSH公開鍵認証 / 02-b-ssh
kaityo256
PRO
0
120
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
4k
次期バージョン 14.5.1 Early Access Program が始まりました
harunakano
1
120
Google Antigravity エージェント・フ ァーストな開発パラダイムへの招待
mickey_kubo
1
100
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
1
200
Chapitre_2_-_Partie_3.pdf
bernhardsvt
0
210
From Participation to Outcomes
territorium
PRO
0
330
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Marketing to machines
jonoalderson
1
5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Deep Space Network (abreviated)
tonyrice
0
95
Automating Front-end Workflow
addyosmani
1370
200k
A Soul's Torment
seathinner
5
2.5k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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.