Introduction to Cryptography SUMMARY: All encryption systems rely on the notion of a key. A key is the basis for a transformation, usually mathematical, of an ordinary message into a unreadable one. For centuries, most encryption systems have relied on what is called private-key encryption. Only within the last 30 years has a challenge to private-key encryption appeared public-key encryption. Private-key encryption systems use a single key. This requires the sender and the receiver to share the key. Both must have the key; the sender encrypts the message by using the key, and the receiver decrypts the message with the same key. Both must keep the key private to keep their communication private. If, you are new to the area of public key cryptography it may answer some of your questions. Please note that when you use MailSecure, this process all takes place automatically in a few seconds. There are two kinds of cryptosystems: symmetric and asymmetric. Symmetric cryptosystems use the same key (the secret key) to encrypt and decrypt a message, and asymmetric cryptosystems use one key (the public key) to encrypt a message and a different key (the private key) to decrypt it. Asymmetric cryptosystems are also called public key cryptosystems. The concept of public-key cryptography was introduced in 1976 by Whitfield Diffie and Martin Hellman. [www.x5.net/faqs/crypto]. Their revolutionary idea was to enable secure message exchange between sender and receiver without ever having to meet in advance to agree on a common secret key. ENCRYPTION-DECRYPTION (DEFINITIONS): Encryption is a key-based mathematical transformation that changes plaintext to cipher text in such a way that the reverse operation - decryption - is very difficult without possession of the key Decryption is the inverse transformation, and reverses the encryption (converts cipher text back to plaintext) • Reversing the encryption requires you to have, or can guess, the decryption key • Typically the larger the key, the harder it is to guess USES OF PUBLIC KEY CRYPTOGRAPHY: Author : Deepank Gupta Topic :Introduction to Cryptography Page 1 of 10 1 Private messages without prior secret key exchange Document integrity Authenticated messages (non-repudiation) Confidential data transfer (“bulk” encryption) Assured identity and user authentication without “passwords in the clear” Digital Timestamp Service - issues timestamps which associate a date and time with a digital document in a cryptographically strong manner. 1). Private Messages (“Many to One” private communication) : Example: Entity “A” - a researcher whose workstation is on an open, insecure, network - wishes to communicate with assured privacy with entity “B”, a collaborator on the other side of the country • B’s public key is available from a source that is “reliable”. E.g. an employer’s X.500/LDAP or Web server (commercial enterprise public keys are frequently published in the business section of the Sunday New York Times) • A obtains B’s public key over the open network • A uses B’s public key to encrypt a message for B 2). Document Integrity : Is what B received exactly what A sent? • A generates a message / document • A generates a “message digest” (a small, fixed-length code (bit string) that is unique to the original message - a “one-way hash” code). • A encrypts the message digest with A’s private key and includes the encrypted digest with the plaintext message / document. • Anyone can read the original message (e.g., a deed, a computer security advisory message, etc.) • B verifies the integrity of A’s message by generating the hash code for the received message, decrypting the message digest with A’s public key and comparing the two. (a match => received message is the same as the original) Other types of document integrity : • A “document” can be any digital data (e.g. a digital image, digital video clip, digital audio clip, etc.) • A verified time stamp can prove when a document was generated - “postmarks” - time stamps that verify the contents of a document at a given point in time - can be generated by sending the message digest to a trusted third party who adds a guaranteed accurate time stamp and digitally signs the combined document (digest plus time stamp) and returns it. Important for patent notes, lab notebooks, etc. Author : Deepank Gupta Topic :Introduction to Cryptography Page 2 of 10 4). Confidential Data (“How to exchange lots of private data”) : Public key encryption is relatively expensive, and is not suited to encrypting large volumes of data Single key encryption (e.g. DES) is suitable for “bulk” encryption Example: transferring a confidential file. • Using symmetric / secret key cryptography, a temporary (“session”) key is generated and used to encrypt large datasets. • The session key can be encrypted with the public key of the intended recipient and sent, in confidence, to the recipient. • The encrypted data can be transferred over an insecure network. • The intended recipient decrypts the session key using his/her private key, and then uses the session key to decrypt the data. 5). User Authentication (logging in remotely without passwords) : If a remote system can obtain a public key for which it has some confidence as to the “identity” of the “person” to whom that public key was issued ;.. then there are protocols that allow the remote system to authenticate the user on his/her local system and permit a “login” (e.g. a telnet or X-window session from the local to the remote system) without exchanging any passwords “in the clear” (and over an encrypted channel, if desired) See, e.g., “SSH (Secure Shell) Remote Login Program” (http://www.cs.hut.fi/ssh) “Identity” Several of the uses of public key cryptography (e.g. user authentication) depend on establishing the identify of the holder of a private key. That is, how do you know that the holder of the private key (the person that encrypted the message that you have just received and were able to decrypt with the corresponding public key) is really the person that you think it is? all that public key cryptography “guarantees” is that public and private keys come in uniquely associated pairs, not who holds the private key In this theory, each person/company gets a pair of keys, one called the public key and the other called the private key. Each person’s public key is published, which is published under the users name in a public directory accessible for everyone to read while the private key is kept secret. The need for the sender and receiver to share secret information is eliminated; all communications involve only public keys, and no private key is ever transmitted or shared. No longer is it necessary to trust some communications channel to be secure against eavesdropping or betrayal. The only requirement is that public keys are associated with their users in a trusted (authenticated) manner (for instance, in a trusted directory). Anyone can send a confidential message by just using public information, but the message can only be decrypted with a private key, which is in the sole possession of Author : Deepank Gupta Topic :Introduction to Cryptography Page 3 of 10 the intended recipient. Furthermore, public-key cryptography can be used not only for privacy (encryption), but also for authentication (digital signatures). ADVANTAGES OF PUBLIC-KEY CRYPTOGRAPHY 1. Only the private key must be kept secret (authenticity of public keys must, however, be guaranteed). 2. The administration of keys on a network requires the presence of only a functionally trusted TTP as opposed to an unconditionally trusted TTP. Depending on the mode of usage, the TTP might only be required in an offline manner, as opposed to in real time. 3. Depending on the mode of usage, a private key/public key pair may remain unchanged for considerable periods of time, e.g., many sessions (even several years). 4. Many public-key schemes yield relatively efficient digital signature mechanisms. The key used to describe the public verification function is typically much smaller than for the symmetric-key counterpart. 5. In a large network, the number of keys necessary may be considerably smaller than in the symmetric-key scenario. DISADVANTAGES OF PUBLIC-KEY ENCRYPTION 1. Throughput rates for the most popular public-key encryption methods are several orders of magnitude slower than the best-known symmetric-key schemes. 2. Key sizes are typically much larger than those required for symmetric-key encryption, and the size of public-key signatures is larger than that of tags providing data origin authentication from symmetric-key techniques. 3. No public-key scheme has been proven to be secure (the same can be said for block ciphers). The most effective public-key encryption schemes found to date have their security based on the presumed difficulty of a small set of number-theoretic problems. DIGITAL SIGNATURES Two additional components of information security are integrity and authenticity. How can a recipient know that the message has not been tampered with or changed and is actually from the purported party? If we communicate electronically with those we do not know, we must have a way to address these concerns. Digital signatures provide this. A digital signature is a portion of a message encrypted with a user's private key. Anyone who knows this user's public key could now decrypt this digital signature and the message it signs. By doing so, the recipient would know that this message and its digital signature could have come only from the owner of the private key corresponding to the public key used to decrypt. Only the corresponding private key could have originally encrypted the message. Digital signatures not only ensure that the received message is exactly the one sent, but also verify that the alleged sender actually sent it. In a public key system, the private key is never transferred or distributed. Consequently, the risk of an outsider obtaining this critical item is very small. Author : Deepank Gupta Topic :Introduction to Cryptography Page 4 of 10 DIGITAL CERTIFICATES However, we still need to know, without doubt, that the owner of a public key is who he claims to be. This involves the intervention of a disinterested, trusted third party that binds a public key to an individual or entity that it has positively identified. This binding mechanism is know as a digital certificate. A digital certificate can be considered analogous to a passport. Like a passport, a certificate serves as a credential; it contains information that establishes an individual's identity, along with a unique identifying number. A digital certificate is an electronic credential that contains specific identification information-name, address, and company-along with the individual's public key. With a passport, information is verified and A Certificate Authority issues, verifies, and revokes certificates, just as a government issues, validates, and seizes passports. The Certificate Authority's digital signature attests to the binding of the individual's identity and his public key. The CA, like any individual, has a certificate containing its identifying information and public key so that anyone who needs to authenticate a CA signature can do so. To create a digital signature, a cryptographic function takes digitized information and a CA's private key as inputs and returns the signature as the unique output. Finally, if necessary, the digital signature can be authenticated with an inverse cryptographic function that take the same digitized certificate information and the CA's public key as inputs to generate a unique output called an authenticator. The CA can then be compared to the claimed signature. In the near future, a hierarchy of Certificate Authorities will exist. Two parties with certificates issued and signed by different Certificate Authorities will be able to mutually authenticate each other by relying on the signature of a higher level of Certificate Authority, such as the U.S. Postal Service. CERTIFICATE ATTRIBUTES Digital signatures, like handwritten signature, can be used as proof of agreement with or ownership of the contents of a document. The identifying information in the certificate can be trusted because the digital signature is cryptographically strong. The signature contained in a digital certificate meets the following criteria (listed in Schneier's Applied Cryptography, Wiley & sons, 1994): 1). It must be non-forgeable. The signature proves that the signer deliberately signed the document. 2).It must be authentic. The signature convinces the document's recipient that the signer deliberately signed the document. 3). It must not be reusable. The signature is part of the document, and an unscrupulous person cannot move the signature to a different document. 4). It must make the signed document unalterable. In the case of digital signatures, after a document is signed, it cannot be altered without detection. 5). It cannot be repudiated. The signature and the document, although intangible, are physical entities. The signer cannot claim later that he or she did not sign it. Author : Deepank Gupta Topic :Introduction to Cryptography Page 5 of 10 PUBLIC-KEY CIPHERS Traditional secret key cryptography uses a single key shared by both sender and receiver. If this key is disclosed communications are compromised Also does not protect sender from receiver forging a message & claiming is sent by sender, parties are equal public-key (or two-key) cryptography involves the use of two keys: o a public-key, which may be known by anybody, and can be used to encrypt messages, and verify signatures o a private-key, known only to the recipient, used to decrypt messages, and sign (create) signatures The public-key is easily computed from the private key and other information about the cipher (a polynomial time (P-time) problem) However, knowing the public-key and public description of the cipher, it is still computationally infeasible to compute the private key (an NP-time problem). Thus, the public-key may be distributed to anyone wishing to communicate securely with its owner (although secure distribution of the public-key is a nontrivial problem - the key distribution problem) Have three important classes of public-key algorithms: o Public-Key Distribution Schemes (PKDS) - where the scheme is used to securely exchange a single piece of information (whose value depends on the two parties, but cannot be set). o This value is normally used as a session key for a private-key scheme o Signature Schemes - used to create a digital signature only, where the private-key signs (create) signatures, and the public-key verifies signatures. o Public Key Schemes (PKS) - used for encryption, where the public-key encrypts messages, and the private-key decrypts messages. o Any public-key scheme can be used as a PKDS, just by selecting a message which is the required session key. Author : Deepank Gupta Topic :Introduction to Cryptography Page 6 of 10 o Many public-key schemes are also signature schemes (provided encryption & decryption can be done in either order) . DIFFIE-HELLMAN PUBLIC-KEY DISTRIBUTION SCHEME First public-key type scheme proposed was a PKDS by Diffie & Hellman in 1976: W Diffie, M E Hellman, "New directions in Cryptography", IEEE Trans. Information Theory, IT-22, pp644-654, Nov 1976 . An excellent overview of cryptography at this time is: W Diffie, M E Hellman, "Privacy and Authentication: An Introduction to Cryptography", Proc. of the IEEE, Vol 67 No 3, pp 397-427, Mar 1979 It is a public-key distribution scheme o it cannot be used to exchange an arbitrary message o only a key, whose value depends on the participants (and their private and public key information) Is based on exponentiation in a finite (Galois) field, either over integers modulo a prime, or a polynomial field o nb exponentiation takes O((log n)3) operations Its security relies on the difficulty of computing logarithms in these fields o nb discrete logarithms takes O(e log n log log n) operations .. Author : Deepank Gupta Topic :Introduction to Cryptography Page 7 of 10 CONCLUSION With private-key encryption, you have to be careful of stolen or intercepted keys. In public-key encryption, where anyone can create a key pair and publish the public key, the challenge is in verifying that the owner of the public key really is the person you think it is. There is nothing to stop a user from creating a key pair and publishing the public key under a false name. The person listed as the owner of the public key will not be able to read messages encrypted with that key because he or she will not have the private key. If the creator of the false public key can intercept these messages, that person can decrypt and read messages intended for someone else. To counteract the potential for forged keys, public-key systems provide mechanisms for validating public keys (and other information) with digital signatures and digital certificates [Source:http:// www.unicom.com/pw/pubnetinfosec/ crypto-pubkey.gif ] Author : Deepank Gupta Topic :Introduction to Cryptography Page 8 of 10 [http://www.home7.inet.tele.dk/ hunter/basics.html] Some sample symmetric ciphers: o Export-grade RC4 (40 bits) o DES (56 bits) o Domestic-grade RC4 (128 bits) o IDEA (128 bits) Author : Deepank Gupta Topic :Introduction to Cryptography Page 9 of 10 Practice: Alice and Bob want to communicate in secret, while Eve wants to eavesdrop. Alice and Bob could be military jets, on-line businesses or just friends trying to have a private conversation. They can't stop Eve listening to their radio signals (or tapping their phone line, or whatever), so what can they do to keep their communication secret Author : Deepank Gupta Topic :Introduction to Cryptography Page 10 of 10