hi y’all, i’m jesse
hi y’all, i’m jesse
co-founder at clef
hi y’all, i’m jesse
@jessepollak
co-founder at clef
cryptography
cRyPtOgRaPhY
cryptography
goals
goals
give you a basic knowledge of
what crypto is and how it works.
goals
give you a basic knowledge of
what crypto is and how it
use examples you can understand
goals
give you a basic knowledge of
what crypto is and how it
use examples you can understand
help you realize that crypto...
goals
give you a basic knowledge of
what crypto is and how it works.
use examples you can understand
help you realize that...
again, i’m jesse
@jessepollak
co-founder at clef
crypto 101
crypto 101
getclef.com/crypto101
cryptography
the art of writing or solving codes
cryptography
the art of writing or solving codes
the practice and study of techniques
to communicate securely in the
prese...
cryptography
the art of writing or solving codes
the practice and study of techniques
to communicate securely in the
prese...
so, what?
so, what?
where is cryptography actually used?
1 passwords
1 passwords
2 clef
1 passwords
2 clef
3 SSL
1 passwords
2 clef
3 SSL
what is SSL?
what is TLS?
what is HTTPS?
ssl
the way we browse the web without
anyone else listening in.
core problem
how can two people communicate
securely?
alicebob
two subproblems
“your message”
1
“fd64$%533#$$1”
“your message”
1
“your message”
“fd64$%533#$$1”
“your message”
1
encryption
1
alicebob
2
bob
2
“your message”
“fd64$%533#$$1”
“your message”
bob
2
alicebob
2
“your message”
bob alice
2
“your message”
“fd64$%533#$$1”
bob alice
2
“your message”
“fd64$%533#$$1”
bob
“fd64$%533#$$1”
alice
2
“your message”
“fd64$%533#$$1”
“your message”
bob
“fd64$%533#$$1”
?
alice
2
“your message”
“fd64$%533#$$1”
“your message”
bob
“fd64$%533#$$1”
?
alice
2
alicebob
key exchange
what is ssl?
how we communicate securely on
the internet.
the combination of encryption and
key exchange.
got it?
got it?
(just kidding)
let’s build ssl
encryption
I have a message that
I want to keep secret
I have an encryption key
that only I know
I have an encryption key
that only I know
I have an encryption key
that only I know
I have an encryption key
that only I knowwhat is this thing?
I have an encryption key
that only I knowwhat is this thing?
I have an encryption key
that only I knowwhat is this thing?
I have an encryption key
that only I knowwhat is this thing?
“secret message”
I have an encryption key
that only I knowwhat is this thing?
“secret message”
“secret key”
I have an encryption key
that only I knowwhat is this thing?
“secret message”
“secret key”
“the message I want to keep secret”
“the message I want to keep secret”
“my secret key”+
“the message I want to keep secret”
“my secret key”+
“the message I want to keep secret”
“my secret key”+
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”=
“the message I want to keep secret”
“my secret key”+
“the message I want to keep secret”=
encrypted
“the message I want to keep secret”
“my secret key”+
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”=
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“my secret key”+
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“my secret key”+
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“my secret key”+
“the message I want to keep secret”=
“the message I want to keep secret”
“my secret key”+
decrypted
“the message I want to keep secret”=
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“my secret key”+
“the message I want to keep secret”=
“the message I want to keep secre...
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“my secret key”+
“the message I want to keep secret”=
“the message I want to keep secre...
encryption
decryption
encryption(message, encryption_key)
returns encrypted_message
decryption(encrypted_message, encryption_key)
returns message
encryption
key exchange
alicebob
how we get the same encryption key
alicebob
how we get the same encryption key
without me finding out
alicebob
how we get the same encryption key
without me finding out
or me
alicebob
how we get the same encryption key
without me finding out
or meor me
alicebob
how we get the same encryption key
without me finding out
or meor me
alicebob
how we get the same encryption key
without me finding out
or meor me
all communication is public
problem
how do two people share an
encryption key when they can’t
communicate privately.
solution
diffie-hellman!
solution
diffie-hellman…?
solution
math!
solution
math…?
solution
colors
solution
colors!
diffie-hellman key exchange
diffie-hellman key exchange
with no math and lots of colors!
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
imagine that we have an
infinite number of colors
some rules
some rules
easy to mix two colors to get a third
some rules
+
easy to mix two colors to get a third
some rules
+
easy to mix two colors to get a third
=
some rules
+
easy to mix two colors to get a third
=
impossible to figure out mixed colors
some rules
+
easy to mix two colors to get a third
=
impossible to figure out mixed colors
=
some rules
+
easy to mix two colors to get a third
=
impossible to figure out mixed colors
= +
some rules
+
easy to mix two colors to get a third
=
impossible to figure out mixed colors
= + ?
some rules
+
easy to mix two colors to get a third
=
impossible to figure out mixed colors
= + ?
bob
hi
alicebob
hi hey
alicebob
alicebob
alicebob
alicebob
alicebob
alicebob
alicebob
alicebob
alicebob
“I NEED TO TELL YOU A SECRET!”
alicebob
“I NEED TO TELL YOU A SECRET!” “LET’S DO A KEY EXCHANGE!”
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
bob and alice agree on a random color publicly
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
bob chooses a color and tells no one
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alice chooses a color and tells no one
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
bob mixes his secret color with the public color and
send ...
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alice mixes her secret color with the public color and
sen...
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
bob and alice mix their secret colors with their
partner’s...
everyone else
secret
+ =
secret
everyone else
wrong
+ =
secret
wrong
+ = wrong
everyone else
+ =
secret
wrong
+ = wrong
+ = wrong
everyone else
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
ssl
key exchange + encryption
“the message I want to keep secret”
bob
“the message I want to keep secret”
+
bob
encrypt
“the message I want to keep secret”
+
bob
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
“the message I want to keep secret”
+
alicebob
bob’s knowledge alice’s knowledge
everyone’s knowledge
secret message
alice
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
alice
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
+
alice
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
+
decrypt
alice
“dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
+
“the message I want to keep secret”=
alicebob
we did it!
what is ssl?
how we communicate securely on
the internet.
the combination of encryption and
key exchange.
questions?
@jessepollak
Upcoming SlideShare
Loading in …5
×

