Skip to content

Commit

Permalink
Alphabetical order
Browse files Browse the repository at this point in the history
  • Loading branch information
malandrina committed Feb 22, 2024
1 parent 24cef87 commit fac5a17
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -373,14 +373,32 @@ Further reading:
---

### Keystream

See: [Stream cipher](?id=stream-cipher)

---

### Nonce

> A random or non-repeating value that is included in data exchanged by a protocol, usually for the purpose of guaranteeing the transmittal of live data rather than replayed data, thus detecting and protecting against replay attacks.
"Nonce". [NIST Computer Security Resource Center Glossary](https://csrc.nist.gov/glossary/term/nonce). Accessed 6 February 2024.

---

### Oracle

Defined by Alan Turing in 1938 as "some unspecified means of solving number theoretic problems".

Extending this definition to other problems commonly encountered in cryptography, we may define an _encryption oracle_ as an unspecified means of encrypting data; a _padding oracle_ as an unspecified means of learning whether an encrypted message has valid padding; and a _random oracle_ as an unspecified means of producing a random number.

Further reading:
- [Does a cryptographic oracle have to be a server?, StackOverflow](https://crypto.stackexchange.com/questions/88777/does-a-cryptographic-oracle-have-to-be-a-server)
- [Oracle machine, Wikipedia](https://en.wikipedia.org/wiki/Oracle_machine#Applications_to_cryptography)
- [Turing, Alan. Systems of Logic Based on Ordinals (PDF)](https://www.dcc.fc.up.pt/%7Eacm/turing-phd.pdf)

---

### Padding

> Oftentimes messages are not an integer multiple of the block size and hence need to be *padded*. The *padding* is typically a map that takes the last partial block of the message ... and maps it into a full block ... The map needs to be invertible which in particular means that if the message is already an integer multiple of the block size we will need to add an extra block.
Expand Down Expand Up @@ -440,17 +458,6 @@ Further reading:
- [random, docs.python.org](https://docs.python.org/3/library/random.html)
- [Random, ruby-doc.org](https://ruby-doc.org/3.3.0/Random.html)

### Oracle

Defined by Alan Turing in 1938 as "some unspecified means of solving number theoretic problems".

Extending this definition to other problems commonly encountered in cryptography, we may define an _encryption oracle_ as an unspecified means of encrypting data; a _padding oracle_ as an unspecified means of learning whether an encrypted message has valid padding; and a _random oracle_ as an unspecified means of producing a random number.

Further reading:
- [Does a cryptographic oracle have to be a server?, StackOverflow](https://crypto.stackexchange.com/questions/88777/does-a-cryptographic-oracle-have-to-be-a-server)
- [Oracle machine, Wikipedia](https://en.wikipedia.org/wiki/Oracle_machine#Applications_to_cryptography)
- [Turing, Alan. Systems of Logic Based on Ordinals (PDF)](https://www.dcc.fc.up.pt/%7Eacm/turing-phd.pdf)

### Vigenère cipher

Polyalphabetic substitution cipher invented by Giovan Battista Bellaso in the 16th century, misattributed to Blaise de Vigenère.
Expand Down

0 comments on commit fac5a17

Please sign in to comment.