Announcement T-lab accounts should have been set up Assignment upload webpage up Homework 1 released, due in two weeks.

Slides:



Advertisements
Similar presentations
CLASSICAL ENCRYPTION TECHNIQUES
Advertisements

CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Outline Project 1 Hash functions and its application on security Modern cryptographic hash functions and message digest –MD5 –SHA.
Computer Science CSC 405By Dr. Peng Ning1 CSC 405 Introduction to Computer Security Topic 2. Basic Cryptography (Part II)
Dr. Lo’ai Tawalbeh Summer 2007 Chapter 9 – Public Key Cryptography and RSA Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus INCS.
Announcement Homework 1 out, due 1/18 11:59pm If you purchased the textbooks, but it hasn’t arrived, please see TA for copies of the questions, Project.
Review Overview of Cryptography Classical Symmetric Cipher
Announcement Grading adjusted –10% participation and two exams 20% each Newsgroup up Assignment upload webpage up Homework 1 will be released over the.
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
CSCE 790G: Computer Network Security
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
Cryptography and Network Security Chapter 9. Chapter 9 – Public Key Cryptography and RSA Every Egyptian received two names, which were known respectively.
1 Day 04- Cryptography Acknowledgements to Dr. Ola Flygt of Växjö University, Sweden for providing the original slides.
Public Key Cryptography and the RSA Algorithm
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Chapter 2 – Classical Encryption Techniques. Classical Encryption Techniques Symmetric Encryption Or conventional / private-key / single-key sender and.
Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications.
Dr.Saleem Al_Zoubi1 Cryptography and Network Security Third Edition by William Stallings Public Key Cryptography and RSA.
Review What is security: history and definition Security policy, mechanisms and services Security models.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Chapter 3 – Block Ciphers and the Data Encryption Standard
Overview of Cryptographic Techniques Hector M Lugo-Cordero CIS 4361 Secure Operating System Administration 1.
Chapter 2 – Classical Encryption Techniques
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
Prime Numbers Prime numbers only have divisors of 1 and self
Chapter 2 Classical Encryption Techniques. Symmetric Encryption n conventional / private-key / single-key n sender and recipient share a common key n.
Cryptology The study of secret messages Caesar cipher
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security (CS435) Part Two (Classic Encryption Techniques)
Symmetric Encryption or conventional / private-key / single-key sender and recipient share a common key all classical encryption algorithms are private-key.
Network Security Lecture 12 Presented by: Dr. Munam Ali Shah.
 Classic Crypto  Slides based on those developed by Dr. Lawrie Brown at the Australian Defence Force Academy, University College, UNSW  See
Midterm Review Cryptography & Network Security
1 Chapter 2-1 Conventional Encryption Message Confidentiality.
Network Security Lecture 11 Presented by: Dr. Munam Ali Shah.
Module :MA3036NI Cryptography and Number Theory Lecture Week 3 Symmetric Encryption-2.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
Computer and Network Security Rabie A. Ramadan Lecture 6.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Data Security and Encryption (CSE348) 1. Lecture # 3 2.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Cryptography and Network Security Public Key Cryptography and RSA.
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
Chapter 9 Public Key Cryptography and RSA. Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender.
Fall 2002CS 395: Computer Security1 Chapter 9: Public Key Cryptography.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Computer and Network Security Rabie A. Ramadan Lecture 3.
K. Salah1 Cryptography Module I. K. Salah2 Cryptographic Protocols  Messages should be transmitted to destination  Only the recipient should see it.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Module :MA3036NI Symmetric Encryption -3 Lecture Week 4.
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
Chapter 9 – Public Key Cryptography and RSA Every Egyptian received two names, which were known respectively as the true name and the good name, or the.
1 Classical Encryption Techniques. 2 Symmetric cipher model –Cryptography –Cryptanalysis Substitution techniques –Caesar cipher –Monoalphabetic cipher.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
CSEN 1001 Computer and Network Security Amr El Mougy Mouaz ElAbsawi.
Prof. Wenguo Wang Network Information Security Prof. Wenguo Wang Tel College of Computer Science QUFU NORMAL UNIVERSITY.
Computer Security By Rubel Biswas. Introduction History Terms & Definitions Symmetric and Asymmetric Attacks on Cryptosystems Outline.
Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza
Cryptography and Network Security
Cryptography.
CSCI-235 Micro-Computer Applications
Outline Some Basic Terminology Symmetric Encryption
Information Security IT423
Chapter -5 PUBLIC-KEY CRYPTOGRAPHY AND RSA
Presentation transcript:

