1. Trang chủ
  2. » Công Nghệ Thông Tin

Cryptography and Network Security Block Cipher doc

58 325 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Block Cipher
Tác giả Xiang-Yang Li
Trường học University of [Insert University Name]
Chuyên ngành Cryptography and Network Security
Thể loại Lecture notes
Định dạng
Số trang 58
Dung lượng 94,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Modern Private Key Ciphers Ø The most famous: Vernam cipher Ø Invented by Vernam, AT&T, in 1917 Ø Process the message bit by bit as a stream Ø Also known as the one-time pad Ø Simply a

Trang 1

Cryptography and Network Security

Block Cipher

Xiang-Yang Li

Trang 2

Modern Private Key Ciphers

Ø The most famous: Vernam cipher

Ø Invented by Vernam, ( AT&T, in 1917)

Ø Process the message bit by bit (as a stream)

Ø (Also known as the one-time pad)

Ø Simply add bits of message to random key bits

Trang 4

Pros and Cons

Trang 5

Key Generation

smaller (base) key?

this

Ø Although this looks very attractive, it proves to

be very very difficult in practice to find a good pseudo-random function that is

cryptographically strong

Trang 6

Block Ciphers

Ø Each of which is then encrypted

Ø (Like a substitution on very big characters - bits or more)

Trang 7

64-Substitution and Permutation

the idea of substitution-permutation (S-P) networks, which now form the basis of

modern block ciphers

Ø An S-P network is the modern form of a

substitution-transposition product cipher

Ø S-P networks are based on the two primitive cryptographic operations we have seen before

Trang 8

q A binary word is replaced by some other binary word

q The whole substitution function forms the key

q If use n bit words,

Ø The key space is 2 n !

q Can also think of this as a large lookup table, with

n address lines (hence 2n addresses), each n bits wide being the output value

q Will call them s-boxes

Trang 9

Cont.

Trang 10

q A binary word has its bits reordered (permuted)

q The re-ordering forms the key

q If use n bit words,

Ø The key space is n! (Less secure than substitution)

q This is equivalent to a wire-crossing in practice

Ø (Though is much harder to do in software)

q Will call these p-boxes

Trang 11

Cont.

Trang 12

Substitution-permutation

Network

Trang 13

Confusion and Diffusion

q Confusion

Ø A technique that seeks to make the relationship

between the statistics of the ciphertext and the value of the encryption keys as complex as possible Cipher uses key and plaintext.

q Diffusion

Ø A technique that seeks to obscure the statistical

structure of the plaintext by spreading out the influence

of each individual plaintext digit over many ciphertext

Trang 14

Desired Effect

Ø A characteristic of an encryption algorithm in which a small change in the plaintext gives rise

to a large change in the ciphertext

Ø Best: changing one input bit results in changes

of approx half the output bits

Ø where each output bit is a complex function of

all the input bits

Trang 15

Practical permutation Networks

messages, as well as to encrypt them, hence either:

Ø Have to define inverses for each of our S & boxes, but this doubles the code/hardware

Trang 16

Feistel Cipher

q Invented by Horst Feistel,

Ø working at IBM Thomas J Watson research labs in

early 70's,

q The idea is to partition the input block into two halves, l(i-1) and r(i-1),

Ø use only r(i-1) in each round i (part) of the cipher

q The function g incorporates one stage of the S-P network, controlled by part of the key k(i) known

as the ith subkey

Trang 17

Cont.

Trang 18

q This can be described functionally as:

Ø L(i) = R(i-1)

Ø R(i) = L(i-1) ⊕ g(k(i), R(i-1))

q This can easily be reversed as seen in the above diagram, working backwards through the rounds

q In practice link a number of these stages together (typically 16 rounds) to form the full cipher

Trang 19

Data Encryption Standard

Standards, now the National Institute of

Standards and Technology

56-bit key

Trang 20

Ø Uses only 56 bits key

§ Possible brute force attack

Ø Design of S-boxes was classified

§ Hidden weak points in in S-Boxes?

Ø Wiener (93) claim to be able to build a machine at

$100,00 and break DES in 1.5 days

Trang 21

q DES encrypts 64-bit blocks of data, using a 56-bit key

q the basic process consists of:

Ø an initial permutation (IP)

Ø 16 rounds of a complex key dependent calculation f

