Tải bản đầy đủ (.pdf) (126 trang)

thiết kế hệ thống mã khối bằng công nghệ fpga

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.39 MB, 126 trang )

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. Cc phƣơng php 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. Khi 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. Cc tham số của m khối. 23
1.2.3.1. Đ di khối m. 23
1.2.3.2. Đ di kha k v c kha đng k
t
. 24
1.2.4. Cc cấu trc 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. Cc m lp. 27
1.2.5.1. M lp v hm vng 27
1.2.6. Đ an ton của cc 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. Cc chế đ ứng dụng của m khối. 35
1.3.5. Mt số giải php 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 php 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 trc chung. 71
3.1.2. Mt 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 ton. 72
3.2.2. Mô tả thuật ton DES. 72
3.2.2.1. Hm F trong thuật ton 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 qut. 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 cc khối trong module DES bằng VHDL. 85
3.3.3.1. Khối cc phép hon vị 86
3.3.3.2. Mô tả khối DES16. 87
3.3.3.3. Khối deskey (tính ton 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 vo/ra) 94
3.3.3.6. Tổng hợp cc 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. Cc phần mạch khc. 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ế đ sch 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 trc 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 ton 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ế bo 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 mt lần
PES
Proposed Encryption Standard
Chuẩn m ha 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 mt thuật ton mật m ha kha công khai. Thuật ton đƣợc Ron
Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vo năm 1977 tại
Học viện Công nghệ Massachusetts (MIT). Tên của thuật ton lấy từ 3
chữ ci đầu của tên 3 tc giả.
RISC
Reduced Instructions Set Computer
My tính với tập lệnh đơn giản ha
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
Mt 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
Cc tham số của phép hon vị ban đầu IP
3.2
Cc tham số của phép hon vị FP
3.3
Cc tham số của hm mở rng E
3.4
Tham số của cc hp S-Box
3.5
Cc tham số của phép hon vị P
3.6
Cc tham số của phép hon vị PC-1
3.7
Cc tham số của phép hon vị PC-2
3.8
Mô tả cc tín hiệu vo ra của modul DES
3.9

Danh sch cc tệp tin của module DES
3.10
Chức năng cc tín hiệu vo/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 trc cng-nhân
1.6
Mt m lp r vng với hm vng f
1.7
Mô tả mt vng của DES
1.8
Sơ đồ mt vng lp của GOST
1.9
Sơ đồ cấu trc của IDEA
1.10
Chi tiết mỗi vng đơn của IDEA
1.11
Phép biến đổi ra của qu trình m ho IDEA
1.12
Cc chế đ hoạt đng của m khối
1.13
Cc kỹ thuật thiết kế m khối
2.1
Cấu trc của PLA
2.2
Cấu trc của PAL
2.3
Cấu trc của CPLD
2.4
Mô tả mô hình của mt FPGA
2.5
Cấu trc Logic Cell trong FPGA

2.6
Cấu trc của FPGA
2.7
Bốn loại FPGA điển hình
2.8
Cấu trc SRAM FPGA (SRAM Logic Cell)
2.9
Cấu trc của OTP FPGA (OTP Logic Cell)
2.10
Qu trình thiết kế trên FPGA
2.11
Kiến trc tổng qut của Altera FPGA MAX 7000
3.1
Cấu trc chung của Module m khối
3.2
Lƣợc đồ của thuật ton DES
3.3
Mt vng của DES
3.4
Hm F trong thuật ton DES
3.5
Sơ đồ tính kho của thuật ton DES
3.6
Sơ đồ khối tổng qut 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 trc I/O của DES trên công cụ Quartus
3.10
Sơ đồ thực thể phép hon vị IP
3.11
Mô tả 16 vng lp của DES
3.12
Sơ đồ thiết kế của mt vng lp
3.13
Sơ đồ thực thể hp S-BOX
3.14
Sơ đồ khối tạo kho con
3.15
Mô tả khối vo/ra dữ liệu
3.16
Sơ đồ liên kết giữa cc 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 cp 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à mt chủ đề rng, 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 php đƣợ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ẽ hoc 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 mt thuật ton no đ v sẽ đƣợc biến đổi ngƣợc lại ở trạm nhận.
Mật mã là mt 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 ny đƣợ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 mt lớp bảo vệ thông tin rất quan trọng v đƣợc sử dụng
rng 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 cc 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 cc hệ truyền tin c tốc đ kh ông cao, do vậ y khả năng
ứng dụng m khối vo bảo mật cho cc luồng thông tin tốc đ cao cn gp nhiều
kh khăn. Bi ton 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 ton m khối, theo nghĩ a việ c thƣ̣ c hiệ n cá c thuậ t
ton 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
ton 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 pht từ cc vấn đề trên, tc giả tập trung nghiên cứu “  
” để cứng ho cc thuật ton 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 đề ti sẽ gp phần lm 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 .
Ni dung của đề ti 
bao gồm:
Chƣơng 1: Hệ truyền tin mật v cơ sở lý thuyết m khối.

