Encryption schemes are composed of a set of algorithms:
K is the key generator, that is used for creating a key for a new
communication, or for a new communicator.
E is the encryption algorithm, that uses the key and plaintext to
create ciphertext.
D is the decryption algorithm, which, given the key and ciphertext,
will recover the plaintext.
Components of a stream cipher include:
Secret Key
Internal State
Next-state function
Output function
Name of standard | Key Length | Block Length | Search Begins | Accepted as standard |
---|---|---|---|---|
DES (FIPS 46-3) | 64 bits (54 random) | 64 bits | 1973 | 1976 |
AES (FIPS 81) | 128, 192, or 256 bits | 128 bits | 1998(?) | 2002 |
RSA Encryption Scheme
n | = p * q, where p and q are primes |
phi(n) | = |Zn*| |
phi(n) | = (p-1)(q-1) |
d | = e-1 mod ((p-1)(q-1)) |
c | = me mod n |
m | = cd mod n |
= med mod n |
Popular choices for e include: 3, 17, and 65537. What do these numbers have in common? They're all (relatively) small, they're all primes, and they each have two "1" bits in their binary representation.
Square and Multiply Exponentiation
e | = sumi in Bits ei*2i |
xe | = xsumi in Bits ei*2i |
= prodi in Bits (x2i)ei |
bsy+cse127.w03@cs.ucsd.edu, last updated
email bsy.