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

TIỂU LUẬN MÔN AN NINH HỆ THỐNG THÔNG TIN HỆ MÃ HÓA AES

23 1,8K 9

Đ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

Định dạng
Số trang 23
Dung lượng 503,12 KB

Nội dung

MỤC LỤC1.Giới thiệu chung31.1.Ưu điểm của AES31.2.Nhược điểm của AES31.3.Ứng dụng của AES32.Các thuật ngữ32.1.Các quy ước32.2.Cơ sở toán học của AES32.2.1.Phép cộng32.2.2.Phép nhân32.2.3.Phép nhân với x32.2.4.Đa thức với các hệ số trên trường GF(28)33.Thuật toán mã hóa33.1.Quá trình mã hóa33.1.1.Hàm SubBytes()33.1.2.Hàm ShiftRows()33.1.3.Hàm MixColumns()33.1.4.Hàm AddRoundKey()33.1.5.Thuật toán sinh khóa (Key Expansion)33.2.Quá trình giải mã33.2.1.Hàm InvShiftRow()33.2.2.Hàm InvSubBytes()33.2.3.Hàm InvMixColumns()33.2.4.Hàm nghịch đảo của hàm AddRoundKey()34.Kết luận34.1.Độ an toàn của thuật toán34.2.Đánh giá thuật toán3Phụ lục A: Ví dụ về mở rộng khóa 128 bit3Phụ lục B: Ví dụ về mã hóa31.Giới thiệu chungVào những năm 1990, nhận thấy nguy cơ của mã hóa DES là kích thước khóa ngắn, nó có thể bị phá mã trong tương lai gần nên cục tiêu chuẩn quốc gia Hoa Kỳ đã kêu gọi xây dựng một phương pháp mã hóa mới. Cuối cùng một thuật toán có tên là Rijndael được chọn và đổi tên thành Andvanced Encryption Standard hay AES. Chuẩn mã hóa dữ liệu cao cấp AES là một hệ mã hóa khóa bí mật có tên là Rijndael do hai nhà mật mã học người Bỉ là Joan Deamen và Vincent Rijmen đưa ra và trở thành chuẩn từ năm 2000. Chuẩn mã hóa AES cho phép xử lý các khối dữ liệu input có kích thước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 256 bit. Hệ mã hóa Rijndael được thiết kế để có thể làm việc với các khóa và khối dữ liệu có độ dài lớn hơn, tuy nhiên, khi được chọn là chuẩn do ủy ban tiêu chuẩn của Hoa kỳ đưa ra vào năm 2001, nó được quy định chỉ làm việc với khối dữ liệu 128 bit và các khóa có độ dài 128, 192, hoặc 256 bit (do đó còn đặt cho nó các tên AES128, AES192, AES256 tương ứng với độ dài khóa sử dụng)1.1.Ưu điểm của AES•AES đã được chính phủ Hoa Kỳ tuyên bố là có độ an toàn cao, và được sử dụng trong thông tin mật.•AES sử dụng bảng tra và phép thế có tính chất phi tuyến mạnh dẫn đến mức độ phân tán thông tin phức tạp làm tăng độ an toàn cho thuật toán•AES có mô tả toán học đơn giản, cấu trúc rõ ràng đơn giản1.2.Nhược điểm của AESCấu trúc toán học của AES có mô tả toán học khá đơn giản. Tuy điều này chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu cho rằng sẽ có người lợi dụng được cấu trúc này trong tương lai

Trang 2

MỤC LỤC

1 Giới thiệu chung 2

1.1 Ưu điểm của AES 2

1.2 Nhược điểm của AES 2

1.3 Ứng dụng của AES 2

2 Các thuật ngữ 2

2.1 Các quy ước 2

2.2 Cơ sở toán học của AES 2

2.2.1 Phép cộng 2

2.2.2 Phép nhân 2

2.2.3 Phép nhân với x 2

2.2.4 Đa thức với các hệ số trên trường GF(28) 2

3 Thuật toán mã hóa 2

3.1 Quá trình mã hóa 2

3.1.1 Hàm SubBytes() 2

3.1.2 Hàm ShiftRows() 2

3.1.3 Hàm MixColumns() 2

3.1.4 Hàm AddRoundKey() 2

3.1.5 Thuật toán sinh khóa (Key Expansion) 2