Trình by cc 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 by cc vấn đề liên quan đến công nghệ FPGA, cấu trc chức năng của
FPGA, phân loại cũng nhƣ cc ứng dụng thực tế của công nghệ FPGA. Giới thiệu
FPGA của hng Altera v cc công cụ thiết kế đi kèm của hng 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 ny trình by 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 cc 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 cc 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. Cc ni 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 ni
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 ni dung thông tin đng mt 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 hi … v đối với an ninh của mọi quốc gia trên ton 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 , khm 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 cc bản tin rõ R
thnh cc bản tin m M bằng thuật ton m ho E
K
v đƣợc xem nhƣ mt hm :
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 cc 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
)
Cc 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 thm l cc đối tƣợng c khả năng chn 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ả
mn cc điều kiện sau:
a. R (không gian cá c bản tin rõ) l mt tập hợp hữu hạn cc bản rõ c thể c.

b. M (không gian cá c bả n tin mã ) l mt tập hợp cc bản tin m c thể c.
c. K (không gian khoá ) l mt tập hợp hữu hạn cc 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 hm đƣợc thoả mn
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 mt bản tin rõ x đƣợc m
ho bằng thuật ton E v bản tin m nhận đƣợc sau đ đƣợc giải m bằng thuật ton
giải m D thì phả i thu đƣợ c bả n tin rõ x ban đầ u.
1.1.2. Cc phƣơng php m mt cơ bản .
C hai phƣơng php 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 no đ . 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ố no đƣợc thực
hiệ n khi mã hoá , giải m v đ di của bản tin m bằng với đ di 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
hon vị c nghĩa từ bản ti n mã . Cc thnh phần của bản tin bị xo trn 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
cc 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 mt quy ƣớc xc định no đ để 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
php 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
khc tƣơng ứng để tạo thnh 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 vng trn đồ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
khm ph trở nên kh khăn hơn , đặ c trƣng cho phƣơng phá p nà y là phƣơng php 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ế
cng ngẫu nhiên thì đ mật cng 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.
Cc hệ mật hiện nay đƣợc chia thnh hai loại : hệ mậ t khó a bí mậ t và hệ mậ t
kha 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 mt kha bí mật chung v kha đ 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
php chỉ cần cc thông tin trung thực công khai no đ . 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 ny, kha 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. Kha ny sau đ đƣợc sử dụng để m ha bản rõ X thnh 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 ton v giả thiết rằng thm m đối phƣơng luôn
c thể truy nhập để nhận đƣợc cc 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 kha công khai không đối xứng trong đ cc kha khc 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
ny l cc biến ngẫu nhiên . Trong mô hì nh nà y , cũng luôn giả thiết bản rõ X v
kha Z l đc lập thống kê.
Cc hệ mật kha bí mật thƣờng đƣợc chia thnh cc hệ m khối v hệ m
dng. Đối với m khối bản rõ c dạng cc khối "lớ n" (chẳ ng hạ n 64-bit) v dy cc
khố i đề u đƣợ c mã bở i cù ng m t hm m ha , 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 dy cc 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ớ .
Cc hệ m khối c ƣu điểm l chng c thể đƣ ợc chuẩn ha mt cch dễ dng,
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. Ngoi 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 cc 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 : cc khối m giống nhau sẽ suy ra cc 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 lc ny c kiểu cch 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 khc
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ở cc
thnh tựu của ton học v công nghệ thông tin , thể hiệ n chủ yế u trên độ phƣ́ c tạ p
tính ton 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 cc bi ton 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 hmt 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 vo
dng ngẫu nhiên r c đ di cần thiết v nhận đƣợc trên đầu ra cp 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, cn kho thứ hai đƣợc giấu kín v đƣợc gọ i là khoá b mt. Cc thuật ton 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 dng 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 mt hệ thống sử dụng mật m . Chng thuc 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 mt 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 ny đƣợc cng 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 cng 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 mt lần ),
C.E. Shannon đã chỉ ra rằ ng nế u khoá là dã y ngẫ u nhiên lý tƣ ởng (cc phần tử kho
xuấ t hiệ n độ c lậ p , đồ ng xá c suấ t ) thì hệ mật l hon thiện . Tƣ́ c là , thm 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 mt khối lƣợng lớn hoc
khoảng cch xa sẽ rất kh khăn , tố n ké m. Vì thế cần phải nghiên cứu cch tạo kho
bằ ng cá c thuậ t toá n toá n họ c, v chng đƣợc gọi l kho giả ngẫu nhiên.
 : Vấn đề đt ra theo mt gc đ khc , 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ả cc khối bản rõ trong phiên liên lạc đ hoc trong suốt thời gian ấn định no đ.
