This lecture covers encryption tools, with topics on Symmetric-Key Encryption for Communication, Stream Ciphers, Block Ciphers, Public-Key Encryption. Modular Math and Exponentiation,

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) | = |Z_{n}^{*}| |

phi(n) | = (p-1)(q-1) |

d | = e^{-1} mod ((p-1)(q-1)) |

c | = m^{e} mod n |

m | = c^{d} mod n |

= m^{ed} 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 | = sum_{i in Bits} e_{i}*2^{i} |

x^{e} | = x^{sumi in Bits ei*2i} |

= prod_{i in Bits} (x^{2i})^{ei} |

[ search CSE | CSE | bsy's home page | links | webster | MRQE | google | yahoo | citeseer | pgp certserver | openpgp certserver ]

bsy+cse127.w03@cs.ucsd.edu, last updated

email bsy.