Top Banner
Encryption and Security
33

Encryption and Security

Dec 31, 2015

Download

Documents

jescie-duncan

Encryption and Security. Outline. Overview of encryption Terminology History Common issues Secret-key encryption Block and stream ciphers DES RC5. Overview. Intro, history and terminology Symmetric-key encryption Techniques DES, RC5 Public-key encryption - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Encryption and Security

Encryption and Security

Page 2: Encryption and Security

Outline

• Overview of encryption– Terminology– History– Common issues

• Secret-key encryption– Block and stream ciphers– DES– RC5

Page 3: Encryption and Security

Overview

• Intro, history and terminology

• Symmetric-key encryption– Techniques– DES, RC5

• Public-key encryption– RSA, hash functions, digital signatures

• Key exchange, certificates, PKI

Page 4: Encryption and Security

Overview

• Types of attacks and countermeasures

• Application layers– S-HTTP, SSL

• Steganography and digital watermarking

• Security and trust

Page 5: Encryption and Security

Terminology

• Code– Replacement based on words or semantic

structures

• Cipher– Replacement based on symbols

Page 6: Encryption and Security

Terminology

• Cryptography– The science of encrypting or hiding secrets.

• Cryptanalysis– The science of decrypting messages or breaking

codes and ciphers.

• Cryptology– The combination of the two.

Page 7: Encryption and Security

Terminology

• Plaintext – an unencrypted message

• Cyphertext – an encrypted message

• Security: a combination of – Authentication– Access control

Page 8: Encryption and Security

Three eras of cryptology

• Pre-WWII– Cryptography as a craft– Widely used, but few provable techniques

• 1940s-1970– Secret key encryption introduced– Information theory used to characterize security

• 1970-present– Public key systems introduced

Page 9: Encryption and Security

Early cryptography

• Caesar cipher– Replace each letter l with l +3 mod 26– “Attack at dawn” becomes– Dwwdfn dw gdzq

• Two components:– Algorithm: Shift characters by a fixed amount– Key: the fixed amount.

• Note: Knowing the algorithm (but not the key) makes this cipher much easier to crack– 26 possibilities vs 26!

Page 10: Encryption and Security

Weaknesses of the Caesar Cipher

• Word structure is preserved.– Break message into equal-length blocks.

• dww dfn dwg dzq

• Letter frequency is a big clue– e,t,a,o most common English letters.– Using a single key preserves frequency.

• Solution: use multiple keys– E.g. shift by (3,5,7)

• “Attack at dawn” becomes dya dhr dyk dbu• Better, but frequency information still present.• An attacker that knows the block size can separate out

characters encoded with different keys.

Page 11: Encryption and Security

Caesar Cipher

• The Caesar cipher is still useful as a way to prevent people from unintentionally reading something.– ROT-13– By decrypting, the user agrees that they want to

view the content.

• Fundamental problem: key length is shorter than the message.

Page 12: Encryption and Security

Vernam Cipher

• 1920’s: introduction of the one-time pad.

• Randomly generated key– Same length as message– XORed with message

• Theoretically unbreakable– Attacker can do no better than guessing– Ciphertext gives no information about

plaintext.

Page 13: Encryption and Security

Vernam Cipher

• Example: winning lottery number is 117– 1110101 (7 bits)

– Randomly generated key: 0110101

– XOR: 1000000

• No two bits are encoded with the same mapping – an attacker has no frequency information to help guess the key.

• Problem: keys are very large.– How to distribute this key?

– Shared source of randomness?

Page 14: Encryption and Security

Symmetric Key Encryption

• The Caesar Cipher and the one-time pad are examples of symmetric-key (secret-key) encryption.

• Single key shared by all users.

• Fast

• How to distribute keys?

Page 15: Encryption and Security

Keyspace

• The keyspace is the set of all possible keys.– Caesar cipher: keyspace = {0,1,2,…,25}– Vernam cipher: |keyspace| = 2n –1

• Size of the keyspace helps us estimate security.– Assumption: exhaustive search is the only way

to find a key.

Page 16: Encryption and Security

Substitution Ciphers• Symbols are replaced by other symbols according to a

key.– Caesar cipher is a substitution cipher.

• To escape frequency analysis, we can use a homophonic substitution cipher– Map symbols to multiple symbols.– e.g 0 -> {01, 10}, 1->{00,11}– 011010010 becomes: 011100101101011110– Advantage: frequencies hidden– Disadvantage: message and key are longer– Substitution is said to add confusion

• Measure of the relationship between plaintext and ciphertext

Page 17: Encryption and Security

Transposition Ciphers

• A transposition cipher is one that permutes the symbols of the message according to a preset pattern.– “Attack at dawn” becomes “cda tka wan tat”– Helps avoid detection of symbols based on

correspondence.• ‘q’ followed by ‘u’.

– Said to increase diffusion• Reduce redundancies in plaintext.

Page 18: Encryption and Security

Product ciphers

• By themselves, substitution and transposition ciphers are relatively insecure.

