Encryption
Encryption
The problem
It is possible for an unauthorized agent to acquire transmissions
The extent of the danger varies:– Listen only -- the intruder learns information that
should not be available. Use is separate from the acquisition of the information
– Active intrusion -- the intruder intercepts message transmission and substitutes a modified message, or redirects the original message. Effect is immediate.
Message interception
Original message
EncodingMethod Ciphertext
DecodingMethod
Received messageEavesdropping Masquerading
Intruder
(Plain text) (Plain text)
Encryption/Decryption Keys Key-based encryption is an old idea
– Caesar’s code• “May have fooled the Gauls, but hasn’t fooled anyone since”
Problem is that you have to get the key to the receiver, secretly and accurately.
• If you can get the key there, why not use the same method to send the whole message? (Efficiency of scale)
• If the key is compromised without the communicators knowing it, the transmissions are open.
– WWII Enigma code» http://home.us.net/~encore/Enigma/enigma.html
Goals, requirements for an encryption method High level of data protection Simple to understand Complex enough to deter intruders Protection based on the key, not the algorithm Economical to implement Adaptable for various applications Available at reasonable cost
Data Encryption Standard
Complex sequence of transformations– hardware implementations speed performance– modifications have made it very secure
Known algorithm– security based on difficulty in discovering the
key
http://www.itl.nist.gov/fipspubs/fip46-2.htm
The Data Encryption Standard Illustrated
64 bit blocks, 64 bit key
INTERNET-LINKED COMPUTERS CHALLENGE DATA ENCRYPTION STANDARD
LOVELAND, COLORADO (June 18, 1997). Tens of thousands of computers, all across the U.S. and Canada, linked together via the Internet in an unprecedented cooperative supercomputing effort to decrypt a message encoded with the government-endorsed Data Encryption Standard (DES).
Responding to a challenge, including a prize of $10,000, offered by RSA Data Security, Inc, the DESCHALL effort successfully decoded RSADSI's secret message.
According to Rocke Verser, a contract programmer and consultant who developed the specialized software in his spare time, "Tens of thousands of computers worked cooperatively on the challenge in what is believed to be one of the largest supercomputing efforts ever undertaken outside of government."
Using a technique called "brute-force", computers participating in the challenge simply began trying every possible decryption key. There are over 72 quadrillion keys (72,057,594,037,927,936). At the time the winning key was reported to RSADSI, the DESCHALL effort had searched almost 25% of the total. At its peak over the recent weekend, the DESCHALL effort was testing 7 billion keys per second.
Public Key encryption Eliminates the need to deliver a key Two keys: one for encoding, one for
decoding Known algorithm
– security based on security of the decoding key Essential element:
– knowing the encoding key will not reveal the decoding key
Effective Public Key Encryption Encoding method E and decoding method D are
inverse functions on message M:– D(E(M)) = M
Computational cost of E, D reasonable D cannot be determined from E, the algorithm, or
any amount of plaintext attack with any computationally feasible technique
E cannot be broken without D (only D will accomplish the decoding)
Any method that meets these criteria is a valid Public Key Encryption technique
It all comes down to this:
key used for decoding is dependent upon the key used for encoding, but the relationship cannot be determined in any feasible computation or observation of transmitted data
Rivest, Shamir, Adelman (RSA)
Choose 2 large prime numbers, p and q, each more than 100 digits
Compute n=p*q and z=(p-1)*(q-1) Choose d, relatively prime to z Find e, such that e*d=1 mod (z)
– or e*d mod z = 1, if you prefer. This produces e and d, the two keys that
define the E and D methods.
Public Key encoding Convert M into a bit string Break the bit string into blocks, P, of size k
– k is the largest integer such that 2k<n– P corresponds to a binary value: 0<P<n
Encoding method – E = Compute C=Pe(mod n)
Decoding method– D = Compute P=Cd(mod n)
e and n are published (public key) d is closely guarded and never needs to be
disclosed
In class exercise Create your own public and private keys
– (keep the numbers very small to make it reasonable for you to do the computation)
Give someone else a paper with your values for n and e (Put your name on it)
Write a short message and encode it using the n,e values given to you.– Keep it simple. Use all capital letters. Code A=1, B=2, etc.
Return it to the person whose key you have. Decode the message sent to you.
An example: P=7; q=11; n=77; z=60 d=13; e= 37; k=6 Test message = CAT Using A=1, etc and 5-bit representation:
– 00011 00001 10100 Since k=6, regroup the bits (arrange right to left so that any padding
needed will put 0's on the left and not change the value): – 000000 110000 110100 (three leading zeros added to fill the block)
decimal equivalent: 0 48 52 Each of those raised to the power 37 (e) mod n: 0 27 24 Each of those values raised to the power 13 (d) mod n (convert back to
the original): 0 48 52
On a practical note: PGP
You can create your own real public and private keys using PGP (Pretty Good Privacy)
See the following Web site for full information.
http://web.mit.edu/network/pgp.html
Issues Intruder vulnerability
– If an intruder intercepts a request from A for B’s public key, the intruder can masquerade as B and receive messages from B intended for A. The intruder can send those same or different messages to B, pretending to be A.
– Prevention requires authentication of the public key to be used.
Computational expense– One approach is to use Public Key Encryption to send the
Key for use in DES, then use the faster DES to transmit messages
Digital Signatures
Some messages do not need to be encrypted, but they do need to be authenticated: reliably associated with the real sender– Protect an individual against unauthorized
access to resources or misrepresentation of the individual’s intentions
– Protect the receiver against repudiation of a commitment by the originator
Digital Signature basic technique
Sender A
Receiver B
Intention to send
E(Random Number)where E is A’s public key
Message and D(E(Random Number))
Public key encryption with implied signature
Add the requirement that E(D(M)) = M Sender A has encoding key EA, decoding key
DA
Intended receiver has encoding (public) key EB. A produces EB(DA(M)) Receiver calculates EA(DB(EB(DA(M))))
– Result is M, but also establishes that only A could have encoded M
Digital Signature Standard (DSS)
Verifies that the message came from the specified source and also that the message has not been modified
More complexity than simple encoding of a random number, but less than encrypting the entire message
Message is not encoded. An authentication code is appended to it.
Encryption summary
Problems– intruders can obtain sensitive information– intruder can interfere with correct information
exchange
Solution– disguise messages so an intruder will not be
able to obtain the contents or replace legitimate messages with others
Important methods
DES– fast, reasonably good encryption– key distribution problem
Public Key Encryption– more secure
• based on the difficulty of factoring very large numbers
– no key distribution problem– computationally intense
Digital signatures
Authenticate messages so the sender cannot repudiate the message later
Protect messages from changes during transmission or at the receiver’s site
Useful when the contents do not need encryption, but the contents must be accurate and correctly associated with the sender