640 likes | 851 Views
Explore the fundamentals of cryptography, including secret key and public key functions, hash functions, security uses, and more. Learn about security attacks, objectives of information security, and the types and uses of cryptographic functions.
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