Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update how_to_read.md #42

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion how_to_read.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ So, here following my incredibly informal (and probably inaccurate) mental model
* Many (most?) papers use security reductions. If they proof a security reduction from Foo to Bar, then it means that (subject to usually polynomial approximation), Foo is as secure as Bar (and by implication any attack on Foo could be used to attack Bar as well). This is nice when we are really confident in the security of Bar. (It will also be used for theoretically perfect constructs. So, the proof might be relative to a Random Function with a reduction that means that when you substitue in a PRF, your construction will be as secure as that PRF is a good approximation of a real random function.)
* Model: A Model is a a way for cryptographers to assume things which may not be true but are often close enough to true (and useful for proofs). They can be our version of [spherical cows](https://en.wikipedia.org/wiki/Spherical_cow).
* Random Oracle Model: We get to assume that we have access to [Random Oracles](https://en.wikipedia.org/wiki/Random_oracle) (ROs). Incredibly weird and critical to cryptographic proofs, but you can just think of it like a "perfect" cryptographic hash function (possibly with variable length output). As this is an imaginary construct anyway, there are an infinite number of different ROs which each map their inputs to ourputs differently. Generally, you don't care which you have as long as you have one. (This also means that papers might use more than one RO within the same paper for different purposes.) In security proofs both the challenger and adversary can query it and the adversary has the ability to pre-program its responses.
* Common Reference String Model: Every gets to know some common string. This solves the problem of ensuring everyone can get access to some public (trusted) value.
* Common Reference String Model: Everyone gets to know some common string. This solves the problem of ensuring everyone can get access to some public (trusted) value.
* Algebraic Group Model: Group elements output by an adversary can only have been derived by multiplying and inverting the adversary’s input group elements
* Random Function: It's like a Random Oracle (but don't ask me what the difference is). Imagine you have a set of all possible functions from a set of inputs to a set of outputs. Then, you select one of them completely at random (uniform distribution).
* Random Permutation: Same as a random function, but the input and output sets are the same and there is a one-to-one mapping between them.
Expand Down