3.2 Quá trình giải mã 2

3.2.1 Hàm InvShiftRow() 2

3.2.2 Hàm InvSubBytes() 2

3.2.3 Hàm InvMixColumns() 2

3.2.4 Hàm nghịch đảo của hàm AddRoundKey() 2

4 Kết luận 2

4.1 Độ an toàn của thuật toán 2

4.2 Đánh giá thuật toán 2

Phụ lục A: Ví dụ về mở rộng khóa 128 bit 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BỘ MÔN ANH NINH HỆ THỐNG THÔNG TIN

HỆ MÃ HÓA AES

Hà Nội, 2013

Trang 3

Phụ lục B: Ví dụ về mã hóa 2

1 Giới thiệu chung

Vào những năm 1990, nhận thấy nguy cơ của mã hóa DES là kích thước khóa ngắn, nó

có thể bị phá mã trong tương lai gần nên cục tiêu chuẩn quốc gia Hoa Kỳ đã kêu gọi xâydựng một phương pháp mã hóa mới Cuối cùng một thuật toán có tên là Rijndael đượcchọn và đổi tên thành Andvanced Encryption Standard hay AES

Chuẩn mã hóa dữ liệu cao cấp AES là một hệ mã hóa khóa bí mật có tên là Rijndael dohai nhà mật mã học người Bỉ là Joan Deamen và Vincent Rijmen đưa ra và trở thànhchuẩn từ năm 2000 Chuẩn mã hóa AES cho phép xử lý các khối dữ liệu input có kíchthước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 256 bit Hệ mã hóa Rijndaelđược thiết kế để có thể làm việc với các khóa và khối dữ liệu có độ dài lớn hơn, tuynhiên, khi được chọn là chuẩn do ủy ban tiêu chuẩn của Hoa kỳ đưa ra vào năm 2001, nóđược quy định chỉ làm việc với khối dữ liệu 128 bit và các khóa có độ dài 128, 192, hoặc

256 bit (do đó còn đặt cho nó các tên AES-128, AES-192, AES-256 tương ứng với độ dàikhóa sử dụng)

 AES đã được chính phủ Hoa Kỳ tuyên bố là có độ an toàn cao, và được sử dụng trongthông tin mật

 AES sử dụng bảng tra và phép thế có tính chất phi tuyến mạnh dẫn đến mức độ phântán thông tin phức tạp làm tăng độ an toàn cho thuật toán

 AES có mô tả toán học đơn giản, cấu trúc rõ ràng đơn giản

Cấu trúc toán học của AES có mô tả toán học khá đơn giản Tuy điều này chưa dẫn đếnmối nguy hiểm nào nhưng một số nhà nghiên cứu cho rằng sẽ có người lợi dụng được cấutrúc này trong tương lai

Trang 4

 Mã hóa AES được sử dụng như một hàm băm

 Xây dựng các hàm băm, ví dụ hàm băm Whilrpool

2 Các thuật ngữ

Input và Output : Input và Output của hệ mã hóa đều là các dãy 128 bit, còn gọi là các

khối (block), độ dài của mỗi khối này là số bit dữ liệu mà nó chứa Khóa của chuẩn mãhóa cao cấp là một dãy có độ dài 128, 192, hoặc 256 bit Hệ mã hóa không làm việc vớicác giá trị input, output và khóa có độ dài khác (mặc dù thuật toán cơ sở cho phép điềunày) Các input, output của hệ mã hóa được đánh số từ 0

Đơn vị byte: Đơn vị cơ bản để xử lý trong AES là một byte tức là một dãy 8 bit được xem

như là một đối tượng đơn Các giá trị input, output và khóa của hệ mã hóa được xem làmột mảng các byte Các giá trị input, output và khóa của hệ mã được ký hiệu bởi tênmảng a và biểu diễn dưới dạng an hoặc a[n] trong đó n nhận các giá trị trong khoảng sau:

 Nếu độ dài khóa bằng 128 bit: 0≤n≤16;

 Nếu độ dài khóa bằng 192 bit: 0≤n≤24;

 Nếu độ dài khóa bằng 192 bit: 0≤n≤32;

Tất cả các giá trị byte sử dụng trong thuật toán AES đều được biểu diễn dưới dạng mộtdãy các bit 0 và 1 theo định dạng {b7, b6, b5, b4, b3, b2, b1, b0} Các byte này sau được hiểu

