Search
- Filter Results
- Location
- There are no locations to filter by
- Classification
- Include attachments
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/08%3A_Security_against_Chosen_Plaintext_Attacks/8.04%3A_ExercisesLet ∑ be an encryption scheme, and suppose there is a program A that recovers the key from a chosen plaintext attack. Construction 7.4 is a randomized encryption scheme, but w...Let ∑ be an encryption scheme, and suppose there is a program A that recovers the key from a chosen plaintext attack. Construction 7.4 is a randomized encryption scheme, but we could also consider defining it as a nonce-based scheme, interpreting r as the nonce: Enc(k,r,m)=(r,F(k,r)⊕m). (b) Prove that the scheme has CPA security if at least one of {Σ1,Σ2} has CPA security.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/05%3A_Basing_Cryptography_on_Limits_of_Computation/5.04%3A_Birthday_Probabilities_and_Sampling_with_out_ReplacementWe can use both of these upper and lower bounds on e−x to show the following: \[\prod_{i=1}^{q-1}\left(1-\frac{i}{N}\right) \leqslant \prod_{i=1}^{q-1} e^{-\frac{i}{N}}=e^{-\sum_{i=1}^{q-1} \fr...We can use both of these upper and lower bounds on e−x to show the following: q−1∏i=1(1−iN)⩽q−1∏i=1e−iN=e−∑q−1i=1iN=e−q(q−1)2N⩽1−0.632q(q−1)2N. With the last inequality we used the fact that q⩽√2N, and therefore q(q−1)2N⩽1 (this is necessary to apply the inequality e−x⩽1−0.632x ).
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/07%3A_Pseudorandom_Functions_and_Block_CiphersA pseudorandom generator allows us to take a small amount of uniformly sampled bits, and “amplify” them into a larger amount of uniform-looking bits. A PRG must run in polynomial time, so the length o...A pseudorandom generator allows us to take a small amount of uniformly sampled bits, and “amplify” them into a larger amount of uniform-looking bits. A PRG must run in polynomial time, so the length of its pseudorandom output can only be polynomial in the security parameter. But what if we wanted even more pseudorandom output? Is it possible to take λ uniformly sampled bits and generate 2λ pseudorandom bits?
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/03%3A_The_Basics_of_Provable_Security/3.01%3A_How_to_Write_a_Security_Definition"an encryption scheme is a good one if encryptions of mL look like encryptions of mR to an attacker, when each key is secret and used to encrypt only one plaintext, even when the attacke..."an encryption scheme is a good one if encryptions of mL look like encryptions of mR to an attacker, when each key is secret and used to encrypt only one plaintext, even when the attacker chooses mL and mR.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/03%3A_The_Basics_of_Provable_SecurityThis chapter is about the fundamental skills that revolve around security definitions: how to write them, how to understand & interpret them, how to prove security using the hybrid technique, and how ...This chapter is about the fundamental skills that revolve around security definitions: how to write them, how to understand & interpret them, how to prove security using the hybrid technique, and how to demonstrate insecurity using attacks against the security definition.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/08%3A_Security_against_Chosen_Plaintext_AttacksOur previous security definitions for encryption capture the case where a key is used to encrypt only one plaintext. Fortunately we have arranged things so that we get the "correct" security definitio...Our previous security definitions for encryption capture the case where a key is used to encrypt only one plaintext. Fortunately we have arranged things so that we get the "correct" security definition when we modify the earlier definition in a natural way. We say that Σ has security against chosen-plaintext attacks (CPA security) if LΣcpa-L ≈LΣcpa-R , where:
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/13%3A_Authenticated_Encryption_and_AEAD/13.01%3A_DefinitionsThe two libraries are different from each other in two major ways: whether the calling program sees real ciphertexts or random strings (that have nothing to do with the given plaintext), and whether t...The two libraries are different from each other in two major ways: whether the calling program sees real ciphertexts or random strings (that have nothing to do with the given plaintext), and whether the calling program sees the true result of decryption or an error message. By making a distinction between plaintext and associated data separately in AEAD, the ciphertext length can depend only on the length of the plaintext, and not depend on the length of the associated data.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/05%3A_Basing_Cryptography_on_Limits_of_Computation/5.03%3A_Indistinguishability\[\begin{gathered} =\left|\begin{array}{c} \left(\operatorname{Pr}\left[\mathcal{A} \diamond \mathcal{L}_{\text {left }} \Rightarrow 1 \mid \mathcal{B}_{\text {left }}\right] \cdot p^{*}+\operatorname...\[\begin{gathered} =\left|\begin{array}{c} \left(\operatorname{Pr}\left[\mathcal{A} \diamond \mathcal{L}_{\text {left }} \Rightarrow 1 \mid \mathcal{B}_{\text {left }}\right] \cdot p^{*}+\operatorname{Pr}\left[\mathcal{A} \diamond \mathcal{L}_{\text {left }} \Rightarrow 1 \mid \overline{\mathcal{B}_{\text {left }}}\right]\left(1-p^{*}\right)\right) \\ -\left(\operatorname{Pr}\left[\mathcal{A} \diamond \mathcal{L}_{\text {right }} \Rightarrow 1 \mid \mathcal{B}_{\text {right }}\right] \cdot p^{*…
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/11%3A_Message_Authentication_CodesImagine there was a way to "certify" that a ciphertext was not adversarially generated - i.e., it was generated by someone who knows the secret key. What we are asking for is not to hide the ciphertex...Imagine there was a way to "certify" that a ciphertext was not adversarially generated - i.e., it was generated by someone who knows the secret key. What we are asking for is not to hide the ciphertext but to authenticate it: to ensure that it was generated by someone who knows the secret key. One of the most important applications of a message authentication code is to transform a CPA-secure encryption scheme into a CCA-secure one.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/07%3A_Pseudorandom_Functions_and_Block_Ciphers/7.02%3A_PRFs_vs_PRGs%3B_Variable-Hybrid_ProofsThe inconvenience in the proof stems from a mismatch of the s variable in Lprg-real and the k variable in Lprf-real. In \(\mathcal{L}_{\text...The inconvenience in the proof stems from a mismatch of the s variable in Lprg-real and the k variable in Lprf-real. In Lprg-real, s is local to the QUERY subroutine.
- https://eng.libretexts.org/Under_Construction/Book%3A_The_Joy_of_Cryptography_(Rosulek)/01%3A_Review_of_Concepts_and_NotationThe material in this section is meant as a review. Despite that, many students report that they find this review useful for the rest of the book.