Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
LỤC VŨ KHANH
THIẾT KẾ HỆ THỐNG MÃ KHỐI
BẰNG CÔNG NGHỆ FPGA
LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ
THÁI NGUYÊN 2010
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ
Ngành: KỸ THUẬT ĐIỆN TỬ
Mã số: 60 52 70
Học viên: Lục Vũ Khanh
Người hướng dẫn Khoa học: PGS.TS. Đỗ Xuân Tiến
THÁI NGUYÊN 2010
Tên đề tài:
THIẾT KẾ HỆ THỐNG MÃ KHỐI
BẰNG CÔNG NGHỆ FPGA
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
MỤC LỤC
Trang
Trang phụ bìa
Lời cam đoan
Lời cảm ơn
MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC HÌNH VẼ 8
MỞ ĐẦU 10
CHƢƠNG 1 HỆ TRUYỀ N TIN MẬ T VÀ CƠ SỞ LÝ THUYẾ T MÃ KHỐ I 13
1.1. TỔ NG QUAN VỀ HỆ TRUYỀ N TIN MẬ T. 13
1.1.1. Mô hì nh hệ thố ng truyề n tin mậ t. 13
1.1.2. Cc phƣơng php m mật cơ bản. 15
1.1.2.2. Phƣơng phá p thay thế . 15
1.1.3. Mô hì nh hệ mậ t. 16
1.1.3.1. Hệ mậ t đố i xƣ́ ng (Hệ mậ t khoá bí mậ t). 16
1.1.3.2. Hệ mậ t không đố i xƣ́ ng (Hệ mậ t khoá công khai). 17
1.1.4. Phân loạ i hệ mã 18
1.1.5. Đá nh gi đ mật của hệ thống truyền tin mật. 20
1.2. CƠ SỞ LÝ THUYẾ T VỀ MÃ KHỐ I. 21
1.2.1. Khi niệm về m khối. 21
1.2.2. Nguyên lý thiế t kế mã khố i. 22
1.2.2.1. Nguyên lý thiế t kế chung về độ an toà n 22
1.2.2.2. Nguyên lý thiế t kế cho ƣ́ ng dụ ng 23
1.2.3. Cc tham số của m khối. 23
1.2.3.1. Đ di khối m. 23
1.2.3.2. Đ di kha k v c kha đng k
t
. 24
1.2.4. Cc cấu trc m khối cơ bản. 24
1.2.4.1. Cấ u trú c mã Feistel. 24
1.2.4.2. Cấ u trú c cộ ng - nhân. 26
1.2.5. Cc m lp. 27
1.2.5.1. M lp v hm vng 27
1.2.6. Đ an ton của cc hệ m khối. 28
1.3. GIỚ I THIỆ U MỘ T SỐ KỸ THUẬ T MÃ KHỐ I. 29
1.3.1. Chuẩ n mã dƣ̃ liệ u DES 29
1.3.2. Chuẩ n mã dƣ̃ liệ u Xô-Viế t. 30
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
1.3.3. Thuậ t toá n mã hoá dƣ̃ liệ u IDEA. 32
1.3.3.1. Qu trình mã hoá củ a IDEA. 32
1.3.3.3. Qu trình giải m của IDEA. 35
1.3.4. Cc chế đ ứng dụng của m khối. 35
1.3.5. Mt số giải php kỹ thuật thiết kế m khối. 38
1.3.5.1. Thiết kế m khối bằng chƣơng trình phần mềm. 38
1.3.5.2. Thiết kế m khối bằng công cụ phần cứng. 39
1.3.5.3. Lựa chọn giải php thiết kế module m khối ở Việt Nam. 40
1.4. Kết luận chƣơng. 40
CHƢƠNG 2: CÔNG NGHỆ FPGA 42
2.1. TỔNG QUAN VỀ CÔNG NGHỆ FPGA. 42
2.1.1. Giới thiệu về công nghệ FPGA. 42
2.1.1.1. Sự phát triển của các thiết bị lập trình đƣợc. 42
2.1.1.2. Cấu trúc cơ bản của FPGA. 45
2.1.1.3. Phân loại FPGA. 49
2.1.1.4. Ứng dụng của FPGA. 52
2.1.2. Quá trình thiết kế cơ bản trên FPGA. 52
2.1.2.1. Giới thiệu về quá trình thiết kế. 52
2.1.2.2. Tối ƣu lô gic. 54
2.1.2.3. Ánh xạ công nghệ. 54
2.1.2.4. Sắp xếp các phần tử (Placement). 55
2.1.2.5. Định tuyến trên FPGA (rounting) 56
2.1.2.6. Tải nạp chƣơng trình. 57
2.1.3. Giới thiệu về FPGA của hãng ALTERA. 57
2.1.3.1. Các loại FPGA trên thị trƣờng. 57
2.1.3.2. Đc điểm thiết bị FPGA của hãng Altera. 58
2.1.3.3. Các họ FPGA của hãng Altera. 59
2.1.4. Các công cụ thiết kế. 60
2.1.4.1. Giới thiệu về EDA. 60
2.1.4.2. Giới thiệu công cụ thiết kế Quartus II. 61
2.1.4.3. Giới thiệu công cụ thiết kế MAX + PLUS II. 63
2.1.5. Các ngôn ngữ mô tả phần cứng. 65
2.2. NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL. 66
2.2.1. Giới thiệu chung về ngôn ngữ VHDL. 66
2.2.1.1. Mô tả cấu trúc. 66
2.2.1.2. Mô tả hoạt đng. 67
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
2.2.1.3. Mô hình thời gian theo các sự kiện rời rạc. 68
2.2.2. Mô hình tổ chức. 69
2.2.2.1. Thƣ viện thiết kế. 69
2.2.2.2. Các cấu hình. 70
2.3 Kết luận chƣơng. 70
CHƢƠNG 3: THIẾT KẾ HỆ THỐNG MÃ KHỐI 71
3.1. CẤU TRÚC CỦA MODULE MÃ KHỐI. 71
3.1.1. Cấu trc chung. 71
3.1.2. Mt số yêu cầu đối với module m khối 71
3.2. LỰA CHỌN THUẬT TOÁN CHO MÔ PHỎNG THIẾT KẾ. 72
3.2.1. Lựa chọn thuật ton. 72
3.2.2. Mô tả thuật ton DES. 72
3.2.2.1. Hm F trong thuật ton DES. 73
3.2.2.2. Lƣợc đồ tạo kho m dịch. 78
3.3. PHƢƠNG PHÁP THIẾT KẾ MODULE DES TRÊN FPGA. 80
3.3.1. Quy trình v công cụ thiết kế. 80
3.3.1.1. Quy trình thiết kế. 80
3.3.1.2. Công cụ thiết kế. 81
3.3.2. Sơ đồ khối chức năng của module m khối DES trên FPGA. 81
3.3.2.1. Sơ đồ khối tổng qut. 81
3.3.2.3. Sơ đồ khối chức năng của module DES. 83
3.3.3. Mô tả hoạt đng của cc khối trong module DES bằng VHDL. 85
3.3.3.1. Khối cc phép hon vị 86
3.3.3.2. Mô tả khối DES16. 87
3.3.3.3. Khối deskey (tính ton kho). 92
3.3.3.4. Khối Control (điều khiển). 93
3.3.3.5. Khối Converter (lấy dữ liệu vo/ra) 94
3.3.3.6. Tổng hợp cc khối chức năng của module DES. 95
3.3.3.7. Kiểm tra thiết kế. 96
3.3.4. Phần cứng mô phỏng module DES 96
3.3.4.1. Khối xử lý chính (m ho/giải m). 97
3.3.4.2. Khối cấu hình cho FPGA. 97
3.3.4.3. Cc phần mạch khc. 99
3.3.5. Kiểm tra sự hoạt đng của DES trong module m khối. 99
3.4. KẾT QUẢ THIẾT KẾ MODULE MÃ KHỐI DES. 101
3.4.1. Kết quả thiết kế. 101
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4
3.4.1.1. Sơ đồ phần cứng của module. 101
3.4.1.2. Kiểm tra kết quả thiết kế. 104
3.4.2. Đnh gi kết quả thiết kế module m khối. 105
3.5 Kết luận chƣơng. 106
3.6 Kết luận chung 106
TÀI LIỆU THAM KHẢO 108
PHỤ LỤC 1 110
PHỤ LỤC 2: CHƢƠNG TRÌNH MÔ TẢ DES BẰNG VHDL 113
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
DANH MỤC CÁC TỪ VIẾT TẮT
Viết
tắt
Tiếng Anh
Tiếng VIệt
APEX
Advanced ProgrammablE logic
matriX
Ma trận logic lập trình đƣợc
ASIC
Application-Specific Integrated
Circuit
Vi mạch tích hợp chuyên dụng
CAE
Computer-Aided Electronics
Công cụ thiết kế mạch điện tử có
hỗ trợ máy tính
CBC
Cipher Block Channing mode
Phƣơng thƣ́ c mó c xí ch khố i mã
CPLD
Complex Programmable Logic
Devices
Thiết bị lôgíc lập trình phức hợp
CDL
Computer Design Language
Ngôn ngữ mô tả dòng dữ liệu phát
triển trong qúa trình đào tạo
CFB
Cipher Freed Back
Chế đ phản hồi m
CSM
Component & Supplier
Management
Hệ thống quản trị nhà cung cấp và
thành phần
ECB
Electronic Code Book
Chế đ sch m điện tử
DES
Data Encryption Standard
Chuẩn m ho dữ liệu
DSP
Digital Signal Processing
Xử lý tín hiệu số
EDA
Electronic Design Automation
Thiết kế điện tử tự đng ho
FPGA
Field-Programmable Gate Array
Vi mạch dùng cấu trc mảng phần
tử logic m ngƣời dùng c thể lập
trình đƣợc
FLEX
Flexible Logic Element MatriX
Ma trận phần tử logic linh hoạt
GOST
Gosudarstvennyy Standart
Hệ m dữ liệu Xô Viết
IDEA
International Data Encryption
Algorithm
Thuật ton m ho dữ liệu quốc tế
IC
Integrated Circuit
Mạch tích hợp
IEEE
Institude of Electrical and
Electronic Engineers
Học Viện kỹ nghệ Điện v Điện Tử
LAB
Logic Array Block
Mảng lớn các Block lập trình đƣợc
LUT
Look-Up Table
Bảng tìm kiếm
LB
Logic Block
Khối Logic
LC
Logic Cell
Tế bo Logic
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
MAX
Multiple Array matriX
Ma trận chuỗi đa phần tử
MCM
Multi-Chip Module
Mô đun đa chip
MCAD
Mechanical Computer-Aided
Design
Hệ thống thiết kế cơ khí có trợ giúp
của máy tính
OFB
Output Freed Back
Chế đ phản hồi đầu ra
OTP
One - Time Programmable
Loại SRAM lập trình mt lần
PES
Proposed Encryption Standard
Chuẩn m ha dữ liệu
PLD
Programmable Logic Device
Thiết bị logic lập trình đƣợc
PAL
Programmable Array Logic
Mảng logic lập trình đƣợc
PLA
Programmable Logic Array
Mảng logic lập trình đƣợc
PROM
Programmable Read Only Memory
Chíp b nhớ chỉ đọc lập trình đƣợc
RSA
RSA l mt thuật ton mật m ha kha công khai. Thuật ton đƣợc Ron
Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vo năm 1977 tại
Học viện Công nghệ Massachusetts (MIT). Tên của thuật ton lấy từ 3
chữ ci đầu của tên 3 tc giả.
RISC
Reduced Instructions Set Computer
My tính với tập lệnh đơn giản ha
SRAM
Static Random Access Memory
B nhớ truy cập ngẫu nhiên tĩnh
SSI
Small Scale Integrated
Vi mạch tích hợp c nhỏ
VLSI
Very Large-Scale Integration
Vi mạch tích hợp c lớn
VHDL
Very high speed integrated circuits
HDL
Ngôn ngữ mô tả các hệ thống điện
tử số
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
DANH MỤC CÁC BẢNG
Bảng
Nội dung
2.1
Mt số loại FPGA trên thị trƣờng
2.2
Số cổng sử dụng và các chân I/O của các họ FPGA Altera
3.1
Cc tham số của phép hon vị ban đầu IP
3.2
Cc tham số của phép hon vị FP
3.3
Cc tham số của hm mở rng E
3.4
Tham số của cc hp S-Box
3.5
Cc tham số của phép hon vị P
3.6
Cc tham số của phép hon vị PC-1
3.7
Cc tham số của phép hon vị PC-2
3.8
Mô tả cc tín hiệu vo ra của modul DES
3.9
Danh sch cc tệp tin của module DES
3.10
Chức năng cc tín hiệu vo/ra của EPC2 LC20
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
DANH MỤC CÁC HÌNH VẼ
Hình vẽ
Nội dung
1.1
Mô hì nh hệ thố ng truyề n tin
1.2
Mô hì nh hệ thố ng truyề n tin mậ t
1.3
Mô hình hệ mật kho bí mật
1.4
Mô hình hệ mật kho công khai
1.5
Sơ đồ cấu trc cng-nhân
1.6
Mt m lp r vng với hm vng f
1.7
Mô tả mt vng của DES
1.8
Sơ đồ mt vng lp của GOST
1.9
Sơ đồ cấu trc của IDEA
1.10
Chi tiết mỗi vng đơn của IDEA
1.11
Phép biến đổi ra của qu trình m ho IDEA
1.12
Cc chế đ hoạt đng của m khối
1.13
Cc kỹ thuật thiết kế m khối
2.1
Cấu trc của PLA
2.2
Cấu trc của PAL
2.3
Cấu trc của CPLD
2.4
Mô tả mô hình của mt FPGA
2.5
Cấu trc Logic Cell trong FPGA
2.6
Cấu trc của FPGA
2.7
Bốn loại FPGA điển hình
2.8
Cấu trc SRAM FPGA (SRAM Logic Cell)
2.9
Cấu trc của OTP FPGA (OTP Logic Cell)
2.10
Qu trình thiết kế trên FPGA
2.11
Kiến trc tổng qut của Altera FPGA MAX 7000
3.1
Cấu trc chung của Module m khối
3.2
Lƣợc đồ của thuật ton DES
3.3
Mt vng của DES
3.4
Hm F trong thuật ton DES
3.5
Sơ đồ tính kho của thuật ton DES
3.6
Sơ đồ khối tổng qut của Module m khối DES trên FPGA
3.7
Qu trình m ho/giải m DES
3.8
Mô tả chức năng module m ho DES
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
3.9
Cấu trc I/O của DES trên công cụ Quartus
3.10
Sơ đồ thực thể phép hon vị IP
3.11
Mô tả 16 vng lp của DES
3.12
Sơ đồ thiết kế của mt vng lp
3.13
Sơ đồ thực thể hp S-BOX
3.14
Sơ đồ khối tạo kho con
3.15
Mô tả khối vo/ra dữ liệu
3.16
Sơ đồ liên kết giữa cc khối trong module DES
3.17
Sơ đồ khối phần cứng của module m khối DES
3.18
Sơ đồ ghép nối giữa FPGA v cp MV
3.19
Sơ đồ ghép nối giữa FPGA v linh kiện cấu hình
3.20
Sơ đồ khối phần cứng mô phỏng
3.21
Hình ảnh module m khối DES đ đƣợc thiết kế
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
MỞ ĐẦU
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn v đa dạng, các tiến b
về điện tử - viễn thông và công nghệ thông tin không ngừng đƣợc phát triển ứng
dụng để nâng cao chất lƣợng và lƣu lƣợng truyền tin thì các quan niệm về ý tƣởng
và biện pháp bảo vệ thông tin dữ liệu cũng đƣợc đổi mới. Bảo vệ an toàn thông tin
dữ liệu là mt chủ đề rng, c liên quan đến nhiều lĩnh vực và trong thực tế có thể
có rất nhiều phƣơng php đƣợc thực hiện để bảo vệ an toàn thông tin dữ liệu. Các
phƣơng pháp bảo vệ an toàn thông tin dữ liệu có thể đƣợc quy tụ vào ba nhóm
chính:
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể đƣợc ứng dụng riêng rẽ hoc phối kết hợp. Môi trƣờng
khó bảo vệ an toàn thông tin nhất v cũng l môi trƣờng đối phƣơng dễ xâm nhập
nhất đ l môi trƣờng mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất
hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán.
Để bảo mật thông tin trên đƣờng truyền ngƣời ta sử dụng các phƣơng pháp
mã hoá. Dữ liệu đƣợc biến đổi từ dạng nhận thức đƣợc sang dạng không nhận thức
đƣợc theo mt thuật ton no đ v sẽ đƣợc biến đổi ngƣợc lại ở trạm nhận.
Mật mã là mt ngành khoa học chuyên nghiên cứu các phƣơng pháp truyền
tin bí mật. Mật mã bao gồm : Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã
hóa và giải m. Để bảo vệ thông tin trên đƣờng truyền ngƣời ta thƣờng biến đổi nó
từ dạng nhận thức đƣợc sang dạng không nhận thức đƣợc trƣớc khi truyền đi trên
mạng, qu trình ny đƣợc gọi là mã hoá thông tin (encryption), ở trạm nhận phải
thực hiện quá trình ngƣợc lại, tức là biến đổi thông tin từ dạng không nhận thức
đƣợc (dữ liệu đ đƣợc mã hoá) về dạng nhận thức đƣợc (dạng gốc), quá trình này
đƣợc gọi là giải m. Đây l mt lớp bảo vệ thông tin rất quan trọng v đƣợc sử dụng
rng rãi trong môi trƣờng mạng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
Trong kỹ thuậ t mậ t mã , hệ mã khố i đƣợ c đá nh giá là hệ mậ t có nhiề u ƣu
điể m, phù hợp cho cc hoạt đng bảo mật tốc đ cao . Tuy nhiên, tƣ̀ trƣớ c đế n nay ở
nƣớ c ta, việ c thƣ̣ c hiệ n mã khố i mớ i chỉ thƣ̣ c hiệ n bằ ng phầ n mề m trên má y tí nh PC
v chỉ p dụng đƣợc cho cc hệ truyền tin c tốc đ kh ông cao, do vậ y khả năng
ứng dụng m khối vo bảo mật cho cc luồng thông tin tốc đ cao cn gp nhiều
kh khăn. Bi ton bảo mật luồng dữ liệu tốc đ cao chỉ c thể giải quyết đƣợc trên
cơ sở “cƣ́ ng hoá ” đƣợ c cá c thuậ t ton m khối, theo nghĩ a việ c thƣ̣ c hiệ n cá c thuậ t
ton m khối đƣợc thiết kế bằng phần cứng . Do tí nh chấ t phƣ́ c tạ p củ a cá c thuậ t
ton m khối, việ c cƣ́ ng hoá mã khố i theo phƣơng phá p thiế t kế mạ ch điệ n tƣ̉ truyề n
thố ng trong điề u kiệ n nề n khoa họ c và công nghệ ở Việ t Nam cò n hạ n chế là rấ t khó
khăn, trong khi đó hiệ n nay đã có nhiề u công nghệ hiệ n đạ i để xƣ̉ lý bà i toá n nà y
nhƣ công nghệ ASIC (Application-Specific Integrated Circuit) hay FPGA (Field-
Programmable Gate Array ).
Xuất pht từ cc vấn đề trên, tc giả tập trung nghiên cứu “
” để cứng ho cc thuật ton m khối. Việ c
nghiên cƣ́ u để có thể cƣ́ ng hoá cá c thuậ t toá n mã khố i trên c c công cụ phần cứng
nhằ m đá p ƣ́ ng cá c yêu cầ u về tố c độ xƣ̉ lý dƣ̃ liệ u , tính chủ đng, chuyên dụ ng hoá
thiế t bị bả o mậ t cũ ng nhƣ giá thà nh là mộ t hƣớ ng nghiên cƣ́ u mớ i.
Kết quả nghiên cứu của đề ti sẽ gp phần lm rõ tính ƣu việt của công nghệ
FPGA đƣợc ứng dụng trong thiết kế hệ chuyển đổi mã mật tốc đ cao, đá p ƣ́ ng
đƣợc yêu cầ u về tốc đ xử lý dữ liệu, tính chủ đng, chuyên dụng ho thiết bị bảo
mật là mộ t sƣ̣ vậ n dụ ng , nghiên cƣ́ u phù hợ p vớ i điề u kiệ n thƣ̣ c t ế về công nghệ v
yêu cầ u sƣ̉ dụ ng ở Việ t Nam .
Ni dung của đề ti
bao gồm:
Chƣơng 1: Hệ truyền tin mật v cơ sở lý thuyết m khối.
Trình by cc vấn đề cơ bản về lý thuyết truyền tin, lý thuyết m v m mật
kết hợp với sự phát triển của kỹ thuật vi xử lý hiện đại; Giới thiệu tổ ng quan về hệ
truyề n tin mậ t và cơ sở lý thuyế t mã khố i.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Chƣơng 2: Công nghệ FPGA và ngôn ngƣ̃ mô tả phầ n cƣ́ ng VHDL.
Trình by cc vấn đề liên quan đến công nghệ FPGA, cấu trc chức năng của
FPGA, phân loại cũng nhƣ cc ứng dụng thực tế của công nghệ FPGA. Giới thiệu
FPGA của hng Altera v cc công cụ thiết kế đi kèm của hng cùng với ngôn ngữ
mô tả phần cứng VHDL.
Chƣơng 3: Thiết kế hệ thống m khối.
Chƣơng ny trình by về phƣơng phá p thiế t kế module mã khố i trên công
nghệ FPGA, phần cứng mô phỏng module DES v cc kết quả thiết kế module m
khối DES trên FPGA.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
CHƢƠNG 1
HỆ TRUYỀ N TIN MẬ T VÀ CƠ SỞ LÝ THUYẾ T MÃ KHỐ I
1.1. TỔ NG QUAN VỀ HỆ TRUYỀ N TIN MẬ T.
1.1.1. Mô hì nh hệ thố ng truyề n tin mậ t .
Trong cuộ c số ng , con ngƣờ i luôn có nhu cầ u trao đổ i thông tin vớ i nhau có
nghĩa l c nh u cầ u truyề n tin cho nhau . Hình 1.1 biể u diễ n mô hì nh củ a hệ thố ng
truyề n tin bao gồ m: Nguồ n tin, kênh tin và nhậ n tin.
1.3: .
Trong mô hì nh nà y: Nguồ n tin là nơi sả n sinh ra cá c tin tƣ́ c cầ n truyề n đi trên
kênh tin dƣớ i dạ ng cá c bả n tin. Kênh tin là môi trƣờ ng vậ t lý xá c đị nh để truyề n cá c
bản tin dƣới cc dạng tín hiệu điện , quang …. Nhậ n tin là cơ cấ u khôi phụ c thông
tin ban đầ u tƣ̀ tí n hiệ u lấ y ở đầ u ra củ a kênh tin.
Do xã hộ i ngà y cà ng phá t triể n , nên nhu cầ u trao đổ i thông tin cũ ng tăng theo
không ngƣ̀ ng. Cc ni dung thông tin c liên quan đến lợi ích , quyề n lợ i củ a mộ t số
ngƣờ i hay mộ t giai cấ p nà o đó cầ n đƣợ c giƣ̃ kí n, bí mật vì vậy nhu cầu bảo mật ni
dung thông tin đƣợ c truyề n đi hì nh thà nh và phá t triể n ngà y cà ng lớ n.
Song song vớ i sƣ̣ phá t triể n mạ nh mẽ củ a khoa họ c công nghệ nó i chung và
công nghệ thông tin nó i riêng thì bảo mật ni dung thông tin đng mt vai tr hết
sƣ́ c quan trọ ng đố i vớ i tấ t cả c cá c lĩ nh vƣ̣ c : Chính trị, quân sƣ̣ , ngoại giao, kinh tế ,
x hi … v đối với an ninh của mọi quốc gia trên ton thế giới.
Do vậ y hệ thố ng tru yề n tin mậ t là hệ thố ng mà trong đó nộ i dung thông tin
phải đƣợc bảo vệ v giữ bí mật khi truyền trên kênh tin trƣớc sự tấn công , khm ph
bấ t hợ p phá p củ a mã thá m . Hình 1.2 mô tả mộ t cá ch tổ ng quá t về mô hì nh củ a mộ t
hệ thố ng truyề n tin mậ t . Trong đó : M ho l qu trình biến đổi cc bản tin rõ R
thnh cc bản tin m M bằng thuật ton m ho E
K
v đƣợc xem nhƣ mt hm :
M = E(R,K
E
)
nguån tin
kªnh tin
nhËn tin
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
1.4: .
Giải m l qu trình biến đổi ngƣợc của m ho c nghĩa l biến đổi cc bản
tin mã M tƣ̀ đầ u ra củ a kênh tin thà nh cá c bả n tin rõ R để đƣa tớ i nhậ n tin và cũ ng
đƣợ c xem nhƣ mộ t hà m:
R = D(M,K
D
)
Cc kho m K
E
v kho dịch K
D
đƣợ c gọ i là khoá mã mậ t tham gia và o cá c
thuậ t toá n mã hoá E và thuậ t toá n giả i mã D.
M thm l cc đối tƣợng c khả năng chn bắt , thu nhậ n cá c bả n tin mã M tƣ̀
kênh tin, nhƣng không biế t khoá mã K
E
v kho giải m K
D
nhằ m tì m ra bả n tin rõ
R (thông thƣờ ng mã thá m sƣ̉ dụ ng khoá giả i mã K
'
D
để tìm ra bản rõ R
'
R).
Nhiễ u là do sƣ̣ tá c độ ng củ a môi trƣờng truyền dẫn.
Đôi khi thƣờ ng bị đồ ng nhấ t hai khá i niệ m hệ thố ng truyề n tin mậ t và hệ mậ t
khi đá nh giá độ mậ t củ a hệ thố ng . Theo [1] hệ mậ t là mộ t bộ 5 (R, M, K, E, D) thoả
mn cc điều kiện sau:
a. R (không gian cá c bản tin rõ) l mt tập hợp hữu hạn cc bản rõ c thể c.
b. M (không gian cá c bả n tin mã ) l mt tập hợp cc bản tin m c thể c.
c. K (không gian khoá ) l mt tập hợp hữu hạn cc kho mật m c thể c.
m· ho¸
kªnh tin
nhËn tin
gi¶i m·
nguån tin
kho¸ mËt m·
m· th¸m
kho¸ mËt m·
nhiÔu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
d. Đối với mỗ i k
K có mộ t quy tắ c mã hoá e
k
E và mộ t thuậ t toá n giả i mã
tƣơng ƣ́ ng d
k
D, m mỗi e
k
: R
M và d
k
: M
R l những hm đƣợc thoả mn
d
k
(e
k
(x)) = x vớ i mọ i bả n tin rõ x
R.
Điề u kiệ n (d) l quan trọng nhất c nghĩa l nếu c mt bản tin rõ x đƣợc m
ho bằng thuật ton E v bản tin m nhận đƣợc sau đ đƣợc giải m bằng thuật ton
giải m D thì phả i thu đƣợ c bả n tin rõ x ban đầ u.
1.1.2. Cc phƣơng php m mt cơ bản .
C hai phƣơng php m mật cơ bản l: Chuyể n vị (Transportation) v thay thế
(Substitution).
1.1.2.1. .
Chuyể n vị là sƣ̣ thay đổ i cá c vị trí cá c thà nh phầ n củ a bả n tin rõ theo mộ t quy
ƣớc no đ . Sƣ̣ thay đổ i vị trí nà y phụ thuộ c và o mộ t khoá xá c đị nh dù ng cho cả
m ho v giải m.
Nhậ n thấ y rằ ng hệ mã chuyể n vị không có cá c phé p toá n đ ại số no đƣợc thực
hiệ n khi mã hoá , giải m v đ di của bản tin m bằng với đ di của bản tin rõ ,
nên mã thá m có thể dễ dà ng khá m phá để tì m ra bả n tin rõ ban đầ u nhờ việ c tì m cá c
hon vị c nghĩa từ bản ti n mã . Cc thnh phần của bản tin bị xo trn thay đổi trật
tƣ̣ là m biế n đổ i về hì nh thƣ́ c nhƣng về “chấ t” thì vẫ n tồ n tạ i tầ n suấ t xuấ t hiệ n củ a
cc phần tử rõ trong bản m vẫn giữ nguyên . Phƣơng phá p nà y có độ mậ t r ất hạn
chế .
1.1.2.2. .
Thay thế là sƣ̣ thay thế cá c phầ n tƣ̉ củ a bả n tin rõ bằ ng cá c phầ n tƣ̉ củ a bả n tin
m tƣơng ứng theo mt quy ƣớc xc định no đ để nhận đƣợc bản tin m mong
muố n. Trong phƣơng phá p thay thế có nhiề u dạ ng khá c nhau : thay thế đơn biể u
(Monoalphabetic), thay thế đa biể u (Polyalphabetic) v thay thế ngẫu nhiên
(Random substitution). Điể n hì nh cho phƣơng phá p thay thế đơn biể u là phƣơng
php Julius Caesar với mô hình thay thế tƣ̀ ng chƣ̃ cá i trong bả n rõ bằ ng mộ t chƣ̃ cá i
khc tƣơng ứng để tạo thnh bản m . Trong phƣơng phá p nà y cá c chƣ̃ cá i rõ tƣ̀ A
đến Z nằm trên hai vng trn đồng tâm , bƣớ c lệ ch giƣ̃ a hai vò ng trò n chí nh là bƣớ c
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
thay thế . Phƣơng phá p nà y chỉ là m thay đổ i bộ mặ t củ a bả n rõ bằ ng việ c dị ch
chuyể n tầ n xuấ t , rấ t dễ dà ng khá m phá . Vớ i phƣơng phá p thay thế đa biể u , việ c
khm ph trở nên kh khăn hơn , đặ c trƣng cho phƣơng phá p nà y là phƣơng php sử
dụng bảng Vigenère . Cuố i cù ng là phƣơng phá p thay thế ngẫ u nhiên . Việ c thay thế
cng ngẫu nhiên thì đ mật cng cao , song việ c phụ c hồ i lạ i bả n rõ lạ i cà ng phƣ́ c
tạp. Để thƣ̣ c hiệ n quá trì nh mã hoá và giả i mã cầ n phả i có khoá mã .
1.1.3. Mô hì nh hệ mậ t.
Cc hệ mật hiện nay đƣợc chia thnh hai loại : hệ mậ t khó a bí mậ t và hệ mậ t
kha công khai . Trong hệ mậ t khó a bí mậ t , nhƣ̃ ng ngƣờ i sƣ̉ dụ ng hợ p phá p (ngƣờ i
gƣ̉ i và ngƣờ i nhậ n) phải chia s mt kha bí mật chung v kha đ không đƣợc biết
đố i vớ i thá m mã đố i phƣơng . Trong hệ mậ t khó a công khai , ngƣờ i sƣ̉ dụ ng hợ p
php chỉ cần cc thông tin trung thực công khai no đ . Trong luậ n văn chỉ đề cậ p
đến việ c ƣ́ ng dụ ng cá c hệ mậ t khoá bí mậ t.
1.1.3.1. ( ).
Theo [2] mô hì nh hệ mậ t củ a Shannon đƣợ c thể hiệ n trong hì nh 1.3. Trong mô
hình ny, kha bí mật Z đƣợc phân phối tới ngƣời gửi v n gƣờ i nhậ n theo mộ t kênh
an toà n. Kha ny sau đ đƣợc sử dụng để m ha bản rõ X thnh bản m Y bởi
ngƣờ i gƣ̉ i và đƣợ c dù ng để giả i mã bả n mã Y thà nh bả n rõ X bở i ngƣờ i nhậ n . Bản
m đƣợc truyền trên kênh không an ton v giả thiết rằng thm m đối phƣơng luôn
c thể truy nhập để nhận đƣợc cc bản m . Tấ t nhiên thá m mã không thể truy nhậ p
đƣợ c tớ i khó a bí mậ t . Hệ mậ t khó a bí mậ t nhƣ thế đƣợ c gọ i là hệ mậ t đố i xƣ́ ng để
phân biệ t với hệ mật kha công khai không đối xứng trong đ cc kha khc nhau
đƣợ c sƣ̉ dụ ng bở i ngƣờ i mã và ngƣờ i dị ch . Ch ý rằng X , Y, v Z trong mô hình
ny l cc biến ngẫu nhiên . Trong mô hì nh nà y , cũng luôn giả thiết bản rõ X v
kha Z l đc lập thống kê.
Cc hệ mật kha bí mật thƣờng đƣợc chia thnh cc hệ m khối v hệ m
dng. Đối với m khối bản rõ c dạng cc khối "lớ n" (chẳ ng hạ n 64-bit) v dy cc
khố i đề u đƣợ c mã bở i cù ng m t hm m ha , tƣ́ c là bộ mã hó a là mộ t hà m không
nhớ . Trong mã dò ng, bản rõ thƣờng l dy cc khối "nhỏ" (thƣờ ng là 1-bit) v đƣợc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
biế n đổ i bở i mộ t bộ mã hó a có nhớ .
Cc hệ m khối c ƣu điểm l chng c thể đƣ ợc chuẩn ha mt cch dễ dng,
bở i vì cá c đơn vị xƣ̉ lý thông tin hiệ n nay thƣờ ng có dạ ng block nhƣ bytes hoặ c
words. Ngoi ra trong kỹ thuật đồng b , việ c mấ t mộ t block mã cũ ng không ả nh
hƣở ng tớ i độ chí nh xá c củ a việ c giải m của cc khối tiếp sau , đó cũ ng là mộ t ƣu
điể m khá c củ a mã khố i.
Nhƣợ c điể m lớ n nhấ t củ a mã khố i là phé p mã hó a không che dấ u đƣợ c cá c
mẫ u dƣ̃ liệ u : cc khối m giống nhau sẽ suy ra cc khối rõ cũng giống nha u. Tuy
nhiên nhƣợ c điể m nà y có thể đƣợ c khắ c phụ c bằ ng cá ch đƣa và o mộ t lƣợ ng nhỏ có
nhớ trong quá trì nh mã hó a , tƣ́ c là bằ ng cá ch sƣ̉ dụ ng cá ch thƣ́ c mó c xí ch khố i mã
(CBC - Cipher Block Channing mode) trong đó hà m mã hó a không nhớ đƣợ c á p và o
tổ ng XOR củ a khố i rõ và khố i mã trƣớ c đó . Phép m lc ny c kiểu cch kỹ thuật
nhƣ mã dò ng á p dụ ng đố i vớ i cá c khố i "lớ n".
Z Z Z
X
X
X
Y
X
Nguồn rõ
M· ho¸
E
K
(.)
Nhận tin
Thám mã
Nguồn
khoá
Mã hoá
E
K
(.)
Giải m
D
K
(.)
Hình 1.3: .
Kênh an toàn
1.1.3.2. ( công khai).
Năm 1976, Diffie và Hellman ở trƣờ ng Đạ i họ c tổ ng hợ p Stanford đã đƣa ra
mộ t dạ ng mớ i củ a hệ mậ t vớ i tên gọ i là hệ mậ t khoá công khai (Public-key
Cryptosystem). Điể m khá c biệ t giƣ̃ a hệ mậ t không đố i xƣ́ ng và hệ mậ t đố i xƣ́ ng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18
chính l kho m dịch . Trong hệ mậ t không đố i xƣ́ ng , kho m v kho dịch khc
nhau, hơn nƣ̃ a chú ng không chỉ khá c nhau mà cò n đƣợ c tí nh toá n trong mố i quan hệ
tƣơng tá c theo cá c hà m toá n họ c nà o đó . Đây l hệ mật hiện đại dựa trên cơ sở cc
thnh tựu của ton học v công nghệ thông tin , thể hiệ n chủ yế u trên độ phƣ́ c tạ p
tính ton v đ tiện dụng trong qu trình phân phối kho , điể n hì nh cho hệ mậ t nà y
l cc bi ton kho công khai nhƣ RSA, Diffie – Hellman…
X=D
K2
(E
K1
(X))
Ngƣời gửi
(A)
Ngƣời nhận
(B)
Bản rõ
(X)
Bản m
Y=E
K1
(X)
B m ho
B giải m
Khoá công
khai (K1)
Khoá bí
mật (K2)
nh 1.4: Mô nh hmt công khai.
Qu trình m dịch đƣợc mô tả nhƣ sau:
Y = E
K1
(X)
X = D
K2
(E
K1
(X))
K
1
= f (K
2
)
K
2
= f (K
1
)
trong đó Y - bản m; X - bản rõ dịch; K
1
- kho m; K
2
- kho dịch.
Hệ mậ t vớ i khoá công khai đƣợ c xá c đị nh bở i 3 thuậ t toá n để tạ o khoá , m ho
v dịch m . Thuậ t toá n tạ o khoá đƣợ c công khai , c thể cung cấp cho n đầu vo
dng ngẫu nhiên r c đ di cần thiết v nhận đƣợc trên đầu ra cp kho (k
1
,k
2
). Mộ t
trong hai khoá (chẳ ng hạ n khoá k
1
) đƣợ c công bố rộ ng rã i, n đƣợc gọi l khoá công
khai, cn kho thứ hai đƣợc giấu kín v đƣợc gọ i là khoá b mt. Cc thuật ton m
ho E
K1
v dịch m D
K2
phải đƣợc bảo đảm để với bản rõ bất k m đề u có :
D
K2
(E
K1
(m)) = m
1.1.4. Phân loạ i hệ mã .
M khối v m dng l hai loại hình m ho cơ bản , thƣ̣ c hiệ n chƣ́ c năng mã
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19
dịch thông tin bí mật trong mt hệ thống sử dụng mật m . Chng thuc hệ m đối
xƣ́ ng, sƣ̉ dụ ng mộ t khoá bí mậ t cho cá c tá c vụ mã hoá và giả i mã .
: L mt dạng biến đổi loạt , biế n đổ i tuầ n tƣ̣ bả n m theo bít (ký tự).
Bộ tạ o dã y khoá hay cò n gọ i là bộ tạ o khoá chạ y sinh ra cá c bí t k
1
, k
2
,…, k
i
,…Dã y
kho ny đƣợc cng mô đun 2 vớ i dã y cá c bí t củ a bả n rõ : p
1
, p
2
,…, p
i
,… để thà nh
bản m: c
i
= p
i
k
i
. Tại phía nhận, bản m đƣợc cng mô đun 2 vớ i dã y khoá đồ ng
nhấ t để có bả n rõ : c
i
k
i
= p
i
k
i
k
i
= p
i
.
Trong hệ mã dò ng thay thế ngẫ u nhiên one -time pad (kho dùng mt lần ),
C.E. Shannon đã chỉ ra rằ ng nế u khoá là dã y ngẫ u nhiên lý tƣ ởng (cc phần tử kho
xuấ t hiệ n độ c lậ p , đồ ng xá c suấ t ) thì hệ mật l hon thiện . Tƣ́ c là , thm m không
thể khai thá c đƣợ c gì dù có bao nhiêu bả n mã trong tay . Tuy nhiên, điề u bấ t lợ i củ a
hệ mậ t nà y là việ c tạ o khoá , quản lý v phân phối kho với mt khối lƣợng lớn hoc
khoảng cch xa sẽ rất kh khăn , tố n ké m. Vì thế cần phải nghiên cứu cch tạo kho
bằ ng cá c thuậ t toá n toá n họ c, v chng đƣợc gọi l kho giả ngẫu nhiên.
: Vấn đề đt ra theo mt gc đ khc , mỗ i mộ t lầ n mã , kho đƣợc
lấ y ngẫ u nhiên trong không gian khoá sau đó cố đị nh lạ i và dù ng để mã hoá cho tấ t
cả cc khối bản rõ trong phiên liên lạc đ hoc trong suốt thời gian ấn định no đ.
Nhƣ vậ y có thể xem , m khối l mt hệ m thay thế tất định , vớ i không gian khoá
đủ lớ n. Khi đã cố đị nh mộ t độ dà i khoá (hay không gian khoá ) đủ lớ n để tấ n công
vét cạn trên chng l vô nghĩa, thì vấn đề đt ra cho cc nh thiết kế m khối l phải
tìm kiếm cc hm tổ hợp thay thế c đ khuyếch tn hay đ bất định tốt để thm m
cho dù có khá nhiề u cặ p rõ -m tƣơng ứng cũng không thể c đủ thời gian hay
không có th uậ t toá n để tì m ra đƣợ c khoá cụ thể đã đƣợ c sƣ̉ dụ ng . Theo
C.E.Shannon, cc hm tổ hợp thay thế c thể sử dụng cc phép biến đổi thnh phần
cơ bả n nhƣ hoá n vị , phép nén-gin, phép thế giản đơn
Song song vớ i việ c nghiên cƣ́ u cá c mã phá p, cc nghiên cứu để tấn công, phân
tích, thm m cc hệ ny cũng pht triển . Cho tớ i nay, c hai phƣơng php tấn công
mạnh nhất đối với m khối l: tấ n công vi sai và tấ n công tuyế n tí nh.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
20
1.1.5. Đá nh giá độ mậ t củ a hệ thố ng truyề n tin mậ t .
Nhiệ m vụ chủ yế u củ a hệ thố ng truyề n tin mậ t là giƣ̃ bí mậ t củ a thông tin
đƣợ c truyề n trên kênh tin trƣớ c sƣ̣ tấ n công , khm ph của m thm . Nhƣ vậ y độ
mậ t củ a hệ thố ng truyề n tin mậ t hoà n toà n phụ thuộ c và o độ an toà n củ a hệ mậ t mà
đƣợ c dù ng trong nó . C hai quan điểm cơ bản về đ an ton của mt hệ mật:
Thứ nhấ t là độ an toà n tí nh toá n : Đ đo ny liên quan đến khả năng tính ton
cầ n thiế t để khm ph, tấ n công mộ t hệ mậ t. Mộ t hệ mậ t là an toà n về mặ t tí nh toá n
nế u thuậ t toá n tấ n công, khm ph hệ thống đ cần ít nhất N phép ton m N l mt
số rấ t lớ n nà o đó . Vấ n đề là ở chỗ , không có mộ t hệ mậ t t hƣ̣ c tế đã biế t nà o có thể
chƣ́ ng tỏ là an toà n theo đị nh nghĩ a nà y . Trên thƣ̣ c tế , ngƣờ i ta gọ i mộ t hệ mậ t là “
an toà n về mặ t tí nh toá n” nế u có mộ t phƣơng phá p tố t nhấ t phá hệ nà y nhƣng yêu
cầ u về mặ t thờ i gian lớ n đến mức không thể chấp nhận đƣợc.
Thứ hai là an toà n không điề u kiệ n : Đ đo ny liên quan đến đ an ton của
cc hệ mật khi không c hạn chế no đƣợc đt ra về khả năng tính ton m m thm
c thể thực hiện. Mộ t hệ mậ t đƣợ c xem là an toà n không điề u kiệ n (tuyệ t mậ t hay lý
tƣở ng) nế u nó không thể bị tấ n công , khm ph với khả năng tính ton không hạn
chế . Tấ t nhiên ta cũ ng phả i xé t đế n cá c kiể u tấ n công củ a mã thá m để xây dƣ̣ ng cá c
hệ thố ng an toà n hơn nƣ̃ a.
Trong hệ thố ng truyề n tin mậ t khoá mậ t mã quyế t đị nh độ bả o mậ t củ a toà n bộ
hệ thố ng. Trong [1] đã đƣa ra tiêu chuẩ n củ a hệ thố ng truyề n tin mậ t nhƣ sau:
Đ mật cần thiết sẽ xc định thuật to n phù hợp cho việc m ho v giải
m. Tiêu chuẩ n nà y thể hiệ n mộ t nguyên lý rấ t cơ bả n là mộ t thuậ t toá n mã hoá đơn
giản cũng c thể đủ mạnh để ngăn chn cc đối tƣợng m thm "chặ n bắ t tì nh cờ "
hoặ c bả o mậ t truyền tin trong mt khoảng thời gian ngắn.
Không gian khoá và thuậ t toá n mã hoá không đƣợ c quá phƣ́ c tạ p . Tiêu
chuẩ n nà y cho thấ y rằ ng không nên hạ n chế sƣ̣ lƣ̣ a chọ n cá c khoá hoặ c cá c kiể u bả n
tin rõ mà thuậ t toá n mã hoá lm việc trên đ . Nế u thuậ t toá n mã hoá chỉ là m việ c
vớ i cá c bả n tin rõ có cù ng độ dà i thì đó là mộ t thuậ t toá n yế u , dễ bị khá m phá .
Tƣơng tƣ̣ , rấ t khó lƣ̣ a chọ n khoá mà tổ ng cá c phầ n tƣ̉ củ a khoá là mộ t số nguyên tố .
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21
Nhƣ̃ ng hạ n chế nhƣ vậ y sẽ là m cho việ c sƣ̉ dụ ng thuậ t toá n mã hoá rấ t phƣ́ c tạ p .
Mặ c dù mộ t thuậ t toá n mã hoá phƣ́ c tạ p sẽ tăng độ bả o mậ t củ a hệ thố ng , nhƣng sẽ
lm thời gian xử lý , truyề n tin tăng lên mộ t cá ch đá ng kể . Nên mộ t thuậ t toá n mã
ho phù hợp l thuật ton tối ƣu giảm thiểu những trở ngại cho việc truyền tin.
Cc lỗi trong qu trình m ho không đƣợc lan truyền v gây ngắt tin trong
cc bản tin rõ nhận đƣợc khi giải m. M ho c thể gây lỗi cho qu trình truyền tin
hoặ c là m sai lệ ch nộ i dung thông tin tƣ̀ đó cá c bả n tin mã cũ ng bị sai lệ ch theo hoặ c
bị gin đoạn ton b qu trình truyền tin . Do đó chú ng ta cầ n hạ n chế tố i đa việ c
gây lỗ i bở i quá trì nh mã hoá .
Kích thƣớc hay đ di của bản tin m không đƣợc lớn hơn đ di của bản
tin rõ ban đầ u, nế u điề u nà y xả y ra nó sẽ không thể mang đƣợ c nhiề u thông tin nhƣ
bản tin rõ v thời gian truyền tin trên kênh cũ ng sẽ bị tăng theo.
Nhìn chung cc tiêu chuẩn ny đƣợc đề xuất nhằm đnh gi chất lƣợng của hệ
thố ng truyề n tin mậ t. Trong điề u kiệ n hiệ n nay nhờ sƣ̣ phá t triể n mạ nh mẽ củ a khoa
học v công nghệ đc biệt l công nghệ FPGA , cc thuật ton m ho , giải m c
thể đƣợ c thiế t kế để cƣ́ ng hoá trong cá c thiế t bị bả o mậ t nên việ c xây dƣ̣ ng độ mậ t
tố i ƣu cho tƣ̀ ng hệ thố ng vớ i tƣ̀ ng mụ c đí ch cụ thể sẽ đƣợ c thƣ̣ c hiệ n mộ t cá ch thuậ n
lợ i.
1.2. CƠ SỞ LÝ THUYẾ T VỀ MÃ KHỐ I.
1.2.1. Khi niệm về m khối.
M php khối l họ cc biến đổi thuận nghịch cc khối (phầ n độ dà i xá c đị nh)
của bản rõ. Thƣ̣ c tế , m php khối l hệ mật thay thế trên b chữ c i cá c khố i (phép
thế có thể mộ t hoặ c nhiề u bộ chƣ̃ cá i tuỳ thuộ c và o điề u kiệ n củ a mã phá p khố i ).
Cc m php khối hiện nay đƣợc sử dụng rất phổ biến.
Giả sử F
2
l trƣờng Galois hai phần tử . Ký hiệu F
2
m
l không gian vé c tơ cá c
bộ m-tuples cá c phầ n tƣ̉ củ a F
2
. Trong phầ n nà y giả thiế t không mấ t tổ ng quá t rằ ng ,
bản rõ X, bản m Y lấy cc gi trị trong không gian véc tơ F
2
m
, cn kha Z lấy gi
trị trong không gian véc tơ F
2
k
. Nhƣ vậ y m-l độ dà i bí t củ a cá c khố i rõ và mã , cn
k-l đ di bit của kha bí mật.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
22
Đị nh nghĩ a 1.1: Hệ mã khố i khó a bí mậ t là mộ t á nh xạ E : F
2
m
x S
z
F
2
m
, sao cho
vớ i mỗ i z S
z
, E(., z) l mt nh xạ c ngƣợc từ F
2
m
vo F
2
m
.
Hm ngƣợc E (., z) đƣợ c gọ i là hà m mã hó a tƣơng ƣ́ ng vớ i khó a z . Ánh xạ
nghịch đảo của E (., z) đƣợ c gọ i là hà m giả i mã tƣơng ƣ́ ng vớ i khó a z và sẽ đƣợ c ký
hiệ u là D(., z). Chng ta viết Y = E(X, Z) đố i vớ i mộ t mã khố i c nghĩa l bản m Y
đƣợ c xá c đị nh bở i bả n rõ X và khó a bí mậ t Z theo á nh xạ E . Tham số m đƣợ c gọ i là
độ dà i khố i cò n tham số k đƣợ c gọ i là độ dà i khó a củ a hệ mã khố i đó . Cỡ khó a đú ng
của hệ m khối đƣợc xc đị nh bở i số k
t
= log
2
(#(S
z
)) bit. Nhƣ vậ y độ dà i khó a sẽ
bằ ng cỡ khó a đú ng nế u và chỉ nế u S
z
= F
2
k
, tƣ́ c là mọ i bộ k -bit nhị phân đề u là mộ t
kha c hiệu lực . Chẳ ng hạ n đố i vớ i chuẩ n mã dƣ̃ liệ u DES , độ dà i khó a là k = 64
bit, trong khi cỡ khó a đú ng củ a nó là k
t
= 56 bit. Ch ý rằng ở đây ta xem xét cc m
khố i có độ dà i khố i mã bằ ng độ dà i khố i rõ .
1.2.2. Nguyên l thiế t kế mã khố i.
Mộ t hệ mã khố i tố t là phả i "kh ph v dễ sử dụ ng". Cả hai hm m ha E (.,
z) v hm giải m D(., z) nên dễ dà ng tí nh toá n. Cn việc giải kha z từ y = E(x, z)
v x = D(y, z) nên là bà i toá n khó . Nguyên lý thiế t kế cho mộ t hệ mã khố i có thể
chia thà nh cá c nguyên lý ƣ́ ng dụ ng và cá c nguyên lý an toà n.
1.2.2.1. .
C hai nguyên lý thiết kế đƣợc chấp nhận chung đối với cc m an ton thực
tế là cá c nguyên lý về độ mé o (confusion) v đ khuyếch tn (diffusion) đã đƣợ c
gợ i ý bở i Shannon.
- Nguyên lý về độ mé o (confusion):
Sƣ̣ phụ thuộ c củ a khó a trên bả n rõ và bả n mã nên phả i phƣ́ c tạ p sao cho nó
không có í ch gì đố i vớ i thá m mã . Chẳ ng hạ n, phƣơng trì nh nhị phân mô tả mã khố i
nên là phi tuyế n và phƣ́ c tạ p sao cho để việ c giả i khó a z tƣ̀ x và y =E(x, z) l không
thể .
- Nguyên lý về độ khuyế ch tá n (diffusion):
Vớ i mỗ i khó a cụ thể hà m mã hó a không nên có sƣ̣ phụ thu c thống kê no
giƣ̃ a cá c cấ u trú c đơn giả n trong bả n rõ và cá c cấ u trú c đơn giả n trong bả n mã và
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
23
rằ ng không có quan hệ đơn giả n nà o giƣ̃ a cá c hà m mã hó a khá c nhau . Nguyên lý
khuyế ch tá n đò i hỏ i , chẳ ng hạ n mộ t hệ mã khố i cầ n đƣợ c thiế t kế có tí nh đầ y đủ -
hay hoà n thiệ n, tƣ́ c là mỗ i bit rõ và mỗ i bit khó a đề u ả nh hƣở ng tớ i mỗ i bit mã .
1.2.2.2. .
Mộ t hệ mã khố i có thể ƣ́ ng dụ ng cả phầ n cƣ́ ng và phầ n mề m. Trong ƣ́ ng dụ ng
cƣ́ ng thƣờ ng đƣợ c thƣ̣ c hiệ n bở i cá c chí p VLSI , FPGA… có tố c độ cao . Trong ƣ́ ng
dụng mềm phải c tính mềm do v gi thnh thấp . Trên cơ sở đặ c tí nh khá c nhau
của phần cứng v phần mềm , cc nguyên lý thiế t kế mã khố i cũ ng chia thà nh hai
phầ n.
- Nguyên lý thiế t kế cho ứ ng dụ ng mề m:
Sƣ̉ dụ ng khố i con: Cc thao tc m khối nên thực hiện trên cc khối con c đ
di tự nhiên cho phần mềm l 8, 16, 32 bit. Hon vị bit l kh thực hiện trong phần
mề m nên trá nh.
Sƣ̉ dụ ng cá c phé p toá n đơn giả n : Cc thao tc m trên cc khối con nên chọn
dễ dà ng cho ƣ́ ng dụ ng vớ i cá c tậ p lệ nh cơ sở củ a cá c bộ xƣ̉ lý chuẩ n chẳ ng hạ n nhƣ
phép cng, phép nhân, phép dịch
- Nguyên lý thiế t kế cho ứ ng dụ ng phầ n cứ ng:
Sƣ̣ tƣơng tƣ̣ trong phé p mã hó a và phé p giả i mã : Qu trình m ha v giải m
nên chỉ khá c nhau ở cá ch sƣ̉ dụ ng khó a mậ t sao cho cù ng mộ t thiế t bị có thể s ử
dụng đƣợc cho cả phép m ha v phép giải m.
Cấ u trú c đề u : Hệ mã khố i nên có cấ u trú c đề u để có thể dễ ƣ́ ng dụ ng công
nghệ VLSI, FPGA … trong việ c thiế t kế .
1.2.3. Cc tham số ca m khối .
1.2.3.1. .
Để mộ t hệ mã khố i là an toà n , độ dà i khố i m củ a nó phả i đủ lớ n ngăn cả n cá c
tấ n công phân tí ch thố ng kê , tƣ́ c là để không cho đố i phƣơng thu đƣợ c thông tin có
ích no về khối rõ no đ thƣờng xuất hiện nhiều hơn cc kh ối rõ khc. Ngoi ra đ
di khối m cũng phải đƣợc chọn sao cho số cc cp rõ /m m đối phƣơng c thể
thu nhậ n đƣợ c trong thƣ̣ c tế phả i nhỏ hơn rấ t nhiề u so vớ i 2
m
.