Key Principles in Cryptography: Kerckhoff's and Key Space

 
Cryptography
 
Lecture
 
2
Announcements
 
Quiz
 
Thursday
 
10
 
minutes
Closed-book
 
quiz
 
Survey
 
How
 
many
 
of
 
you
 
read
 
the
 
chapters
 
I
 
ask
 
you
to?
How
 
many
 
of
 
you
 
are
 
from
 
math
 
department?
How
 
many
 
of
 
you
 
learned
 
some
 
preliminary
crypto
 
in
 
some
 
other
 
classes?
How
 
many
 
of
 
you
 
are
 
comfortable
 
with
 
proofs
and
 
theorems
 
throughout
 
the
 
semester?
 
Kerckhoffs’s principle
 
The encryption scheme 
is not secret
The attacker knows the encryption scheme
The only secret is the 
key
The key must be chosen at random; kept secret
 
Some arguments in favor of this principle
Easier to keep 
key
 secret than 
algorithm
Easier to change 
key
 than to change 
algorithm
Standardization
Ease of deployment
Public validation
 
Is 
the
 
Shift
 
Cipher
 
secure?
 
No -- only 26 possible keys!
Given a ciphertext, try decrypting with every
possible key
If ciphertext is long enough, only one plaintext will
“make sense”
Does
 
it
 
violate
 
the
 
Kerckhoffs’s
 
principle?
Sufficient key space principle
 
The key space must be large enough to make
exhaustive-search attacks impractical
How large do you think that is?
 
Note: this makes some assumptions…
English-language plaintext
Ciphertext sufficiently long so only one valid
plaintext
If
 
both
 
Sufficient
 
Key
 
Space
 
Principle
and
 
Kerckhoffs
’s
 
Principle
 
are
 
satisfied
 
Do
 
you
 
have
 
a
 
secure
 
private-key
 
encryption?
 
If
 
yes,
 
why?
If
 
not,
 
why?
 
So far…
 
“Heuristic” constructions; construct, break,
repeat, …
 
Can we 
prove
 that some encryption scheme
is secure?
 
First need to 
define
 what we mean by “secure”
in the first place…
 
Historically…
 
Cryptography was an 
art
Heuristic, ad hoc design and analysis
 
This isn’t very satisfying
How do we know when a scheme is secure?
 
Modern cryptography
 
In the late ‘70s and early ‘80s, cryptography
began to develop into more of a 
science
 
Based on three principles that underpin most
crypto work today
 
Core principles of modern crypto
 
Formal definitions
Precise, mathematical model and definition of
what security means
 
Assumptions
Clearly stated and unambiguous
 
Proofs of security
Move away from design-break-patch
 
Importance of definitions
 
Definitions are essential for the design,
analysis, and usage of crypto
 
Importance of definitions -- design
 
Developing a precise definition forces the
designer to think about what they really want
What is essential and (sometimes more
important) what is not
Often reveals subtleties of the problem
 
Importance of definitions -- design
 
 
 
If you don’t understand what you want to
achieve, how can you possibly know when (or if)
you have achieved it?
 
Importance of definitions -- analysis
 
Definitions enable meaningful analysis,
evaluation, and comparison of schemes
Does a scheme satisfy the definition?
What definition does it satisfy?
Note: there may be multiple meaningful definitions!
One scheme may be less efficient than another, yet
satisfy a stronger security definition
 
Importance of definitions -- usage
 
Definitions allow others to understand the
security guarantees provided by a scheme
Enables schemes to be used as 
components
 of
a larger system (modularity)
Enables one scheme to be substituted for
another if they satisfy the same definition
 
Assumptions
 
With few exceptions, cryptography currently
requires 
computational assumptions
At least until we prove P 
 NP (and even that
would not be enough)
 
Principle: any such assumptions should
be made explicit
 
Importance of clear assumptions
 
Allow researchers to (attempt to) 
validate
assumptions by studying them
Allow meaningful 
comparison 
between
schemes based on different assumptions
Useful to understand minimal assumptions needed
Practical implications if assumptions are wrong
 
Enable proofs of security
 
Proofs of security
 
Provide a rigorous proof that a construction
satisfies a given definition under certain
specified assumptions
Provides an iron-clad guarantee (relative to your
definition and assumptions!)
 
Proofs are crucial in cryptography, where
there is a malicious attacker trying to “break”
the scheme
 
Limitations?
 
Cryptography remains partly an 
art
 as well
 