Ø a final permutation, being the inverse of IP

q Function f can be described as

Ø L(i) = R(i-1)

Trang 22

DES

Trang 23

Initial and Final Permutations

26 58

18 50

10 42

2 34

27 59

19 51

11 43

3 35

28 60

20 52

12 44

4 36

29 61

21 53

13 45

5 37

30 62

22 54

14 46

6 38

31 63

23 55

15 47

7 39

32 64

24 56

16 48

8 40

Trang 24

Function f

Trang 25

Expansion Table

Ø Result(i)=input( array(i))

29 28

27 26

25 24

25 24

23 22

21 20

21 20

19 18

17 16

17 16

15 14

13 12

13 12

11 10

9 8

9 8

7 6

5 4

5 4

3 2

1 32

Trang 27

13 6

0 10 14

3 11 5

7 1

9 4

2 8

12 15

0 5

10 3

7 9

12 15

11 2

6 13 8

14 1

4

8 3

5 9

11 12

6 10 1

13 2

14 4

7 15 0

7 0

9 5

12 6

10 3

8 11 15

2 1

13 4

14

Trang 28

Permutation Table

25 4

11 22

6 30

13 19

9 3

27 32

14 24

8 2

10 31

18 5

26 23

15 1

17 28

12 29

21 20

7 16

Trang 29

Subkey Generation

q Given a 64 bits key (with parity-check bit)

Ø Discard the parity-check bits

Ø Permute the remaining bits using fixed table P1

Ø Let C0D0 be the result (total 56 bits)

q Let Ci =Shifti(Ci-1); Di =Shifti(Di-1) and Ki be another permutation P2 of CiDi (total 56 bits)

Ø Where cyclic shift one position left if i=1,2,9,16

Ø Else cyclic shift two positions left

Trang 30

Permutation Tables

18 26

34 42

50 58

1

4 12 20

28 5

13

21

29 37

45 53

61 6

14

22 30

38 47

54 62

7

15 23

31 39

47 55

63

36 44

52 60

3 11

19

27 35

43 51

59 2

10

9 17 25

33 41

49

57

10 21

6 15 28

3

32 29

36 50

42 46

53 34

56 39

49 44

48 33

45 51

40 30

55 47

37 31

52 41

2 13 20

27 7

16

8 26 4

12 19

23

5 1

24 11

17 14

Permutation table P1 Permutation table P2

Trang 31

DES in Practice

a chip with 50k transistors

Ø Encrypt at the rate of 1G/second

Trang 32

q Mode of use

Ø The way we use a block cipher

Ø Four have been defined for the DES by ANSI in the standard: ANSI X3.106-1983 modes of use)

Trang 33

Block Modes

q Electronic Codebook Book (ECB)

Ø where the message is broken into independent 64-bit blocks which are encrypted

Ø Ci = DESK1 (Pi)

q Cipher Block Chaining (CBC)

Ø again the message is broken into 64-bit blocks, but they are linked together in the encryption operation with an

IV

Ø Ci = DESK1 (Pi⊕ Ci-1)

Ø C =IV (initial value)

Trang 34

Stream Model

Ø where the message is treated as a stream of bits, added to the output of the DES, with the result being feed back for the next stage

Ø Ci = Pi⊕ DESK1 (Ci-1)

Ø C-1=IV (initial value)

Trang 35

Ø where the message is treated as a stream of bits, added to the message, but with the feedback

being independent of the message

Ø Ci = Pi⊕ Oi

Ø Oi = DESK1 (Oi-1)

Ø O-1=IV (initial value)

Trang 36

DES Weak Keys

keys that should be avoided, because of

reduced cipher complexity

is generated in more than one round, and they include:

Trang 37

q Weak keys

Ø The same sub-key is generated for every round

Ø DES has 4 weak keys

q Semi-weak keys

Ø Only two sub-keys are generated on alternate rounds

Ø DES has 12 of these (in 6 pairs)

q Demi-semi weak keys

Ø Have four sub-keys generated

Trang 38

are a tiny fraction of all available keys

key generation program

Trang 39

Possible Techniques for

Improving DES

112-bit keys

Trang 41

Meet-in-the-Middle Attack

q Assume C=Ek2(Ek1(P))

q Given the plaintext P and ciphertext C

q Encrypt P using all possible keys k1

q Decrypt C using all possible keys k2