là phần tử trên trường hữu hạn bằng cách sử dụng biểu diễn thành dạng đa thức:

Trang 5

b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x1 + b0x0 =

Mảng trạng thái (state): Các thao tác bên trong của AES được thực hiện trên một mảng

hai chiều các byte được gọi là mảng trạng thái Mảng trạng thái gồm có 4 hàng, Nb cột(Nb là kích thước của khối chia cho 32), ký hiệu là s trong đó mỗi byte của mảng có 2 chỉ

số hàng r và cột c (0≤c,r≤4) , được dùng để lưu trữ giá trị trung gian trong mỗi bước củaquá trình xử lý Bắt đầu của phép mã hóa hay giải mã là việc sao chép mảng các byte in0,

in1, , in15 đầu vào vào mảng trạng thái s theo công thức sau:

s[r,c]=in[r+4c], với 0≤c,r≤4

Vào cuối quá trình mã hóa hay giải mã, mảng trạng thái sẽ được sao chéo vào mảng byteđầu ra theo công thức out0, out1, …,out15

out[r+4c]=s[r,c], với 0≤c,r≤4

AES sử dụng trường hữu hạn Galois GF(28) để thực hiện các phép toán: phép cộng, phéptrừ, phép nhân, và phép chia Các phần tử của trường GF(28) được xem như là các đa thức

m(x) = x8+x4+x3+x2+x+1

hay {01} {1b} nếu biểu diễn dưới dạng hexa

Kết quả nhận được của phép rút gọn là một đa thức có bậc nhỏ hơn 8 nên có thể biểu diễnđược dưới dạng một byte

Trang 6

2.2.3 Phép nhân với x

Phép nhân với đa thức x (hay phần tử {00000010} GF(28)) có thể được thực hiện ởmức độ byte bằng một phép dịch trái và sau đó thực hiện tiếp phép XOR với giá trị {1b}nếu b7=1 Thao tác được ký hiêu là xtime() Phép nhân với các lũy thừa của x có thể đượcthực hiện bằng cách áp dụng nhiều lần thao tác xtime() Kết quả của phép nhân với mộtgiá trị bất kỳ được xác định bằng phép cộng (() các kết quả trung gian này lại với nhau

Trang 7

3 Thuật toán mã hóa

Thuật toán AES được thực hiện bởi tuần tự gồm nhiều bước biến đổi, kết quả đầu ra của phép biến đổi trước là đầu vào của phép biến đổi tiếp theo Kết quả trung gian của phép biến đổi chính là mảng trạng thái (state)

Độ dài của khối dữ liệu đầu vào của AES là cố định với Nb=4, tùy vào độ dài khoá (Nk=4,6,8) ban đầu ta có số lần lặp Nr cho mỗi quá trình được xác định theo công thức Nr=max{Nb,Nk}+6

Quy trình mã hóa và giải mã AES sử dụng hàm lặp là hàm kết hợp của bốn hàm biến đổi (với đơn vị xử lý là byte) sau:

- Biến đổi thay thế byte bằng cách sử dụng một bảng thế S-box

- Dịch các hàng của mảng trạng thái với số lần dịch của mỗi hàng là khác nhau

- Kết hợp dữ liệu của mỗi cột trong mảng trạng thái

- Cộng một khóa RoundKey vào trạng thái

Giải mã AES bằng cách thực hiện biến đổi ngược của các biến đổi ở phép mã hóa AES hoặc bằng cách biến đổi tương đương Các biến đổi này được minh họa như trong hình vẽ:

Trang 8

(a) Mã hóa (b) Giả mã

Tên hàm Giải thích

AddRoundKey() Hàm biến đổi được sử dụng trong thuật toán mã hóa và giải mã

trong đó thực hiện phép XOR bit giữa trạng thái trung gian (state)

và một khóa vòng lặp (Round Key) Kích thước của một Round Key bằng kích thước của trạng thái, ví dụ với Nb=4 độ dài của một Round Key sẽ là 128 bit hay 16 byte

MixColumns() Hàm biến đổi trong thuật toán mã hóa nhận tất cả các cột của một

trạng thái (state) và trộn với dữ liệu của nó (không phụ thuộc lẫn nhau) để nhận được cột mới

ShiftRows() Hàm sử dụng trong quá trình mã hóa, xử lý các trạng thái bằng cách

dịch vòng ba hang cuối của trạng thái với số lần dịch khác nhauSubBytes() Hàm biến đổi sử dụng trong quá trình mã hóa, xử lý một trạng thái

Trang 9

bằng cách sử dụng một bảng thế phi tuyến các byte (S-box) thao tác trên mỗi byte một cách độc lập

InvMixColumns() Hàm biến đổi được sử dụng trong thuật toán giải mã, là hàm ngược

của hàm MixColumns()InvShiftRows() Hàm biến đổi được sử dụng trong thuật toán giải mã, là hàm ngược

của hàm ShiftRows()Inv SubBytes() Hàm biến đổi được sử dụng trong thuật toán giải mã, là hàm ngược

của hàm SubBytes()

Bắt đầu thuật toán, bản rõ được sao chép vào mảng trạng thái sử dụng các quy ước được

mô tả ở phần trên Sau khi cộng với khóa RoundKey, mảng trạng thái khởi tạo được biếnđổi bằng cách thực hiện một hàm vòng Nr lần (10, 12 hoặc 14 phụ thuộc vào độ dài củakhóa) trong đó lần cuối cùng thực hiện khác với các lần trước đó Trạng thái sau lần lặpcuối cùng sẽ được chuyển thành output của thuật toán

Hàm vòng được tham số hóa bằng cách sử dụng một dãy các khóa được biểu diễn như làmảng một chiều của các word 4 byte được sinh ra từ thử tục sinh khóa (Key Expansion)Tất cả các vong đều thực hiện công việc giống nhau dựa trên 4 hàm theo thứ tựSubBytes(), ShiftRows(), MixColumns(), và AddRoundKey() trừ vòng cuối cùng bỏ quaviệc thực hiện hàm MixColumns()

Thuật toán được mô tả chi tiết qua đoạn mã giả sau:

Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])

