®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG
NGUYỄN THIÊN PHI
TÌM HIỂU MẬT MÃ HỘP TRẮNG
(WHITEBOX CRYPTOGRAPHY) VÀ ỨNG DỤNG
TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
th¸i nguyªn - n¨m 2014
®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG
NGUYỄN THIÊN PHI
TÌM HIỂU MẬT MÃ HỘP TRẮNG
(WHITEBOX CRYPTOGRAPHY) VÀ ỨNG DỤNG
TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
Người hướng dẫn khoa học: PGS.TS. TRỊNH NHẬT TIẾN
Thái Nguyên, 2014
i
LỜI CAM ĐOAN
Học viên xin cam đoan, toàn bộ nội dung liên quan tới đề tài đƣợc trình
bày trong luận văn là bản thân học viên tự tìm hiểu và nghiên cứu, dƣới sự
hƣớng dẫn khoa học của thầy PGS.TS.Trịnh Nhật Tiến.
Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc. Học
viên xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Thái Nguyên, 29 tháng 09 năm 2014
Học viên thực hiện
Nguyễn Thiên Phi
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
ii
LỜI CẢM ƠN
Luận văn này đƣợ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 thầy PGS.
TS. Trịnh Nhật Tiến.
Trƣớc tiên, Học viên 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ô giáo đã tận tình truyền đạt các kiến thức quý báu cho
học viên trong suốt quá trình học tập.
Đặc biệt học viên xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS.TS.
Trịnh Nhật Tiến, ngƣời định hƣớng, hƣớng dẫn học viên trong quá trình thực
hiện luận văn này, những lời động viên chỉ bảo giúp học viên vƣợt qua những
khó khăn để học viên hoàn thành tốt luận văn của mình. Bên cạnh những kiến
thức khoa học, thầy giáo đã giúp học viên nhận ra những bài học về phong
cách học tập, làm việc và những kinh nghiệm sống quý báu.
Nhân dịp này, học viên cũng xin gửi lời cảm ơn đến gia đình, bạn bè,
đồng nghiệp và những ngƣời thân đã tạo điều kiện giúp đỡ, động viên, trợ
giúp về tinh thần, vật chất để học viên hoàn thành luận văn này.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
iii
MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
MỤC LỤC ........................................................................................................ iii
DANH MỤC HÌNH .......................................................................................... v
DANH MỤC TỪ VIẾT TẮT .......................................................................... vii
MỞ ĐẦU ........................................................................................................... 1
1. Lý do chọn đề tài ....................................................................................... 1
2. Đối tƣợng và phạm vi nghiên cứu............................................................. 2
3. Hƣớng nghiên cứu của đề tài .................................................................... 3
4. Những nội dung nghiên cứu chính ............................................................ 3
5. Phƣơng pháp nghiên cứu........................................................................... 3
6. Ý nghĩa khoa học và thực tiễn của đề tài .................................................. 4
CHƢƠNG 1. VẤN ĐỀ AN TOÀN TRONG HỆ THỐNG THU PHÁT
THÔNG TIN SỐ ............................................................................................... 5
1.1. HỆ THỐNG THU PHÁT THÔNG TIN SỐ .......................................... 5
1.1.1. Các khái niệm cơ bản ...................................................................... 5
1.1.2. Những thách thức về an toàn bảo mật............................................. 6
1.2. PHƢƠNG PHÁP MÃ HOÁ KHỐI ....................................................... 6
1.2.1. Mật mã học ...................................................................................... 6
1.2.2. Mã hóa khối..................................................................................... 8
1.2.3. Một số cách tấn công vào hệ mã hóa hiện đại .............................. 16
1.3. MÃ HÓA HỘP TRẮNG TRÊN NỀN MÃ HÓA KHỐI ..................... 18
1.3.1. Giới thiệu về mã hóa hộp trắng. .................................................... 18
1.3.2. Các khái niệm cơ bản .................................................................... 19
1.3.3. Đề xuất sử dụng mật mã hộp trắng ............................................... 21
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
iv
CHƢƠNG 2. MÃ HÓA RIJNDAEL VÀ MÃ HOÁ HỘP TRẮNG AES...... 21
2.1. PHƢƠNG PHÁP MÃ HÓA RIJNDAEL ............................................ 22
2.1.1. Giới thiệu....................................................................................... 22
2.1.2. Quy trình mã hóa ........................................................................... 22
2.1.3. Phát sinh khóa của mỗi chu kỳ...................................................... 34
2.2. KỸ THUẬT XÂY DỰNG MÃ HÓA HỘP TRẮNG .......................... 42
2.2.1. Khái niệm và các ký hiệu trong mô tả thuật toán. ........................ 42
2.2.2. Kỹ thuật mã hóa hộp trắng trên AES ............................................ 43
2.2.3. Hiệu suất của mật mã hộp trắng .................................................... 51
CHƢƠNG 3. CHƢƠNG TRÌNH MÃ HÓA HỘP TRẮNG AES VÀ ỨNG
DỤNG TRONG HỆ THỐNG IPTV ............................................................... 54
3.1. BÀI TOÁN THỰC TẾ ......................................................................... 54
3.2. SET TOP BOX VÀ GIẢI PHÁP HIỆN NAY ..................................... 55
3.3. SỬ DỤNG MÃ HÓA HỘP TRẮNG MỀM HÓA SET-TOP BOX .... 57
3.3.1. Cài đặt chƣơng trình mã hóa trên AES ......................................... 57
3.3.2. Đề xuất mềm hóa Set-top box ....................................................... 66
3.3. NHẬN XÉT ......................................................................................... 68
KẾT LUẬN ..................................................................................................... 70
TÀI LIỆU THAM KHẢO ............................................................................... 71
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
v
DANH MỤC HÌNH
Hình 1.1 Quá trình truyền tin trong hệ thống thông tin số ................................ 5
Hình 1.2 Mô hình cơ bản của truyền tin bảo mật ............................................. 7
Hình 1.3 Cấu trúc thuật toán Feistel dùng trong DES .................................... 10
Hình 1.4 Hàm F (F-function) dùng trong DES .............................................. 11
Hình 1.5 Mô tả thuật toán tạo khóa con cho các chu trình ............................. 13
Hình 1.6 Biến đổi của hàm SubBytes ............................................................. 14
Hình 1.7 Biến đổi của hàm ShiftRows. ........................................................... 15
Hình 1.8 Biến đổi của hàm MixColumns ....................................................... 15
Hình 1.9 Biến đổi của hàm AddRoundKey .................................................... 16
Hình 1.10 Phƣơng pháp Entropy Attack ......................................................... 17
Hình 1.11 Mô hình hộp đen truyền thống ...................................................... 19
Hình 1.12 Kẻ thù công tấn công trong mô hình hộp trắng ............................. 20
Hình 1.13 Mô hình Mật mã hộp trắng ............................................................ 20
Hình 2.1. Biểu diễn dạng ma trận trạng thái (Nb = 6) và mã khóa (Nk = 4) .. 23
Hình 2.2 Quy trình mã hóa Rijndael ............................................................... 24
Hình 2.3 Thuật toán Mã hóa và giải mã Rijndael ........................................... 26
Hình 2.4 Thao tác SubBytes tác động trên từng byte của trạng thái .............. 27
Hình 2.5 Bảng thay thế S-box qua phép biến đổi SubBytes ........................... 28
Hình 2.6 Thao tác ShiftRows tác động trên từng dòng của trạng thái ............ 28
Hình 2.7 Giá trị di số shift(r,Nb) ..................................................................... 29
Hình 2.8 Các thao tác MixColumns tác động lên mỗi cột của trạng thái ....... 31
Hình 2.9 Các thao tác AddRoundKey tác động lên mỗi cột của trạng thái .... 34
Hình 2.10 Bảng mã khóa mở rộng và cách xác định mã khóa của chu kỳ ..... 36
Hình 2.11 Thao tác InvShiftRows tác động lên từng dòng của state.............. 38
Hình 2.12 Bảng thay thế S-box qua phép biến đổi InvSubBytes ................... 40
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
vi
Hình 2.13 Cấu trúc mỗi bảng tra cứu sau khi biến đổi ................................... 43
Hình 2.14 Khối MC......................................................................................... 45
Hình 2.15 Bảng loại IV ................................................................................... 46
Hình 2.16 Bảng loại II ..................................................................................... 47
Hình 2.17 Bảng loại III ................................................................................... 49
Hình 2.18 Bảng loại Ia .................................................................................... 50
Hình 2.19 Bảng loại Ib .................................................................................... 51
Hình 3.1 Minh họa việc phân chia bảng thành 2 phần dạng 1 ........................ 59
Hình 3.2 Minh họa việc phân chia bảng thành 2 phần dạng 2 ........................ 60
Hình 3.3 Giao diện viết chƣơng trình DEV C++ ............................................ 64
Hình 3.4 Giao diện phần mềm mã hóa hộp trắng ........................................... 65
Hình 3.5 Phần mềm mã hóa hộp trắng thực hiện mã hóa ............................... 66
Hình 3.6 Phần mềm mã hóa hộp trắng thực hiện giải mã ............................... 66
Hình 3.7 Sơ đồ khối phần mềm thay thế Set-top box ..................................... 68
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
vii
DANH MỤC TỪ VIẾT TẮT
AES :
Advanced Encryption Standard
DES :
Data Encryption Standard
DVD :
Digital Video Disc
FIPS
Federal Information Processing Standards
:
FP :
IBM :
ICME :
IP :
Final permutation
International Business Machines
International Congress on Mathematical Education
Initial permutation
IPTV :
Internet Protocol Television
NIST :
National Institute of Standards and Technology
NSA :
National Security Agency
STB :
Set-top box
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
1
MỞ ĐẦU
1. Lý do chọn đề tài
Không thể phủ nhận lợi ích của sự phát triển của Internet, nó là động
lực thúc đẩy phát triển của xã hội. Giúp chúng ta trao đổi, nắm bắt thông tin
một các nhanh chóng. Nhiều hoạt động của chúng ta nhƣ đọc báo, mua bán
hay thậm chí giao khoản có thể thông qua Internet. Những hoạt động truyền
tin này đều tiềm ẩn nguy cơ về bảo mật thông tin. Sự đảm bảo an toàn thông
tin ảnh hƣởng đến sự phát triển xã hội, nhƣ nhiều bản nhạc, bộ phim có thể
đƣợc chuyển đổi dƣới dạng số và chia sẻ một cách nhanh chóng mà không
phải trả một loại phí nào cho tác giả. Vâng, đây chính là vấn đề bản quyền
cũng vấn đề này rất nhiều văn bản đã ra đời nhằm bảo vệ quyền sở hữu trí tuệ
và chất xám của tác giả một cách mạnh mẽ. Mới đây nhất nhà nƣớc đã ban
hành Thông tƣ số 07/2012/TTLT-BTTTT-BVHTTDL, ngày 19-6 giữa Bộ
Thông tin - Truyền thông và Bộ Văn hóa - Thể thao và Du lịch (VH-TT-DL).
Thực hiện Thông tƣ số 07/2012/TTLT-BTTTT-BVHTTDL, các doanh
nghiệp cung cấp dịch vụ internet, viễn thông, lƣu trữ trực tuyến, mạng xã
hội… là nguồn khởi đầu đăng tải, truyền đƣa hoặc cung cấp nội dung thông
tin số (tác phẩm, cuộc biểu diễn, bản ghi âm, ghi hình, chƣơng trình phát
sóng) qua mạng viễn thông và internet mà không đƣợc phép của chủ thể
quyền; sửa chữa, cắt xén, sao chép nội dung thông tin số dƣới bất kỳ hình
thức nào mà không đƣợc phép của chủ thể quyềnthì sẽ phải chịu trách nhiệm
bồi thƣờng thiệt hại theo quy định của pháp luật về sở hữu trí tuệ và pháp luật
khác có liên quan.
Mặc dù Thông tƣ có nhiều quy định chặt chẽ hơn đối với việc vi phạm
bản quyền trên mạng Internet song nhiều doanh nghiệp cung cấp dịch vụ,
ngƣời dùng vẫn rất băn khoăn về khả năng thực thi của nó khi vẫn còn tồn tại
nhiều rào cản, vƣớng mắc.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
2
Các nội dung số của ngƣời dùng đƣa lên theo phƣơng thức tự nguyện
chia sẻ thì rất khó kiểm tra sản phẩm đó có bản quyền hay không.Chủ thể có
quyền tác giả hay không và việc truy tìm nguồn gốc cũng rất vất vả để các cơ
quan chức năng xử lý các vi phạm bản quyền khi các nội dung số đƣợc đƣa
lên website, mạng xã hội, dịch vụ lƣu trữ có máy chủ ở nƣớc ngoài. “Muốn
xử lý các vi phạm thì cơ quan chức năng phải liên hệ với chủ quản của
website, mạng xã hội ở nƣớc ngoài” việc này là rất khó khăn vì quá trình liên
hệ phức tạp, kéo dài. Đồng thời, nếu muốn xử lý đƣợc các nội dung số vi
phạm thì chúng phải là các sản phẩm có đăng ký bản quyền quốc tế và quốc
gia quản lý các website, mạng xã hội lƣu trữ các sản phẩm này phải có tham
gia công ƣớc quốc tế về bản quyền”.
Tuy nhiên hiện nay các nhà cung cấp dịch vụ IPTV đã sử dụng thiết bị đầu
cuối là hộp Set-top box[7] để đảm bảo quyền lợi của họ, nhƣng việc làm đó lại
gây cho khách hàng những quan ngại nhƣ họ đã trả tiền nhƣng lại chỉ đƣợc xem
cố định tại nhà, mà không phải là trên các thiết bị cầm tay nhƣ Tablet,
Mobiphone…, vậy có cách nào đó để các nhà cung cấp dữ liệu có thể đảm bảo
rằng việc họ chỉ có thể chuyển nội dung của họ cho những ngƣời mà họ xác định
(những ngƣời nhận dữ liệu hợp pháp) còn những ngƣời khác không thể biết
chính xác đƣợc nội dung cho dù họ vẫn thu đƣợc các tín hiệu đó.
Xuất phát từ ý tƣởng đó, đồng thời dƣới sự hƣớng dẫn và gợi ý của thầy
giáo PGS TS Trịnh Nhật Tiến, học viên đã chọn đề tài cho luận tốt nghiệp
Cao học ngành khoa học máy tính là
“TÌM HIỂU MẬT MÃ HỘP TRẮNG (WHITEBOX CRYPTOGRAPHY)
VÀ ỨNG DỤNG TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ”
2. Đối tƣợng và phạm vi nghiên cứu
Đề tài “Tìm hiểu mật mã hộp trắng (Whitebox Cryptography) và ứng
dụng trong hệ thống thu phát thông tin số” nghiên cứu phƣơng pháp mã hóa
bảo vệ thông tin số trong đó tập trung nghiên cứu: mã hóa khối, chi tiết thuật
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
3
toán đặc trƣng mã hóa Advanced Encryption Standard- AES, mã hóa hộp
trắng trên nền mã hóa AES từ đó xây dựng chƣơng trình mã hóa hộp trắng
trên AES để bảo vệ thông tin số.
Cùng với việc nghiên cứu về mã hóa hộp trắng trên AES, đề tài tập trung
nghiên cứu đề xuất xây dựng và phát triển hệ thống cho mã hóa hộp trắng
nhằm thay hộp Set-top boxtruyền thống bằng phần mềm.
3. Hƣớng nghiên cứu của đề tài
Đề tài tập trung nghiên cứu thuật toán mã hóa hộp trắng với các mục
tiêu đƣợc đặt ra nhƣ sau:
- Tìm hiểu thuật toán mã hóa khối
- Tìm hiểu kỹ thuật mã hóa hộp trắng trên AES
- Xây dựng các thí dụ minh họa miêu tả các kỹ thuật xử lý trong mã hóa
hộp trắng.
- Xây dựng chƣơng trình mã hóa hộp trắng trên AES
- Đề xuất Set-top box bằng phần mềm có sử dụng mã hóa hộp trắng.
4. Những nội dung nghiên cứu chính
Luận văn tập trung giải quyết các nội dung chính: Giới thiệu hệ thống
thông tin và mã hóa bảo vệ hệ thống thông tin (chương 1), tiếp đó là phân tích
chi tiết thuật toán mã hóa Rijndael[2](một hệ mã hóa điển hình của AES) và
mã hóa hộp trắng trên nền AES (chương 2) và cuối cùng là xây dựng chƣơng
trình mã hóa hộp trắng và đề xuất ứng dụng mã hóa hộp trắng AES trong hệ
thống IPTV.
5. Phƣơng pháp nghiên cứu
Dựa vào mục tiêu, nhiệm vụ của đề tài, các phƣơng pháp nghiên cứu
đƣợc sử dụng trong luận văn là:
- Tổng hợp, phân tích và đánh giá kết quả lý thuyết, các ứng dụng, các
nghiên cứu trong nƣớc và thế giới.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
4
- Kế thừa tối đa những kết quả nghiên cứu đã có ở trong nƣớc và trên
thế giới.
- Tìm hiểu, nghiên cứu và đề xuất các phƣơng pháp lý thuyết, tiến hành
xây dựng chƣơng trình mã hóa hộp trắng trên AES.
- Kiểm nghiệm chƣơng trình mã hóa hộp trắng.
- Tổ chức báo cáo, thảo luận định kỳ, trao đổi thƣờng xuyên các thông
tin, kết quả trong quá trình nghiên cứu với giáo viên hƣớng dẫn cũng nhƣ
những ngƣời trong ngành có liên quan.
- Nghiên cứu theo đúng kế hoạch đã đề ra.
6. Ý nghĩa khoa học và thực tiễn của đề tài
Chƣơng trình có nghĩa trên cả hai phƣơng diện lý thuyết và thực tiễn
- Về phƣơng diện lý thuyết: Đề tài đóng góp một số diễn giải và minh
họa cho hệ mã hóa hộp trắng trên AES để mã hóa thông tin số nhằm phát triển
công nghệ mã hóa hộp trắng dần khắc phục những nhƣợc điểm của mã hóa
truyền thống nhằm đảm bảo an ninh ngay trong môi trƣờng thực hiện.
- Về phƣơng diện thực tiễn: Cung cấp cho ngƣời dùng một sản phẩm
phầm mềm có tính năng tƣơng đƣơng nhƣ Set-top box làm giảm chi phí sản
xuất thiết bị, dễ dàng sửa chữa nâng cấp khi cần thiết.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
5
CHƢƠNG 1. VẤN ĐỀ AN TOÀN TRONG HỆ THỐNG THU
PHÁT THÔNG TIN SỐ
1.1. HỆ THỐNG THU PHÁT THÔNG TIN SỐ
1.1.1. Các khái niệm cơ bản
1.1.1.1. Hệ thống
Hệ thống là tập hợp các phần tử có quan hệ hữu cơ với nhau, tác động
chi phối lẫn nhau theo các quy luật nhất định để trở thành một chỉnh thể. Từ
đó xuất hiện thuộc tính mới gọi là tính trội của hệ thống mà từng phần tử
riêng lẻ không có hoặc có không đáng kể.
1.1.1.2. Hệ thống thông tin
Hệ thống thông tin là một hệ thống bao gồm các yếu tố có quan hệ với
nhau cùng làm nhiệm vụ thu thập, xử lý, lƣu trữ và phân phối thông tin và dữ
liệu và cung cấp một cơ chế phản hồi để đạt đƣợc một mục tiêu định trƣớc.
1.1.1.3. Hệ thống thông tin số
Hệ thống thông tin số là tập hợp các thiết bị (bao gồm: phần cứng,
phần mềm, môi trƣờng truyền) dùng để truyền tin từ nơi này đi nơi khác bằng
tín hiệu số.
1.1.1.4. Mô hình hệ thống thu phát thông tin số
Đây là sơ đồ tiêu biểu cho các hệ thống thông tin số, trong thực tế có
thể nhiều hơn, có thể ít hơn hoặc có thể thay thế bằng một số khối khác.
Hình 1.1 Quá trình truyền tin trong hệ thống thông tin số
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
6
1.1.2. Những thách thức về an toàn bảo mật
1.1.1.1. Thông tin bị rò rỉ, lộ bí mật
Thông tin, dữ liệu trong hệ thống bị lộ, lọt, truy nhập, lấy cắp, nghe
lén và sử dụng trái phép.
1.1.1.2. Thông tin thiếu xác thực, toàn vẹn và thiếu tin cậy
Thông tin, dữ liệu trong hệ thống bị thay thế hoặc sửa đổi làm sai lệch
nội dung.
1.1.1.3. Tính pháp lý và an ninh hệ thống
Thông tin, dữ liệu không bảo đảm hoặc không đƣợc cam kết về pháp
lý của ngƣời cung cấp; thông tin, dữ liệu không mong muốn bị tán phát hoặc
hệ thống bị tấn công mà không đƣợc kiểm soát hoặc không thể kiểm soát.
1.1.1.4. Tính kém sẵn sàng của hệ thống
Thông tin, dữ liệu không đảm bảo tính thời gian thực, hệ thống hay bị
sự cố, ngừng trệ, hỏng hóc; truy cập, khai thác khó khăn
1.2. PHƢƠNG PHÁP MÃ HOÁKHỐI
1.2.1. Mật mã học
Ngành mật mã học bao gồm hai lĩnh vực:
Mã hóa là việc nghiên cứu các thuật toán
tính bí mật
ứ
bảo đảm
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ã mật, các hàm băm, các hệ 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
là việc nghiên cứucác phƣơngpháp
hoặc tạo
.
Sản phẩm của lĩnh vực này là các phƣơng pháp giải 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ã.
1.2.1.1. Khái niệm hệ mã hóa.
a) Khái niệm
Hệ mã hóa là bộ gồm 5 thành phần (P, C, K, E, D) trong đó
P – Plaintext Tập hữu hạn các bản rõ có thể.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
7
C – Ciphertext Tập hữu hạn các bản mã có thể
K – Key Tập hữu hạn các khóa có thể
E – Encryption Tập các hàm lập mã có thể.
D – Decryption Tập các hàm giải mã có thể.
Với mỗi k ∈K, có hàm lập mã
∈D,
C → P sao cho
∈E,
P → C và hàm giải mã
( (x)) = x , ∀x ∈P.
Mã hóa cho ta bản mã
(P)= C.
Giải mã cho ta bản rõ
(C)= P.
1.2.1.2. Mô hình truyền tin cơ bản
Trong mô hình truyền tin thông thƣờng, thông tin đƣợc truyềntừ ngƣời
gửi đến ngƣời nhận đƣợc thực hiện
một kênh vật
ợ
toàn.
Trong khi đó mô hình cơ bản của truyền tin có bảo mật khác với truyền tin thông
thƣờng, có các yếu tố mới đƣợc thêm vào nhƣ khái niệm kẻ thù, các khóa mã
hóa, khóa giải mã để đảm bảo tính bảo mật của thông tin cần truyền đi.
Hình 1.2Mô hình cơ bản của truyền tin bảo mật
1.2.1.3. Luật Kerckhoffs
Trong quá khứ, mật mã đƣợc sử dụng chủ yếu cho các ứng dụng quân sự
và thông tin liên lạc ngoại giao. Để làm đƣợc điều này, chính phủ các nƣớc phát
triển toán mã hóa và hoàn toàn bí mật việc thiết kế này. Trong thực tế, những
thuật toán mã hóa này ngay sau khi thiết kế đã bị rò rỉ hoặc đã bị phá vỡ.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
8
Vào năm 1883, August Kerckhoffs nêu một định nghĩa nhƣ sau: một hệ
thống mật mã đƣợc coi là an toàn khi tất cả mọi thứ về hệ thống (ngoại trừ
khóa bí mật) là kiến thức công cộng (có nghĩa là toàn bộ cơ chế
/giả
ừ
ật đối với kẻ địch). Nguyên tắc này đƣợc chấp nhận rộng rãi,
bởi vì nó đã đƣợc chứng minh trong nhiều trƣờng hợp bảo mật. Việc áp dụng
các nguyên tắc này là nền tảng cho các nghiên cứu mật mã học hiện đại.
1.2.2. Mã hóa khối
Mã hóa khối là những thuật toán mã hóa đối xứng hoạt động trên
những khối thông tin có độ dài xác định (block) với những chuyển đổi xác
định. Chẳng hạn một thuật toán mã hóa khối có thể xử lý khối 128 bit đầu vào
và biến nó thành khối 128 bit ở đầu ra. Quá trình chuyển đổi còn sử dụng
thêm một tham số khóa bí mật để cá biệt hóa quá trình.
Việc giải mã cũng diễn ra tƣơng tự đó là xử lý khối mã hóa 128 bit
cùng với khóa để trả về khối 128 bit bản rõ ban đầu.Để mã hóa những văn
bản có độ dài vƣợt quá độ dài của khối, ngƣời ta sử dụng thuật toán theo
một chế độ mã hóa khối nào đó.
Phân biệt mã hóa khối với mã hóa dòng. Mã hóa dòng làm việc trên
từng bit của dòng dữ liệu và quá trình biến đổi thay đổi theo quá trình mã hóa.
Tuy nhiên, sự phân biệt giữa 2 phƣơng pháp nhiều khi không rõ ràng vì mã
hóa khối khi hoạt động theo một chế độ nào đó thì có tác dụng nhƣ một
phƣơng pháp mã hóa dòng.
Thuật toán mã hóa khối ra đời sớm và có nhiều ảnh hƣởng là thuật
toán Data Encryption Standard- DES do công ty IBM phát triển và đƣợc ban hành
làm tiêu chuẩn năm 1977.
1.2.2.1. Mã hóa DES
Data Encryption Standard ký hiệu là DES là một phƣơng pháp mật mã
hóa đƣợc FIPS (Federal Information Processing Standards) chọn làm chuẩn
chính thức vào năm 1976. Sau đó chuẩn này đƣợc sử dụng rộng rãi trên phạm
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
9
vi thế giới. Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó
bao gồm các thành phần thiết kế mật, độ dài khóa tƣơng đối ngắn, và các nghi
ngờ về cửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa.
Do đó, DES đã đƣợc giới nghiên cứu xem xét rất kỹ lƣỡng, việc này đã thúc
đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phƣơng
pháp thám mã tƣơng ứng.
Hiện nay DES đƣợc xem là không đủ an toàn cho nhiều ứng dụng.
Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ.
Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lý
thuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong
thực tiễn. Thuật toán đƣợc tin tƣởng là an toàn trong thực tiễn có dạng Triple
DES (thực hiện DES ba lần), mặc dù trên lý thuyết phƣơng pháp này vẫn có
thể bị phá.
Mô tả thuật toán
DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin của bản
rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành
khối thông tin của bản mã có độ dài không thay đổi. Trong trƣờng hợp của
DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa để cá biệt hóa quá
trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã đƣợc văn bản
mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit
thực sự đƣợc sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài
thực tế của khóa chỉ là 56 bit. Giống nhƣ các thuật toán mã hóa khối khác, khi
áp dụng cho các văn bản dài hơn 64 bit, DES phải đƣợc dùng theo một
phƣơng pháp nào đó.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
10
Hình 1.3 Cấu trúc thuật toán Feistel dùng trong DES
Cấu trúc tổng thể của thuật toán đƣợc thể hiện ở Hình 1.3 có 16 chu
trình giống nhau trong quá trình xử lý. Ngoài ra còn có hai lần hoán vị đầu và
cuối (Initial and final permutation - IP & FP).
Hai quá trình này có tính chất đối nhau (Trong quá trình mã hóa thì IP
trƣớc FP, khi giải mã thì ngƣợc lại). IP và FP không có vai trò xét về mật mã
học và việc sử dụng chúng chỉ có ý nghĩa đáp ứng cho quá trình đƣa thông tin
vào và lấy thông tin ra từ các khối phần cứng có từ thập niên 1970. Trƣớc khi
đi vào 16 chu trình chính, khối thông tin 64 bit đƣợc tách làm hai phần 32 bit
và mỗi phần sẽ đƣợc xử lý tuần tự (quá trình này còn đƣợc gọi là mạng
Feistel).
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
11
Cấu trúc của thuật toán (mạng Feistel) đảm bảo rằng quá trình mã hóa
và giải mã diễn ra tƣơng tự. Điểm khác nhau chỉ ở chỗ các khóa con đƣợc sử
dụng theo trình tự ngƣợc nhau. Điều này giúp cho việc thực hiện thuật toán
trở nên đơn giản, đặc biệt là khi thực hiện bằng phần cứng.
Ký hiệu sau:
thể hiện phép toán XOR. Hàm F làm biến đổi một nửa
của khối đang xử lý với một khóa con.
Đầu ra sau hàm F đƣợc kết hợp với nửa còn lại của khối và hai phần
đƣợc tráo đổi để xử lý trong chu trình kế tiếp. Sau chu trình cuối cùng thì 2
nửa không bị tráo đổi; đây là đặc điểm của cấu trúc Feistel khiến cho quá
trình mã hóa và giải mã trở nên giống nhau.
Hàm Feistel (F)
Hình 1.4 Hàm F (F-function) dùng trong DES
Hàm F, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn:
Mở rộng: 32 bit đầu vào đƣợc mở rộng thành 48 bit sử dụng thuật toán
hoán vị mở rộng (expansion permutation) với việc nhân đôi một số bit. Giai
đoạn này đƣợc ký hiệu là E trong sơ đồ.
Trộn khóa: 48 bit thu đƣợc sau quá trình mở rộng đƣợc XOR với khóa
con. Mƣời sáu khóa con 48 bit đƣợc tạo ra từ khóa chính 56 bit theo một chu
trình tạo khóa con (key schedule) miêu tả ở phần sau.
Số hóa bởi Trung tâm Học liệu
http://www.lrc-tnu.edu.vn/
- Xem thêm -