Outline Desirable characteristics of ciphers Stream and block ciphers

Slides:



Advertisements
Similar presentations
ECE454/CS594 Computer and Network Security
Advertisements

“Advanced Encryption Standard” & “Modes of Operation”
Encipherment Using Modern Symmetric-Key Ciphers. 8.2 Objectives ❏ To show how modern standard ciphers, such as DES or AES, can be used to encipher long.
Modern Symmetric-Key Ciphers
Modern Symmetric-Key Ciphers
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
Making “Good” Encryption Algorithms
Cryptography and Network Security Chapter 6. Chapter 6 – Block Cipher Operation Many savages at the present day regard their names as vital parts of themselves,
Cryptography1 CPSC 3730 Cryptography Chapter 6 Triple DES, Block Cipher Modes of Operation.
Modes of Operation CS 795. Electronic Code Book (ECB) Each block of the message is encrypted with the same secret key Problems: If two identical blocks.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 5 Wenbing Zhao Department of Electrical and Computer Engineering.
Lecture 23 Symmetric Encryption
CS470, A.SelcukModes of Operation1 Encrypting with Block Ciphers CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Block Cipher Transmission Modes CSCI 5857: Encoding and Encryption.
Modes of Operation. Topics  Overview of Modes of Operation  EBC, CBC, CFB, OFB, CTR  Notes and Remarks on each modes.
Cryptography and Network Security Chapter 6. Multiple Encryption & DES  clear a replacement for DES was needed theoretical attacks that can break it.
Lecture 4: Using Block Ciphers
Lecture 4 Page 1 CS 136, Fall 2014 More on Cryptography CS 136 Computer Security Peter Reiher October 14, 2014.
Lecture 4 Page 1 CS 136, Fall 2012 More on Cryptography CS 136 Computer Security Peter Reiher October 9, 2012.
Lecture 3 Page 1 Advanced Network Security Review of Cryptography Advanced Network Security Peter Reiher August, 2014.
Multiple Encryption & DES  clearly a replacement for DES was needed Vulnerable to brute-force key search attacks Vulnerable to brute-force key search.
Chapter 9: Algorithms Types and Modes Dulal C. Kar Based on Schneier.
Encryption Types & Modes Chapter 9 Encryption Types –Stream Ciphers –Block Ciphers Encryption Modes –ECB - Electronic Codebook –CBC - Cipher Block Chaining.
More About DES Cryptography and Network Security Reference: Sec 3.1 of Stallings Text.
Lecture 4 Page 1 CS 236 Stream and Block Ciphers Stream ciphers convert one symbol of plaintext immediately into one symbol of ciphertext Block ciphers.
1.1 Chapter 8 Encipherment Using Modern Symmetric-Key Ciphers Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Modes of Operation INSTRUCTOR: DANIA ALOMAR. Modes of Operation A block cipher can be used in various methods for data encryption and decryption; these.
Stream Ciphers and Block Ciphers A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Examples of classical stream.
Cryptography and Network Security Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 23 Symmetric Encryption
Privacy and Integrity: “ Two Essences of Network Security” Presenter Prosanta Gope Advisor Tzonelih Hwang Quantum Information and Network Security Lab,
Lecture 2 Page 1 CS 236, Spring 2008 More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Lecture 4 Page 1 CS 236 Stream and Block Ciphers Stream ciphers convert one symbol of plaintext immediately into one symbol of ciphertext Block ciphers.
Cipher Transmission and Storage Modes Part 2: Stream Cipher Modes CSCI 5857: Encoding and Encryption.
Lecture 3 Page 1 CS 236 Online Introduction to Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Block Cipher Modes Last Updated: Aug 25, ECB Mode Electronic Code Book Divide the plaintext into fixed-size blocks Encrypt/Decrypt each block independently.
Modes of Operation block ciphers encrypt fixed size blocks – eg. DES encrypts 64-bit blocks with 56-bit key need some way to en/decrypt arbitrary amounts.
Block Cipher Encrypting a large message Electronic Code Book (ECB) message m1 m2 m3 m4 m5 m6 c1 c2 c3 c4 c5 c6 E E E Secret.
CS480 Cryptography and Information Security
Modes of Operation.
Algorithm Modes ECB, CBC, CFB, OFB.
Computer and Network Security
Outline Desirable characteristics of ciphers Stream and block ciphers
Outline Desirable characteristics of ciphers Stream and block ciphers
Row Transposition Ciphers
Outline Desirable characteristics of ciphers Uses of cryptography
Cryptography.
Outline Desirable characteristics of ciphers Uses of cryptography
Outline Desirable characteristics of ciphers Stream and block ciphers
Block Cipher Modes CS 465 Make a chart for the mode comparisons
Cryptography This week we are going to use OpenSSL
Outline Desirable characteristics of ciphers Stream and block ciphers
PART VII Security.
Cryptography and Network Security
Outline Desirable characteristics of ciphers Stream and block ciphers
Algorithm Types & Algorithm Modes
csci5233 computer security & integrity (Chap. 4)
Block vs Stream Ciphers
Outline Using cryptography in networks IPSec SSL and TLS.
Outline Desirable characteristics of ciphers Stream and block ciphers
Block Ciphers (Crypto 2)
Padding Oracle Attacks
Encryption Basics Types of ciphers Algorithms Modes Key Length
Counter Mode, Output Feedback Mode
Elect. Codebook, Cipher Block Chaining
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Secret-Key Encryption
Presentation transcript:

