Encryption and Security
-
Upload
jescie-duncan -
Category
Documents
-
view
50 -
download
1
description
Transcript of Encryption and Security
![Page 1: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/1.jpg)
Encryption and Security
![Page 2: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/2.jpg)
Outline
• Overview of encryption– Terminology– History– Common issues
• Secret-key encryption– Block and stream ciphers– DES– RC5
![Page 3: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/4.jpg)
Overview
• Types of attacks and countermeasures
• Application layers– S-HTTP, SSL
• Steganography and digital watermarking
• Security and trust
![Page 5: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/5.jpg)
Terminology
• Code– Replacement based on words or semantic
structures
• Cipher– Replacement based on symbols
![Page 6: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/7.jpg)
Terminology
• Plaintext – an unencrypted message
• Cyphertext – an encrypted message
• Security: a combination of – Authentication– Access control
![Page 8: Encryption and Security](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062407/56812ebf550346895d9460f6/html5/thumbnails/33.jpg)
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.