Trang 10

1 Nhân nghịch đảo trên trường hữu hạn GF(28), phần tử {00} được ánh xạ thànhchính nó

2 Áp dụng biến đổi Affine sau (trên GF(2)):

bi’= bi  b(i+4)mod8  b(i+5)mod8 b(i+6)mod8 b(i+7)mod8 ci, trong đó 0 i 8 là bitthứ i của byte b tương ứng và ci là bit thứ I của byte c với giá trị {63} hay{01100011}

Hình dưới đây minh họa kết quả của việc áp dụng hàm biến đổi SubBytes() đối với mảngtrạng thái

Trang 11

3.1.2 Hàm ShiftRows()

Trong hàm này các byte trong ba hàng cuối của mảng trạng thái sẽ được dịch vòng với sốlần dịch (hay số byte bị dịch) khác nhau Hàng đầu tiên r=0 không bị dịch Cụ thể hàm này sẽ tiến hành bước đổi sau:

S’rc = Sr,(c+shift(r,Nb))modNb (Nb=4) trong đó giá trị dịch shift(r,Nb) phụ thuộc vào số hàng r như sau:

shift(1,4)=1, shift(2,4)=2, shift(3,4)=3

Thao tác này sẽ chuyển các byte tới các vị trí thấp hơn trong các hàng, trong khi các byte thấp nhất sẽ được chuyển lên đầu hàng Tất cả các mô tả trên có thể minh họa qua hình vẽsau:

3.1.3 Hàm MixColumns()

Hàm này làm việc trên các cột của mảng trạng thái, nó coi mỗi cột của mảng trạng thái như là một đa thức gồm 4 hạng tử Các cột sẽ được xem như là các đa thức trên GF(28) vàđược nhân trên modulo x4+1 với một đa thức cố định a(x):

a(x) = {03}x3 + {02}x2 + {01}x + {02}

Có thể biểu diễn bằng phép nhân ma trận:

Trang 12

s’(x) = a(x)  s(x)

= Với mọi 0≤c<Nb = 4

Kết quả là bốn byte trong mỗi cột sẽ được thay thế theo công thức sau:

Trang 13

3.1.4 Hàm AddRoundKey()

