History Cryptographical methods used to come in these kinds: - substitution ciphers - transposition ciphers - codebooks Breaking them typically relied on letter frequency tables, word frequency tables, and guessing. These days * symmetric key algorithms (DES, Solitaire) Encrypt and decrypt using the same key. Either in blocks or stream. Usually pretty fast. * asymmetric key alrogithms (RSA, PGP) Two different keys on the encrypt/decrypt ends. Public/private keys, based on big prime numbers. * hashing (crypt) One way summary (encryption) We discussed these in class on Nov 7. Think of the message as a number M (a *big* number) and the encoded message as another number C=f(M,k1) for some function f, where k1 is some kind of secret key. Then decoding is some other function M=fInverse(C,k2) where k2 is some other function The issues are - How much shared information does the sender/receiver need to have in common? (Hard copy code books? The algorithm? A "key"?) - How hard is to encrypt a message? - How hard is it to decrypt a message? - How hard is it for a 3rd party to break? --------------- Links * Encryption tutorial (PGP, hashes) http://hotwired.lycos.com/webmonkey/programming/php/tutorials/tutorial1.html * Cryptonomicon http://www.cryptonomicon.com - http://www.well.com/user/neal/cypherFAQ.html * Solitaire - Bruce Schneier http://www.counterpane.com/solitaire.html * 636 PDF slides (!) http://www.cs.auckland.ac.nz/~pgut001/tutorial/ ------ Other methods * Hiding text inside images and multimedia * search "digital watermarks" on google * "Data Hiding in Digital Binary Images" http://www.ee.princeton.edu/~minwu/research/icme00_binaryDH.html * Hide and recover encrypted in GIF files with Stego. http://www.stego.com