SlideShare une entreprise Scribd logo
1  sur  149
Télécharger pour lire hors ligne
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 isn’t
scary.
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.
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
presence of third-parties.
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
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 secret”
“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”+
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 the combination to alice
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
send the combination to bob
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 blend to get a new secret color
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

Contenu connexe

Plus de jessepollak

Building Trust on the Blockchain: The Importance of Mental Models
Building Trust on the Blockchain: The Importance of Mental ModelsBuilding Trust on the Blockchain: The Importance of Mental Models
Building Trust on the Blockchain: The Importance of Mental Modelsjessepollak
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityjessepollak
 
Passwords the weakest link in word press security
Passwords  the weakest link in word press securityPasswords  the weakest link in word press security
Passwords the weakest link in word press securityjessepollak
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityjessepollak
 
WordPress Security Update: How we're building the web's most secure platform ...
WordPress Security Update: How we're building the web's most secure platform ...WordPress Security Update: How we're building the web's most secure platform ...
WordPress Security Update: How we're building the web's most secure platform ...jessepollak
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityjessepollak
 
Clef security architecture
Clef security architectureClef security architecture
Clef security architecturejessepollak
 
Passwords and Botnets and Zombies (oh my!)
Passwords and Botnets and Zombies (oh my!)Passwords and Botnets and Zombies (oh my!)
Passwords and Botnets and Zombies (oh my!)jessepollak
 
Anatomy of a WordPress Hack
Anatomy of a WordPress HackAnatomy of a WordPress Hack
Anatomy of a WordPress Hackjessepollak
 

Plus de jessepollak (9)

Building Trust on the Blockchain: The Importance of Mental Models
Building Trust on the Blockchain: The Importance of Mental ModelsBuilding Trust on the Blockchain: The Importance of Mental Models
Building Trust on the Blockchain: The Importance of Mental Models
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress security
 
Passwords the weakest link in word press security
Passwords  the weakest link in word press securityPasswords  the weakest link in word press security
Passwords the weakest link in word press security
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress security
 
WordPress Security Update: How we're building the web's most secure platform ...
WordPress Security Update: How we're building the web's most secure platform ...WordPress Security Update: How we're building the web's most secure platform ...
WordPress Security Update: How we're building the web's most secure platform ...
 
Passwords: the weakest link in WordPress security
Passwords: the weakest link in WordPress securityPasswords: the weakest link in WordPress security
Passwords: the weakest link in WordPress security
 
Clef security architecture
Clef security architectureClef security architecture
Clef security architecture
 
Passwords and Botnets and Zombies (oh my!)
Passwords and Botnets and Zombies (oh my!)Passwords and Botnets and Zombies (oh my!)
Passwords and Botnets and Zombies (oh my!)
 
Anatomy of a WordPress Hack
Anatomy of a WordPress HackAnatomy of a WordPress Hack
Anatomy of a WordPress Hack
 

Dernier

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Dernier (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Cryptography 101