Announcement T-lab accounts should have been set up Assignment upload webpage up Homework 1 released, due in two weeks

Review What is security: history and definition Security policy, mechanisms and services Security models

Outline Overview of Cryptography Classical Symmetric Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

Basic Terminology plaintext - the original message ciphertext - the coded message cipher - algorithm for transforming plaintext to ciphertext key - info used in cipher known only to sender/receiver encipher (encrypt) - converting plaintext to ciphertext decipher (decrypt) - recovering ciphertext from plaintext cryptography - study of encryption principles/methods cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key cryptology - the field of both cryptography and cryptanalysis

Classification of Cryptography Number of keys used –Hash functions: no key –Secret key cryptography: one key –Public key cryptography: two keys - public, private Type of encryption operations used –substitution / transposition / product Way in which plaintext is processed –block / stream

Secret Key vs. Secret Algorithm Secret algorithm: additional hurdle Hard to keep secret if used widely: –Reverse engineering, social engineering Commercial: published –Wide review, trust Military: avoid giving enemy good ideas

Cryptanalysis Scheme Assume encryption algorithm known Ciphertext only: –Exhaustive search until “recognizable plaintext” –Need enough ciphertext Known plaintext: –Secret may be revealed (by spy, time), thus pair is obtained –Great for monoalphabetic ciphers Chosen plaintext: –Choose text, get encrypted –Deliberately pick patterns that can potentially reveal the key

Unconditional vs. Computational Security Unconditional security –No matter how much computer power is available, the cipher cannot be broken –The ciphertext provides insufficient information to uniquely determine the corresponding plaintext –Only one-time pad scheme qualifies Computational security –The cost of breaking the cipher exceeds the value of the encrypted info –The time required to break the cipher exceeds the useful lifetime of the info

Brute Force Search Always possible to simply try every key Most basic attack, proportional to key size Assume either know / recognise plaintext

Outline Overview of Cryptography Classical Symmetric Cipher –Substitution Cipher –Transposition Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

Symmetric Cipher Model

Requirements Two requirements for secure use of symmetric encryption: –a strong encryption algorithm –a secret key known only to sender / receiver Y = E K (X) X = D K (Y) Assume encryption algorithm is known Implies a secure channel to distribute key

Classical Substitution Ciphers Letters of plaintext are replaced by other letters or by numbers or symbols Plaintext is viewed as a sequence of bits, then substitution replaces plaintext bit patterns with ciphertext bit patterns

Caesar Cipher Earliest known substitution cipher Replaces each letter by 3rd letter on Example: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB

Caesar Cipher Define transformation as: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Mathematically give each letter a number a b c d e f g h i j k l m n o p q r s t u v w x y Z Then have Caesar cipher as: C = E(p) = (p + k) mod (26) p = D(C) = (C – k) mod (26)

Cryptanalysis of Caesar Cipher How many possible ciphers? –Only 25 possible ciphers –A maps to B,..Z Given ciphertext, just try all shifts of letters Do need to recognize when have plaintext E.g., break ciphertext "GCUA VQ DTGCM"

Monoalphabetic Cipher Rather than just shifting the alphabet Could shuffle (jumble) the letters arbitrarily Each plaintext letter maps to a different random ciphertext letter Key is 26 letters long Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA

Monoalphabetic Cipher Security Now have a total of 26! = 4 x keys Is that secure? Problem is language characteristics –Human languages are redundant –Letters are not equally commonly used What are the most frequently used letters ? What are the least frequently used ones ?

English Letter Frequencies

Example Cryptanalysis Given ciphertext: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ Count relative letter frequencies (see text) Guess P & Z are e and t Guess ZW is th and hence ZWP is the Proceeding with trial and error finally get: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow

Example: ZU HO UD CUZ ZU HO ZSGZ AE ZSO JKOEZAUC ZSGZ can be THAT Replace Z=T, H=S, G=A ZU can be TO, replace U=O ZSO can be THE, replace O=E CUZ can be NOT, replace C=N AE can be IS, replace A=I HO can be BE, replace H=B UD can be OR, replace D=R What about JKOEZAUC, QUESTION, U follows Q TO BE OR NOT TO BE THAT IS THE QUESTION Language Redundancy and Cryptanalysis