More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher

Outline Desirable characteristics of ciphers Stream and block ciphers Cryptographic modes Uses of cryptography Symmetric and asymmetric cryptography Digital signatures

Desirable Characteristics of Ciphers Well matched to requirements of application Amount of secrecy required should match labor to achieve it Freedom from complexity The more complex algorithms or key choices are, the worse

More Characteristics Simplicity of implementation Seemingly more important for hand ciphering But relates to probability of errors in computer implementations Errors should not propagate

Yet More Characteristics Ciphertext size should be same as plaintext size Encryption should maximize confusion Relation between plaintext and ciphertext should be complex Encryption should maximize diffusion Plaintext information should be distributed throughout ciphertext

Stream and Block Ciphers Stream ciphers convert one symbol of plaintext immediately into one symbol of ciphertext Block ciphers work on a given sized chunk of data at a time

Stream Ciphers Key fsnarT f fs n f s fsna r fsn a fsnar T z S r q m e Of course, actual cipher used could be arbitrarily complex fsnarT f fs n f s fsna r fsn a fsnar T z S r q m e S qS ermzqS rmzqS zqS mzqS Plaintext Ciphertext Encryption

Advantages of Stream Ciphers Speed of encryption and decryption Each symbol encrypted as soon as it’s available Low error propagation Errors affect only the symbol where the error occurred Depending on cryptographic mode

Disadvantages of Stream Ciphers Low diffusion Each symbol separately encrypted Each ciphertext symbol only contains information about one plaintext symbol Susceptible to insertions and modifications Not good match for many common uses of cryptography Some disadvantages can be mitigated by use of proper cryptographic mode

Sample Stream Cipher: RC4 Creates a changing key stream Supposedly unpredictable XOR the next byte of the key stream with the next byte of text to encrypt XOR ciphertext byte with same key stream byte to decrypt Alter your key stream as you go along

Creating an RC4 Key Fill an 256 byte array with 0-255 Choose a key of 1-255 bytes Fill a second array with the key Size of array depends on the key Use a simple operation based on the key to swap around bytes in the first array That produces the key stream you’ll use Swap two array bytes each time you encrypt

Characteristics of RC4 Around 10x faster than DES Significant cryptographic weakness in its initial key stream Fixable by dropping the first few hundred of the keys Easy to use it wrong Key reuse is a serious problem

