Unformatted text preview:

Lecture 19: Coding for SecurityAnnouncementsPlan for Today: Coding for SecurityCoding for SecurityThreats to Information SecurityTradeoff of Convenience & SecurityCryptographySimple Example: Rotational CodeSlightly Better: Permutation CodeWhat makes a code good?Encrypting Binary SequencesGenerating Keys Public Key CryptographyCryptography in HistoryLecture 19: Coding for SecurityThe Digital World of MultimediaProf. Mari OstendorfEE299 Lecture 1925 February 2008Announcements Lab 5 due this week No homework this week -- writing HW next week Exams… Grading is almost done -- will be handed out on Weds Solutions posted tomorrow Grade records will be available with examsEE299 Lecture 1925 February 2008Plan for Today: Coding for Security Issues in information security Focus on cryptography Simple systems Encoding binary strings Public keysEE299 Lecture 1925 February 2008Coding for Security Privacy is important to us as individuals, but is a challenge in our digital world Bank account info, medical records, academic records are all online now – often accessible via the internet Wireless phone calls and email are easy to “eavesdrop”; laptops can be easily stolen Secure information technology is needed for: Military operations Commercial development and sales Humanitarian aid and human rights workersEE299 Lecture 1925 February 2008Threats to Information Security Data disclosure Someone can read and comprehend the information Fraud Misrepresenting identity Data insertion, removal and modification Changing stored data or data in transmission Denial of service Preventing access by overloading computers or network equipmentEE299 Lecture 1925 February 2008Tradeoff of Convenience & Security Convenient to be able to access information remotely (e.g. from home, while traveling) Convenient to have wireless access Convenience for users makes information less secure Solutions: Limit access (firewalls, passwords/PINs, self-destructive devices) Ensure integrity of the data (alteration detection, ensure originator/recipient cannot deny access) Encrypt the data (if you get access, you can’t read it unless you have the “key”)EE299 Lecture 1925 February 2008Cryptography Like compression and error coding: change the format of the data Difference: don’t publish the recipe for changing it back, user needs a special data “key” to reconstruct the signal Terminology Encoding Æ Encryption (or encipherment) Decoding Æ Decryption (or decipherment) Codebreaking: figuring out the “key”EE299 Lecture 1925 February 2008Simple Example: Rotational Code Replace the k-th letter in the alphabet with the (k+N)-th letter (wrapping around) Key=N (N=1:26 so easy to break)meet me at the qfc at …qiixdqidexdxlidujgdex…N=4ExampleEE299 Lecture 1925 February 2008Slightly Better: Permutation Code Any letter can map to any other letter Represent in a 26x26 permutation table (1 for each letter transformation, 0 everywhere else) Key: The position of all 1’s in the table K=[(1,6),(2,10),(3,17),(4,1), (5,24), (6,11), …] or equivalently K=[6,10,17,1,24,11,…] AÆF, BÆJ, CÆ? 26! = 4x1025(roughly) possibilities  Much harder to break! (but easier than you might think, if you know the original language)EE299 Lecture 1925 February 2008What makes a code good? Size of the key (bigger key has more possibilities, so harder to break) Often the coding mechanism is not secret, only the keyEE299 Lecture 1925 February 2008Encrypting Binary Sequences Change the bit sequence by combining the message and key with mod-2 addition (exclusive OR) [0+0=0; 0+1=1; 1+0=1; 1+1=0] Example (S=signal, K=key, E=encrypted signal) Security is lost if the key becomes available Key must be the same length as the signalS 101100010100100001010010K 001001101001110100110101E 100101111101010101100111EE299 Lecture 1925 February 2008Generating Keys  Pseudo-random number generator X(n+1)=[AX(n)+B]mod(N) Example: A=533, B=227, N=64, X(0)=125 X(1)=[533(125)+227]mod(64)=[66852]mod(64)=36 X(2)=[533(36)+227]mod(64)=23 X(3)=6, X(4)=33,… Binary form: 100100 010111 000110 100001 … N needs to be large enough to produce a long enough key without repetition Cryptography system: Many people can know A, B, N X(0) usually kept secret 128 bit keys Æ 2128or approx. 1038key seedsEE299 Lecture 1925 February 2008Public Key Cryptography Communicate encrypted information without sharing the key itself Each user has a public key that is generated from a private key (but difficult to find the private key from the public key) X=Private key gives public key = G(X) Two people work together to make a seed Seed = F[G(X),Y] (seed built by Y)=F[X,G(Y)] (seed built by X) Mathematical challenge: designing F & GEE299 Lecture 1925 February 2008Cryptography in History Rotation code used around 50BC by Julius Caesar Cryptography played a major role in World War II, mathematics and intuition are important in codebreaking Widespread use of digital computers makes codebreaking easier Idea of public keys first introduced in


View Full Document

UW EE 299 - Coding for Security

Download Coding for Security
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Coding for Security and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Coding for Security 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?