Presentation on theme: "Introduction to Cryptography --- Foundations of information security --- Lecture 7."— Presentation transcript:
Introduction to Cryptography --- Foundations of information security --- Lecture 7
CSE2500 System Security and Privacy2 Outline n Why study cryptology? n Basic terms, notations and structure of cryptography n Private & public key cryptography examples n Modern secret key ciphers : usage and methodology n Encryption and possible attacks n Secret key ciphers design n Slides 23 to 26 for additional information (and reading)
CSE2500 System Security and Privacy3 Why Study cryptology(1) AB Intruder Communications security
CSE2500 System Security and Privacy4 Why Study cryptology(2) Customer Merchant TTP Electronic Commerce Security
CSE2500 System Security and Privacy5 Why Study cryptology(3) A B LEA Law enforcement
CSE2500 System Security and Privacy6 The Basic Problem n We consider the confidentiality goal: çAlice and Bob are Friends çMarvin is a rival çAlice wants to send secret messages (M 1,M 2,…) to Bob over the Internet çRival Marvin wants to read the messages (M 1,M 2,…) - Alice and Bob want to prevent this! çAssumption: The network is OPEN: Marvin is able to eavesdrop and read all data sent from Alice to Bob. çConsequence: Alice must not send messages (M 1,M 2,…) directly – they must be “scrambled” or encrypted using a ‘secret code’ unknown to Marvin but known to Bob.
CSE2500 System Security and Privacy7 Cryptography plaintext (data file or messages) encryption ciphertext (stored or transmitted safely) decryption plaintext (original data or messages)
CSE2500 System Security and Privacy8 E D Message (cleartext, plaintext) Encrypted message (ciphertext) Encrypted message (ciphertext) EncryptionDecryption key Alice Bob Private key cipher Message (cleartext,plaintext)
CSE2500 System Security and Privacy9 Basic terms n Cryptology (to be very precise) çCryptography --- code designing çCryptanalysis --- code breaking n Cryptologist: çCryptographer & cryptanalyst n Encryption/encipherment çScrambling data into unintelligible to unauthorised parties n Decryption/decipherment çUn-scrambling
CSE2500 System Security and Privacy10 Types of ciphers n Private key cryptosystems/ciphers çThe secret key is shared between two parties n Public key cryptosystems/ciphers çThe secret key is not shared and two parties can still communicate using their public keys
CSE2500 System Security and Privacy11 Examples of “Messages” n Types of secret “Messages” Alice might want to send Bob (in increasing length): çDecision (yes/no), eg. as answer to the question “Are we meeting tomorrow?” çNumerical Value, eg. as answer to the question “at what hour are we meeting?” çDocument çSoftware, çImages etc.
CSE2500 System Security and Privacy12 Concepts n A private key cipher is composed of two algorithms çencryption algorithm E çdecryption algorithm D n The same key K is used for encryption & decryption n K has to be distributed beforehand
CSE2500 System Security and Privacy13 Notations n Encrypt a plaintext P using a key K & an encryption algorithm E C = E(K,P) n Decrypt a ciphertext C using the same key K and the matching decryption algorithm D P = D(K,C) n Note: P = D(K,C) = D(K, E(K,P))
CSE2500 System Security and Privacy14 The Caesar cipher (e.g) n The Caesar cipher is a substitution cipher, named after Julius Caesar. Operation principle: each letter is translated into the letter a fixed number of positions after it in the alphabet table. Operation principle: each letter is translated into the letter a fixed number of positions after it in the alphabet table. n The fixed number of positions is a key both for encryption and decryption.
CSE2500 System Security and Privacy15 The Caesar cipher (cnt’d) K=3 Inner: ciphertext Outer: plaintext
CSE2500 System Security and Privacy16 An example For a key K=3, plaintext letter: ABCDEF...UVWXYZ ciphtertext letter: DEF...UVWXYZABC For a key K=3, plaintext letter: ABCDEF...UVWXYZ ciphtertext letter: DEF...UVWXYZABC Hence TREATY IMPOSSIBLE is translated into WUHDWB LPSRVVLEOH Hence TREATY IMPOSSIBLE is translated into WUHDWB LPSRVVLEOH
CSE2500 System Security and Privacy17 Breaking classic ciphers n With the help of fast computers, 99.99% ciphers used before 1976 are breakable by using one of the 4 types of attacks (described later). n Modern cluster computers and future quantum computers can break several existing ciphers due to the power of such computers.
CSE2500 System Security and Privacy18 Breaking the Caesar cipher n By trial-and error n By using statistics on letters çfrequency distributions of letters letterpercent A7.49% B1.29% C3.54% D3.62% E14.00%..................................
CSE2500 System Security and Privacy19 Toy example of private key cryptography (TPC) n Assume that a message is broken into 64-bit blocks and each 64-bit block of plaintext is encrypted separately: n Key space are combinations of numerical digits – max: 7 digits- ç(eg: key = ; or key = [1,3], or key = [1,4,2]). n Assume that all 8 bits of a byte is used and key digits start from left to right. n Encryption: Each plaintext block is first shifted by the number of binary digits before the last non-zero digit of the key. It is then exclusive-ored with the key starting from the first byte of the block, repeatedly to the end of the block (the key moves a distance of its size from left to right of the plaintext block). n Decryption: do the reverse of encryption: the cipher-text is exclusive-ored and then shifted. 000= 110= 011= 101= : exclusive or
CSE2500 System Security and Privacy20 Using TPC n Use TPC to encrypt the plaintext “12345”, key = [1,4,2] n Use TPC to encrypt the plaintext “TREATY IMPOSSIBLE”; key = ; n Use TPC to encrypt the plaintext “100 dollars”, key = [2,4];
CSE2500 System Security and Privacy21 Principles of Private Key Encryption n Devise cryptographic algorithms: ça set of fast functions (E1, E2, E3,..En) that when in turn applied to an input (initial or intermediate input) will produce a more potentially scrambled output. çand a set of functions (D1,D2,D3,.. Dn) that when in turn applied to the cipher text (final or intermediate) will produce the original input text. n Devise algorithms, tests and proofs to validate your cryptographic algorithms çAnalysing algorithms. çTests with powerful computers such as specialised, parallel, cluster, or quantum computers. çMathematical proofs.
CSE2500 System Security and Privacy22 Toy example of public key cryptography n Definition: The multiplicative inverse of x with modulo n is y such that (x*y) mod n = 1 E.g:x=3; n=10, => y=7; since (3*7) mod 10 = 1 E.g:x=3; n=10, => y=7; since (3*7) mod 10 = 1 n The above multiplicative inverse can be used to create a simple public key cipher: either x or y can be thought of as a secret key and the other is the public key. Let x = 3, y = 7, n = 10, and M be the message: çM = 4 ; l 3*4 mod 10 = 2; (ciphertext) - encrypting l2*7 mod 10 = 4 = M ; (message) - decrypting çM =6 ; l3*6 mod 10 = 8; l8*7 mod 10 = 6 = M (message)
CSE2500 System Security and Privacy23 What is PKE used for? Private Key Encryption (PKE) can be used: çTransmitting data over an insecure channel çSecure stored data (encrypt & store) çProvide integrity check: l (Key + Mes.) -> MAC (message authentication code)
CSE2500 System Security and Privacy24 Morden Cryptography applications n Not just about confidentiality! n Integrity çDigital signatures çHash functions n Fair exchange çContract signing n Anonymity çElectronic cash çElectronic voting n Etc.
CSE2500 System Security and Privacy25 Modern private key ciphers n DES (US, 1977) (3DES) çkey -- 56 bits, plaintext/ciphertext -- 64 bits n LOKI (ADFA, Australia, 1989) çkey, plaintext/ciphertext -- 64 bits n FEAL (NTT, Japan, 1990) çkey -- 128 bits, plaintext/ciphertext -- 64 bits n IDEA (Lai & Massey, Swiss, 1991) çkey -- 128 bits, plaintext/ciphertext -- 64 bits n SPEED (Y Zheng in 1996) çKey/(plaintext/ciphertext) -- 48,64,80,…,256 bits n AES (Joan Daemen & Vincent Rijmen 2000) çKey/(plaintext/ciphertext) -- 128, 192 and 256 bits
CSE2500 System Security and Privacy26 General approaches to Cryptography n There are two general encryption methods: Block ciphers & Stream ciphers n Block ciphers çSlice message M into (fixed size blocks) m 1, …, m n lAdd padding to last block çUse E k to produce (ciphertext blocks) x 1, …, x n çUse D k to recover M from m 1, …, m n çE.g: DES, etc. n Stream ciphers çGenerate a long random string (or pseudo random) called one-time pad. çMessage one-time pad (exclusive or) l E.g: EC4
CSE2500 System Security and Privacy27 Design of Private Key Ciphers(1) n A Cryptographic algorithm should be efficient for good use çIt should be fast and key length should be of the right length – e.g.; not too short n Cryptographic algorithms are not impossible to break without a key çIf we try all the combinations, we can get the original message n The security of a cryptographic algorithm depends on how much work it takes for someone to break it çE.g If it takes 10 mil. years to break a cryptographic algorithm X using all the computers of a state, X can be thought of as a secure one – reason: cluster computers and quantum computers are powerful enough to crack many current cryptographic algorithms.
CSE2500 System Security and Privacy28 Design of Private Key Ciphers(2) n Encryption Algorithm Design çShould the strength of the algorithm be included in the implementation of the algorithm? Should we hide the algorithm? çShould the block size be small or large? çShould the keyspace be large? çShould we consider other search rather than brute-force search? çShould we consider the hardware technology?
CSE2500 System Security and Privacy29 4 types of cryptanalysis n Depending on what a cryptanalyst has to work with, attacks can be classified into çciphertext only attack çknown plaintext attack çchosen plaintext attack çchosen ciphertext attack (most severe)
CSE2500 System Security and Privacy30 4 types of attacks n Ciphertext only attack çthe only data available is a target ciphertext n Known plaintext attack ça target ciphertext çpairs of other ciphertext and plaintext (say, previously broken or guessing)
CSE2500 System Security and Privacy31 4 types of attacks n Chosen plaintext attacks ça target ciphertext çcan feed encryption algorithm with plaintexts and obtain the matching ciphertexts n Chosen ciphertext attack ça target ciphertext çcan feed decryption algorithm with ciphertexts and obtain the matching plaintexts