Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cryptography (One Day Cryptography Tutorial)

Similar presentations


Presentation on theme: "Cryptography (One Day Cryptography Tutorial)"— Presentation transcript:

1 Cryptography (One Day Cryptography Tutorial)
By Dr. Mohsen M. Tantawy

2 Definitions

3 Definitions Plaintext: easy to understand form (original message)
Ciphertext: difficult to understand form Encryption: encoding (plaintext -> ciphertext) Decryption: decoding (ciphertext -> plaintext) Cryptology: study of encryption Cryptography: use of encryption Cryptanalysis: breaking encryption All traditional schemes are symmetric / single key / private-key encryption algorithms, with a single key, used for both encryption and decryption, since both sender and receiver are equivalent, either can encrypt or decrypt messages using that common key.

4 Definitions Group of individuals
Alice—She is an end user/computer without malicious intentions, one of the main users of cryptography. Bob—He is Alice’s friend and is also a main user of cryptography, without malicious intentions. Cathy—Another user of cryptography; she does not usually have a large roll nor malicious intentions. Eve—A malicious user that does not interfere with communications. She simply wants to eavesdrop on the conversation between two other characters, typically Alice and Bob, but does not actively try to attack the communication. Mallory—The malicious user. Always trying to thwart attempts by other characters to communicate securely. Trent—He is a trusted third party. He only communicates with Alice, Bob, or Cathy when they ask for his help. He can always be trusted to do what he says he will do. All traditional schemes are symmetric / single key / private-key encryption algorithms, with a single key, used for both encryption and decryption, since both sender and receiver are equivalent, either can encrypt or decrypt messages using that common key.

5 Group of individuals Hacker – is a general term that has historically been used to describe a computer programming expert. More recently, this term is commonly used in a negative way to describe an individual that attempts to gain unauthorized access to network resources with malicious intent. Cracker – is the term that is generally regarded as the more accurate word that is used to describe an individual that attempts to gain unauthorized access to network resources with malicious intent.

6 Group of individuals Phreaker – is an individual that manipulates the phone network in order to cause it to perform a function that is normally not allowed. A common goal of phreaking is breaking into the phone network, usually through a payphone, to make free long distance calls. Spammer – is an individual that sends large quantities of unsolicited messages. Spammers often use viruses to take control of home computers in order to use these computers to send out their bulk messages. Fisher – uses or other means in an attempt to trick others into providing sensitive information, such as credit card numbers or passwords. The Phisher will masquerade as a trusted party that would have a legitimate need for the sensitive information.

7 Group of individuals White hat – is a term used to describe individuals that use their abilities to find vulnerabilities in systems or networks, and then report these vulnerabilities to the owners of the system so that they can be fixed. Black hat – is another term for individuals that use their knowledge of computer systems to break into systems or networks that they are not authorized to use.

8 Definitions Key—A random piece of data used with encryption and decryption. Encryption and decryption algorithms require a key and plain text or cipher text to produce cipher text or plain text, respectively. Security Association— A set of information that describes how the communicating entities will utilize security. All traditional schemes are symmetric / single key / private-key encryption algorithms, with a single key, used for both encryption and decryption, since both sender and receiver are equivalent, either can encrypt or decrypt messages using that common key.

9 Modern Cryptography

10 Types of Cryptographic Systems
Symmetric-key cryptosystems Asymmetric-key or Public-key cryptosystems Hybrid (Symmetric-key and Asymmetric-key) cryptosystems

11 Symmetric Encryption Uses conventional / secret-key / single-key
Sender and recipient share a common key All classical encryption algorithms are private-key The only type prior to invention of public-key in 1970’s

12 Symmetric Cipher Model

13 Requirements Two requirements for secure use of symmetric encryption:
Strong encryption algorithm Secret key known only to sender / receiver Y = EK(X) X = DK(Y) Assume encryption algorithm is known Implies a secure channel to distribute key

14 Block ciphers and Stream ciphers
Each secret-key cryptography algorithm or cipher typically works in two phases: key set-up phase ciphering or encrypt and decrypt phase. There are two major classes of these algorithms: block ciphers and stream ciphers. Block ciphers encrypt plaintext in units of blocks and likewise decrypt cipher text in units of blocks. Stream ciphers encrypt plaintext in one stream and decrypt cipher text likewise.

15 Block cipher operation

16 Stream cipher operation

17 Mode of Operation There are three important block cipher modes:
Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feedback Mode (CFB)

18 Electronic Codebook Book (ECB)
Stallings Figure 6.3 illustrates the Electronic Codebook (ECB) Mode.

