From c6dc0bc14aea69ac0f56df5932abd5fbb13149dc Mon Sep 17 00:00:00 2001 From: Skalman Date: Sun, 31 Dec 2023 00:46:56 +0800 Subject: [PATCH 1/3] Add image to authenticated encryption silde for encryption module --- syllabus/1-Cryptography/4-Encryption-slides.md | 2 ++ .../img/Authenticated_Encryption_EtM.png | Bin 0 -> 14086 bytes 2 files changed, 2 insertions(+) create mode 100644 syllabus/1-Cryptography/img/Authenticated_Encryption_EtM.png diff --git a/syllabus/1-Cryptography/4-Encryption-slides.md b/syllabus/1-Cryptography/4-Encryption-slides.md index 63d4c18df..8d0479c18 100644 --- a/syllabus/1-Cryptography/4-Encryption-slides.md +++ b/syllabus/1-Cryptography/4-Encryption-slides.md @@ -237,6 +237,8 @@ Authenticated encryption adds a **M**essage **A**uthentication **C**ode to addit A reader can check the MAC to ensure the message was constructed by someone knowing the secret. + + Notes: Specifically, this authenticity says that _anyone who does not know the sender's secret_ could not construct the message. diff --git a/syllabus/1-Cryptography/img/Authenticated_Encryption_EtM.png b/syllabus/1-Cryptography/img/Authenticated_Encryption_EtM.png new file mode 100644 index 0000000000000000000000000000000000000000..b63cbd71888643e733cb60ff38b0741e958b5a62 GIT binary patch literal 14086 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 Date: Mon, 1 Jan 2024 18:28:33 +0800 Subject: [PATCH 2/3] Add notes to the AE slide to clarifys the AE EtM image --- syllabus/1-Cryptography/4-Encryption-slides.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/syllabus/1-Cryptography/4-Encryption-slides.md b/syllabus/1-Cryptography/4-Encryption-slides.md index 8d0479c18..982af036c 100644 --- a/syllabus/1-Cryptography/4-Encryption-slides.md +++ b/syllabus/1-Cryptography/4-Encryption-slides.md @@ -245,6 +245,10 @@ Specifically, this authenticity says that _anyone who does not know the sender's Generally, this adds ~16-32 bytes of overhead per encrypted message. +The image only shows only of of many possible constructions of authenticated encryption. + +Explain that the Key2 in the image, could be derived from Key1. + --- ## AEAD (**A**uthenticated **E**ncryption **A**dditional **D**ata) From f982e4188eae6564402345a35b5c3f4e90ffb271 Mon Sep 17 00:00:00 2001 From: Skalman Date: Tue, 2 Jan 2024 11:51:29 +0800 Subject: [PATCH 3/3] add `fragment` to all sub items in intro to crypto slides --- syllabus/1-Cryptography/1-Intro-slides.md | 108 +++++++++++----------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/syllabus/1-Cryptography/1-Intro-slides.md b/syllabus/1-Cryptography/1-Intro-slides.md index 0d42bbfe8..43bd9ebcd 100644 --- a/syllabus/1-Cryptography/1-Intro-slides.md +++ b/syllabus/1-Cryptography/1-Intro-slides.md @@ -22,10 +22,10 @@ Just kidding! -- Understand the goals of cryptography -- Understand some network and contextual assumptions -- Learn what expectations cryptography upholds -- Learn the primitives +- Understand the goals of cryptography +- Understand some network and contextual assumptions +- Learn what expectations cryptography upholds +- Learn the primitives @@ -55,9 +55,9 @@ Adversaries may want to: -- Read messages not intended for them -- Impersonate others -- Tamper with messages +- Read messages not intended for them +- Impersonate others +- Tamper with messages @@ -67,8 +67,8 @@ Use e-mail as an example of an flawed system. Some examples include: -- An attacker may impersonate your boss, trying to get you to send them money -- An attacker may change a message sent over a network, e.g. an instruction to transfer 100 EUR to 10000 EUR +- An attacker may impersonate your boss, trying to get you to send them money +- An attacker may change a message sent over a network, e.g. an instruction to transfer 100 EUR to 10000 EUR Probably best for the teacher to ask students to participate with examples of application messages, not just person-to-person messages. @@ -105,10 +105,10 @@ There is no such thing as a "closed channel" :) -- Data confidentiality -- Data authenticity -- Data integrity -- Non-repudiation +- Data confidentiality +- Data authenticity +- Data integrity +- Non-repudiation @@ -178,7 +178,7 @@ Users can have the **credible** expectation that the stated origin of a message
-Authenticity ensures that a third party cannot pretend I created some data. +Authenticity ensures that a third party cannot pretend I created some data. Notes: @@ -193,8 +193,7 @@ If data is tampered with, it is detectable. In other words, it possible to check
-Integrity ensures that if data I create is corrupted, it can be detected. - +Integrity ensures that if data I create is corrupted, it can be detected. ---v ## Physical Signatures @@ -220,7 +219,7 @@ The sender of a message cannot deny that they sent it.
-Non-repudiation ensures if Bob sends me some data, I can prove to a third party that they sent it. +Non-repudiation ensures if Bob sends me some data, I can prove to a third party that they sent it. --- @@ -228,8 +227,8 @@ Non-repudiation ensures if Bob sends me some data, I can prove to a third party One-way functions form the basis of both
**(cryptographic) hashing** and **asymmetric cryptography**. A function $f$ is one way if: -- it is reasonably fast to compute -- it is very, very slow to undo +- it is reasonably fast to compute +- it is very, very slow to undo Notes: @@ -244,7 +243,7 @@ We often express inversion problems in terms of mathematical games or oracles.
-A fingerprint, which is much smaller than a person, yet uniquely identifies an individual. +A fingerprint, which is much smaller than a person, yet uniquely identifies an individual. Notes: @@ -260,11 +259,11 @@ Hashes can be useful for many applications: -- Representation of larger data object
(history, commitment, file) -- Keys in a database -- Digital signatures -- Key derivation -- Pseudorandom functions +- Representation of larger data object
(history, commitment, file) +- Keys in a database +- Digital signatures +- Key derivation +- Pseudorandom functions
@@ -272,9 +271,14 @@ Hashes can be useful for many applications: ## Symmetric Cryptography -Symmetric encryption assumes all parties begin with some shared secret information, a potentially very difficult requirement.
The shared secret can then be used to protect further communications from others who do not know this secret. + + +- Symmetric encryption assumes all parties begin with some shared secret information. +- This is a potentially very difficult requirement. +- The shared secret can then be used to protect further communications from others who do not know this secret. +- In essence, it gives a way of "extending" a shared secret over time. -In essence, it gives a way of _extending_ a shared secret over time. + Notes: @@ -286,7 +290,7 @@ Remember that these communications are over an _open channel_, as we assumed tha For example, the Enigma cipher in WW2. A _channel_ was initiated by sharing a secret ("key") between two participants. Using the cipher, those participants could then exchange information securely. -However, since the key contained only limited _entropy_ ("information"), enough usage of it eventually compromised the secret and allowed the allies to decode messages. Even altering it once per day was not enough. +However, since the key contained only limited "entropy" ("information"), enough usage of it eventually compromised the secret and allowed the allies to decode messages. Even altering it once per day was not enough. Notes: @@ -297,10 +301,8 @@ When communicating over a channel that is protected with only a certain amount o ## Asymmetric Cryptography - In asymmetric cryptography, we devise a means to transform one value (the "secret") into some corresponding counterpart (the "public" key), preserving certain properties. - -- We believe that this is a one-way function (that there is no easy/fast inverse of this function). - -- Aside from preserving certain properties, we believe this counterpart (the "public key") reveals no information about the secret. +- We believe that this is a one-way function (that there is no easy/fast inverse of this function). +- Aside from preserving certain properties, we believe this counterpart (the "public key") reveals no information about the secret. --- @@ -313,10 +315,8 @@ _Using only the public key_, information can be transformed ("encrypted") such t ## Digital Signatures - _Using the secret key_, information can be transformed ("signed") such that anyone with knowledge of the information and the counterpart public key is able to affirm the operation. - -- Digital signatures provide message authenticity and integrity guarantees. - -- _There are two lessons are dedicated to digital signatures,
this is strictly an intro._ +- Digital signatures provide message authenticity and integrity guarantees. +- There are two lessons are dedicated to digital signatures,
this is strictly an intro. --- @@ -326,7 +326,7 @@ _Using only the public key_, information can be transformed ("encrypted") such t A **signature** _proves_ that the signer had knowledge of the secret,
without revealing the secret itself. -The signature cannot be used to create other signatures, and is unique to the message. +The signature cannot be used to create other signatures, and is unique to the message. Notes: @@ -345,7 +345,7 @@ There is cryptographic proof that the secret was known to the producer of the si
-The signer cannot claim that the signature was forged, unless they can defend a claim that the secret was compromised prior to signing.
+The signer cannot claim that the signature was forged, unless they can defend a claim that the secret was compromised prior to signing.
--- @@ -363,9 +363,9 @@ Hybrid cryptography composes new mechanisms from different cryptographic primiti For example: -- Symmetric encryption can provide speed, and often confidentiality, -- Hash functions can reduce the size of data while preserving identity, -- Asymmetric cryptography can dictate relations among the participants. +- Symmetric encryption can provide speed, and often confidentiality, +- Hash functions can reduce the size of data while preserving identity, +- Asymmetric cryptography can dictate relations among the participants. --- @@ -376,8 +376,8 @@ Certifications are used to make attestations about public key relationships. Typically in the form of a _signature_ on: - One or more cryptographically strong identifiers (e.g. public keys, hashes). -- Information about its ownership, its use and any other properties that the signer is capable of attesting/authorizing/witnessing. -- _(Meta-)information_ about this information itself, such as how long it is valid for and external considerations which would invalidate it. +- Information about its ownership, its use and any other properties that the signer is capable of attesting/authorizing/witnessing. +- "(Meta-)information" about this information itself, such as how long it is valid for and external considerations which would invalidate it. Notes: @@ -391,9 +391,9 @@ Notes: ## Entropy, Randomness, and Key Size - Entropy: Amount of non-redundant information contained within some data. -- Randomness: Unpredictability of some information. Less random implies lower entropy. -- Key size: Upper limit of possible entropy contained in a key. Keys with less random (more predictable) data have less entropy than this upper bound. -- One-time pad: A key of effectively infinite size. If it is perfectly random (i.e. has maximal entropy), then the cipher is theoretically unbreakable. +- Randomness: Unpredictability of some information. Less random implies lower entropy. +- Key size: Upper limit of possible entropy contained in a key. Keys with less random (more predictable) data have less entropy than this upper bound. +- One-time pad: A key of effectively infinite size. If it is perfectly random (i.e. has maximal entropy), then the cipher is theoretically unbreakable. Notes: @@ -410,9 +410,9 @@ fn roll_die() -> u32 { } ``` -- Pseudo-random sequences -- Physical data collection (e.g. cursor movement, LSB of microphone) -- Specialised hardware (e.g. low-level noise on silicon gates, quantum-amplifiers) +- Pseudo-random sequences +- Physical data collection (e.g. cursor movement, LSB of microphone) +- Specialised hardware (e.g. low-level noise on silicon gates, quantum-amplifiers) Notes: @@ -426,11 +426,11 @@ Cryptography is much more than encryption. -- Communicate on public networks, in the open -- Access information -- Have expectations about a message's authenticity and integrity -- Prove knowledge of some secret information -- Represent large amounts of data succinctly +- Communicate on public networks, in the open +- Access information +- Have expectations about a message's authenticity and integrity +- Prove knowledge of some secret information +- Represent large amounts of data succinctly