One-Time Pad If a truly random key as long as the message is used, the cipher will be secure - One-Time pad E.g., a random sequence of 0’s and 1’s XORed to plaintext, no repetition of keys Unbreakable since ciphertext bears no statistical relationship to the plaintext For any plaintext, it needs a random key of the same length –Hard to generate large amount of keys Any other problem? –Safe distribution of key

One-Time Pad - Example If the message is ONETIMEPAD and the key sequence from the pad is TBFRGFARFM then the ciphertext is IPKLPSFHGQ because O + T mod 26 = I N + B mod 26 = P E + F mod 26 = K etc.

One-Time Pad - Example An adversary has no information with which to cryptanalyze the ciphertext. For the same example, assume that an adversary tries to guess the message ONETIMEPAD from the ciphertext… Recall that –cipher text: IPKLPSFHGQ –correct key sequence: TBFRGFARFM The key sequence could be POYYAEAAZX Then the decrypted text would be SALMONEGGS Or the key sequence could be BXFGBMTMXM Then the decrypted text would be GREENFLUID

Transposition Ciphers Now consider classical transposition or permutation ciphers These hide the message by rearranging the letter order, without altering the actual letters used Any problems? Can recognise these since have the same frequency distribution as the original text

Rail Fence cipher Write message letters out diagonally over a number of rows Then read off cipher row by row E.g., write message out as: m e m a t r h t g p r y e t e f e t e o a a t Giving ciphertext MEMATRHTGPRYETEFETEOAAT

Product Ciphers Ciphers using substitutions or transpositions are not secure because of language characteristics Hence consider using several ciphers in succession to make harder, but: –Two substitutions are really one more complex substitution –Two transpositions are really only one transposition –But a substitution followed by a transposition makes a new much harder cipher This is bridge from classical to modern ciphers

Outline Overview of Cryptography Classical Symmetric Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

Block vs Stream Ciphers Block ciphers process messages in into blocks, each of which is then en/decrypted Like a substitution on very big characters –64-bits or more Stream ciphers process messages a bit or byte at a time when en/decrypting Many current ciphers are block ciphers, one of the most widely used types of cryptographic algorithms

Block Cipher Principles Most symmetric block ciphers are based on a Feistel Cipher Structure Block ciphers look like an extremely large substitution Would need table of 2 64 entries for a 64-bit block Instead create from smaller building blocks Using idea of a product cipher

Substitution-Permutation Ciphers Substitution-permutation (S-P) networks [Shannon, 1949] –modern substitution-transposition product cipher These form the basis of modern block ciphers S-P networks are based on the two primitive cryptographic operations –substitution (S-box) –permutation (P-box) provide confusion and diffusion of message

Confusion and Diffusion Cipher needs to completely obscure statistical properties of original message A one-time pad does this More practically Shannon suggested S-P networks to obtain: Diffusion – dissipates statistical structure of plaintext over bulk of ciphertext Confusion – makes relationship between ciphertext and key as complex as possible

Feistel Cipher Structure Feistel cipher implements Shannon’s S-P network concept –based on invertible product cipher Process through multiple rounds which –partitions input block into two halves –perform a substitution on left data half –based on round function of right half & subkey –then have permutation swapping halves

Feistel Cipher Structure

DES (Data Encryption Standard) Published in 1977, standardized in Key: 64 bit quantity=8-bit parity+56-bit key –Every 8 th bit is a parity bit. 64 bit input, 64 bit output. DES Encryption 64 bit M64 bit C 56 bits

DES Top View Permutation Swap Round 1 Round 2 Round 16 Generate keys Initial Permutation 48-bit K1 48-bit K2 48-bit K16 Swap 32-bit halves Final Permutation 64-bit Output 48-bit K1 64-bit Input 56-bit Key …...

Bit Permutation (1-to-1) ……. …… Input: Output bit

A DES Round 48 bits 32 bits 32 bits L n 32 bits R n 32 bits L n+1 32 bits R n+1 E S-Boxes P 48 bits K i One Round Encryption Mangler Function