Ø Check the result with the encrypted plaintext lists

Ø If found match, they test the found keys again for another plaintext and ciphertext pair

Ø If it turns correct, then find the keys

Ø Otherwise keep decrypting C

Trang 42

Triple DES

and in PEM for key management

X9

schemes

Trang 43

Plaintext-Ciphertext pairs per key

Trang 45

Basic Features

q Encrypts 64-bit blocks using a 128-bit key

q Based on mixing operations from different

(incompatible) algebraic groups

Ø XOR, + mod 2^(16) , X mod 2^(16) +1)

Ø On 16-bit sub-blocks, with no permutations used

q IDEA is patented in Europe & US, however commercial use is freely permitted

non-Ø used in the public domain PGP (with agreement)

Ø currently no attack against IDEA is known

Trang 46

Ø XOR, Addition mod 216, multiplication mod 216+1

§ Why these special mod for addition, multiplication

Ø They do not satisfy the distributive law

Ø They do not satisfy the associative law

Trang 47

MA: multiplication/addition

q Multiplication/addition

Ø Basic block to provide diffusion

Ø Input of MA

§ Two sub-blocks derived from 4 input sub-blocks, 4 sub-keys

§ Two other sub-keys

Ø Output

§ Two sub-blocks

Ø Needs four operations

§ Four operations are the minimum to provide full diffusion

Trang 48

Overview

Trang 49

§ The sub-blocks are added (2,3), multiplied (1,4) with sub-keys

§ The results are XORed [1,3] and [2,4] to 2 sub-blocks

§ The XOR results set as input of MA structure,

o It outputs two subblocks

o Results are then XORed with 2,4 and 1,3 subblocks respectively

§ The second and third sub-blocks are swapped

Trang 50

Ø First are directly from key in order

Ø Left shift of 25 bits, and then next 8 sub-keys

Ø Each sub-key is a sub-block of the original key

Ø Much more complicated

Ø It needs the inverse of the encryption key

§ For addition, multiplication

Trang 51

§ K1.1^(-1 ) is the multiplicative inverse mod 2^(16) +1

§ -K1.2 is the additive inverse mod 2^(16)

§ The original operations are:

o (+) bit-by-bit XOR

o + additional mod 2^(16) of 16-bit integers

Trang 53

Important Feature

Ø Need 216+1 be prime number

§ To compute the inverse for each possible subkey

Ø So sub-block size 8 is also possible

§ 2 8 +1=257 is prime number

Trang 54

Ø Defined in RFC 2144

Ø Use key size varying from 40 to 128 bits

Ø Structure of Feistel network

Ø 16 rounds on 64-bits data block

Ø Four primitive operations

§ Addition, substration (mod 2 32 )

§ Bitwise exclusive-OR

§ Left-circular rotation

Trang 55

Skipjack and Clipper

q Skipjack

Ø used in Clipper escrowed encryption scheme(US govt)

Ø Skipjack is a block cipher, 64-bit data

Ø hardware only implementation

Ø 80-bit key (escrowed in 2 halves)

Ø 32 round

Ø all design details and descriptions are classified

Ø has been very considerable debate over its use

Ø attack by Matt Blaze (ATT) on the LEAF component of

Trang 56

Blowfish Scheme

Ø Fast, compact, simple and variably secure

Ø Two basic operations: addition, XOR

Ø Key ranges from 32 bits to 448 bits

Ø Similar to Feistel scheme

Ø The sub-key and s-boxes are complicated

Ø So not suitable when key changes often

Ø Function g is very simple, unlike DES

Trang 57

q Developed by R Rivest

Ø Suitable for hardware or software

Ø Fast, simple, low memory, data-dependent rotations

Ø Adaptable to processors of different word length

§ A family of algorithms determined by word length, number of rounds, size of secret key

Ø Decryption and encryption are not the same

§ With little variations

Ø Primitive operations

Trang 58

q Key features of advanced sym block cipher

Ø Variable key length

Ø Mixed operators

Ø Data dependent rotation

Ø Key dependent rotation

Ø Key dependent S-boxes

Ø Lengthy key schedule algorithm

Ø Variable function F

Ø Variable of number of rounds

Ø Operation on both halved data each round

Ngày đăng: 22/03/2014, 14:20

TỪ KHÓA LIÊN QUAN