• By combining these operations, we can produce a secure cipher.– This is how DES works.

• M -> Sub(M) -> Trans(Sub(M)).– Might go through multiple rounds.

Page 19: Encryption and Security

Block Ciphers

• The ciphers we have seen so far are known as block ciphers.

• Plaintext is broken into blocks of size k.

• Each block is encrypted separately.

• Advantages: random access, potentially high security

• Disadvantages: larger block size needed, patterns retained throughout messages.

Page 20: Encryption and Security

Stream Ciphers

• A stream cipher encodes a symbol based on both the key and the encoding of previous symbols.– Ci = Mi XOR Ki XOR Mi-1

• Advantages: – can work on smaller block sizes – little

memory/processing/buffering needed.

• Disadvantages:– Random access difficult, hard to use large keys.

– Sender and receiver must be synchronized• Inserted bits can lead to errors.

Page 21: Encryption and Security

Combinations

• Many ciphers combine stream and block properties.– Work on multiple symbols, but contain a

feedback loop.

• Electronic Code Book (ECB)– Pure block cipher, no feedback

plaintext E

key

ciphertext plaintextE-1

key

Page 22: Encryption and Security

Cipher-block Chaining

• XOR previous block– Chaining dependency – order matters.– Some error propagation

plaintext

Ekey

ciphertext E-1

key

XOR

XOR

plaintext

Page 23: Encryption and Security

Cipher-Block Chaining

• Also incorporated into block ciphers.

• Makes tampering easier to detect.– Helps prevent substitution and impersonation

attacks.

• Secret key can also be used to construct a running-key generator.– Longer sequence of pseudo-random numbers.– Can be used to build a one-time pad.

Page 24: Encryption and Security

Modifications to CBC

• Cipher feedback– Shift register is used to store data.– r-bit are shifted into mask of size m.– Allows a small number of bits to be

immediately sent.

• Output feedback– Like cipher feedback, but uses output of

encryption function.– Eliminates error propagation.

Page 25: Encryption and Security

DES

• Data Encryption Standard– DEA is actually the algorithm.

• First commercial-grade algorithm with open implementation details.

• Uses a 64-bit key with 8 parity bits, for an effective key of 56 bits.– Keyspace = 256 = 1017

Page 26: Encryption and Security

DES

• Is a combination of a product cipher and a Feistel cipher.– Product cipher: transposition and substitution.– Feistel cipher: Iterates through a number of

rounds of a product cipher mapping (L,R) to (R’, L’)

• 16 rounds• Block size=48

– In each round, a different 48-bit subkey is selected from the 56-bit key.

Page 27: Encryption and Security

Security of DES

• Keyspace is approximately 1017

• Thought to be secure in 70’s.• Recently, 56-bit DES broken in under 1

day.– Combination of distributed.net & EFF’s

DeepCrack.

• Able to search several billion keys per second.

Page 28: Encryption and Security

Extensions to DES

• 3DES– Message is run through DES 3 times

– C = k3 (k2 (k1(M)))

– Backwards-compatible with DES if all three keys are the same.

– Keyspace is 1042

– Drawback: bit-oriented operations are slow to implement in software

Page 29: Encryption and Security

RC5

• Symmetric encryption algorithm

• Word-oriented block cipher.

• Can vary word length, number of rounds, and key length.

• Goals: fast, easy to understand and implement, flexible, low memory requirements, secure.

• Uses stream techniques to modify data

Page 30: Encryption and Security

RC5

• Uses three mathematical operations:– Two’s complement addition– XOR– Left cyclic rotation by variable amounts.

• These are all fast operations that are directly supported by most modern processors.

Page 31: Encryption and Security

RC5 Algorithm• Parameters: K (key), w (word length), r (number of

rounds)• Input: a 2w length plaintext in registers A and B.• Output: a 2w length ciphertext.• 1. Expand K into a table S[2(r+1)] keys.• To encrypt:

– A =A + S[0]; B = B + S[1]– For i = 1 to r do

• A = ((A xor B) << B) + S[2 * i]• B = ((B xor A) << A) + S[2*i + 1]

• Decryption is the same thing in reverse.

Page 32: Encryption and Security

RC5

• Simple algorithm – key is the data-dependent rotations.

• Keys are accessed sequentially, allowing for small caches.

• Security still unclear, but looks good.– 56-bit key: 250 days by distributed.net– 64-bit key: 1747 days by distributed.net

• 1.02x10^11 keys/sec, 1.5 x10^19 keyspace

– 72-bit key in progress.• 4.8x10^10 keys/sec, 4x10^21 keyspace • 100% in 788,747 days = 2160 years

Page 33: Encryption and Security

Summary

• Secret-key algorithms (DES, RC5) have been widely studied.– Fast– Potentially highly secure– Well-understood.– Excellent for repeated communication.– Hard to use in open environments, one-shot

communications– Works for hiding secrets; what about signing things?

• Public-key encryption evolved as an answer to this problem.