Mangler Function S8S1S2S7S3S4S5S Permutation The permutation produces “spread” among the chunks/S-boxes!

DES Standard Cipher Iterative Action : –Input:64 bits –Key:48 bits –Output:64 bits Key Generation Box : –Input:56 bits –Output:48 bits One round (Total 16 rounds)

Avalanche Effect Key desirable property of encryption algorithm Where a change of one input or key bit results in changing more than half output bits DES exhibits strong avalanche

Strength of DES – Key Size 56-bit keys have 2 56 = 7.2 x values Brute force search looks hard Recent advances have shown is possible –in 1997 on a huge cluster of computers over the Internet in a few months –in 1998 on dedicated hardware called “DES cracker” in a few days ($220,000) –in 1999 above combined in 22hrs! Still must be able to recognize plaintext No big flaw for DES algorithms

DES Replacement Triple-DES (3DES) –168-bit key, no brute force attacks –Underlying encryption algorithm the same, no effective analytic attacks –Drawbacks Performance: no efficient software codes for DES/3DES Efficiency/security: bigger block size desirable Advanced Encryption Standards (AES) –US NIST issued call for ciphers in 1997 –Rijndael was selected as the AES in Oct-2000

AES Private key symmetric block cipher 128-bit data, 128/192/256-bit keys Stronger & faster than Triple-DES Provide full specification & design details Evaluation criteria –security – effort to practically cryptanalysis –cost – computational –algorithm & implementation characteristics

Outline Overview of Cryptography Classical Symmetric Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

Private-Key Cryptography Private/secret/single key cryptography uses one key Shared by both sender and receiver If this key is disclosed communications are compromised Also is symmetric, parties are equal Hence does not protect sender from receiver forging a message & claiming is sent by sender

Public-Key Cryptography Probably most significant advance in the 3000 year history of cryptography Uses two keys – a public & a private key Asymmetric since parties are not equal Uses clever application of number theoretic concepts to function Complements rather than replaces private key crypto

Public-Key Cryptography Public-key/two-key/asymmetric cryptography involves the use of two keys: –a public-key, which may be known by anybody, and can be used to encrypt messages, and verify signatures –a private-key, known only to the recipient, used to decrypt messages, and sign (create) signatures Asymmetric because –those who encrypt messages or verify signatures cannot decrypt messages or create signatures

Public-Key Cryptography

Public-Key Characteristics Public-Key algorithms rely on two keys with the characteristics that it is: –computationally infeasible to find decryption key knowing only algorithm & encryption key –computationally easy to en/decrypt messages when the relevant (en/decrypt) key is known –either of the two related keys can be used for encryption, with the other used for decryption (in some schemes)

Public-Key Cryptosystems Two major applications: –encryption/decryption (provide secrecy) –digital signatures (provide authentication)

Outline Overview of Cryptography Classical Symmetric Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

Modular Arithmetic Public key algorithms are based on modular arithmetic. Modular addition. Modular multiplication. Modular exponentiation.

Modular Addition Addition modulo (mod) K –Poor cipher with (d k +d m ) mod K, e.g., if K=10 and d k is the key. Additive inverse: addition mod K yields 0. “Decrypt” by adding inverse

Modular Multiplication Multiplication modulo K Multiplicative inverse: multiplication mod K yields 1 Only some numbers have inverse *

Modular Multiplication Only the numbers relatively prime to n will have mod n multiplicative inverse x, m relative prime: no other common factor than 1 –Eg. 8 & 15 are relatively prime - factors of 8 are 1,2,4,8 and of 15 are 1,3,5,15 and 1 is the only common factor

Totient Function Totient function ø(n): number of integers less than n relatively prime to n –if n is prime, ø(n)=n-1 –if n=p  q, and p, q are primes, p != q ø(n)=(p-1)(q-1) –E.g., ø (37) = 36 ø (21) = (3 – 1)×(7 – 1) = 2×6 = 12

Modular Exponentiation xyxy

x y mod n = x y mod ø(n) mod n if y mod ø(n) = 1, then x y mod n = x mod n

Outline Overview of Cryptography Classical Symmetric Cipher Modern Symmetric Ciphers (DES) Public (Asymmetric) Key Cryptography Modular Arithmetic Modern Asymmetric Ciphers (RSA)