Trong hàm này, một khóa vòng (Round Key) sẽ được cộng vào mảng trạng thái bằng mộtthao tác XOR bit Mỗi khóa vòng gồm Nb word được sinh ra bởi thủ tục sinh khóa Cácword này sẽ được cộng vào mỗi cột của mảng trạng thái như sau:

[s’0,c, s’1,c, s’2,c, s’3,c] = [s0,c, s1,c, s2,c, s3,c]  [wround*Nb+c] 0≤c≤Nb = 4

Trong đó [wi] là các word của khóa và round là lần lặp tương ứng với quy ước0≤round≤Nb Trong thuật toán mã hóa phép cộng khóa vòng khởi tạo xảy ra với round=0trước khi các vòng lặp của thuật toán được thực hiện Hàm AddRoundKey() được thựchiện trong thuật toán mã hóa khi 1≤round≤Nb

Việc thực hiện hàm này có thể được minh họa như trong hình vẽ, trong đó l=round*Nb

3.1.5 Thuật toán sinh khóa (Key Expansion)

Thuật toán sinh khóa AES nhận một khóa mã hóa K sau đó thực hiện một thủ tục sinhkhóa để sinh một dãy các khóa cho việc mã hóa Thủ tục này sẽ sinh tổng số Nb*(Nr+1)word, thủ tục sử dụng một tập khởi tạo Nb word và mỗi lần lặp trong số Nr sẽ cần tới Nbword của dữ liệu khóa Dãy các kết quả là một mảng tuyến tính các word 4 byte được kýhiệu là [wi] trong đó 0≤i<Nb(Nr+1)

Sự mở rộng khóa thành dãy khóa được mô tả qua đoạn mã giả sau:

KeyExpansion(byte key[4*Nb], word w[Nb*(Nr+1), Nk])

begin

Trang 14

i = Nk

while (i< Nb*(Nr+1))

temp = w[i-1]

if(i mod Nk = 0)

temp = SubWord(RotWord(temp)) xor Rcon[i/Nk]

else if (Nk>6 and I mod Nk = 4)

temp = SubWord(temp)end if

w[i] = w[i-Nk] xor temp

i = i+1end while

end

SubWord() là hàm nhận một input 4 byte và áp dụng bảng thế S-box lên input để nhận được một word output Hàm RotWord() nhận một word input [a0, a1, a2, a3] thực hiện một hoán vị vòng và trả về [a1, a2, a3, a0] Các phần tử của mảng hằng số Rcon[i] chứa các giá trị nhận được bởi [xi-1, {00}, {00}, {00}] trong đó xi-1 là mũ hóa của x (x được biểu diễn dưới dạng {02} trên GF(28) và i bắt đầu từ 1)

Chúng ta có thể nhận thấy rằng Nk word của khóa kết quả sẽ được điền bởi khóa mã hóa.Các word sau đó w[i] sẽ bằng XOR với word đứng trước nó w[i-1] và w[i-Nk] Với các word ở vị trí chia hết cho Nk một biến đổi sẽ được thực hiện với w[i-1] trước khi thực hiện phép XOR bit, sau đó là phép XOR với một hằng số Rcon[i] Biến đổi này gồm một phép dịch vòng các byte của một word (RotWord(), sau đó là áp dụng một bảng tra lên tất

cả 4 byte của word (SubWord()) Thủ tục mở rộng khóa đối với các khóa có độ dài 256 bit hơi khác so với thủ tục cho các khóa có độ dài 128 hoặc 192 bit Nếu Nk=8 và i-4 là

Trang 15

bội số của Nk thì SubWord() sẽ được áp dụng cho w[i-1] trước khi thực hiện phép XOR bit

Quá trình giải mã khá giống với quá trình mã hóa về mặt cấu trúc nhưng 4 hàm cơ bản sửdụng là các hàm ngược của các hàm trong thuật toán giải mã Dưới đây là đoạn mã giả cho thuật toán giải mã sau:

InvCipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])

Cụ thể hàm này tiến hành xử lý như sau:

s’r,(c+shift(r,Nb))modNb = sr,c 0<r<4, 0≤c<Nb (Nb=4)

Dưới đây là hình ảnh minh họa

Trang 16

a-1(x) = {0b}x3 + {0d}x2 + {09}x + {0e}

Có thể được mô tả bằng phép nhân ma trận sau:

s’(x) = a-1(x) s(x)

= trong đó 0≤c<Nb