Given a proof of security based on some
assumption, we still need to 
instantiate
the assumption
Validity of various assumptions is an active area of
research
 
Why?
 
NP=P?
Other
 
limitations?
 
Discuss!
Limitations?
 
Proofs given an iron-clad guarantee of security
…relative to the definition and the assumptions!
 
Provably secure schemes can be broken!
If the definition does not correspond to the real-world
threat model
I.e., if attacker can go “outside the security model”
This happens a lot in practice
If the assumption is invalid
If the implementation is flawed
This happens a lot in practice
 
Nevertheless…
 
This does not detract from the importance of
having formal definitions in place
This does not detract from the importance of
proofs of security
 
Defining secure encryption
 
Crypto definitions (generally)
 
Security guarantee/goal
What we want to achieve and/or what we want to
prevent the attacker from achieving
 
Threat model
What (real-world) capabilities the attacker is
assumed to have
 
Recall
 
A 
private-key encryption scheme
 is defined by a
message space 
M
 and algorithms (Gen, Enc, Dec):
Gen (key-generation algorithm): generates k
Enc (encryption algorithm): takes key k and message
m 
 
M
 as input; outputs ciphertext c
                               c 
 
Enc
k
(m)
Dec (decryption algorithm): takes key k and
ciphertext c as input; outputs m.
                               m := Dec
k
(c)
 
Private-key encryption
 
k
 
k
 
c
 
key
 
m
c := Enc
k
(m)
 
message/plaintext
 
encryption
 
ciphertext
 
m := Dec
k
(c)
 
decryption
 
key
Threat models for encryption
 
Ciphertext-only attack
One ciphertext or many?
 
Known-plaintext attack
 
Chosen-plaintext attack
 
Chosen-ciphertext attack
 
Goal of secure encryption?
 
How would you define what it means for
encryption scheme (Gen, Enc, Dec) over
message space 
M
 to be secure?
Against a (single) ciphertext-only attack
Secure encryption?
 
“Impossible for the attacker to learn the key”
The key is a 
means to an end
, not the end itself
Necessary (to some extent) but not sufficient
Easy to design an encryption scheme that
hides the key completely, but is insecure
Can design schemes where most of the key is
leaked, but the scheme is still secure
Secure encryption?
 
“Impossible for the attacker to learn the
plaintext from the ciphertext”
What if the attacker learns 90% of the plaintext?
Secure encryption?
 
“Impossible for the attacker to learn any
character of the plaintext from the ciphertext”
What if the attacker is able to learn (other)
partial information about the plaintext?
E.g., salary is greater than $75K
What if the attacker guesses a character correctly?
 
Perfect secrecy
Perfect secrecy
 
“Regardless of any 
prior
 information the
attacker has about the plaintext, the ciphertext
should leak no 
additional
 information about
the plaintext”
The right notion!
How to formalize?
 
Probability review
 
Random variable (r.v.):
 variable that takes on
(discrete) values with certain probabilities
 
Probability distribution for a r.v. specifies the
probabilities with which the variable takes on each
possible value
Each probability must be between 0 and 1
The probabilities must sum to 1
 
Probability review
 
Event
: a particular occurrence in some experiment
Pr[E]: probability of event E
 
Conditional probability: probability that one event
occurs, 
given that 
some other event occurred
Pr[A | B] = Pr[A and B]/Pr[B]
 
Two r.v.’s X, Y are 
independent
 if
  for all x, y: Pr[X=x | Y=y] = Pr[X=x]
 
Probability review
 
Law of total probability: say E
1
, …, E
n
 are a 
partition
of all possibilities. Then for any A:
     Pr[A] = 
i
 Pr[A and E
i
] = 
i
 Pr[A | E
i
] · Pr[E
i
]
 
Notation
 
K
 
(key space) – set of all possible keys
 
C
 (ciphertext space) – set of all possible
ciphertexts
 
Probability distributions
 
Let M be the random variable denoting the
value of the message
M ranges over 
M
This reflects the likelihood of different messages
being sent by the parties, given the attacker’s
prior knowledge
E.g.,
            Pr[M = “attack today”] = 0.7
            Pr[M = “don’t attack”] = 0.3
 
Probability distributions
 
Let K be a random variable denoting the key
K ranges over 
K
 
Fix some encryption scheme (Gen, Enc, Dec)
Gen defines a probability distribution for K:
          Pr[K = k] = Pr[Gen outputs key k]
 
Probability distributions
 
Random variables M and K are 
independent
I.e., the message that a party sends does not
depend on the key used to encrypt that message
Probability distributions
 