Block Ciphers Key T r a n s f e r $ 1 0 T s r f $ a e 1 n r 0 T s r Plaintext Ciphertext Encryption

Advantages of Block Ciphers Good diffusion Easier to make a set of encrypted characters depend on each other Immunity to insertions Encrypted text arrives in known lengths Most common Internet crypto done with block ciphers

Disadvantages of Block Ciphers Slower Need to wait for block of data before encryption/decryption starts Worse error propagation Errors affect entire blocks

Cryptographic Modes Let’s say you have a bunch of data to encrypt Using the same cipher and key How do you encrypt the entire set of data? Given block ciphers have limited block size And stream ciphers just keep going

The Basic Situation J2?@=4l 1840326 Dor72m/ 5610993 3370259 Sv&`>oo Xl3lu*m 6840924 $100.00 sS^0’sq sS^0’sq $550.00 2ci;aE9 sS^0’sq sS^0’sq $100.00 #rdL04, $225.00 Let’s say our block cipher has a block size of 7 characters and we use the same key for all Now let’s encrypt There’s something odd here . . . Is this good? Why did it happen?

Another Problem With This Approach What if these are transmissions representing deposits into bank accounts? Insertion Attack! Xl3lu*m #rdL04, Sv&`>oo sS^0’sq Dor72m/ 2ci;aE9 J2?@=4l sS^0’sq Dor72m/ 2ci;aE9 5610993 $550.00 1840326 350 450 2201568 5000 3370259 8900 8800 5610993 1579 1029 479 6840924 2725 2500 8436018 10 What if account 5610993 belongs to him? So far, so good . . .

What Caused the Problems? Each block of data was independently encrypted With the same key So two blocks with identical plaintext encrypt to the same ciphertext Not usually a good thing We used the wrong cryptographic mode Electronic Codebook (ECB) Mode

Cryptographic Modes A cryptographic mode is a way of applying a particular cipher Block or stream The same cipher can be used in different modes But other things are altered a bit A cryptographic mode is a combination of cipher, key, and feedback Plus some simple operations

So What Mode Should We Have Used? Cipher Block Chaining (CBC) mode might be better Ties together a group of related encrypted blocks Hides that two blocks are identical Foils insertion attacks

Cipher Block Chaining Mode Adds feedback into encryption process The encrypted version of the previous block is used to encrypt this block For block X+1, XOR the plaintext with the ciphertext of block X Then encrypt the result Each block’s encryption depends on all previous blocks’ contents Decryption is similar

What About the First Block? If we send the same first block in two messages with the same key, Won’t it be encrypted the same way? Might easily happen with message headers or standardized file formats CBC as described would encrypt the first block of the same message sent twice the same way both times

Initialization Vectors A technique used with CBC And other crypto modes Abbreviated IV Ensures that encryption results are always unique Even for duplicate message using the same key XOR a random string with the first block plaintext  IV Then do CBC for subsequent blocks

Encrypting With An IV First block of message Second block of message 1 1 Initialization vector Use previous msg for CBC 1 XOR IV and message Apply CBC 1 1 1 1 Encrypt msg and send IV plus message Encrypt and send second block of msg No need to also send 1st block again

How To Decrypt With Initialization Vectors? First block received decrypts to P = plaintext  IV plaintext = P  IV No problem if receiver knows IV Typically, IV is sent in the message Subsequent blocks use standard CBC So can be decrypted that way

An Example of IV Decryption Encrypted data And XOR with the plaintext IV Initialization vector IP header The message probably contains multiple encrypted blocks 1 1 1 1 1 1 Now decrypt the message

For Subsequent Blocks Use previous ciphertext block instead of IV And XOR with the previous ciphertext block 1 1 1 1 1 Now decrypt the message

Some Important Crypto Modes Electronic codebook mode (ECB) Cipher block chaining mode (CBC) Cipher-feedback mode (CFB) and Output-feedback mode (OFB) Both convert block to stream cipher