19 Cipher Block Chaining (CBC)
Stallings Figure 6.4 illustrates the Cipher Block Chaining (CBC) Mode.

20 Cipher FeedBack (CFB) Stallings Figure 6.5 illustrates the Cipher FeedBack (CFB) Mode.

21 Output FeedBack (OFB) Stallings Figure 6.6 illustrates the Output FeedBack (OFB) Mode.

22 Symmetric-key cryptosystems
Examples of symmetric key algorithms are as follows: Data Encryption Standard (DES) (56bits) Triple DES (3DES) (168 bits) Advanced Encryption Standard (AES) International Data Encryption Algorithm (IDEA) (128 bits) Rivets Cipher 4 (RC4) (variable length key)

23 DES Encryption The basic process in enciphering a 64-bit data block using the DES, shown on the left side, consists of: - an initial permutation (IP) - 16 rounds of a complex key dependent round function involving substitution and permutation functions - a final permutation, being the inverse of IP The right side shows the handling of the 56-bit key and consists of: - an initial permutation of the key (PC1) which selects 56-bits in two 28-bit halves - 16 stages to generate the subkeys using a left circular shift and a permutation

24 Initial Permutation IP
first step of the data computation IP reorders the input data bits even bits to LH half, odd bits to RH half quite regular in structure (easy in h/w) The initial permutation and its inverse are defined by tables, as shown in Tables 3.2a and 3.2b, respectively. The tables are to be interpreted as follows. The input to a table consists of 64 bits numbered from 1 to 64. The 64 entries in the permutation table contain a permutation of the numbers from 1 to 64. Each entry in the permutation table indicates the position of a numbered input bit in the output, which also consists of 64 bits. Note that the bit numbering for DES reflects IBM mainframe practice, and is the opposite of what we now mostly use - so be careful! Numbers from Bit 1 (leftmost, most significant) to bit 32/48/64 etc (rightmost, least significant). Note that examples are specified using hexadecimal.

25 DES Round Structure uses two 32-bit L & R halves
as for any Feistel cipher can describe as: Li = Ri–1 Ri = Li–1 xor F(Ri–1, Ki) takes 32-bit R half and 48-bit subkey and: expands R to 48-bits using perm E adds to subkey passes through 8 S-boxes to get 32-bit result finally permutes this using 32-bit perm P Note that the s-boxes provide the “confusion” of data and key values, whilst the permutation P then spreads this as widely as possible, so each S-box output affects as many S-box inputs in the next round as possible, giving “diffusion”.

26 DES Round Structure Stallings Fig 3.9

27 Substitution Boxes S have eight S-boxes which map 6 to 4 bits
each S-box is actually 4 little 4 bit boxes outer bits 1 & 6 (row bits) select one rows inner bits 2-5 (col bits) are substituted result is 8 lots of 4 bits, or 32 bits row selection depends on both data & key feature known as autokeying The substitution consists of a set of eight S-boxes, each of which accepts 6 bits as input and produces 4 bits as output. These transformations are defined in Table 3.3, which is interpreted as follows: The first and last bits of the input to box Si form a 2-bit binary number to select one of four substitutions defined by the four rows in the table for Si. The middle four bits select one of the sixteen columns. The decimal value in the cell selected by the row and column is then converted to its 4-bit representation to produce the output. For example, in S1, for input , the row is 01 (row 1) and the column is 1100 (column 12). The value in row 1, column 12 is 9, so the output is 1001.

28 Triple DES clear a replacement for DES was needed
theoretical attacks that can break it demonstrated exhaustive key search attacks AES is a new cipher alternative prior to this alternative was to use multiple encryption with DES implementations Triple-DES is the chosen form

29 Triple-DES with Two-Keys
hence must use 3 encryptions would seem to need 3 distinct keys but can use 2 keys with E-D-E sequence C = EK1[DK2[EK1[P]]] if K1=K2 then can work with single DES standardized in ANSI X9.17 & ISO8732 no current known practical attacks Triple-DES with two keys is a popular alternative to single-DES, but suffers from being 3 times slower to run. Although there are no practical attacks, have some indications of attack approaches. Hence some are now adopting Triple-DES with three keys for greater sucurity.

30 Triple-DES with Three-Keys
although are no practical attacks on two-key Triple-DES have some indications can use Triple-DES with Three-Keys to avoid even these C = EK3[DK2[EK1[P]]] has been adopted by some Internet applications, eg PGP, S/MIME

