Cryptography Flashcards
What is SSL/TLS
?
It’s a protocol used to establish secure communications on the web
How does SSL/TLS
establish secure communication ?
TLS
establishes secure comms in two parts:
1. It uses a handshake protocol
to create a shared secret key using public key cryptography
2. A record layer
to securely transmit the data using the shared secret key
What are some applications of cryptography ?
- SSL/TLS
- File encryption
- Digital signatures
- Anonymous communication
- Multi-party communication
- Zero knowledge (proof of knowledge)
What are the 3 steps when introducing new cryptographic primitives ?
- Define the threat model
- Propose a construction
- Proof that breaking the construction under the given threat model will solve an underlying hard problem
What is a cipher ?
A pair of algorithms used to encrypt and decrypt data
What is perfect secrecy
of a cipher ?
Its property of ciphers which states that a given cipher-text
should reveal no information about its plaintext
What does Shannon’s bad news lemma prove ?
It shows that every cipher with perfect secrecy has a key length which is greater than or equal to the length of the message
What is a stream cipher ?
A cipher that uses a pseudo random generator
to generate a much shorter key which is used to encrypt and decrypt messages. The drawback is that such a cipher cannot achieve perfect secrecy, due to Shannon’s proof.
What should a programmer keep in mind with stream ciphers ?
The same key should not be used more than once
* For network sessions always negotiate a new key
* Stream ciphers should typically not be used for disk encryption
What do we mean when we say a PRG is indistinguishable from random
, what does this prove ?
Indistinguishable from random
is a property that proves just how secure a PRG is. We say a PRG is IFR, if the output of the PRG (derived from a subset K) cannot be distinguished from the output of a uniform distribution (derived from a larger set which contains K).
What is a secure prg
?
A PRG
is said to be secure if for all efficient statistical tests the advantage
is negligible. ie no efficient statistical tests exists that can distinguish the output of the PRG
from random.
What is a semantically secure cipher ?
A cipher is said to be semantically secure if for all efficient adversaries the advantage is negligible.
What is perfect secrecy (Shannon Cipher)
Its a property of a cipher such that it is difficult to guess a message from its given cipher-text
What is a block cipher ?
Its a cipher that takes in n bits of input at a time and maps that to exactly n bits of output (cipher text). Hence the term block (a set of n bit strings)
What is the intuition behind security in a block cipher ?
Simply put a block cipher is secure if it is computationally indistinguishable from a random permutation