i
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
LỜI CẢM ƠN
THÔNG
Luận văn đƣợc thực hiện tại trƣờng Đại học Công nghệ Thông tin và
Truyền Thông – Đại học Thái Nguyên dƣới sự hƣớng dẫn của TS. Trần Xuân
Kiên.
Trƣớc hết tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy Trần Xuân Kiên,
ngƣời đã có những định hƣớng, những kiến thức quý báu, những lời động
viên và chỉ bảo giúp tôi vƣợt qua những khó khăn để tôi hoàn thành tốt luận
TRẦN MINH KHƢƠNG
văn của mình.
Tôi xin đƣợc bày tỏ lòng cảm ơn và sự kính trọng của mình đến các
Thầy, Cô Trƣờng Đại học Công nghệ Thông tin và Truyền Thông - Đại học
Thái Nguyên, đặc biệt là các Thầy, Cô đã giảng dạy và giúp đỡ tôi trong suốt
NGHIÊN
CỨU
THIẾT KẾ, ỨNG DỤNG KHÓA ĐIỆN TỬ
quá trình
học tập tại
trƣờng.
ĐẢM
BẢOđặc
ANbiệt
TOÀN
TRONG
GIAO trọng
DỊCHđiểm
Tôi cũng
ii
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Nghiên cứu thiết kế, ứng dụng khóa điện tử
đảm bảo an toàn thông tin trong các giao dịch điện tử” này là công trình
nghiên cứu của riêng tôi. Các số liệu sử dụng trong luận văn là trung thực.
Các kết quả nghiên cứu đƣợc trình bày trong luận văn chƣa từng đƣợc công
bố tại bất kỳ công trình nghiên cứu nào khác.
Trần Minh Khƣơng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................................... i
LỜI CAM ĐOAN .................................................................................................................................. ii
MỤC LỤC ................................................................................................................................................. iii
DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT .................................................... v
DANH MỤC CÁC BẢNG .............................................................................................................. vi
DANH MỤC CÁC HÌNH VẼ ...................................................................................................... vii
MỞ ĐẦU ........................................................................................................... 1
2.2. Hệ mật mã khóa công khai. Hệ mã RSA ............................................. 45
2.2.1. Hệ mật mã khóa công khai (quy trình mã hóa bất đối xứng) ....... 45
2.2.2. Hệ mã RSA ................................................................................... 49
Chƣơng 3
NGHIÊN CỨU XÂY DỰNG VÀ THỰC HIỆN THỬ NGHIỆM
KHÓA CỨNG KẾT HỢP VỚI PHẦN MỀM MÃ/GIẢI MÃ ....................... 56
3.1. Nghiên cứu thiết kế khóa cứng ............................................................ 56
3.1.1. Thiết kế của khóa cứng ................................................................. 56
3.1.2. Lựa chọn chíp giao tiếp với máy tính thông qua cổng giao tiếp
USB ......................................................................................................... 59
3.1.3. Lựa chọn chíp vi xử lý tốc độ cao thực hiện thuật toán mã/giải mã,
lƣu trữ mã khóa ....................................................................................... 60
3.1.4. Phần mềm soạn thảo chƣơng trình điều khiển vi xử lý ................ 62
3.1.5. Modul mã hoá/giải mã sử dụng thuật toán AES viết trên vi xử lý 63
3.2. Nghiên cứu xây dựng và thử nghiệm Modul phần mềm kết hợp với
khóa cứng thực hiện mã hóa/giải mã dữ liệu trên máy tính dùng thuật toán
AES ............................................................................................................. 76
3.2.1. Nghiên cứu xây dựng modul ......................................................... 76
3.2.2. Kết quả thử nghiệm ....................................................................... 81
3.3. Nghiên cứu xây dựng và thử nghiệm Modul phần mềm kết hợp với
khóa cứng để mã hóa/giải mã dữ liệu khi trao đổi qua email dùng thuật toán
RSA ............................................................................................................. 82
3.3.1. Nghiên cứu xây dựng modul ......................................................... 82
3.3.2. Kết quả thử nghiệm ....................................................................... 84
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................................... 87
TÀI LIỆU THAM KHẢO............................................................................... 88
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Internet Protocol
IDEA
MD
International Data Encryption Algorithm
Message Digest
MIPS
Mega Instruction Per Second
NIST
PIC
National Institute of Standards and Technology
Programmable Intelligent Computer
PIN
Personal Indentification Number
PKI
Public Key Infrastructure
RISC
Reduced Instructions Set Computer
Bảng 3.4. Ma trận dữ liệu................................................................................ 65
Bảng 3.5. Dịch vòng mã hóa ........................................................................... 66
Bảng 3.6. Giá trị trƣớc và sau khi thực hiện Row Shift .................................. 71
Bảng 3.7. Thời gian thực hiện và lƣu lƣợng của thuật toán mã hóa AES trên
thiết bị dsPIC ................................................................................................... 75
Bảng 3.8. Bộ nhớ sử dụng cho các thuật toán mã hóa .................................... 75
Bảng 3.8. Kết quả thử nghiệm Modul phần mềm kết hợp với khóa cứng mã
hóa/giải mã dữ liệu trên máy tính dùng thuật toán AES ................................. 82
Bảng 3.9. Bảng kết quả thử nghiệm Modul phần mềm kết hợp với khóa cứng
để mã hóa/giải mã dữ liệu khi trao đổi qua email dùng thuật toán RSA ........ 85
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vii
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Mô hình truyền tin cơ bản của mật mã học....................................... 8
Hình 2.1. Mô hình hệ mật mã khóa bí mật ..................................................... 17
Hình 2.2. Các trạng thái của AES ................................................................... 24
Hình 2.3. Sơ đồ thuật toán............................................................................... 27
Hình 2.4. Thao tác SubBytes tác động trên từng byte của trạng thái ............. 28
Hình 2.5. Bảng thế S-Table của thuật toán AES............................................. 29
Hình 2.6. Thao tác ShiftRows tác động trên từng dòng của trạng thái ........... 30
Hình 2.7. Thao tác MixColumns tác động lên mỗi cột của trạng thái ............ 32
Hình 2.8. Thao tác AddRoundKey tác động lên mỗi cột của trạng thái ......... 33
Hình 2.9. Thao tác InvShiftRows tác động lên từng dòng của trạng thái hiện hành
......................................................................................................................... 38
1
MỞ ĐẦU
Ngày nay, với sự phát triển nhanh chóng của công nghệ và các mạng
giao dịch toàn cầu, việc lƣu trữ dữ liệu và trao đổi thông tin ngày càng đơn
giản và thuận tiện hơn nhƣng bên cạnh đó cũng nảy sinh những yêu cầu cao
hơn về bảo mật thông tin trong các hệ thống và ứng dụng điện tử. Mật mã là
phƣơng pháp an toàn và hiệu quả nhất để đảm bảo an toàn, bí mật thông tin. Các
kết quả của khoa học mật mã ngày càng đƣợc triển khai trong nhiều lĩnh vực
khác nhau của đời sống – xã hội, trong đó phải kể đến rất nhiều những ứng
dụng đa dạng trong lĩnh vực dân sự, thƣơng mại... Các ứng dụng mã hóa
thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện
tử qua mạng... đã ngày càng trở nên gần gũi và quen thuộc với mọi ngƣời.
Các thiết bị mang tin đa dạng về chủng loại và ngày càng đƣợc sử dụng
phổ biến (USB, thẻ nhớ, ổ cứng di động, máy tính xách tay...) rất thuận tiện
trong sử dụng, nhƣng cũng dễ mất an toàn nhƣ bị thất lạc, bị sao chép trộm...
Các phần mềm gián điệp, mã độc hại có thể lấy cắp dữ liệu đã trở nên ngày
càng phổ biến, đặc biệt là trong an ninh quốc phòng nhƣ phần mềm đọc bàn
phím (Keylogger) dễ dàng trợ giúp cho việc lấy cắp mật khẩu, mã khóa....
Một vấn đề khác là việc mất an toàn khi gửi/nhận thƣ điện tử (email), khi sao
chép, in ấn hoặc khi kết nối mạng cũng thƣờng xuyên xảy ra. Một trong
những vấn đề chính hay gặp trong thực tế của các hệ thống mã hóa hiện nay là
vấn đề an toàn trong việc sinh khóa, bảo quản và sử dụng mã khóa.
Khóa điện tử (khóa cứng) là một sản phẩm sử dụng chuẩn kết nối tuần
tự đa dụng USB (Univeral Serial Bus), có nghĩa là giao tiếp với máy tính
thông qua cổng USB. Không nhƣ các USB lƣu trữ dữ liệu thông thƣờng, các
sản phẩm này đƣợc chế tạo bởi nhiều kiểu kiến trúc phần cứng khác nhau, có
thể là chip EEPROM, hay Smartchip,… có chức năng chính là bảo vệ bản
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
trên máy tính và khi trao đổi thƣ điện tử (email).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
Nghiên cứu xây dựng phần mềm kết hợp với khóa cứng thực hiện mã
hóa/giải mã dữ liệu trên máy tính.
Nghiên cứu thiết kế modul mã hóa và giao tiếp với máy tính thực hiện
mã hóa luồng dữ liệu khi thực hiện giao tiếp giữa khóa cứng và máy tính.
Từng bƣớc làm chủ thiết bị an toàn bảo mật có tích hợp bên trong các
thuật toán mã và giải mã.
Cơ sở khoa học và tính thực tiễn của luận văn
Xuất phát từ vai trò của mật mã trong các giải pháp an toàn thông tin nghiên cứu và ứng dụng mật mã để bảo vệ thông tin. Cụ thể là nghiên cứu
phƣơng pháp mã hoá AES (Advanced Encryption Standard – chuẩn mã hóa
nâng cao) đƣợc Viện Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) chính thức
công bố ngày 02/10/2000 và phƣơng pháp mã hóa khóa công khai RSA; các
mô hình thực hiện mã khối trên nền công nghệ nhúng, trong luận văn ứng
dụng thực hiện trên chíp vi xử lý 16 bit tốc độ cao.
Nghiên cứu sản phẩm khóa cứng ứng dựng các phƣơng pháp mã hóa
hiện đại nhằm: bảo vệ dữ liệu trên máy tính và khi trao đổi tin; làm chủ công
nghệ các sản phẩm an toàn bảo mật thông tin mang nhãn hiệu Việt.
Kết quả nghiên cứu của đề tài góp phần làm rõ các phƣơng pháp mã
hóa mới có tính bảo mật cao, đƣa ra một giải pháp cho việc bảo vệ dữ liệu
trên máy tính và khi trao đổi thông tin.
Nội dung của luận văn đƣợc chia thành các chƣơng sau:
Chương 1: Đặt vấn đề
5
Chƣơng 1: ĐẶT VẤN ĐỀ
1.1. Tổng quan về mật mã
1.1.1. Mật mã học
Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi
thông tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông
tin cần mã hóa [10]. Đây là một ngành khoa học có lịch sử lâu đời dựa trên
nền tảng các thuật toán toán học, số học, xác suất và các môn khoa học khác.
Mật mã học bao gồm hai lĩnh vực: mã hóa (cryptography) và thám mã
(cryptanalysis-codebreaking) trong đó:
Mã hóa: nghiên cứu các thuật toán và phƣơng thức để đảm bảo tính bí
mật và xác thực của thông tin. Các sản phẩm của lĩnh vực này là các hệ mật
mã, các hàm băm, các chữ ký điện tử, các cơ chế phân phối, quản lý khóa và
các giao thức mật mã.
Thám mã: nghiên cứu các phƣơng pháp phá mã hoặc tạo mã giả. Sản
phẩm của lĩnh vực này là các phƣơng pháp thám mã, các phƣơng pháp giả mạo
chữ ký, các phƣơng pháp tấn công các hàm băm và các giao thức mật mã.
Mật mã học là một ngành quan trọng và có nhiều ứng dụng trong đời
sống xã hội. Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang đƣợc
sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên toàn thế
giới, từ các lĩnh vực an ninh, quốc phòng,… cho đến các lĩnh vực dân sự nhƣ
thƣơng mại điện tử, ngân hàng… Cùng với sự phát triển của khoa học máy
tính và Internet, các nghiên cứu và ứng dụng của khoa học mật mã ngày càng
trở nên đa dạng hơn, mở ra nhiều hƣớng nghiên cứu chuyên sâu vào từng lĩnh
vực ứng dụng đặc thù với những đặc trƣng riêng. Ứng dụng của khoa học mật
mã 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ên cứu và giải quyết: chứng thực nguồn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
Tính chất 4 là tính chất chính và quan trọng nhất của một hệ mật mã.
Tính chất này bảo đảm một mẩu tin x ∈ P đƣợc mã hóa bằng luật mã hóa
ek∈E có thể đƣợc giải mã chính xác bằng luật dk∈D.
b) Phân loại hệ mật mã
• Theo phép toán sử dụng để chuyển đổi bản rõ thành bản mã:
– Thay thế (substitution): mỗi phần tử trong bản rõ đƣợc ánh xạ (map)
sang một phần tử khác.
– Hoán vị (transposition): các phần tử của bản rõ đƣợc sắp xếp lại.
• Theo số lƣợng khoá đƣợc dùng:
– Nếu cả bên gửi và bên nhận sử dụng cùng một khoá, thì hệ thống
đƣợc gọi là mã hoá đối xứng (symmetric), mã hoá khoá bí mật (secret-key),
mã hoá một khoá (single-key).
– Nếu bên gửi và bên nhận sử dụng hai khoá khác nhau, thì hệ thống
đƣợc gọi là mã hoá bất đối xứng (asymmetric), mã hoá khoá công khai
(public-key), mã hoá hai khoá (two-key).
• Theo cách thức xử lý bản rõ (bản mã):
– Mật mã khối (block cipher): xử lý mỗi lần một khối các phần tử đầu
vào tạo ra một khối đầu ra tƣơng ứng với mỗi khối đầu vào.
– Mật mã dòng (stream cipher): xử lý liên tiếp các phần tử đầu vào tạo
ra mỗi lần một phần tử đầu ra.
1.1.3. Mô hình truyền tin cơ bản của mật mã học và nguyên lý Kerckhoffs
Mô hình truyền tin thông thƣờng: trong mô hình truyền tin thông thƣờng
thông tin truyền (vận chuyển) từ ngƣời gửi đến ngƣời nhận đƣợc thực hiện nhờ
một kênh vật lý (chẳng hạn nhƣ việc gửi thƣ) đƣợc coi là an toàn.
Các phép biến đổi đƣợc sử dụng trong mô hình truyền tin trên thuộc về một
hệ mật mã (Cryptosystem) nào đó.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
Trong các thuật toán mã hóa, khóa đƣợc dùng điều khiển các quá trình
mã hóa và giải mã. Phần lớn các thuật toán hiện đại dựa trên các thuật toán
đƣợc công bố công khai, thậm chí là thực hiện bằng các phần mềm mã nguồn
mở. Vì vậy, "Độ an toàn của hệ thống mật mã không phụ thuộc vào việc giữ
bí mật thuật toán mã hóa, nó phụ thuộc vào việc giữ bí mật chìa khóa mã.".
Quan điểm này xuất phát từ các công trình nghiên cứu của Auguste
Kerckhoffs (vào những năm 1880), Claude Shannon (vào những năm 1940)
[1] và đƣợc biết đến dƣới tên gọi nguyên lý Kerckhoffs hay châm ngôn của
Shannon. Nghĩa là, toàn bộ cơ chế mã/giải mã (trừ khóa) là không bí mật đối
với kẻ địch. Rõ ràng nếu đối phƣơng không biết đƣợc hệ mật mã đang sử
dụng thuật toán mã hóa gì thì việc thám mã sẽ rất khó khăn nhƣng chúng ta
không thể tin vào độ an toàn của hệ mật mã chỉ dựa vào một giả thiết không
chắc chắn là đối phƣơng không biết thuật toán đang sử dụng. Vì vậy, khi trình
bày một hệ mật bất kỳ, chúng ta đều giả thiết hệ mật đó đƣợc trình bày dƣới
nguyên lý Kerckhoffs.
1.1.4. Một số ứng dụng của mật mã học
Ngày nay, khó có thể tìm thấy các ứng dụng trên máy tính lại không sử
dụng tới các thuật toán và các giao thức mật mã học. Từ các ứng dụng cho các
máy tính cá nhân cho tới các chƣơng trình hệ thống nhƣ các hệ điều hành
hoặc các ứng dụng mạng hoặc các hệ cơ sở dữ liệu đều có sử dụng các thuật
mật, chúng ta có thể kể đến một số nguy cơ sau:
1.2.1. Mất mã khóa
Trong mật mã học, mã khóa là một đoạn thông tin điều khiển hoạt động
của thuật toán mã hóa (quá trình mã hóa/giải mã). Nói một cách khác, khóa là
thông tin để cá biệt hóa quá trình mã hóa cũng nhƣ giải mã. Khóa cũng đƣợc
sử dụng trong các thuật toán khác trong mật mã học nhƣ thuật toán tạo chữ ký
số hay hàm băm mật mã.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
Với một thuật toán đƣợc thiết kế tốt, mã hóa cùng một văn bản với các
khóa khác nhau sẽ cho ra các bảng mã hoàn toàn khác nhau. Tƣơng tự, khi ta
giải mã với khóa sai thì kết quả sẽ cho ra một bản rõ hoàn toàn ngẫu nhiên.
Trong trƣờng hợp khóa bị thất lạc thì ta không thể phục hồi lại bản rõ ban đầu
với điều kiện là thuật toán đảm bảo chất lƣợng và độ dài khóa đủ lớn.
Bất kỳ ngƣời nào có đƣợc khóa (bằng bất kỳ cách gì, trong nhiều
trƣờng hợp do sơ suất của ngƣời giữ khóa) thì sẽ dễ dàng giải mã đƣợc dữ liệu
đã mã hóa, khi đó vấn đề đặt ra là phải lƣu trữ và bảo quản mã khóa nhƣ thế
nào để đảm bảo bí mật, an toàn. Việc giữ bí mật các khóa là vấn đề khó khăn
nhất trong các hệ thống thực tế.
Khi thiết kế hệ thống an ninh, cần phải giả định rằng kẻ tấn công nắm
đƣợc các thông tin chi tiết về thuật toán. Điều này đƣợc biết đến với tên là
nguyên lý Kerckhoff. Lịch sử mật mã học đã khẳng định nguyên lý này: hầu
nhƣ không thể giữ bí mật về thiết kế các thuật toán đƣợc sử dụng rộng rãi.
Trái lại, việc giữ bí mật về khóa dễ hơn rất nhiều vì khóa thƣờng chỉ là một
lúc nào. Khi máy tính bị đánh cắp, chủ nhân không chỉ mất đi tài sản của
mình, mà quan trọng hơn hết, những dữ liệu chứa trên đó có thể là “vô giá”
mà không thể nào tìm lại đƣợc và có thể đó là những dữ liệu mà khi bị lộ ra
ngoài nó sẽ gây ra những hậu quả khôn lƣờng.
1.2.3. Truy cập trái phép các phần mềm quan trọng
Các phần mềm quan trọng đòi hỏi tính bảo mật cao nhƣ các phần mềm
sử dụng trong an ninh, quốc phòng... khi đƣợc cài đặt trên máy tính đặc biệt là
các máy tính dùng chung có thể bị truy cập và sử dụng trái phép bởi những
ngƣời không có thẩm quyền, dẫn đến việc lộ những thông tin, dữ liệu bí mật
nhất là bí mật quân sự, bí mật quốc gia. Điều này đòi hỏi phải có giải pháp
bảo vệ các phần mềm này ngoài giải pháp sử dụng username và password của
phần mềm.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
1.2.4. Mất an toàn khi gửi/nhận thƣ điện tử
Một vấn đề khác là việc mất an toàn khi gửi/nhận thƣ điện tử cũng
thƣờng xuyên xảy ra. Khi gửi thƣ điện tử trên đƣờng truyền mạng, ngƣời gửi
có thể sử dụng biện pháp mã hóa để bảo đảm bí mật của nội dung bức thƣ
nhƣng nhƣ trên đã trình bày, mã khóa của thuật toán mã hóa có thể bị mất vì
một nguyên nhân nào đó và ngƣời có đƣợc mã khóa có thể dễ dàng giải mã
đƣợc bức thƣ.
1.3. Đề xuất giải pháp bảo đảm an toàn bảo mật dữ liệu
Mã hóa dữ liệu là một trong những việc rất quan trọng để bảo vệ thiết
bị di động. Với một thiết bị đã đƣợc quản lý, ngƣời sử dụng có thể phân phối
dữ liệu hoặc tuân thủ chính sách mã hoá dữ liệu nhất định. Theo các chuyên
mã dữ liệu đã đƣợc mã hóa cần phải sử dụng khóa cứng (USB chuyên dụng),
sau khi cắm khóa cứng vào máy, khai báo đúng username và password của
ngƣời sử dụng, phần mềm mã hóa sẽ lấy mã khóa đã đƣợc lƣu trữ trên USB
để thực hiện các yêu cầu của ngƣời sử dụng. Nhƣ vậy, chỉ những ngƣời có
khóa cứng và tài khoản ngƣời dùng hợp lệ mới có thể mã hóa hay giải mã dữ
liệu với mã khóa đã lƣu trữ trên khóa cứng.
Trong quá trình truyền thông giữa khóa cứng và máy tính dữ liệu cũng
đƣợc mã hóa và chèn thêm các chuỗi dữ liệu ngẫu nhiên để đảm bảo an toàn
tránh đọc trộm mã khóa bởi các phần mềm đọc, giám sát truyền thông qua
cổng USB, nhƣ phần mềm Minimoon,....
Khóa cứng là một thiết bị gọn nhẹ dựa trên giao tiếp USB tốc độ cao,
có khả năng lƣu trữ và bảo mật khóa bí mật của ngƣời dùng, dung lƣợng lƣu
trữ username và password lên đến 4MB. Đặc biệt, có dung lƣợng lƣu trữ dữ
liệu lên đến 16GB. Khóa cứng đƣợc sản xuất theo hƣớng tự phát triển
Hardware, Firmware và nạp vào IC trắng, đảm bảo loại trừ việc cài đặt và
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
xâm nhập dữ liệu trái phép (khả năng back door), chất liệu làm vỏ và quy
trình sản xuất đặc biệt giúp khóa cứng có khả năng chống rung xóc và chịu
nƣớc. Trên bo mạch có tích hợp chíp vi xử lý hiện đại 16 bít, có thể thực hiện
các thuật toán cho chức năng bảo mật, có thể thực hiện mã DES, AES,....
1.3.2. Dùng khóa cứng để khóa máy tính, dùng USB có bảo vệ khi truy cập
Khi máy tính bị mất, máy tính đã đƣợc bảo vệ bởi mật khẩu đăng nhập
của Windows! Điều đó đã đủ chƣa? Thực tế, mật khẩu đăng nhập của
nếu có phần mềm mà không có khoá cứng, phần mềm cũng không hoạt
động đƣợc.
Bảo vệ đƣợc các phần mềm quan trọng dùng trong an ninh, quốc
phòng vì sẽ ngăn chặn sự xâm phạm của ngƣời không có khoá cứng tới các
phần mềm.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
Chƣơng 2:
NGHIÊN CỨU LỰA CHỌN CÁC THUẬT TOÁN MÃ HÓA
2.1. Hệ mật mã khóa bí mật. Chuẩn mã AES
2.1.1. Hệ mật mã khóa bí mật (quy trình mã hóa đối xứng)
Hệ mật mã khóa bí mật là hệ thống mã hóa trong đó quy trình mã hóa và
giải mã đều sử dụng chung một khoá - khóa bí mật, hoặc khóa này có thể dễ
dàng suy ra đƣợc từ khóa kia [4]. Quy trình mã hóa và giải mã là đối xứng
nhau nghĩa là chỉ dùng một khóa chung cho quá trình mã hóa hay giải mã và
quá trình giải mã chỉ đơn giản là làm ngƣợc lại quá trình mã hóa ban đầu.
Trong hệ mật mã khóa bí mật, trƣớc khi mã hóa dữ liệu để gửi đến
ngƣời nhận thì hai bên gửi và nhận phải thống nhất khóa chung K và thống
nhất cả thuật toán dùng để mã hóa và giải mã. A sẽ sử dụng mã khóa K để mã
hóa thông điệp x thành thông điệp y và gửi y cho B; B sẽ sử dụng mã khóa K
để giải mã thông điệp y này. Vấn đề an toàn bảo mật thông tin đƣợc mã hóa
phụ thuộc vào việc giữ bí mật mã khóa K. Nếu C biết đƣợc mã khóa K thì C có
thể giải mã thông điệp đã đƣợc mã hóa mà A gửi cho B.
192 hay 256 bit. Phƣơng pháp này thích hợp ứng dụng trên nhiều hệ thống
khác nhau từ các thẻ thông minh cho đến các máy tính cá nhân.
Mặc dù 2 tên AES và Rijndael vẫn thƣờng đƣợc gọi thay thế cho nhau
nhƣng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên