Tải bản đầy đủ (.pptx) (62 trang)

Mở rộng khóa AES Slide

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (823.24 KB, 62 trang )

Bài thuyết trình:
Quá trình mở rộng khóa của AES
NHÓM 1


Các thành viên
• Nguyễn Thị Hằng



B14DCAT192

• Phạm Mạnh Tuấn



B14DCAT157

• Nguyễn Thị Huyền Trang



B14DCAT271

• Nguyễn Thị Vân Anh



B14DCAT252

• Bùi Đức Thắng





B14DCAT238


Mục lục
Nhắc lại về AES
Quá trình sinh khóa
Khác biệt trong quá trình sinh khóa
Mục đích các phép toán
Đánh giá thuật toán AES


Nhắc lại về AES


Giới thiệu
• AES (viết tắt của từ tiếng anh: Advanced Encryption Standard, hay Tiêu
chuẩn mã hóa nâng cao) là một thuật toán mã hóa khối được chính
phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa.
• Thuật toán được xây dựng dựa trên Rijndael Cipher phát triển bởi 2
nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen.
• AES làm việc với các khối dữ liệu 16 byte và độ dài khóa 16/24/32
byte. Các khóa mở rộng sử dụng trong chu trình được tạo ra bởi thủ


AES và Rijndael
• Thuật toán mã hóa Rijdael có thể làm việc với dữ liệu khối đầu vào có
độ dài bất kỳ là bội số của 32 bit nằm trong khoảng 128 tới 256 bit

(128, 160, 192, 224 và 256)
 Tạo ra 25 tổ hợp biến thể.
• Trong 25 tổ hợp trên, có 3 tổ hợp sử dụng khối dữ liệu 128 bit ứng với
khóa 128 bit, 192 bit và 256 bit được chuẩn hóa trở thành tiêu chuẩn
mã hóa nâng cao AES
 AES là một biến thể của Rijndael.


Cơ chế toán học
• Khác với thuật toán mã hóa thông dụng trước đó là DES được thực
hiện dựa trên mã hóa khối Feistel, cơ chế mã hóa của AES là mạng
thay thế hoán vị (SPN - Substitution-Permutation Network).
• Việc kết hợp các S-box và P-box tạo ra hai tính chất quan trọng của mã
hóa là:
• tính khuếch tán (có được dựa vào sử dụng P-box kết hợp S-box).
• tính gây lẫn (có được dựa vào sử dụng S-box).