RSA (Rivest, Shamir, Adleman) The most popular one. Support both public key encryption and digital signature. Assumption/theoretical basis: –Factoring a big number is hard. Variable key length (usually 512 bits). Variable plaintext block size. –Plaintext must be “smaller” than the key. –Ciphertext block size is the same as the key length.

What Is RSA? To generate key pair: –Pick large primes (>= 256 bits each) p and q –Let n = p*q, keep your p and q to yourself! –For public key, choose e that is relatively prime to ø(n) =(p-1)(q-1), let pub = –For private key, find d that is the multiplicative inverse of e mod ø(n), i.e., e*d = 1 mod ø(n), let priv =

RSA Example 1.Select primes: p=17 & q=11 2.Compute n = pq =17×11=187 3.Compute ø (n)=(p–1)(q-1)=16×10=160 4.Select e : gcd(e,160)=1; choose e=7 5.Determine d : de=1 mod 160 and d < 160 Value is d=23 since 23×7=161= 10× Publish public key KU={7,187} 7.Keep secret private key KR={23,17,11}

How Does RSA Work? Given pub = and priv = –encryption: c = m e mod n, m < n –decryption: m = c d mod n –signature: s = m d mod n, m < n –verification: m = s e mod n given message M = 88 (nb. 88<187 ) encryption: C = 88 7 mod 187 = 11 decryption: M = mod 187 = 88

Why Does RSA Work? Given pub = and priv = –n =p*q, ø(n) =(p-1)(q-1) –e*d = 1 mod ø(n) –x e  d = x mod n –encryption: c = m e mod n –decryption: m = c d mod n = m e  d mod n = m mod n = m (since m < n) –digital signature (similar)

Is RSA Secure? Factoring 512-bit number is very hard! But if you can factor big number n then given public key, you can find d, hence the private key by: –Knowing factors p, q, such that, n = p*q –Then ø(n) =(p-1)(q-1) –Then d such that e*d = 1 mod ø(n) Threat –Moore’s law –Refinement of factorizing algorithms For the near future, a key of 1024 or 2048 bits needed

Symmetric (DES) vs. Public Key (RSA) Exponentiation of RSA is expensive ! AES and DES are much faster –100 times faster in software –1,000 to 10,000 times faster in hardware RSA often used in combination in AES and DES –Pass the session key with RSA

GNU Privacy Guard Yan Gao

Introduction of GnuPG GnuPG Stands for GNU Privacy Guard A tool for secure communication and data storage To encrypt data and create digital signatures Using public-key cryptography Distributed in almost every Linux For T-lab machines --- gpg command

Functionality of GnuPG Generating a new keypair –gpg -- gen-key Key type –(1) DSA and ElGamal (default) –(2) DSA (sign only) –(4) ElGamal (sign and encrypt) Key size –DSA: between 512 and 1024 bits->1024 bits –ElGamal: any size Expiration date: key does not expire User ID Passphrase

Functionality of GnuPG Generating a revocation certificate –gpg --output revoke.asc --gen-revoke yourkey Exporting a public key –gpg --output alice.gpg --export –gpg --armor --export Importing a public key –gpg --import blake.gpg –gpg --list-keys –gpg --edit-key fpr sign check

Functionality of GnuPG Encrypting and decrypting documents –gpg --output doc.gpg --encrypt --recipient –gpg --output doc --decypt doc.gpg Making and verifying signatures –gpg --output doc.sig --sign doc –gpg --output doc --decrypt doc.sig Detached signatures –gpg --output doc.sig --detach-sig doc –gpg --verify doc.sig doc

Questions?

Backup Slides

Per-Round Key Generation 28 bits 48 bits K i One round Circular Left Shift 28 bits Permutation with Discard Initial Permutation of DES key C i-1 D i-1 C i D i Round 1,2,9,16: single shift Others: two bits

S-Box (Substitute and Shrink) 48 bits ==> 32 bits. (8*6 ==> 8*4) 2 bits used to select amongst 4 substitutions for the rest of the 4-bit quantity 2 bits row S i i = 1,…8. I1 I2 I3 I4 I5 I6 O1 O2 O3 O4 4 bits column

S-Box Examples … Each row and column contain different numbers. Example: input: output: ???

Bits Expansion (1-to-m) ……. …… Input: Output