Nhƣ vậ y có thể xem , m khối l mt 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 chng l vô nghĩa, thì vấn đề đt ra cho cc nh thiết kế m khối l phải
tìm kiếm cc hm tổ hợp thay thế c đ khuyếch tn hay đ bất định tốt để thm 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, cc hm tổ hợp thay thế c thể sử dụng cc phép biến đổi thnh phần
cơ bả n nhƣ hoá n vị , phép nén-gin, phép thế giản đơn
Song song vớ i việ c nghiên cƣ́ u cá c mã phá p, cc nghiên cứu để tấn công, phân
tích, thm m cc hệ ny cũng pht triển . Cho tớ i nay, c hai phƣơng php 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 , khm ph của m thm . 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 ton của mt hệ mật:
Thứ nhấ t là độ an toà n tí nh toá n : Đ đo ny liên quan đến khả năng tính ton
cầ n thiế t để khm 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, khm ph hệ thống đ cần ít nhất N phép ton m N l mt
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 ny liên quan đến đ an ton của
cc hệ mật khi không c hạn chế no đƣợc đt ra về khả năng tính ton m m thm
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 , khm ph với khả năng tính ton 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ẽ xc đị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 chn cc đối tƣợng m thm "chặ n bắ t tì nh cờ "
hoặ c bả o mậ t truyền tin trong mt 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á lm 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ẽ
lm 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 ton tối ƣu giảm thiểu những trở ngại cho việc truyền tin.
 Cc lỗi trong qu trình m ho không đƣợc lan truyền v gây ngắt tin trong
cc 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ị gin đoạn ton 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 đ di của bản tin m không đƣợc lớn hơn đ di 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 cc tiêu chuẩn ny đƣợ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 , cc thuật ton 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. Khi niệm về m khối.
M php khối l họ cc biến đổi thuận nghịch cc khối (phầ n độ dà i xá c đị nh)
của bản rõ. Thƣ̣ c tế , m php 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 ).
Cc m php 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 cc gi trị trong không gian véc tơ F
2
m
, cn kha 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ã , cn
k-l đ di bit của kha 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 mt nh xạ c ngƣợc từ F
2
m
vo F
2
m
.
Hm 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). Chng 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 xc đị 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
kha 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 cc 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 hm m ha E (.,
z) v hm giải m D(., z) nên dễ dà ng tí nh toá n. Cn việc giải kha 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 cc m an ton thực
tế là cá c nguyên lý về độ mé o (confusion) v đ khuyếch tn (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ê no
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 do v gi thnh thấp . Trên cơ sở đặ c tí nh khá c nhau
của phần cứng v phần mềm , cc 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: Cc thao tc m khối nên thực hiện trên cc khối con c đ
di tự nhiên cho phần mềm l 8, 16, 32 bit. Hon 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 : Cc thao tc m trên cc 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 cng, 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 ha 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 ha 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. Cc tham số ca 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 no về khối rõ no đ thƣờng xuất hiện nhiều hơn cc kh ối rõ khc. Ngoi ra đ
di khối m cũng phải đƣợc chọn sao cho số cc cp 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
.

×