31 Triple DES (3DES) The technique used by 3DES is known as EDE (Encrypt-Decrypt-Encrypt). The plaintext message is encrypted using the first 8 bytes of the 3DES. Then the message is decrypted using the middle 8 bytes of the key. Finally, the message is encrypted using the last 8 bytes of the key to produce an 8-byte block.

32 Triple DES (3DES)

33 AES Requirements private key symmetric block cipher
128-bit data, 128/192/256-bit keys stronger & faster than Triple-DES active life of years (+ archival use) provide full specification & design details both C & Java implementations

34 Rijndael data block of 4 columns of 4 bytes is state
key is expanded to array of words has 9/11/13 rounds in which state undergoes: byte substitution (1 S-box used on every byte) shift rows (permute bytes between groups/columns) mix columns (subs using matrix multipy of groups) add round key (XOR state with key material) view as alternating XOR key & scramble data bytes initial XOR key material & incomplete last round with fast XOR & table lookup implementation

35 Rijndael

36 Byte Substitution

37 Shift Rows

38 Mix Columns

39 Add Round Key

40 AES Decryption

41 Asymmetric-key or Public Key Encryption
Based on mathematical algorithms Asymmetric Use two separate keys Public Key issues Plain text Encryption algorithm Public and private key Cipher text Decryption algorithm

42 Public Key Encryption – Encryption

43 Public Key Encryption – Authentication

44 Public Key Encryption - Operation
One key made public Used for encryption Other kept private Used for decryption Infeasible to determine decryption key given encryption key and algorithm Either key can be used for encryption, the other for decryption

45 Steps User generates pair of keys User places one key in public domain
To send a message to this user, encrypt using public key User decrypts using private key

46 Digital Signature Sender encrypts message with their private key
Receiver can decrypt using senders public key This authenticates sender, who is only person who has the matching key Does not give privacy of data Decrypt key is public

47 Asymmetric-key or Public-key Cryptosystems
There are many examples of commonly used public-key systems including: Diffie-Hellman Rivest, Shamir, Adleman (RSA) Digital Signature Algorithm (DSA) / Al Gamal Elliptic Curve Cryptosystem (ECC)

48 Diffie-Hellman Key Exchange
first public-key type scheme proposed by Diffie & Hellman in 1976 along with the exposition of public key concepts note: now know that James Ellis (UK CESG) secretly proposed the concept in 1970 is a practical method for public exchange of a secret key The idea of public key schemes, and the first practical scheme, which was for key distribution only, was published in 1977 by Diffie & Hellman. The concept had been previously described in a classified report in 1970 by James Ellis (UK CESG) - and subsequently declassified in See History of Non-secret Encryption (at CESG).

49 Diffie-Hellman Key Exchange
The idea of public key schemes, and the first practical scheme, which was for key distribution only, was published in 1977 by Diffie & Hellman. The concept had been previously described in a classified report in 1970 by James Ellis (UK CESG) - and subsequently declassified in See History of Non-secret Encryption (at CESG).

50 RSA Algorithm We’re using Big Integers here: Baby example
Choose large secret prime numbers p and q Calculate N = p * q Choose exponent e such that gcd(e, (p-1)(q-1)) = 1 Normally choose 3, 17 or 65537 Public key is pair N and e Choose d so that e * d = 1 (mod (p-1)(q-1)) Private key is d (for efficiency d, p, q) Encryption: c = me (mod N) Decryption: m = cd (mod N) Baby example p=7, q=11 N=77 37 gcd (37,(7-1)(11-1)) = 1 77, 37 13 37*13=481=1(mod 60) 237 mod 77 = 51 5113 mod 77 = 2

51 Public Key Certificate Use

52 Digital certificates

53 Digital certificates Digital certificates include:
A public key An individual or organisation’s details A digital signature from a certifying authority (CA) This states that the CA has seen proof of identity Common certifying authorities: VeriSign, Thawte, Equifax Secure, British Telecom CAs are themselves certified by other CAs A few “root” CAs are usually trusted

54 Message Authentication

55 Message Authentication Code
Generate authentication code based on shared key and message Common key shared between A and B If only sender and receiver know key and code matches: Receiver assured message has not altered Receiver assured message is from alleged sender If message has sequence number, receiver assured of proper sequence

56 Hash Functions vs. MAC

57 Hash Functions Hash Function Constructions H Message M
Generate a fixed length “Fingerprint” for an arbitrary length message No Key involved Must be at least One-way to be useful Constructions Iterated hash functions (MD4-family hash functions): MD5, SHA1, … Hash functions based on block ciphers: MDC(Manipulation Detection Code) H Message Digest D D = H(M)