Fix some encryption scheme (Gen, Enc, Dec), and
some distribution for M
Consider the following (randomized) experiment:
1.
Choose a message m, according to the given distribution
2.
Generate a key k using Gen
3.
Compute c 
 Enc
k
(m)
This defines a distribution on the ciphertext!
Let C be a random variable denoting the value of the
ciphertext in this experiment
Example 1
 
Consider the shift cipher
So for all k 
 {0, …, 25}, 
Pr[K = k] = 1/26
 
Say Pr[M = ‘a’] = 0.7,  Pr[M = ‘z’] = 0.3
 
What is Pr[C = ‘b’] ?
Either M = ‘a’ and K = 1, or M = ‘z’ and K = 2
Pr[C=‘b’] = Pr[M=‘a’]·Pr[K=1] + Pr[M=‘z’] ·Pr[K=2]
Pr[C=‘b’] =  0.7 · (1/26) + 0.3 · (1/26)
Pr[C=‘b’] = 1/26
Example 2
 
Consider the shift cipher, and the distribution
Pr[M = ‘one’] = ½,  Pr[M = ‘ten’] = ½
 
Pr[C = ‘rqh’] = ?
= Pr[C = ‘rqh’ | M = ‘one’] · Pr[M = ‘one’]
    + Pr[ C = ‘rqh’ | M = ‘ten’] · Pr[M = ‘ten’]
= 1/26 · ½ + 0 · ½ = 1/52
 
Perfect secrecy (informal)
 
“Regardless of any 
prior
 information the
attacker has about the plaintext, the ciphertext
should leak no 
additional
 information about
the plaintext”
 
Perfect secrecy (informal)
 
Attacker’s information about the plaintext =
attacker-known 
distribution
 of M
 
Perfect secrecy means that observing the
ciphertext should not change the attacker’s
knowledge about the distribution of M
 
Perfect secrecy (formal)
 
Encryption scheme (Gen, Enc, Dec) with message
space 
M
 and ciphertext space 
C
 is 
perfectly secret
 if
for every distribution over 
M
, every m 
 
M
, and
every c 
 
C
 
with Pr[C=c] > 0, it holds that
                 Pr[M = m | C = c] = Pr[M = m].
 
I.e., the distribution of M does not change
conditioned on observing the ciphertext
Example 3
 
Consider the shift cipher, and the distribution
Pr[M = ‘one’] = ½,  Pr[M = ‘ten’] = ½
Take m = ‘ten’ and c = ‘rqh’
 
Pr[M = ‘ten’ | C = ‘rqh’] = ?
= 0
 Pr[M = ‘ten’]
 
Conclusion
 
The shift cipher is not perfectly secret!
 
How to construct a perfectly secret scheme?
 
One-time pad
 
Patented in 1917 by Vernam
Recent historical research indicates it was
invented (at least) 35 years earlier
 
Proven perfectly secret by Shannon (1949)
 
One-time pad
 
Let 
M
 = {0,1}
n
Gen: choose a uniform key k 
 {0,1}
n
Enc
k
(m) = k 
 m
Dec
k
(c) = k 
 c
 
Correctness:
Dec
k
( Enc
k
(m) ) = k 
 (k 
 m)
                            = (k 
 k) 
 m = m
 
One-time pad
key
 
n bits
message
 
n bits
ciphertext
 
n bits
 
Slide Note
Embed
Share

Understanding fundamental principles in cryptography, including Kerckhoff's principle, key space requirements, and the importance of secure private-key encryption. Exploring the Shift Cipher's security, key space size considerations, and the need for heuristic constructions for proving scheme security.

  • Cryptography
  • Kerckhoffs principle
  • Encryption
  • Key space
  • Security

