Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
550,89 KB
Nội dung
1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trần Thị Kim Thùy
NGHIÊN CỨUVỀỨNGDỤNGCHUẨNMẬTMÃNÂNGCAO
(AES) TRONGXÂYDỰNGHÀMBĂM
Chuyên ngành: Kỹ thuật điện tử
Mã số: 60.52.70
TÓM TẮT LUẬNVĂNTHẠCSĨ
HÀ NỘI - 2012
2
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: GS.TS.NGUYỄN BÌNH
Phản biện 1: …………………………………………………………
Phản biện 2: ………………………… ……………………………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luậnvănthạcsĩ tại Học
viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luậnvăn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
3
MỞ ĐẦU
Với tốc độ và khả năng xử lý ngày càng được nângcao của các bộ vi xử lý hiện
nay, phương pháp mã hóa chuẩn (DES - Data Encryption Standard) đã trở nên không
an toàn trong bảo mật thông tin. Do đó, Viện tiêu chuẩn và công nghệ Hoa kỳ (NIST
- National Institute Standards of Technology) đã quyết định chọn một chuẩnmã hóa
mới với độ an toàn cao nhằm phục vụ nhu cầu bảo mật thông tin liên lạc của Chính
phủ Hoa Kỳ cũng như trong các ứngdụng dân sự. Thuật toán Rijndael do Vincent
Rijmen và Joan Daeman đã được chính thức chọn trở thành chuẩnmã hóa nângcao
(AES - Advanced Encryption Standard) từ ngày 02 tháng 10 năm 2000.
Ngày nay, ứngdụng của chuẩnmậtmãnângcao đang được sử dụng ngày càng
phổ biến trong các lĩnh vực khác nhau trên thế giới. Chuẩnmậtmãnângcao không
chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác
nhau cần được nghiêncứu và giải quyết như ứngdụngxâydựng các hàmbăm phục
vụ việc chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), xác thực
tính nguyên vẹn dữ liệu
Với sự phát triển ngày càng nhanh chóng của Internet và các ứngdụng giao
dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứngdụng điện
tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng. Vì thế việc nghiêncứu
về chuẩnmậtmãnângcao và ứngdụng nó trong các lĩnh vực bảo mật thông tin là rất
cần thiết.
Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo luậnvăn được kết
cấu thành 3 chương:
Chương 1: Sơ lược vềchuẩnmậtmãnângcao(AES)
Chương 2: Hàmbămmậtmã
Chương 3: Ứngdụngchuẩnmậtmãnângcao để xâydựng một vài hàmbăm cụ
thể
Trong quá trình thực hiện Luận văn, do thời gian cũng như trình độ của tác giả
có những hạn chế nhất định nên không thể tránh khỏi những sai sót. Rất mong nhận
được sự góp ý của các thầy, cô giáo và các bạn để Luậnvăn hoàn thiện hơn. Tôi xin
chân thành cám ơn sự hướng dẫn, và giúp đỡ tận tình của GS.TS Nguyễn Bình, các
thầy trong khoa Quốc tế và Đào tạo sau đại học – Học viện Công nghệ Bưu chính
Viễn thông đã giúp đỡ tôi trong quá trình học tập cũng như trong quá trình làm Luận
văn.
4
CHƯƠNG 1: SƠ LƯỢC VỀCHUẨNMẬTMÃNÂNGCAO
1.1. Đặt vấn đề
Hiện nay với tốc độ và khả năng xử lý của các bộ vi xử lý ngày càng được
nâng cao, phương pháp mã hóa chuẩn DES, Tri DES đã trở nên không an toàn trong
bảo mật thông tin. Vì thế cần nghiêncứuchuẩnmậtmã đáp ứng được nhu cầu bảo
mật thông tin, chuẩnmậtmãnângcao AES ra đời.
Sau khi thực hiện hai lần tuyển chọn công khai, có năm thuật toán được vào
vòng chung kết, gồm có: Mars, RC6, Serpent, Twofish và Rijndael. Các thuật toán
này đều đạt các yêu cầu của AES nên được gọi chung là các thuật toán ứng viên AES.
Các thuật toán ứng viên AES có độ an toàn cao, chi phí thực hiện thấp. Tuy nhiên với
thiết kế đẹp và đơn giản thuật toán Rijndael do hai nhà mậtmã học người Bỉ thiết kế
đã được chọn là thuật toán của AES.
1.2. Cơ sở toán học của AES
AES sử dụng trường hữu hạn Galois (GF(2
8
) để thực hiện các phép toán: phép
cộng, phép trừ, phép nhân, và phép chia. Các phần tử của trường GF(2
8
) được xem
như là các đa thức.
1.3. Các thuật toán ứng viên AES
1.3.1. Thuật toán Marc
1.3.2. Thuật toán RC6
1.3.3. Thuật toán Rijndael
1.3.4. Thuật toán Serpent
1.3.5. Thuật toán TwoFish
1.3.6. Nhận xét các thuật toán ứng viên AES
Quy trình mã hóa gồm: khởi tạo, phân bố khóa và mã hóa.
Quy trình giải mã gồm: khởi tạo, phân bố khóa và giải mã.
Phân bố khóa được thực hiện dựa trên khóa người sử dụng cung cấp để phát sinh
bộ subkey phục vụ cho việc mã hóa và giải mã.
Dữ liệu vào và ra trong quy trình mã hóa, giải mã là khối dữ liệu 128 bit.
1.4. Mô tả AES theo Rijndael
1.4.1. Đầu vào và đầu ra của phép mã và giải mã
AES là một trường hợp riêng của Rijndael. AES có độ dài khối bằng 128 bit và
hỗ trợ các độ dài khóa bằng 128, 192, hay 256 bit. Đầu vào và đầu ra của Rijndael
được xem như là mảng một chiều của các byte 8bit. Đối với phép mã, đầu vào là khối
rõ và khóa, đầu ra là bản mã. Đối với phép giải mã, đầu vào là khối mã và khóa, đầu
5
ra là khối rõ. Biến đổi vòng của Rijndael và các bước của nó, thao tác trên một kết
quả trung gian, được gọi là trạng thái. Trạng thái có thể được vẽ như là một mảng chữ
nhật các byte với 4 dòng. Số các cột trong trạng thái được ký hiệu bởi N
b
và bằng độ
dài khối chia cho 32 (đối với AES thì N
b
bằng 4).
1.4.2. Cấu trúc AES
Rijndael là một mã khối khóa - lặp: nó bao gồm việc áp dụng lặp một ánh xạ
vòng trên trạng thái. Số các vòng được ký hiệu bởi N
r
và phụ thuộc vào độ dài khối
và độ dài khóa. Hình vẽ 1.8 trên minh họa cấu trúc cơ sở của thuật toán AES.
Hình 1.8: Cấu trúc cơ sở của thuật toán AES
Tầng phi tuyến: Áp dụng song song của các S - box mà có các tính chất phi tuyến
trong trường hợp tồi nhất tối ưu.
Tầng trộn tuyến tính: Đảm bảo khuyếch tán cao qua nhiều vòng
Tầng cộng khóa: Là phép XOR từng bit của Round key và trạng thái trung gian.
Trong thực tế, tầng trộn tuyến tính của Rijndael lại bao gồm hai tầng con, đó là
ShiftRows và MixColumns
1.4.3. Quy trình mã hóa và giải mã
Quy trình mã hóa và giải mã AES sử dụng một hàm lặp là kết hợp của bốn hàm
biến đổi (đơn vị xử lý là byte) sau: 1) biến đổi thay thế byte sử dụng một bảng thế (S-
box), 2) 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,
3) kết hợp dữ liệu của mỗi cột trong mảng trạng thái và 4) 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 ở
6
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 bằng hình vẽ 1.10 dưới đây:
Hình 1.10. Quy trình mã hóa và giải mã AES
1.4.3.1. Quy trình mã hóa
Toàn bộ của phép mã hóa có thể mô tả như sau:
(1) S = AddRoundKey (P,W
0
)
(2) For i = 1 to N
r
-1
S = SubBytes (S)
S = ShiftRows (S)
S = MixColumns (S)
S = AddRoundKey (S, W)
(3) S = SubBytes (S), S = ShiftRows (S)
(4) C = AddRoundKey (SubBytes, W
Nr
)
1.4.3.2. Giải mã Rijndael
Giải mã Rijndael có 2 cách giải mã đó là: giải mã trực tiếp và giải mã bằng
thuật toán giải mã tương đương.
7
Giải mã trực tiếp: Mọi biến đổi được dùngtrong các phép tính mã hóa là khả
nghịch. Cài đặt phép tính giải mã là giữ nguyên các thứ tự các biến đổi đã dùngtrong
phép mã hóa, chỉ thay các phép biến đổi bằng các biến đổi ngược của chúng.
Giải mã tương đương: được thực hiện bằng cách đảo ngược thứ tự của hàm
SubByte
-1
() và ShiftRows
-1
(), thay đổi thứ tự của AddRoundKey(), MixColumns
-1
()
trong các lần lặp sau khi thay đổi khóa cho giá trị Round = 1 to N
r-1
bằng cách sử
dụng biến đổi MixColumns(). Các word đầu tiên và cuối cùng của danh sách khóa
không bị thay đổi khi ta áp dụng phương pháp này.
1.4.3.2.Các phép biến đổi trongmã hóa và giải mã AES
a) Biến đổi SubBytes()
Biến đổi SubBytes() thay thế mỗi byte riêng rẽ của state s
r,c
bằng một giá trị
mới s
’
r,c
sử dụng bảng thay thế (S - box), nó là bảng có ngược. Hình 1.13 chỉ ra ảnh
hưởng của biến đổi SubBytes() trên state
Hình 1. 13. SubBytes() áp dụng S - box cho mỗi byte của state
S - box dùngtrong biến đổi SubBytes() được trình bày ở dạng cơ số 16 như
bảng 3.1 sau:
b) Biến đổi ShiftRows(): Hình 1.14 chỉ ra biến đổi ShiftRows().
Hình 1.14. Dịch vòng ShiftRows() ba hàng cuối cùng trong state
8
Trong biến đổi ShiftRows(), các byte trong ba hàng cuối cùng của trạng thái
được dịch vòng đi các số byte khác nhau (độ lệch) . Cụ thể, biến đổi ShiftRows(), xử
lý như sau:
s’
rc
= s
r(c+r)
mod 4, với 0<r<4 và 0
c<4 (trong đó r là số hàng)
Biến đổi này có tác dụng dịch chuyển các byte sang bên trái, trong khi đó các
byte bên trái nhất được chuyển vòng về các vị trí bên phải nhất của hàng.
Bảng 1.1. S - box được dùngtrong biến đổi SubBytes ()
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ad 76
10 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
20 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
30 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
40 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
50 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
60 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
70 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
80 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
90 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a0 0e 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c0 ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d0 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e0 e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f0 8c a1 89 0d bf e6 42 68 41 99 ad 0f b0 54 bb 16
c. Biến đổi MixColumns()
Biến đổi MixColumns() tính toán trên từng cột của state. Biến đổi này có thể
được trình bày như phép nhân một ma trận, mà mỗi byte được hiểu như là một phần
tử trong trường GF(2
8
):
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
xsxaxs
,3
,2
,1
,0
02010103
03020101
01030201
01010302
,3
'
,2
'
,1
'
0
'
:)()()('
với
40
c
Vì kết quả của phép nhân này, bốn byte trong một cột được thay thế như sau:
9
)
,3
}02({
,2,1
)
,0
}03({
,3
'
)
,3
}03({)
,2
}02({
,1,0,2
'
,3
)
,2
}03({)
,1
}02({
,0,1
'
,3,2
)
,1
}03({)
,0
}02({
,0
'
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
Phép
trong biểu thức này ký hiệu phép cộng trong GF(2
8
), mà tương ứng
với phép XOR từng bit. Các phép nhân được thực hiện theo modulo với đa thức bất
khả quy của trường. Với thuật toán AES đa thức này là x
8
+ x
4
+ x
3
+ x+1. Hình 1.16
chỉ ra biến đổi MixColumns ()
Hình 1.16. MixColumns() tính toán trên từng cột của state
d. Biến đổi Addroundkey()
Trong biến đổi Addroundkey(), một khóa vòng được cộng với state bằng một
phép XOR theo từng bit đơn giản. Mỗi khóa vòng gồm có 4 từ (128 bit) được lấy từ
lược đồ khóa. 4 từ đó được cộng vào mỗi cột của state, sao cho:
cicccccccc
wssssssss
4(,3,2,1,0,3,2,1,0
',',','',',','
với 0
c
<4.
Trong đó
)4( ci
w
là các từ thứ c của khóa vòng thứ i
)34(
,
)24(
,
)14(
,
)4(
i
w
i
w
i
w
i
w
i
W
của lịch trình khóa và i là một giá trị nằm trong khoảng 0
i
N
r
. Trong phép mã hóa,
phép cộng khóa vòng khởi đầu thực hiện với i = 0, trước khi áp dụng đầu tiên của
hàm vòng. Việc áp dụng biến đổi Addroundkey() vào N
r
vòng của phép mã hóa xày ra
khi 1
i
N
r.
Các phép biến đổi SubBytes
-1
(), ShiftRows
-1
(), MixColumns
-1
() trong giải mã
AES là các phép biến đổi ngược của SubBytes(), ShiftRows(), MixColumns().
1.4.4. Biến đổi vòng và số các vòng
Biến đổi vòng của Rijndael và các bước của nó, thao tác trên một kết quả trung
gian, được gọi là trạng thái. Trạng thái có thể được vẽ như là một mảng chữ nhật các
10
byte với 4 dòng. Số các cột trong trạng thái ký hiệu bởi N
b
và bằng độ dài khối chia
cho 32 (đối với AES thì N
b
bằng 4).
Số vòng biến đổi, ký hiệu là N
r
theo công thức: N
r
= max {N
b
, N
k
} + 6
Biến đổi vòng được ký hiệu là Round và là một dãy của 4 phép biến đổi
AddRoundKey, SubBytes, ShiftRows, MixColumns chúng được gọi là các bước
(Steps). Vòng cuối cùng của phép mã có khác đi một chút, nó không có phép
MixColumns.
1.4.5. Lịch trình khóa
Lịch trình khóa bao gồm 2 thành phần: mở rộng khóa (Key Expansion) và
chọn khóa vòng (Round Key Selection). Mở rộng khóa chỉ ra các ExpandedKey
nhận được từ khóa mã. Nguyên tắc chính như sau:
- Tổng số các bit trong ExpandedKey bằng độ dài khối nhân với số các vòng cộng
thêm một, (ví dụ độ dài khóa là 128 bit và 10 vòng lặp thì khóa kéo dài có 1408 bit).
- Cipher Key được kéo dài thành ExpandedKey
- Chú ý rằng ExpandedKey luôn nhận được từ khóa mã, nó không bao giờ chỉ ra một
cách trực tiếp: Round Key đầu tiên bao gồm N
b
từ đầu tiên, Round Key thứ hai bao
gồm N
b
từ tiếp theo, và tương tự đối với Round Key thứ ba…
Việc kéo dài khóa đã được chọn phải theo tiêu chuẩnvề tính hiệu quả, loại bỏ
tính đối xứng, khuếch tán, phi tuyến. Ngoài ra còn một vài tiêu chuẩn khác cho lịch
trình khóa như sau:
- Nó sử dụng một biến đổi có ngược, tức là việc biết bất kỳ N
k
từ liên kết của
ExpandedKey sẽ cho phép tạo lại toàn bộ bảng.
- Việc biết một phần các bit của Cipher Key hoặc Roundkey sẽ không cho phép
tính được nhiều bit Roundkeys khác.
- Chống lại được các tấn công trong đó một phần Cipher Keys là được biết bởi kẻ
mã thám.
- Các tấn công mà Cipher Keys là được biết hoặc có thể được chọn, ví dụ như khi
mã pháp được sử dụng như hàm nén (hàm vòng) của hàm băm.
Để có tính hiệu quả đối với các bộ xử lý 8 bit, lược đồ kéo dài đơn giản, định
hướng byte đã được chấp nhận. Việc áp dụng phép thế S
RD
phi tuyến đảm bảo tính
phi tuyến của lược đồ, không cần phải thêm nhiều các yêu cầu lưu trữ tạm thời trên
bộ xử lý 8 bit.
Thuật toán AES lấy khóa mã K và thực hiện một thủ tục mở rộng khóa để tạo
ra một lược đồ khóa. Việc mở rộng khóa tạo ra tổng số 4(N
r
+1) từ, thuật toán yêu cầu
một tập 4 từ khởi đầu, và mỗi vòng trong N
r
vòng yêu cầu 4 từ dữ liệu khóa. Lược đồ
[...]... xâydựnghàmBăm được thực hiện với mục đích nghiên cứu về chuẩnmậtmãnângcao và một ứngdụng nhỏ của AES vào xâydựng một vài hàmbăm cụ thể Luận văn đã thực hiện được một số vấn đề cơ bản sau: - Tổng quan vềchuẩnmậtmãnângcao AES - Cấu trúc, vai trò của hàmbămmật mã, một số hàmbăm thông dụng cùng với nguyên tắc xâydựnghàmbăm dựa trên AES - Ứngdụngchuẩnmậtmãnângcao AES để xây dựng. .. luận chương 3 26 KẾT LUẬN VÀ KIẾN NGHỊ Ngày nay, bộ vi xử lý của máy tính ngày càng nângcao việc thay thế chuẩnmậtmã DES và TriDES bằng chuẩnmậtmãnângcao AES là rất cần thiết Chuẩnmậtmãnângcao AES có rất nhiều ứngdụng nhưng ứngdụng để xâydựnghàmbămmậtmã được coi là quan trọng và có ý nghĩa nhất Vì vậy, luận văn với đề tài Nghiêncứu về ứngdụngchuẩnmậtmãnângcao(AES)trong xây. .. tương tự như hàmbăm AES chỉ thay đổi độ dài của khối và thao tác mã hóa thông tin được sử dụngtrong thuật toán 2.5 Kết luận chương 2 19 CHƯƠNG 3: ỨNGDỤNGCHUẨNMẬTMÃNÂNGCAO ĐỂ XÂYDỰNG MỘT VÀI HÀMBĂM CỤ THỂ 3.1 Đặt vấn đề Các hàmbăm đóng vai trò cơ bản trongmậtmã hiện đại Ứngdụng chính của các hàmbăm là sử dụng trong xâydựng các hệ chữ ký điện tử, ngoài ra hàmbăm còn được sử dụng vào các... đầu Các hàmbăm đóng vai trò cơ bản trongmậtmã hiện đại 2.2.2 Tính chất cơ bản của hàmbămmậtmã c Tính khó va chạm b Khó tìm nghịch ảnh thứ hai c Tính khó tính toán nghịch ảnh 2.2.3 Phân loại hàmbămmậtmãHàmbăm Không có khóa MDC OWHF Các ứngdụng khác Có khóa Các ứngdụng khác MAC CRHF Hình 2.1: Sơ đồ phân loại hàmbăm 2.2.3.1 .Hàm bămmậtmã có khóa Hàmbămmậtmã có khóa là hàmbăm có dữ liệu... toán băm mới an toàn hơn SHA, giống như quy trình phát triển chuẩnmã hóa nângcao AES 2.4.4 Hàmbămxâydựng dựa trên thuật toán Rijndael mở rộng 2.4.4.1 Lý do chọn xâydựnghàmbăm dựa trên dựa trên AES sử dụng thuật toán Rijndael mở rộng Một trong những ứngdụng của hàmbăm là biến đổi chuỗi mật khẩu có độ dài bất kỳ của người dùng thành mảng các byte có kích thước cố định để sử dụng làm khóa đối xứng... là một khóa bí mật, nếu không có khóa bí mật này thì không thể băm thông điệp đầu vào theo đúng yêu cầu Các hàmbăm có khoá được sử dụng để xác thực thông báo và thường được gọi là các thuật toán tạo mã xác thực thông báo (MAC) 2.2.3.2 Hàmbămmậtmã không khóa (các hàmbăm dựa trên mậtmã khối) Hàmbăm không khóa là hàmbăm có dữ liệu đầu vào chỉ là thông điệp, không chứa khóa Hàmbăm không khóa có... của hàmbămtrong chứng nhận nguồn gốc dữ liệu c Vai trò của hàmbămtrong xác thực tính nguyên vẹn dữ liệu 2.4 Một số hàmbămmậtmã thông dụng 2.4.1 Hàmbăm MD4 Hàm MD4 (Message Digest Algorithm 4): Là một hàmbăm 128 bit được thiết kế bởi Ronald Rivest vào năm 1990 Mục tiêu thiết kế của MD4 là để tìm được hai thông điệp có cùng mãbăm thì cần khoảng 264 phép toán, và để tìm được tiền ảnh của một mã. .. là sử dụng chính các thuật toán mở rộng để xâydựng các hàmbăm có không gian giá trị băm rộng hơn, đồng thời có khả năng phục vụ cho việc tạo khóa cho chính các thuật toán này từ chuỗi mật khẩu của người dùng 2.4.4.2 Nguyên tắc xâydựnghàmbăm dựa trên các thuật toán mở rộng Rijndael Theo Bram Cohen, hàmbăm AES (AES - Hash) đảm bảo các tính chất của một hàm băm, vì thế nguyên tắc xâydựnghàm băm. .. vai trò hàmbămmậtmã 2.3.1 Cấu trúc của hàmbămmậtmã Thành phần chính của một hàmbăm là một hàm nén và các hàm biến đổi khác Hàm nén được thực thi nhiều lần để băm thông điệp ban đầu của hàmbăm thành một chuỗi có chiều dài cố định Các hàm biến đổi khác (có thể có hoặc không) nhận vào chuỗi bít sau lần cuối cùng thực thi hàm nén và cho kết quả chính là mãbăm cuối cùng của hàmbăm Hình 2.3 dưới... 10118-3 cho các hàmbămHàmbăm Whirlpool cũng đã được chính phủ Việt Nam chọn là bộ chuẩnmậtmã quốc gia Hàmbăm Whirlpool có cấu trúc giống với hàmbăm thông, có khối mã hóa (hàm nén) Whirlpool tương tự như thuật toán của AES nhưng với kích thước khối, số vòng, lịch trình khóa và S - box ban đầu khác nhau Dưới đây xin trình bày cụ thể vềhàmbăm Whirlpool 3.2 Các cơ sở toán học của hàmbăm Whirlpool . khảo luận văn được kết
cấu thành 3 chương:
Chương 1: Sơ lược về chuẩn mật mã nâng cao (AES)
Chương 2: Hàm băm mật mã
Chương 3: Ứng dụng chuẩn mật mã nâng.
NGHIÊN CỨU VỀ ỨNG DỤNG CHUẨN MẬT MÃ NÂNG CAO
(AES) TRONG XÂY DỰNG HÀM BĂM
Chuyên ngành: Kỹ thuật điện tử
Mã số: 60.52.70
TÓM TẮT LUẬN