Cơ sở toán học
• Phép cộng trên trường GF[28]:
Cho:
a(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + 1
b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + 1
 c(x) = a(x) + b(x)
= [(a7+b7)mod(2)]x7 + [(a6+b6)mod(2)]x6 + … + [(a1+b1)mod(2)]x + 1


Cơ sở toán học
• Phép cộng trên trường GF[28]:
= 3D(H)

Ví dụ: tính 73 + 4E
(H)

(H)

Dạng nhị phân

Dạng đa thức

Dạng hex

0111 0011
0100 1110
0011 1101

x6 + x5 + x4 +
+x+1
x6 +
+ x3 + x2 + x
x5 + x4 + x3 + x2 + + 1

73
4E
3D


Cơ sở toán học
• Phép nhân trên trường GF[28]:
Cho:
a(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + 1

b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + 1
 c(x) = a(x).b(x) mod(m(x)),

với m(x) = x8 + x4 + x3 + x + 1


Cơ sở toán học
•  Phép cộng trên trường GF[28]:

Ví dụ: tính 53(H) CA(H)

= 01(H)

(x6 + x4 + x + 1)(x7 + x6 + x3 + x) =
x13 + x12 + x11 + x10 + x9 + x8 + x6 + x5 + x4 + x3 + x2 + x

x8 + x4 + x3 + x + 1

1

(0101 0011)(1101 1010) = 0000 0001

x5 + x4 + x3 + x2 + 1


Biểu diễn dữ liệu
• Trong AES, dữ liệu khối đầu vào luôn được biểu diễn dưới dạng một
ma trận 4xNb được gọi là ma trận trạng thái (state) với Nb = 4.
• Số vòng lặp (được ký hiệu là Nr) phụ thuộc vào kích thước khóa:
Khóa (bit)


128

192

256

Nr (vòng)

10

12

14


Sơ lược quá trình mã hóa/giải mã
• Thuật toán giải
hóa AES
AES khá
cũngphức
có độ
mã hóa
tạp, được
mô tả tự:
khái quát gồm 3
phức
tạp tương
• Vòng
khởi

tạo chỉ gồm phép
bước
như
sau:

AddRoundKey.
Vòng khởi tạo chỉ gồm phép
Vòng
lặp gồm .4 phép biển đổi lần lượt:
AddRoundKey
InvShiftRows, InvSubByte,
• Vòng lặp gồm 4 phép biển đổi lần lượt:
AddRoundKey,
InvMixColumns
.
SubBytes, ShiftRows,
MixColumns,
• Vòng
cuối gồm. các phép biến đổi
AddRoundKey
giống vòng lặp và không có phép
• Vòng cuối gồm các phép biến đổi
MixColumns.
giống vòng lặp và không có phép
MixColumns.




Sơ lược quá trình sinh khóa

• Quá trình sinh khóa (KeyExpandsions) là thao tác tạo lược đồ khóa hay
mở rộng khóa, tạo ra Nr+1 khóa vòng từ khóa chính K, mỗi khóa vòng
gồm Nb từ 32 bit (Nb = 4).
• Các phép biến đổi để tạo khóa vòng có những điểm khác nhau đối với
các giá trị khác nhau của kích thước khóa K.
• Trong quá trình sinh khóa, các khóa vòng hoạt động trên một mảng
ma trận có kích thước 4xNk với Nk tương ứng độ dài khóa.


Sơ lược quá trình sinh khóa
• Với khóa
k00
k10
k20
k30
w0

128
256
192
k01
k11
k21
k31
w1

bit:
k02
k12
k22

k32
w2

Nk = 46
8
k03
k13
k23
k33
w3

k04
k14
k24
k34
w4

k05
k15
k25
k35
w5

k06
k16
k26
k36
w6

k07

k17
k27
k37
w7


Quá trình sinh khóa


Khởi tạo
• Ban đầu, khóa chính được chuyển thành dạng hex và được đưa vào ma
trận 4 x Nk.
• Ví dụ với khóa 128 bit: (Nb = 4, Nk = 4, Nr = 10)

M A

T M A

H O

C

N A N G

C

A O

!


4d 41 54 4d 41 48 4f 43 4e 41 43 47 43 41 4f 21


Đưa vào mảng
4d
41
54
4d

41
48
4d
41
4f
41
48
43
54
4f
4d 41 54 4d 41 48 4f 43

4e
41
43
47

43
41
4f
21


4e
43
41
41
43
4f
4e 41 43 47 43 41 4f 21


Các vòng lặp
W0 W 1 W2 W3

W4 W5 W6 W7

4d 41 4e 43

?

?

?

41 48 41 41

?

?

?


54 4f 43 4f

?

?

?

4d 43 47 21

?

?

?

?
4d
?
41
?
54
?
4d

W 8 W9

?41 ? 4e


43
? ?
48 41 41
? ?
4f 43 4f
? ?
43 47 21



W4

W4

2

?

3

?

?

?

?

?


?

?


Các vòng lặp
4d 41 4e 43

?

?

?

?

41 48 41 41

?

?

?

?

54 4f 43 4f

?


?

?

?

4d 43 47 21

?

?

?

?

•Trong
  mỗi vòng lặp, 4 từ được sinh ra theo qui tắc:
• Từ đầu tiên:
với g:

• Ba từ còn lại:


Vòng lặp
Wi-1

Wi

4d 41 4e 43


?

?

?

?

41 48 41 41

?

?

?

?

54 4f 43 4f

?

?

?

?

4d 43 47 21


?

?

?

?

43
41
41
4f
21
4f
43
21

RotWord


Vòng lặp
Wi-1

Wi

4d 41 4e 43

?


?

?

?

41 48 41 41

?

?

?

?

54 4f 43 4f

?

?

?

?

4d 43 47 21

?


?

?

?

fd
83

1a

84

83
41
84
4f
21
fd
43
1a

SubWord
Bảng S-box


Vòng lặp
Wi-4

Wi-1


Wi

4d 41 4e 43

?

?

?

?

41 48 41 41

?

?

?

?

54 4f 43 4f

?

?

?


?

4d 43 47 21

?

?

?

?

4d

83

01
R

cf

41

84

00
c

c5


54

fd

00
o

a9

4d

1a

00
n

57

Bảng Rcon


Vòng lặp
Wi-4

Wi-1

Wi

4d 41 4e 43


cf
? 8d
?

?

?

41 48 41 41

c5
? 8e
?

?

?

54 4f 43 4f

a9
? e6
?

?

?

4d 43 47 21


57
? 14
?

?

?

41

cf

8d

cf

48

c5

8e

c5

4f

a9

e6


a9

43

57

14

57


Vòng lặp
Wi-4

Wi-1 Wi

4d 41 4e 43

cf 8d c0
?

?

41 48 41 41

c5 8e cc
?

?


54 4f 43 4f

a9 e6 a8
?

?

4d 43 47 21

57 14 53
?

?

4e

8d

c0

41

8e

cc

43

e6


a8

47

14

53


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×