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
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
120
Deep, Skinny Neural Networks are not Universal Approximators
breandan
0
120
PRM-RL: Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning
breandan
0
140
DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars
breandan
0
110
Idiolect: A Reconfigurable Voice Coding Assisant
breandan
0
210
Interactive Programming with Automated Reasoning
breandan
0
74
Learning Structural Edits via Incremental Tree Transformations
breandan
0
53
Thinking Like Transformers
breandan
0
87
Discriminative Embeddings of Latent Variable Models for Structured Data
breandan
0
57
Other Decks in Education
See All in Education
Avoin jakaminen ja Creative Commons -lisenssit
matleenalaakso
0
2k
中央教育審議会 教育課程企画特別部会 情報・技術ワーキンググループに向けた提言 ー次期学習指導要領での情報活用能力の抜本的向上に向けてー
codeforeveryone
0
300
Test-NUTMEG紹介スライド
mugiiicha
0
230
日本の情報系社会人院生のリアル -JAIST 修士編-
yurikomium
1
130
万博マニアックマップを支えるオープンデータとその裏側
barsaka2
0
870
20250625_なんでもCopilot 一年の振り返り
ponponmikankan
0
380
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
GOVERNOR ADDRESS:2025年9月29日合同公式訪問例会:2720 Japan O.K. ロータリーEクラブ、2025年10月6日卓話:藤田 千克由 氏(国際ロータリー第2720地区 2025-2026年度 ガバナー・大分中央ロータリークラブ・大分トキハタクシー(株)顧問)
2720japanoke
0
220
質のよいアウトプットをできるようになるために~「読む・聞く、まとめる、言葉にする」を読んで~
amarelo_n24
0
260
理想の英語力に一直線!最高効率な英語学習のすゝめ
logica0419
6
420
Transición del Management al Neuromanagement
jvpcubias
0
240
Alumnote inc. Company Deck
yukinumata
0
2.7k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Why Our Code Smells
bkeepers
PRO
339
57k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making Projects Easy
brettharned
119
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Agile that works and the tools we love
rasmusluckow
331
21k
Become a Pro
speakerdeck
PRO
29
5.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
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.