Symmetric Cryptography - Topic 3 Flashcards
What is cryptography?
Cryptography is the “art of keeping messages secure” by Schneier
What services can cryptography provide?
Confidentiality - (secrecy, privacy) of data in transmission & in storage
Integrity of Data (data authentication/authenticity) in transit & storage
Authentication of an identity (entity authentication)
Credential Systems (a proof of qualification or competence of a person)
Digital signatures
Electronic money (e.g. cryptocurrency Bitcoins)
Threshold cryptosystems
- A decryption key, or a signature signing key, is shared among a group of entities and a subset of those entities (more than some threshold number) have to collaborate to perform the decryption or signature signing
Secure multi-party computations (e.g. multiple parties compute a function jointly, the input is from the multiple parties, but no party should learn anything rather than its own input and the final result of the computation)
Digital rights management (e.g. activation of a software license by authorized users)
Electronic voting
What type of cipher uses the same key
Symmetric ciphers: block and stream ciphers, e.g. DES, AES, one-time pad; same key is used.
What type of ciphers use different keys?
Asymmetric ciphers: RSA, DSA and DH; different keys are used.
What are SHA256 and AES-CBC examples of?
Hash and MACing functions
List some cryptographic modes of encryption
CBC (cipher block chaining) mode, CTR (counter) mode
Describe block ciphers
Plaintext is divided into blocks of fixed length and blocks are encrypted one at a time.
In addition to a key generation function, a block cipher has two functions, any encryption function E and a decryption function, D, such that:
C = E(K, M)
M = D(K,C)
Where C is ciphertext, M is plaintext and K is a secret (symmetric or a private key)
What are the design criteria for block ciphers?
Completeness
Each bit of the output should depend on every bit of the input and every bit of the key
Avalanche effect (diffusion)
Changing one bit in the message input should change many bits in the output.
Also, changing one bit in the key should result in the change of many bits in the output
Statistical independence (confusion)
Input and output should appear to be statistically independent
Can confusion and diffusion be achieved using substitution and permutation?
Yes
What is the round function in a block cipher?
Typically uses permutations, substitutions, modular arithmetic
Takes an n-bit block and outputs an n-bit block
Each use of the round function employs a different subkey derived from K
What comes from a larger block size in a block cipher? What are its typical values?
Greater security but makes encryption/decryption slower; typically n is 128-bit or 256-bit
What is the effect of the key size in a block cipher? What are its typical values?
Larger keys size means greater security but reduced speed; a 128-bit size has become a norm
What is the DES (data encryption standard)? When was it published? What kind of cipher is it?
Published in 1977, DES is a feistel (fancy block) cipher.
Block length is 64 bits, Key K is 56 bits; actually 8 bytes (64bits) but the 8th bit in each byte is a parity-check bit
The subkeys k1,k2,k3,…,k16 are each 48-bits, generated from key K
The DES decryption algorithm is the same as the encryption one; the only difference is that the keys for each round must be used in the reverse order, i.e. k16 first and k1 last
What industry is DES the defacto industry standard for?
The bank industry
Name some improvements over DES
Triple DES, AES
What are the weaknesses of DES?
Design principles are secret, developed by US government so there might be a backdoor.
56 bit key is good enough to deter casual DES key browsing, but not for a dedicated adversary.
Takes an average of 2^55 trials to crack, supercomputer/botnet can do 10^12 a second
What is triple DES?
Use of two or three DES keys.
EDE2 uses two DES keys (K1, K2) and the equation C = E(K1, D(K2, E(K1, M)))
EDE3 uses three DES keys (K1, K2) and the equation C = E(K3, D(K2, E(K1, M)))
The use of D has no security implication, it just makes Triple DES compatible with normal DES when K1 = K2 (this generalises to make EDE3 = EDE2 = normal DES, with certain keys being equal)
What attack makes the effective key lengths for EDE2 and EDE3 much shorter?
The meet-in-the-middle attack