58 Message Authentication Codes (MACs)
Generate a fixed length MAC for an arbitrary length message A keyed hash function Message origin authentication Message integrity Entity authentication Transaction authentication Shared Secret Key MAC MAC SEND MAC

59 Comparison of Hash Function & MAC
Arbitrary length Arbitrary length message message Hash function MAC function Secret key Hash MAC fixed length fixed length Easy to compute Compression: arbitrary length input to fixed length output Unkeyed function vs. Keyed function

60 Symmetric Authentication (MAC)
Bob Alice Message MAC Message MAC transmit Secret key algorithm Secret key algorithm KAB KAB Shared Secret key between Alice and Bob Shared Secret key between Alice and Bob MAC yes no

61 Digital Signature Bob Alice Hash Hash function function Public key
Message Signature Message Signature transmit Hash function Hash function Hash value Hash value 1 Alice’s Public key Public key algorithm yes no Hash value 2 Alice’s Private key Public key algorithm

62 Hashing A hashing algorithm refers to a mathematical function that takes a variable- size string as input and transforms (hashes) it into a fixed-size string, which is called the hash value. One of the most common uses of hashing in network security is to produce condensed representations of messages or “fingerprints,” often known as “message digests,” by applying a hashing algorithm to an arbitrary amount of data — the message. The two most commonly used hashing algorithms are MD5 and SHA­1 (part of the secure hash standard [SHS]).

63 Using One Way Hash

64 Secure Hash Functions Hash function must have following properties:
Can be applied to any size data block Produce fixed length output Easy to compute Not feasible to reverse Not feasible to find two message that give the same hash

65 SHA-1 Secure Hash Algorithm 1 Input message less than 264 bits
Processed in 512 bit blocks Output 160 bit digest

66 Message Digest Generation Using SHA-1

67 Key Management

68 ISAKMP The Internet Security Association and Key Manage­ment Protocol (ISAKMP) is defined primarily as a very comprehensive framework for key management offering maximum flexibility OAKLEY is defined based on the Diffie–Hellman key-exchange algorithm. IKE, on the other hand, is defined primarily to be the key management for the IPSec Architecture and makes use of parts of the ISAKMP and OAKLEY definitions.

69 ISAKMP ISAKMP defines procedures and packet formats to establish, negotiate, modify, and delete SAs. ISAKMP only describes the procedures, i.e., how something is done. ISAKMP is independent of the security protocols, cryptographic algorithms, and key-generation and key-exchange techniques that are actually used.

70 ISAKMP phases ISAKMP offers two phases of negotiation.
In the first phase, the two entities agree on how to protect further negotiation traffic between themselves, establishing an ISAKMP SA. The second phase of negotiation is used to establish security associations for other security protocols. The security associations established by ISAKMP during this phase can be used by a security protocol to protect many message or data exchanges.

71 ISAKMP and TCP/IP

72 OAKLEY The OAKLEY protocol allows two authenticated entities to exchange and establish secret keying material. It is designed to be a compatible component of ISAKMP. The two communicating entities negotiate methods for encryption, key derivation, and authentication. The basic mechanism of OAKLEY is the Diffie–Hellman key-exchange algorithm, which estab­lishes a shared key without transmitting this key.

73 OAKLEY Key Exchange An OAKLEY key exchange is made up of a sequence of message exchanges. The goal of key-exchange processing is the secure establishment of a common keying information state in the two communicating entities. This state information consists of a key name, secret keying material, the identities of the two parties, and three algorithms for use during authentication: encryption hashing, and authentication

74 IKE IKE is the protocol that performs mutual authentication and establishes SAs between two parties for IPSec. IKE uses parts of ISAKMP, OAKLEY, and SKEME to provide management of keys and security associations.

75 Key ISAKMP, OAKLEY, AND SKEME concept in IKE

76 Digital Certificates Digital Signatures: (Data Origin Authentication, Data Integrity, and Non-repudiation) Digital Signature

77 Digital Signature with Hash Function

78 Pretty good privacy (PGP)
PGP Encryption (Pretty Good Privacy) is a computer program that provides cryptographic privacy and authentication. Public key cryptography, also known as asymmetric cryptography, is a form of cryptography in which a user has a pair of cryptographic keys - a public key and a private key It was originally created by Philip Zimmermann in 1991.

79 Pretty Good Privacy PGP encryption

80 Pretty Good Privacy PGP decryption

81 Applications of Cryptosystems
Automatic Teller Machines Phone Cards Cellular Phone Networks Remote System Access Credit Cards Electronic Cash Medical Records


Download ppt "Cryptography (One Day Cryptography Tutorial)"

Similar presentations


Ads by Google