Trang 17

Kết quả là bốn byte trong mỗi cột sẽ được thay thế theo công thức sau:

s’0,c = ({0e}●s0,c)({0b}●s1,c) ({0d}●s2,c) ({09}●s3,c)

s’1,c = ({09}●s0,c)({0e}●s1,c) ({0b}●s2,c) ({0d}●s3,c)

s’2,c = ({0d}●s0,c)({09}●s1,c) ({0e}●s2,c) ({0b}●s3,c)

s’3,c = ({0b}●s0,c)({0d}●s1,c) ({09}●s2,c) ({0e}●s3,c)

3.2.4 Hàm nghịch đảo của hàm AddRoundKey()

Hàm nghịch của hàm AddRoundKey() cũng chính là nó vì hàm này chỉ có phép toánXOR bit

Trang 18

4 Kết luận

Việc sử dụng các hằng số khác nhau ứng với mỗi chu kỳ giúp hạn chế khả năng tính đốixứng trong thuật toán Sự khác nhau trong cấu trúc của việc mã hóa và giải mã đã hạnchế được các khóa “yếu” như trong phương pháp DES Ngoài ra, thông thường nhữngđiểm yếu liên quan đến mã khóa đều xuất phát từ sự phụ thuộc vào giá trị cụ thể của mãkhóa của các thao tác phi tuyến Trong phiên bản mở rộng, các khóa được sử dụng thôngqua thao tác XOR và tất cả những thao tác phi tuyến đều được cố định sẵn trong S-box

mà không phụ thuộc vào giá trị cụ thể của khóa mã hóa Tính chất phi tuyến cùng khảnăng khuếch tán thông tin trong việc tạo bản mã khóa mở rộng làm cho việc phân tíchmật mã dựa vào khóa tương đương hay các khóa có liên quan trở nên không khả thi.Đối với phương pháp vi phân rút gọn, việc phân tích chủ yếu khai thác đặc tính tập trungthành vùng của các vết vi phân trong một số phương pháp mã hóa Trong thuật toán AES,

số lượng chu kỳ lớn hơn 6, không tồn tại phương pháp công phá mật mã nào hiệu quảhơn phương pháp thử sai Tính chất phức tạp của biểu thức S-box cùng với hiệu ứngkhuếch tán giúp cho thuật toán không thể bị phân tích bằng phương pháp nội suy

Đối với phương pháp thử sai với chiều dài khóa 256-bit tương ứng 2256 hay 1.2 x 1077 khảnăng có thể xảy ra Thậm chí nếu sử dụng một trong những siêu máy tính mạnh nhấthiện nay là Roadrunner 54 của IBM để xử lý thì cũng cần 3.5 x 1054 năm để kiểm tra tất

cả khả năng (Roadrunner có khả năng thực hiện 1.042 triệu tỉ phép tính / giây)

 Thuật toán AES thích hợp cho việc triển khai trên nhiều hệ thống khác nhau, khôngchỉ trên các máy tính cá nhân, mà cả trên các hệ thống thẻ thông minh

 Tất cả các bước xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơchế xử lý song song nên AES càng chứng tỏ thế mạnh của mình trên các hệ thốngthiết bị mới

Ngày đăng: 21/08/2014, 15:38

HÌNH ẢNH LIÊN QUAN

Hình dưới đây minh họa kết quả của việc áp dụng hàm biến đổi SubBytes() đối với mảng  trạng thái - TIỂU LUẬN MÔN AN NINH HỆ THỐNG THÔNG TIN HỆ MÃ HÓA AES
Hình d ưới đây minh họa kết quả của việc áp dụng hàm biến đổi SubBytes() đối với mảng trạng thái (Trang 9)
Hình dưới đây biểu diễn các giá trị của mảng trạng thái state trong quá trình mã hóa cho  một độ dài block và độ dài của khóa mã là 16 bytes (Nb=4, Nk=4) - TIỂU LUẬN MÔN AN NINH HỆ THỐNG THÔNG TIN HỆ MÃ HÓA AES
Hình d ưới đây biểu diễn các giá trị của mảng trạng thái state trong quá trình mã hóa cho một độ dài block và độ dài của khóa mã là 16 bytes (Nb=4, Nk=4) (Trang 20)

TỪ KHÓA LIÊN QUAN

w