Uploaded on Sep 14, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Cryptography Lecture 2

  2. Announcements Quiz Thursday 10 minutes Closed-book quiz

  3. Survey How many of you read the chapters I ask you to? How many of you are from math department? How many of you learned some preliminary crypto in some other classes? How many of you are comfortable with proofs and theorems throughout the semester?

  4. Kerckhoffss principle The encryption scheme is not secret The attacker knows the encryption scheme The only secret is the key The key must be chosen at random; kept secret Some arguments in favor of this principle Easier to keep key secret than algorithm Easier to change key than to change algorithm Standardization Ease of deployment Public validation

  5. Is the Shift Cipher secure? No -- only 26 possible keys! Given a ciphertext, try decrypting with every possible key If ciphertext is long enough, only one plaintext will make sense Does it violate the Kerckhoffs s principle?

  6. Sufficient key space principle The key space must be large enough to make exhaustive-search attacks impractical How large do you think that is? Note: this makes some assumptions English-language plaintext Ciphertext sufficiently long so only one valid plaintext

  7. If both Sufficient Key Space Principle and Kerckhoffs s Principle are satisfied Do you have a secure private-key encryption? If yes, why? If not, why?

  8. So far Heuristic constructions; construct, break, repeat, Can we prove that some encryption scheme is secure? First need to define what we mean by secure in the first place

  9. Historically Cryptography was an art Heuristic, ad hoc design and analysis This isn t very satisfying How do we know when a scheme is secure?

  10. Modern cryptography In the late 70s and early 80s, cryptography began to develop into more of a science Based on three principles that underpin most crypto work today

  11. Core principles of modern crypto Formal definitions Precise, mathematical model and definition of what security means Assumptions Clearly stated and unambiguous Proofs of security Move away from design-break-patch

  12. Importance of definitions Definitions are essential for the design, analysis, and usage of crypto

  13. Importance of definitions -- design Developing a precise definition forces the designer to think about what they really want What is essential and (sometimes more important) what is not Often reveals subtleties of the problem

  14. Importance of definitions -- design If you don t understand what you want to achieve, how can you possibly know when (or if) you have achieved it?

  15. Importance of definitions -- analysis Definitions enable meaningful analysis, evaluation, and comparison of schemes Does a scheme satisfy the definition? What definition does it satisfy? Note: there may be multiple meaningful definitions! One scheme may be less efficient than another, yet satisfy a stronger security definition

  16. Importance of definitions -- usage Definitions allow others to understand the security guarantees provided by a scheme Enables schemes to be used as components of a larger system (modularity) Enables one scheme to be substituted for another if they satisfy the same definition

  17. Assumptions With few exceptions, cryptography currently requires computational assumptions At least until we prove P NP (and even that would not be enough) Principle: any such assumptions should be made explicit

  18. Importance of clear assumptions Allow researchers to (attempt to) validate assumptions by studying them Allow meaningful comparison between schemes based on different assumptions Useful to understand minimal assumptions needed Practical implications if assumptions are wrong Enable proofs of security

  19. Proofs of security Provide a rigorous proof that a construction satisfies a given definition under certain specified assumptions Provides an iron-clad guarantee (relative to your definition and assumptions!) Proofs are crucial in cryptography, where there is a malicious attacker trying to break the scheme

  20. Limitations? Cryptography remains partly an art as well Given a proof of security based on some assumption, we still need to instantiate the assumption Validity of various assumptions is an active area of research Why? NP=P? Other limitations? Discuss!

  21. Limitations? Proofs given an iron-clad guarantee of security relative to the definition and the assumptions! Provably secure schemes can be broken! If the definition does not correspond to the real-world threat model I.e., if attacker can go outside the security model This happens a lot in practice If the assumption is invalid If the implementation is flawed This happens a lot in practice

  22. Nevertheless This does not detract from the importance of having formal definitions in place This does not detract from the importance of proofs of security

  23. Defining secure encryption

  24. Crypto definitions (generally) Security guarantee/goal What we want to achieve and/or what we want to prevent the attacker from achieving Threat model What (real-world) capabilities the attacker is assumed to have

  25. Recall A private-key encryption scheme is defined by a message space M M and algorithms (Gen, Enc, Dec): Gen (key-generation algorithm): generates k Enc (encryption algorithm): takes key k and message m M M as input; outputs ciphertext c c Enck(m) Dec (decryption algorithm): takes key k and ciphertext c as input; outputs m. m := Deck(c)

  26. Private-key encryption key key ciphertext c k k m m := Deck(c) c := Enck(m) message/plaintext decryption encryption

  27. Threat models for encryption Ciphertext-only attack One ciphertext or many? Known-plaintext attack Chosen-plaintext attack Chosen-ciphertext attack

  28. Goal of secure encryption? How would you define what it means for encryption scheme (Gen, Enc, Dec) over message space M M to be secure? Against a (single) ciphertext-only attack

  29. Secure encryption? Impossible for the attacker to learn the key The key is a means to an end, not the end itself Necessary (to some extent) but not sufficient Easy to design an encryption scheme that hides the key completely, but is insecure Can design schemes where most of the key is leaked, but the scheme is still secure

  30. Secure encryption? Impossible for the attacker to learn the plaintext from the ciphertext What if the attacker learns 90% of the plaintext?

  31. Secure encryption? Impossible for the attacker to learn any character of the plaintext from the ciphertext What if the attacker is able to learn (other) partial information about the plaintext? E.g., salary is greater than $75K What if the attacker guesses a character correctly?

  32. Perfect secrecy

  33. Perfect secrecy Regardless of any prior information the attacker has about the plaintext, the ciphertext should leak no additional information about the plaintext The right notion! How to formalize?

  34. Probability review Random variable (r.v.): variable that takes on (discrete) values with certain probabilities Probability distribution for a r.v. specifies the probabilities with which the variable takes on each possible value Each probability must be between 0 and 1 The probabilities must sum to 1

  35. Probability review Event: a particular occurrence in some experiment Pr[E]: probability of event E Conditional probability: probability that one event occurs, given that some other event occurred Pr[A | B] = Pr[A and B]/Pr[B] Two r.v. s X, Y are independent if for all x, y: Pr[X=x | Y=y] = Pr[X=x]

  36. Probability review Law of total probability: say E1, , En are a partition of all possibilities. Then for any A: Pr[A] = i Pr[A and Ei] = i Pr[A | Ei] Pr[Ei]

  37. Notation K K(key space) set of all possible keys C C (ciphertext space) set of all possible ciphertexts

  38. Probability distributions Let M be the random variable denoting the value of the message M ranges over M M This reflects the likelihood of different messages being sent by the parties, given the attacker s prior knowledge E.g., Pr[M = attack today ] = 0.7 Pr[M = don t attack ] = 0.3

  39. Probability distributions Let K be a random variable denoting the key K ranges over K K Fix some encryption scheme (Gen, Enc, Dec) Gen defines a probability distribution for K: Pr[K = k] = Pr[Gen outputs key k]

  40. Probability distributions Random variables M and K are independent I.e., the message that a party sends does not depend on the key used to encrypt that message

  41. Probability distributions Fix some encryption scheme (Gen, Enc, Dec), and some distribution for M Consider the following (randomized) experiment: 1. Choose a message m, according to the given distribution 2. Generate a key k using Gen 3. Compute c Enck(m) This defines a distribution on the ciphertext! Let C be a random variable denoting the value of the ciphertext in this experiment

  42. Example 1 Consider the shift cipher So for all k {0, , 25}, Pr[K = k] = 1/26 Say Pr[M = a ] = 0.7, Pr[M = z ] = 0.3 What is Pr[C = b ] ? Either M = a and K = 1, or M = z and K = 2 Pr[C= b ] = Pr[M= a ] Pr[K=1] + Pr[M= z ] Pr[K=2] Pr[C= b ] = 0.7 (1/26) + 0.3 (1/26) Pr[C= b ] = 1/26

  43. Example 2 Consider the shift cipher, and the distribution Pr[M = one ] = , Pr[M = ten ] = Pr[C = rqh ] = ? = Pr[C = rqh | M = one ] Pr[M = one ] + Pr[ C = rqh | M = ten ] Pr[M = ten ] = 1/26 + 0 = 1/52

  44. Perfect secrecy (informal) Regardless of any prior information the attacker has about the plaintext, the ciphertext should leak no additional information about the plaintext

  45. Perfect secrecy (informal) Attacker s information about the plaintext = attacker-known distribution of M Perfect secrecy means that observing the ciphertext should not change the attacker s knowledge about the distribution of M

  46. Perfect secrecy (formal) Encryption scheme (Gen, Enc, Dec) with message space M M and ciphertext space C C is perfectly secret if for every distribution over M M, every m M M, and every c C Cwith Pr[C=c] > 0, it holds that Pr[M = m | C = c] = Pr[M = m]. I.e., the distribution of M does not change conditioned on observing the ciphertext

  47. Example 3 Consider the shift cipher, and the distribution Pr[M = one ] = , Pr[M = ten ] = Take m = ten and c = rqh Pr[M = ten | C = rqh ] = ? = 0 Pr[M = ten ]

  48. Conclusion The shift cipher is not perfectly secret! How to construct a perfectly secret scheme?

  49. One-time pad Patented in 1917 by Vernam Recent historical research indicates it was invented (at least) 35 years earlier Proven perfectly secret by Shannon (1949)

  50. One-time pad Let M M = {0,1}n Gen: choose a uniform key k {0,1}n Enck(m) = k m Deck(c) = k c Correctness: Deck( Enck(m) ) = k (k m) = (k k) m = m

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#