640 likes | 650 Views
Part 1 Intro to Cryptography. What is Cryptography. Cryptography In a narrow sense Mangling information into apparent unintelligibility Allowing a secret method of un-mangling In a broader sense Mathematical techniques related to information security
E N D
What is Cryptography • Cryptography • In a narrow sense • Mangling information into apparent unintelligibility • Allowing a secret method of un-mangling • In a broader sense • Mathematical techniques related to information security • About secure communication in the presence of adversaries • Cryptanalysis • The study of methods for obtaining the meaning of encrypted information without accessing the secret information • Cryptology • Cryptography + cryptanalysis
Security Attacks • Passive attacks • Obtain message contents • Monitoring traffic flows • Active attacks • Masquerade of one entity as some other • Replay previous messages • Modify messages in transmit • Add, delete messages • Denial of service
Objectives of Information Security • Confidentiality (secrecy) • Only the sender and intended receiver should be able to understand the contents of the transmitted message • Authentication • Both the sender and receiver need to confirm the identity of other party involved in the communication • Data integrity • The content of their communication is not altered, either maliciously or by accident, in transmission. • Availability • Timely accessibility of data to authorized entities.
Objectives of Information Security • Non-repudiation • An entity is prevented from denying its previous commitments or actions • Access control • An entity cannot access any entity that it is not authorized to. • Anonymity • The identity of an entity if protected from others.
Types of Cryptographic Functions • Secret key functions • Public key functions • Hash functions
Secret Key Cryptography • Using a single key for encryption/decryption. • The plaintext and the ciphertext having the same size. • Also called symmetric key cryptography encryption plaintext ciphertext key ciphertext plaintext decryption
SKC: Security Uses • Transmitting over an insecure channel • The transmitted message is encrypted by the sender and can be decrypted by the receiver, with the same key • Prevent attackers from eavesdropping • Secure storage on insecure media • Data is encrypted before being stored somewhere • Only the entities knowing the key can decrypt it
SKC: Security Uses • Authentication • Strong authentication: proving knowledge of a secret without revealing it. Alice Bob challenge r A response rA encrypted with KA,B r B rB encrypted with KA,B
SKC: Security Uses • Integrity Check • Noncryptographic checksum • Using a well-known algorithm to map a message (of arbitrary length) to a fixed-length checksum • Protecting against accidental corruption of a message • Example: CRC • Cryptographic checksum • A well-know algorithm • Given a key and a message • The algorithm produces a fixed-length message authentication code (MAC) that is sent with the message
Public Key Cryptography encryption plaintext ciphertext • Each individual has two keys • a private key (d): need not be reveal to anyone • a public key (e): preferably known to the entire world • Public key crypto is also called asymmetric crypto. Public key Private key ciphertext plaintext decryption
PKC: Security Uses • Transmitting over an insecure channel • Secure storage on insecure media • Data is encrypted with the public key of the source, before being stored somewhere • Nobody else can decrypt it (not knowing the private key of the data source) Alice Bob encrypt mA using dB encrypt mA using eB
PKC: Security Uses • Authentication Alice Bob encrypt rusing eB decrypt to rusing dB r
PKC: Security Uses • Digital Signatures • Proving that a message is generated by a particular individual • Non-repudiation: the signing individual can not be denied, because only him/her knows the private key. signing plaintext Signed message Private key Public key Signed message plaintext verification
Hash Functions • Cryptographic hash function • A mathematical transformation that takes a message of arbitrary length and computes it a fixed-length (short) number. • Properties ( Let the hash of a message m be h(m) ) • For any m, it is relatively easy to compute h(m) • Given h(m), there is no way to find an m that hashes to h(m) in a way that is substantially easier than going through all possible values of m and computing h(m) for each one. • It is computationally infeasible to find two values that hash to the same thing.
Hash Functions: Security Uses • Password hashing • The system store a hash of the password (not the password itself) • When a password is supplied, it computes the password’s hash and compares it with the stored value. • Message integrity • Using cryptographic hash functions to generate a MAC Bob Alice secret =? message hash hash secret
Hash Functions: Security Uses • Message fingerprint • Save the message digest of the data on a tamper-proof backing store • Periodically re-compute the digest of the data to ensure it is not changed. • Downline load security • Using a hash function to ensure a download program is not modified • Improving signature efficiency • Compute a message digest (using a hash function) and sign that.
Cryptographic Algorithms: Agenda • Attacks on cryptographic algorithms • Definition of security • Some cryptographic algorithms: basic facts
Attacks: Types • Brute force search • Assume either know/recognize plaintext • Simply try every key • Cryptoanalysis • Ciphertext only • With the ciphertext • Plaintext is recognizable • Known plaintext • <cipher, plaintext> pairs are known • Chosen plaintext • Select plaintext and obtain ciphertext to attack
Birthday Attacks • Principle • Assume: A function yields any of n different outputs with equal probability, where n is sufficiently large. • After evaluating the function for about 1.2*squart(n) arguments, we expect to find a pair of different arguments, x1 and x2, such that f(x1)=f(x2). • Attack: message replay • Solution: increase the size of the output
Meet-in-the-Middle Attacks • Principle • build a table of keys • Compute f(k,m) for every key • f is an encryption function, m is a known message • Eavesdrop a value f(k’,m) • If f(k’,m)=f(k,m), then there is a good chance k’=k.
Meet-in-the-Middle Attacks • An attack example • Assume: • a new encryption function: F(k1,k2,m)=f(k1,f(k2,m)) • A pair (P,C) is known • Attacker: • Encrypt P, i.e., computing f(k2,P), for all possible values of k2; store the values in a table • Decrypt C, i.e., computing f-1(k1,C), for all possible values of k1, and for each result check the table • A match reveals a possible combination of the keys
Security Definition • Unconditional Security • The system cannot be defeated, no matter how much power is available by the adversary. • Computational security • The perceived level of computation required to defeat the system using the best known attack exceeds, by a comfortable margin, the computational resources of the hypothesized adversary. • e.g., given limited computing resources, it takes the age of universe to break cipher.
Security Definition • Provable security • The difficulty of defeating the system can be shown to be essentially as difficult as solving a well-known and supposedly difficult problem (e.g., integer factorization) • Ad hoc security • Claims of security generally remain questionable • Unforeseen attacks remain a threat
Secret Key Cryptographic Algorithms • DES (Data Encryption Standard) • 3DES (Triple DES) • IDEA (International Data Encryption Algorithm) • AES (Advanced Encryption Standard)
DES (Data Encryption Standard) • Authors: NSA & IBM, 1977 • Data block size: 64-bit (64-bit input, 64-bit output) • Key size: 56-bit key • Encryption is fast • DES chips • DES software: a 500-MIP CPU can encrypt at about 30K octets per second • Security • No longer considered secure: 56 bit keys are vulnerable to exhaustive search
Triple-DES (3DES) • C = DESk3(DESk2(DESk1(P))). • Data block size: 64-bit • Key size: 168-bit key; effective key size: 112 (due to man-in-the-middle attack) • Encryption is slower than DES • Securer than DES
IDEA (International Data Encryption Algorithm) • Authors: Lai & Massey, 1991 • Data block size: 64-bit • Key size: 128-bit • Encryption is slower than DES • Security • Nobody has yet published results on how to break it • Having patent protection
AES (Advanced Encryption Standard) • Authors: Daemen & Rijmen • Block size:128-bit • Key size: 128-bit, 192-bit, 256-bit • Encryption is fast • Security • As of 2005, no successful attacks are recognized. • NSA stated it secure enough for non-classified data.
Elements of Cryptosystems • Cryptosystems typically made up of algorithms, data handling techniques, and procedures • Substitution cipher: substitute one value for another • Monoalphabeticsubstitution: uses only one alphabet • Polyalphabetic substitution: more advanced; uses two or more alphabets • Vigenère cipher: advanced cipher type that uses simple polyalphabeticcode; made up of 26 distinct cipher alphabets
Elements of Cryptosystems (continued) • Transposition cipher: rearranges values within a block to create ciphertext • Exclusive OR (XOR): function of Boolean algebra; two bits are compared • If two bits are identical, result is binary 0 • If two bits not identical, result is binary 1
Elements of Cryptosystems (continued) • Vernam cipher: developed at AT&T; uses set of characters once per encryption process • Book (running key) cipher: uses text in book as key to decrypt a message; ciphertext contains codes representing page, line and word numbers
Hash Functions • Mathematical algorithms that generate message summary/digest to confirm message identity and confirm no content has changed • Hash algorithms: publicly known functions that create hash value • Use of keys not required; message authentication code (MAC), however, may be attached to a message • Used in password verification systems to confirm identity of user
Cryptographic Algorithms • Often grouped into two broad categories, symmetric and asymmetric; today’s popular cryptosystems use hybrid combination of symmetric and asymmetric algorithms • Symmetric and asymmetric algorithms distinguished by types of keys used for encryption and decryption operations
Cryptographic Algorithms (continued) • Symmetric encryption: uses same “secret key” to encipher and decipher message • Encryption methods can be extremely efficient, requiring minimal processing • Both sender and receiver must possess encryption key • If either copy of key is compromised, an intermediate can decrypt and read messages
Cryptographic Algorithms (continued) • Data Encryption Standard (DES): one of most popular symmetric encryption cryptosystems • 64-bit block size; 56-bit key • Adopted by NIST in 1976 as federal standard for encrypting non-classified information • Triple DES (3DES): created to provide security far beyond DES • Advanced Encryption Standard (AES): developed to replace both DES and 3DES
Cryptographic Algorithms (continued) • Asymmetric Encryption (public key encryption) • Uses two different but related keys; either key can encrypt or decrypt message • If Key A encrypts message, only Key B can decrypt • Highest value when one key serves as private key and the other serves as public key
Encryption Key Size • When using ciphers, size of cryptovariable or key very important • Strength of many encryption applications and cryptosystems measured by key size • For cryptosystems, security of encrypted data is not dependent on keeping encrypting algorithm secret • Cryptosystem security depends on keeping some or all of elements of cryptovariable(s) or key(s) secret
Cryptography Tools • Public Key Infrastructure (PKI): integrated system of software, encryption methodologies, protocols, legal agreements, and third-party services enabling users to communicate securely • PKI systems based on public key cryptosystems; include digital certificates and certificate authorities (CAs)
Cryptography Tools (continued) • PKI protects information assets in several ways: • Authentication • Integrity • Privacy • Authorization • Nonrepudiation
Digital Signatures • Encrypted messages that can be mathematically proven to be authentic • Created in response to rising need to verify information transferred using electronic systems • Asymmetric encryption processes used to create digital signatures
Digital Certificates • Electronic document containing key value and identifying information about entity that controls key • Digital signature attached to certificate’s container file to certify file is from entity it claims to be from
Hybrid Cryptography Systems • Except with digital certificates, pure asymmetric key encryption not widely used • Asymmetric encryption more often used with symmetric key encryption, creating hybrid system • Diffie-Hellman Key Exchange method: most common hybrid system; provided foundation for subsequent developments in public key encryption
Steganography • Process of hiding information; in use for a long time • Most popular modern version hides information within files appearing to contain digital pictures or other images • Some applications hide messages in .bmp, .wav, .mp3, and .au files, as well as in unused space on CDs and DVDs
Protocols for Secure Communications • Secure Socket Layer (SSL) protocol: uses public key encryption to secure channel over public Internet • Secure Hypertext Transfer Protocol (S-HTTP): extended version of Hypertext Transfer Protocol; provides for encryption of individual messages between client and server across Internet • S-HTTP is the application of SSL over HTTP; allows encryption of information passing between computers through protected and secure virtual connection
Protocols for Secure Communications (continued) • Securing E-mail with S/MIME, PEM, and PGP • Secure Multipurpose Internet Mail Extensions (S/MIME): builds on Multipurpose Internet Mail Extensions (MIME) encoding format by adding encryption and authentication • Privacy Enhanced Mail (PEM): proposed as standard to function with public key cryptosystems; uses 3DES symmetric key encryption • Pretty Good Privacy (PGP): uses IDEA Cipher for message encoding