Computer Science 4730 -- Applied Cryptography
Test 1 -- Review
1. Basic Issues & Terminology
Main areas of cryptology: data confidentiality, authentication,
non-repudiation, data integrity, access control
symmetric (private key), asymmetric (public key) encryption
network security model: sender, recipient, trusted third party, opponent,
secure messages, unsecure channel
2. Classical Techniques
Symmetric cipher model: plaintext, shared secret key, encryption, ciphertext,
decryption
terms: cryptography, cryptanalysis, brute-force attack, cryptology
substitution techniques: Caesar cipher, mono-alphabetic (permuted character set)
ciphers,
multi-letter
ciphers (Playfair, Hill), polyalphabetic
(cycle of permutations) - Vigenère, one-time pad
transposition techniques: square matrix transpositions, permutations
rotor machines: mechanized long-cycle polyalphabetic using
multiple rotating permutation wheels
steganography: hiding information within other data
3. Block Ciphers
simplified DES: key generation, separate half-block processing,
non-reversible
"round" function, XOR, swap halves
general block cipher principles: Feistel cipher
structure, decryption reverse, diffusion
& confusion,
parameters-
block size, key size, number of rounds, sub-key generation, round function
DES details: initial permutation & final inverse permutation, key
generation by half-key rotations + permutation;
repeated
rounds - half-block expansion & XOR with round key, S-box, permutation,
XOR with other half-block, and swap
blocks
DES analysis: avalanche effect, key-size limitation, timing attacks,
differential
cryptanalysis, linear cryptanalysis
issues in DES design: S-box criteria, number of rounds, function F design, S-box
design
block cipher modes of operation: ECB, CBC, CFB, OFB, CTR
AES: origin & motivation, the Rijndaiel cipher
model, both halves change each round;
each
round does: S-box byte transformation based on GF(256), row-shift permutation,
matrix
column mixing with GF(256) arithmetic, and XOR with the round key,
triple DES (2-key & 3-key), Blowfish (sub-keys & S-boxes generated from
key using encryption algorithm;
round
function based on mod 232 addition and XOR) , RC5 (parameterized based on key-size,
word-size,
# of rounds; round function based on modular addition, shifts, and XOR) ,
RC4 is a stream cipher based on XOR with series of pseudo-random numbers seeded
by the key
5. Finite Fields
definitions of: groups, rings, fields
modular arithmetic and properties
Euclid's GCD algorithm and modification to get multiplicative inverse
finite fields, GF(N), only for sizes N=pk,
where p is prime; special interest in GF(p) and GF(2k)
polynomial arithmetic, coefficients in Zp
(modular arithmetic, especially binary
based on *=AND, +=XOR) ,
and
maximum degree, D, resulting from mod some irreducible polynomial
of degree D+1;
the
result is a D-bit binary number finite field of size 2D+1 (which is
isomorphic to all GF(2D+1) )
Euclid's GCD algorithm and multiplicative inverse calculation generalize to polynomial
operations,
so
it can be used to test for irreducible polynomials and to find multiplicative
inverses
4. Confidentiality Using Symmetric Encryption
encryption function placement: end-to-end or link encryption
traffic analysis problem for just doing end-to-end
key distribution technique: physical delivery, secure channel user sharing, Key
Distribution Center,
hierarchy
of KDCs
random number generation: motivation/uses, properties, pseudo-random number
generators
(method
of residues or linear congruential - NK+1 =
(NK * M + C) mod B, B & C
relatively prime, C zero or
selected to guarantee max cycle); Blum/Blum/Shub bit
generator;
physical
randomizers