Cryptography 101

768 views

Published on

Jesse Pollak's talk on Cryptography 101 and WordCamp Minneapolis

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
768
On SlideShare
0
From Embeds
0
Number of Embeds
221
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cryptography 101

  1. 1. hi y’all, i’m jesse
  2. 2. hi y’all, i’m jesse co-founder at clef
  3. 3. hi y’all, i’m jesse @jessepollak co-founder at clef
  4. 4. cryptography
  5. 5. cRyPtOgRaPhY
  6. 6. cryptography
  7. 7. goals
  8. 8. goals give you a basic knowledge of what crypto is and how it works.
  9. 9. goals give you a basic knowledge of what crypto is and how it use examples you can understand
  10. 10. goals give you a basic knowledge of what crypto is and how it use examples you can understand help you realize that crypto isn’t scary.
  11. 11. goals give you a basic knowledge of what crypto is and how it works. use examples you can understand help you realize that crypto isn’t scary.
  12. 12. again, i’m jesse @jessepollak co-founder at clef
  13. 13. crypto 101
  14. 14. crypto 101 getclef.com/crypto101
  15. 15. cryptography the art of writing or solving codes
  16. 16. cryptography the art of writing or solving codes the practice and study of techniques to communicate securely in the presence of third-parties.
  17. 17. cryptography the art of writing or solving codes the practice and study of techniques to communicate securely in the presence of third-parties. how we use the web without hackers stealing our identities and information
  18. 18. so, what?
  19. 19. so, what? where is cryptography actually used?
  20. 20. 1 passwords
  21. 21. 1 passwords 2 clef
  22. 22. 1 passwords 2 clef 3 SSL
  23. 23. 1 passwords 2 clef 3 SSL
  24. 24. what is SSL?
  25. 25. what is TLS?
  26. 26. what is HTTPS?
  27. 27. ssl the way we browse the web without anyone else listening in.
  28. 28. core problem
  29. 29. how can two people communicate securely? alicebob
  30. 30. two subproblems
  31. 31. “your message” 1
  32. 32. “fd64$%533#$$1” “your message” 1
  33. 33. “your message” “fd64$%533#$$1” “your message” 1
  34. 34. encryption 1 alicebob
  35. 35. 2 bob
  36. 36. 2 “your message” “fd64$%533#$$1” “your message” bob
  37. 37. 2 alicebob
  38. 38. 2 “your message” bob alice
  39. 39. 2 “your message” “fd64$%533#$$1” bob alice
  40. 40. 2 “your message” “fd64$%533#$$1” bob “fd64$%533#$$1” alice
  41. 41. 2 “your message” “fd64$%533#$$1” “your message” bob “fd64$%533#$$1” ? alice
  42. 42. 2 “your message” “fd64$%533#$$1” “your message” bob “fd64$%533#$$1” ? alice
  43. 43. 2 alicebob key exchange
  44. 44. what is ssl? how we communicate securely on the internet. the combination of encryption and key exchange.
  45. 45. got it?
  46. 46. got it? (just kidding)
  47. 47. let’s build ssl
  48. 48. encryption
  49. 49. I have a message that I want to keep secret
  50. 50. I have an encryption key that only I know
  51. 51. I have an encryption key that only I know
  52. 52. I have an encryption key that only I know
  53. 53. I have an encryption key that only I knowwhat is this thing?
  54. 54. I have an encryption key that only I knowwhat is this thing?
  55. 55. I have an encryption key that only I knowwhat is this thing?
  56. 56. I have an encryption key that only I knowwhat is this thing? “secret message”
  57. 57. I have an encryption key that only I knowwhat is this thing? “secret message” “secret key”
  58. 58. I have an encryption key that only I knowwhat is this thing? “secret message” “secret key”
  59. 59. “the message I want to keep secret”
  60. 60. “the message I want to keep secret” “my secret key”+
  61. 61. “the message I want to keep secret” “my secret key”+
  62. 62. “the message I want to keep secret” “my secret key”+ “dkjf8#654&(@)(5335jJkdfd8(%&jfdc”=
  63. 63. “the message I want to keep secret” “my secret key”+ “the message I want to keep secret”= encrypted
  64. 64. “the message I want to keep secret” “my secret key”+ “dkjf8#654&(@)(5335jJkdfd8(%&jfdc”=
  65. 65. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “my secret key”+
  66. 66. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “my secret key”+
  67. 67. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “my secret key”+ “the message I want to keep secret”=
  68. 68. “the message I want to keep secret” “my secret key”+ decrypted “the message I want to keep secret”=
  69. 69. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “my secret key”+ “the message I want to keep secret”= “the message I want to keep secret” “my secret key”+
  70. 70. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “my secret key”+ “the message I want to keep secret”= “the message I want to keep secret” “my secret key”+
  71. 71. encryption decryption
  72. 72. encryption(message, encryption_key) returns encrypted_message
  73. 73. decryption(encrypted_message, encryption_key) returns message
  74. 74. encryption
  75. 75. key exchange
  76. 76. alicebob how we get the same encryption key
  77. 77. alicebob how we get the same encryption key without me finding out
  78. 78. alicebob how we get the same encryption key without me finding out or me
  79. 79. alicebob how we get the same encryption key without me finding out or meor me
  80. 80. alicebob how we get the same encryption key without me finding out or meor me
  81. 81. alicebob how we get the same encryption key without me finding out or meor me all communication is public
  82. 82. problem how do two people share an encryption key when they can’t communicate privately.
  83. 83. solution diffie-hellman!
  84. 84. solution diffie-hellman…?
  85. 85. solution math!
  86. 86. solution math…?
  87. 87. solution colors
  88. 88. solution colors!
  89. 89. diffie-hellman key exchange
  90. 90. diffie-hellman key exchange with no math and lots of colors!
  91. 91. imagine that we have an infinite number of colors
  92. 92. imagine that we have an infinite number of colors
  93. 93. imagine that we have an infinite number of colors
  94. 94. imagine that we have an infinite number of colors
  95. 95. imagine that we have an infinite number of colors
  96. 96. imagine that we have an infinite number of colors
  97. 97. imagine that we have an infinite number of colors
  98. 98. imagine that we have an infinite number of colors
  99. 99. imagine that we have an infinite number of colors
  100. 100. imagine that we have an infinite number of colors
  101. 101. some rules
  102. 102. some rules easy to mix two colors to get a third
  103. 103. some rules + easy to mix two colors to get a third
  104. 104. some rules + easy to mix two colors to get a third =
  105. 105. some rules + easy to mix two colors to get a third = impossible to figure out mixed colors
  106. 106. some rules + easy to mix two colors to get a third = impossible to figure out mixed colors =
  107. 107. some rules + easy to mix two colors to get a third = impossible to figure out mixed colors = +
  108. 108. some rules + easy to mix two colors to get a third = impossible to figure out mixed colors = + ?
  109. 109. some rules + easy to mix two colors to get a third = impossible to figure out mixed colors = + ?
  110. 110. bob hi
  111. 111. alicebob hi hey
  112. 112. alicebob
  113. 113. alicebob
  114. 114. alicebob
  115. 115. alicebob
  116. 116. alicebob
  117. 117. alicebob
  118. 118. alicebob
  119. 119. alicebob
  120. 120. alicebob “I NEED TO TELL YOU A SECRET!”
  121. 121. alicebob “I NEED TO TELL YOU A SECRET!” “LET’S DO A KEY EXCHANGE!”
  122. 122. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge
  123. 123. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge bob and alice agree on a random color publicly
  124. 124. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge
  125. 125. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge bob chooses a color and tells no one
  126. 126. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge alice chooses a color and tells no one
  127. 127. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge bob mixes his secret color with the public color and send the combination to alice
  128. 128. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge
  129. 129. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge alice mixes her secret color with the public color and send the combination to bob
  130. 130. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge
  131. 131. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge bob and alice mix their secret colors with their partner’s blend to get a new secret color
  132. 132. everyone else secret
  133. 133. + = secret everyone else wrong
  134. 134. + = secret wrong + = wrong everyone else
  135. 135. + = secret wrong + = wrong + = wrong everyone else
  136. 136. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge
  137. 137. ssl key exchange + encryption
  138. 138. “the message I want to keep secret” bob
  139. 139. “the message I want to keep secret” + bob
  140. 140. encrypt “the message I want to keep secret” + bob
  141. 141. “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” “the message I want to keep secret” +
  142. 142. alicebob bob’s knowledge alice’s knowledge everyone’s knowledge secret message
  143. 143. alice “dkjf8#654&(@)(5335jJkdfd8(%&jfdc”
  144. 144. alice “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” +
  145. 145. alice “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” + decrypt
  146. 146. alice “dkjf8#654&(@)(5335jJkdfd8(%&jfdc” + “the message I want to keep secret”=
  147. 147. alicebob we did it!
  148. 148. what is ssl? how we communicate securely on the internet. the combination of encryption and key exchange.
  149. 149. questions? @jessepollak

×