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

Một hệ mật xây dựng trên sơ đồ Feistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)

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.76 MB, 68 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

ĐÀO MINH THÀNH

MỘT HỆ MẬT XÂY DỰNG TRÊN SƠ ĐỒ FEISTEL KHÔNG CÂN

BẰNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG HÀM BĂM

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI - 2017


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

ĐÀO MINH THÀNH

MỘT HỆ MẬT XÂY DỰNG TRÊN SƠ ĐỒ FEISTEL KHÔNG CÂN

BẰNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG HÀM BĂM

Chuyên ngành: Kỹ thuật viễn thông
Mã số: 60.52.02.08

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƢỜI HƢỚNG DẪN KHOA HỌC : TS. NGÔ ĐỨC THIỆN



HÀ NỘI - 2017


i

LỜI CẢM ƠN
Luận văn Thạc sỹ kỹ thuật này đƣợc thực hiện tại Học viện Công nghệ Bƣu
chính Viễn thông. Học viên xin tỏ lòng biết ơn đến thầy giáo TS. Ngô Đức Thiện
đã trực tiếp định hƣớng, tạo mọi điều kiện trong suốt quá trình nghiên cứu.
Học viên xin chân thành cảm ơn Lãnh đạo Học viện Công nghệ Bƣu chính
Viễn thông đã tạo những điều kiện thuận lợi để hoàn thành và bảo vệ luận án trong
thời gian nghiên cứu. Học viên xin cảm ơn khoa Quốc tế và Đào tạo sau đại học,
cũng nhƣ các đồng nghiệp đã tạo điều kiện và giúp đỡ tôi hoàn thành đƣợc đề tài
nghiên cứu của mình.
Cuối cùng là sự biết ơn tới gia đình, bạn bè đã thông cảm, động viên giúp đỡ
cho học viên có đủ nghị lực để hoàn thành luận án.

Hà Nội, tháng 12 năm 2016


ii

MỤC LỤC
LỜI CẢM ƠN ........................................................................................................... i
MỤC LỤC ................................................................................................................ii
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ............................................. iv
DANH MỤC CÁC BẢNG ....................................................................................... v
DANH MỤC CÁC HÌNH VẼ ................................................................................. vi
PHẦN MỞ ĐẦU ...................................................................................................... 1

1. MỞ ĐẦU........................................................................................................... 1
2. TÌNH HÌNH NGHIÊN CỨU ............................................................................ 1
3. MỤC TIÊU NGHIÊN CỨU ............................................................................. 2
4. ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU........................................................ 2
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................................ 3

CHƢƠNG 1. TỔNG QUAN VỀ MẬT MÃ HỌC ................................................... 4
1.1. CÁC KHÁI NIỆM CƠ BẢN ......................................................................... 4
1.2. CÁC HỆ MẬT MÃ KHÓA BÍ MẬT ............................................................ 6

1.2.1. Sơ đồ khối chức năng hệ mật mã khóa bí mật .............................. 6
1.2.2. Các hệ mật thay thế ....................................................................... 6
1.2.3. Các hệ mật hoán vị (MHV) ........................................................... 9
1.2.4. Chuẩn mã dữ liệu DES ................................................................ 10
1.2.5. Ƣu nhƣợc điểm của mật mã khóa bí mật..................................... 13
1.3. HỆ MẬT KHÓA CÔNG KHAI................................................................... 14

1.3.1. Sơ đồ chức năng .......................................................................... 14
1.3.2. Một số bài toán xây dựng hệ mật khóa công khai ....................... 15
1.4. KẾT LUẬN CHƢƠNG 1............................................................................. 17


iii

CHƢƠNG 2. HỆ MẬT MÃ KHỐI THEO SƠ ĐỒ FEISTEL KHÔNG CÂN
BẰNG ................................................................................................... 18
2.1. NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC .................................. 18

2.1.1. Định nghĩa nhóm nhân cyclic trên vành đa thức ......................... 18

2.1.2. Các loại nhóm nhân cyclic trên vành đa thức.............................. 20
2.2. CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC ................................. 21

2.2.1. Khái niệm về cấp số nhân cyclic trên vành đa thức .................... 21
2.2.2. Phân hoạch vành đa thức ............................................................. 23
2.3. HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC ................ 27

2.3.1. Mô tả hệ mật ................................................................................ 27
2.3.2. Đánh giá tính khuếch tán của hệ mật........................................... 30
2.4. KẾT LUẬNCHƢƠNG 2............................................................................. 33

CHƢƠNG 3. ỨNG DỤNG HỆ MẬT VÀO HÀM BĂM MDC ........................... 34
3.1. CƠ BẢN VỀ HÀM BĂM ............................................................................ 34

3.1.1. Mở đầu ......................................................................................... 34
3.1.2. Các định nghĩa và tính chất cơ bản.............................................. 35
3.2. MỘT SỐ PHƢƠNG PHÁP XÂY DỰNG HÀM BĂM ............................... 37

3.2.1. Các hàm băm không có khoá (MDC) .......................................... 37
3.2.2. Các hàm băm có khoá (MAC) ..................................................... 40
3.2.3. Một số hàm băm xây dựng theo thuật toán riêng biệt ................. 41
3.3. CÁC LOẠI TẤN CÔNG HÀM BĂM CƠ BẢN ......................................... 48
3.4. MỘT SỐ PHƢƠNG PHÁP TOÀN VẸN DỮ LIỆU VÀ XÁC THỰC THÔNG
BÁO ............................................................................................................ 50
3.5. ÁP DỤNG HỆ MẬT VÀO XÂY DỰNG HÀM BĂM KHÔNG KHÓA ... 51
3.6. KẾT LUẬNCHƢƠNG 3.............................................................................. 56

KẾT LUẬN VÀ KIẾN NGHỊ ................................................................................ 57
TÀI LIỆU THAM KHẢO ...................................................................................... 58



iv

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

AES

AdvancedEncryption Standard

Tiêu chuẩn mã hóa tiên tiến

CGP

CyclicGeometicProgressions

Cấp số nhân cyclic

CMG
CRC

CyclicMultiplicateGroup
CyclicRedundancyCheck

Nhóm nhân cyclic
Mã kiểm soát lỗi

CRHF

CollisionResistantHashFunction


Hàm băm chống va chạm

CS

CS

Chu trình

d0

d0

Khoảng cách Hamming

deg
DEA

Degree
DataEncryptionAlgorithm

Bậc của đa thức
Mã hóa dữ liệu

DES

DataEncryption Standard

Chuẩn mã dữ liệu

e( x )


e( x )

Đa thức lũy đẳng

Field

Trƣờng

Group

Nhóm

G

Trƣờng đặc số p

GF(p)

h

Hash

Hàm băm

I
MAC

Ideal
MessageAuthenticationCode


Mã xác thực thông điệp

MDC

ManipulationDetectionCode

Mã phát hiện sửa đổi

ord

Order

Cấp của đa thức

R
RSA

Ring
RivestShamirAdleman

Vành
Hệ mật RSA

SHA

SecureHashAlgorithm

Thuật giải hàm băm an toàn



v

DANH MỤC CÁC BẢNG
Bảng 1.1. Bảng IP và IP-1 ....................................................................................... 12
Bảng 2.1. Một vài khoảng cách Hamming giữa các bản mã
một bit của
Bảng

2.2.

thay đổi khóa



khi thay đổi

........................................................................................................ 31
Một

vài

khoảng

cách

Hamming

của


cặp

bản



khi

..................................................................................................... 32

Bảng 3.1. Thông số của các hàm băm họ MD4 ..................................................... 43
Bảng 3.2. Ký hiệu các thông số và các biến ........................................................... 44
Bảng 3.3: Các phiên bản của SHA ......................................................................... 44
Bảng 3.4. Mộtvài khoảng cách Hamming

(

) khi thay đổi 1 bit của bản rõ

đầu vào ................................................................................................................... 53
Bảng 3.5. Một vài khoảng cách Hamming

(

) khi thay đổi khóa

....... 55


vi


DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Sơ đồ khối chức năng hệ mật khóa bí mật ............................................... 6
Hình 1.2. Sơ đồ mã hóa DES ................................................................................. 11
Hình 1.3. Mô tả hàm f trong DES .......................................................................... 12
Hình 1.4. Các bƣớc tạo khóa cho các vòng mã hóa của DES ................................ 13
Hình 1.5. Sơ đồ khối chức năng hệ mật khóa công khai ........................................ 14
Hình 2.1. Sơ đồ mã hóa của hệ mật........................................................................ 27
Hình 2.2. Mạch mã hóa hàm f ................................................................................ 29
Hình 2.3. Mạch mã hóa tƣơng ứng ki = 1 + x3 + x31(0.3.31) ............................. 29
Hình 3.1. Phân loại hàm băm ................................................................................. 36
Hình

3.2.

Các



đồ

hàm

băm

đơn

a)

Matyas-Mayer–Oseas;


b) Davies-Mayer và c) Miyaguchi – Preneel ........................................................ 37
Hình 3.3. Thuật toán MDC-2 ................................................................................. 39
Hình 3.4. Thuật toán MDC-4 ................................................................................. 40
Hình 3.5. Sơ đồ Miyaguchi – Preneel .................................................................... 41
Hình 3.6. Tƣơng tác giữa mở rộng thông báo và các thao tác bƣớc ...................... 41
Hình 3.7. Quá trình nhồi thêm các bit vào thông điệp ban đầu
của SHA-1 .............................................................................................................. 45
Hình 3.8. Cấu trúc khối dữ liệu trong giải thuật SHA-1 ........................................ 46
Hình 3.9. Hàm nén SHA-1 trên 1 bƣớc .................................................................. 47
Hình 3.10: SHA 1 xử lý khối dữ liệu 512 bit ......................................................... 48
Hình 3.11.Toàn vẹn dữ liệu dùng MAC................................................................. 51


vii

Hình 3.12.Toàn vẹn dữ liệu dùng MDC và mã hóa ............................................... 51
Hình 3.13.Toàn vẹn dữ liệu dùng MDC và kênh tin cậy ....................................... 51
Hình 3.14. Sơ đồ hàm băm ..................................................................................... 52


1

PHẦN MỞ ĐẦU
1. MỞ ĐẦU
Trong sự phát triển của xã hội loài ngƣời, kể từ khi có sự trao đổi thông tin,
thì an toàn thông tin trở thành một nhu cầu gắn liền với nó, từ thủa sơ khai an toàn
thông tin đƣợc hiểu đơn giản là giữ bí mật. Với sự phát triển của khoa học kỹ thuật
và công nghệ, cùng với các nhu cầu đặc biệt có liên quan tới an toàn thông tin ngày
nay cần có các yêu cầu kỹ thuật đặc biệt trong việc đảm bảo an toàn thông tin, các

kỹ thuật đó bao gồm: Kỹ thuật mật mã (Cryptography); kỹ thuật ngụy trang
(Steganography); kỹ thuật tạo bóng mờ (Watermarking – hay thủy vân).
Ngày nay, cùng với sự phát triển của mạng thông tin và truyền thông kéo
theo sự gia tăng một số lƣợng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn
công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn. Vì thế, nhu cầu về an
toàn bảo mật thông tin ngày càng trở nên cấp thiết, hàng năm trên thế giới các nƣớc
đã phải chi rất nhiều tiền cho công cuộc nghiên cứu chống lại các nguy cơ tấn công
từ kẽ hở bảo mật.
Nói chung, để bảo vệ các thông tin khỏi sự truy cập trái phép cần phải kiểm
soát đƣợc những vấn đề nhƣ: thông tin được tạo ra, lưu trữ và truy nhập như thế
nào, ở đâu, bởi ai và vào thời điểm nào. Để giải quyết các vấn đề trên, kỹ thuật mật
mã hiện đại phải đảm bảo các dịch vụ an toàn cơ bản: bí mật (Confidential); đảm
bảo tính toàn vẹn (Integrity); và xác thực (Authentication).
Nhận thấy tính thiết thực của bài toán này và đƣợc sự gợi ý của giảng viên
hƣớng dẫn, tôi đã chọn đề tài: “Một hệ mật xây dựng trên sơ đồ Feistel không cân
bằng và khả năng ứng dụng trong hàm băm” để làm đề tài cho luận văn tốt nghiệp
của mình.

2. TÌNH HÌNH NGHIÊN CỨU
Hệ thống khoá bí mật (hay mật mã cổ điển) là phƣơng pháp mã hoá đơn giản
nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá. Phƣơng pháp này sử dụng các
thuật toán đơn giản, dễ hiểu nhƣng khó khăn trong việc quản lý lƣu trữ và thiết lập
phân phối khoá, với các hệ mật nhƣ: DES, AES,... Từ năm 1976 mật mã hiện đại


2

hay hệ thống mật mã công khai ra đời đã khắc phục đƣợc những nhƣợc điểm này,
với việc sử dụng các bài toán một chiều khó, các nhà khoa học đã phát minh ra
những hệ mật nổi tiếng nhƣ: RSA, ElGamal, Diffie-Hellman… Các hệ mật mã khóa

công khai ra đời cho phép thực hiện các dịch vụ xác thực và chữ ký số, nhằm thỏa
mãn các yêu cầu về trao đổi thông tin bí mật trên mạng cũng nhƣ ứng dụng trong
giao dịch điện tử.
Với mục đích nghiên cứu và đa dạng hóa cách xây dựng các hệ mật khóa bí
mật, luận văn tập trung nghiên cứu một hệ mật mã khối với 128bit vào/ra. Hệ mật
này sử dụng các cấp số nhân cyclic làm hàm mã hóa, và sơ đồ mã hóa đƣợc xây
dựng theo mạng Feistel không cân bằng với 4 nhánh. Khóa bí mật cho hệ mật này
cũng đƣợc xây dựng bởi cấp số nhân trên các vành đa thức với 2 lớp kề cyclic.
Bằng việc sử dụng cấu trúc nhóm nhân và cấp số nhân cyclic trên vành đa
thức để tạo khóa, ta có thể xây dựng một mật mã khối trên cơ sở mạng hoán vị
Feistel với một số ƣu điểm nhất định.Việc sử dụng cấp số nhân trên vành đa thức để
xây dựng hệ mật thể hiện một số ƣu điểm: cấu trúc đại số chặt chẽ, số lƣợng cấp số
nhân trên vành đa thức nhiều (thuận lợi cho việc tạo khóa trong các hệ mật), mạch
điện phần cứng thực hiện khá dễ dàng (thuận lợi cho việc áp dụng vào thực tế), tốc
độ tính toán nhanh.
Với những ƣu điểm nhƣ đã đề cập, hệ mật này rất phù hợp áp dụng vào một
hàm băm không khóa (MDC), và đây cũng là nội dung cuối sẽ đƣợc đề cập trong
luận văn.

3. MỤC TIÊU NGHIÊN CỨU
- Khảo sát đánh giá một số hệ mật khối.
- Xây dựng hệ mật trên các cấp số nhân cyclic của vành đa thức.
- Áp dụng hệ mật vào một sơ đồ hàm băm và đánh giá sơ bộ về hàm băm đó.

4. ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU
Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu các thuật toán
mã hóa và sử dụng chúng trong lƣợc đồ xây dựng các hàm băm. Các thuật toán mã
hóa và sơ đồ tạo khóa trong các sơ đồ mã hóa đƣợc xây dựng trên cấu trúc cấp số



3

nhân cyclic, đây là một cấu trúc đại số đƣợc xây dựng trên cơ sở là nhóm nhân
cyclic trên vành đa thức.

5. PHƢƠNG PHÁP NGHIÊN CỨU
Phƣơng pháp nghiên cứu của đề tài là phân tích và tổng hợp dựa vào các
công cụ toán học, đặc biệt là đại số đa thức, lý thuyết thông tin và mã hóa, lý thuyết
xác suất... cùng với sự hỗ trợ tính toán của máy tính và các chƣơng trình phần mềm
mô phỏng để thử nghiệm đánh giá.

6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI
Những kết quả trong luận án này là một đóng góp nhỏ bé vào việc phát triển
lý thuyết mật mã nói chung và các hàm băm nói riêng. Các nghiên cứu trong luận
văn đƣa ra đƣợc một phƣơng pháp xây dựng mật mã khối và một hàm băm trên cơ
sở là các cấp số nhân cyclic của vành đa thức chẵn.


4

CHƢƠNG 1. TỔNG QUAN VỀ MẬT MÃ HỌC
1.1. CÁC KHÁI NIỆM CƠ BẢN
Mật mã học là một bộ phận của khoa học mật mã (Cryptology), đƣợc chia
thành 2 bộ phận chính:
- Mật mã học (Cryptography): chia thành 3 nội dung:
+ Mật mã khóa bí mật (Khóa đối xứng)
+ Mật mã khóa công khai (khóa bất đối xứng)
+ Hàm băm, xác thực và chữ ký số
- Phân tích mật mã (Cryptonalys): là khoa học nghiên cứu cách phá các hệ
mật nhằm phục hồi bản rõ ban đầu từ bản mã:

+ Phƣơng pháp tấn công tổng lực (tìm khóa vét cạn)
+ Phƣơng pháp thống kê
+ Phƣơng pháp phân tích cấu trúc…
Trong lý thuyết mã hóa nguồn và mã sửa sai khâu mã hóa (coding) thƣờng
chỉ có đầu vào là bản tin và đầu ra là bản mã (và ngƣợc lại là khâu giải mã
(decoding)). Tuy nhiên với mật mã học thì hai khâu này có một sự khác biệt đó là
đầu vào của mã hóa (giải mã) ngoài bản tin ra còn có thêm khóa (K).
* Mã hóa (Encryption):
Ta có:

M

Encryption

C

hay
K

* Giải mã (Decryption)

C

Decryption

M

Ta có:
K
Trong đó: M – bản rõ; C – bản mã; K – khóa

* Các phƣơng pháp xử lý thông tin số trong các hệ thống mật mã bao gồm:


5

- Mật mã khóa bí mật (khóa đối xứng):
Với hệ mật này, việc mã hóa và giải mã sử dụng chung một khóa, do đó hai
bên liên lạc phải thống nhất và khóa mã trƣớc khi truyền tin. Các thuật toán mã hóa
trong hệ mật khóa bí mật thƣờng sử dụng các phƣơng pháp sau:
+ Hoán vị
+ Thay thế
+ Xử lý bit (chủ yếu trong các ngôn ngữ lập trình)
+ Phƣơng pháp hỗn hợp (điển hình là chuẩn mã hóa dữ liệu – DES)
- Mật mã khóa công khai (khóa không đối xứng):
Thông thƣờng mỗi bên liên lạc tự tạo cho mình một cặp khóa công khai và bí
mật, khóa công khai dùng để mã hóa bản tin và khóa này đƣợc công khai trên mạng,
còn khóa bí mật dùng để giải mã (chỉ có bên nhận tin lƣu trữ). Các thuật toán mã
hóa công khai cho đến nay đƣợc xây dựng theo một trong năm bài toán một chiều
cơ bản đó là:
+ Bài toán logarit rời rạc
+ Bài toán phân tích thừa số
+ Bài toán xếp ba lô
+ Bài toán mã sửa sai
+Bài toán trên đƣờng cong elliptic
-Mật mã khối: Trong các hệ mật mã khối quá trình xử lý thông tin đƣợc
thực hiện theo các khối bit có độ dài xác định.
- Mật mã dòng: Trong các hệ mật mã dòng quá trình xử lý thông tin thực
hiện trên từng bit.
- Độ phức tạp tính toán:
+ Độ phức tạp tính toán P (theo thời gian đa thức) các bài toán này là khả thi

và khá đơn giản.
+ Độ phức tạp NP: NP là ký hiệu lớp các bài toán giải đƣợc bằng thuật toán
không tất định (Non Determinal) trong thời gian đa thức (Polynomial). Bài toán
thuộc lớp NP thƣờng khó giải và khá phức tạp.


6

1.2. CÁC HỆ MẬT MÃ KHÓA BÍ MẬT
1.2.1. Sơ đồ khối chức năng hệ mật mã khóa bí mật
Thám mã
Bản rõ M
Nguồn tin
(Alice)

Bản mã C
Bộ mã hoá

Bản mã C
Kênh mở
(không an toàn)

K

(Oscar)
Bản rõ M

Bộ giải mã

Nhận tin

(Bob)

Kênh an toàn

Nguồn khoá
Hình 1.1. Sơ đồ khối chức năng hệ mật khóa bí mật

Sơ đồ khối của một hệ mật khóa bí mật đƣợc mô tả trong hình 1.1.
Một hệ mật là một bộ gồm 5 tham số P, C, K, E, D thoả mãn các điều kiện
sau:
P là một tập hữu hạn các bản rõ có thể.
C là một tập hữu hạn các bản mã có thể.
K là một tập hữu hạn các khoá có thể (không gian khoá).
Đối với mỗi k  K có một quy tắc mã e k  E
ek : P  C

và một quy tắc giải mã tƣơng ứng d k  D
dk : C  P

sao cho: d k ek x   x với  x  P .

1.2.2. Các hệ mật thay thế
1.2.2.1. Các hệ mật thay thế đơn biểu
a) Mật mã dịch vòng (MDV)
Giả sử P  C  K  Z 26 với 0  k  25 , ta định nghĩa:
Mã hóa: C  M  K mod n


7


Giải mã: M  C  K mod n
Ví dụ 1.1:
Với văn bản tiếng Anh, n  26 hoặc 27, nhƣ vậy M , C , K  Z 26 hoặc
Z 27

Ta sử dụng MDV (với modulo 26) để mã hoá một văn bản tiếng Anh thông
thƣờng bằng cách thiết lập sự tƣơng ứng giữa các ký tự và các thặng dƣ theo mod
26 nhƣ sau:
Ký tự

A

B

C

D

E

F

G

H

I

J


K

L

M

Mã tƣơng ứng

0

1

2

3

4

5

6

7

8

9

10


11

12

Ký tự

N

O

P

Q

R

S

T

U

V

W

X

Y


Z

Mã tƣơng ứng

13

14

15

16

17

18

19

20

21

22

23

24

25


Nhận xét:
+ Khi k = 3, hệ mật này thƣờng đƣợc gọi là mã Caesar đã từng đƣợc Hoàng
đế Caesar sử dụng.
+ MDV (theo mod 26) là không an toàn vì nó có thể bị thám mã theo phƣơng
pháp tìm khoá vét cạn (thám mã có thể dễ dàng thử mọi khoá d k có thể cho tới khi
tìm đƣợc bản rõ có nghĩa). Trung bình có thể tìm đƣợc bản rõ đúng sau khi thử
khoảng 26 2  13 quy tắc giải mã.
+ Từ ví dụ trên ta thấy rằng, điều kiện cần để một hệ mật an toàn là phép tìm
khoá vét cạn phải không thể thực hiện đƣợc. Tuy nhiên, một không gian khoá lớn
vẫn chƣa đủ để đảm bảm độ mật.
b. Mã thay thế (MTT)
Thay thế một ký tự bằng một ký tự khác trong bảng ký tự. Số khóa có thể có
là: K  26! , với các máy tính hiện nay thì chƣa đủ an toàn.
Khi độ dài bản rõ đủ lớn, có thể sử dụng phƣơng pháp thống kê để thám mã.
c. Hệ mật Affine
Mã hóa: C  aM  b mod n đây là một phƣơng trình tuyến tính
Giải mã:

M  a1 (C  b)mod n


8

1
Điều kiện tồn tại: để có a thì  a, n   1

Nhận xét: Do khoảng trống xuất hiện nhiều trong văn bản, nên khi mã hóa
nên mã hóa cả khoảng trống để giảm số lần xuất hiện.
1.2.2.2. Các hệ mật thay thế đa biểu
Hệ mật Vigenère

Sử dụng phép tƣơng ứng A  0, B  1, , Z  25 mô tả ở trên, ta có thể
gắn cho mỗi khoá K một chuỗi ký tự có độ dài m, đƣợc gọi là từ khoá. Mật mã
Vigenère sẽ mã hoá đồng thời m ký tự: mỗi phần tử của bản rõ tƣơng đƣơng với m
ký tự.
Ví dụ 1.2:
Giả sử bản tin m = 6 và từ khoá là k = CIPHER. Từ khoá này tƣơng ứng với
dãy số k = (2, 8, 15, 7, 4, 17). Giả sử bản rõ là:
meetmeatsunset
Ta sẽ biến đổi các phần tử của bản rõ thành các thặng dƣ theo mod 26, viết
chúng thành các nhóm 6 rồi cộng với từ khoá theo modulo 26 nhƣ sau:
12

4

4

19

12

4

0

19

18

20


13

18

4

19

Bản rõ

2

8

15

7

4

17

2

8

15

7


4

17

2

8

Khoá

14

12

19

0

16

21

2

1

7

1


17

9

6

1

Bản mã


trong đó tất cả các phép toán đƣợc thực hiện trong

.

Nhƣ vậy, dãy ký tự tƣơng ứng với xâu bản mã sẽ là:
OMTAQVCBHBRJGB
Ta có thể mô tả mật mã Vigenère nhƣ sau:
Cho m là một số nguyên dƣơng cố định nào đó.
Ta định nghĩa
Với khoá

, ta xác định:


9

Chú ý: Để giải mã, ta có thể dùng cùng từ khoá nhƣng thay cho cộng, ta trừ
nó theo modulo 26.
Ta thấy rằng, số các từ khoá có thể với độ dài m trong mật mã Vigenère là


26 m . Bởi vậy, thậm chí với m khá nhỏ, phƣơng pháp tìm kiến vét cạn cũng yêu cầu
thời gian khá lớn. Ví dụ, với m = 6 thì không gian khoá cũng có kích thƣớc lớn hơn

3.108 khoá.
1.2.3. Các hệ mật hoán vị (MHV)
Khác với MTT, ý tƣởng của MHV là giữ các ký tự của bản rõ không thay đổi
nhƣng sẽ thay đổi vị trí của chúng bằng cách sắp xếp lại các ký tự này. Ở đây không
có một phép toán đại số nào cần thực hiện khi mã hoá và giải mã.
* Hệ mật hoán vị độ dài K
Chia bản rõ thành các khối độ dài K và hoán vị các ký tự trong mỗi khối.
Ví dụ 1.3:
Giả sử m = 6 và khoá là phép hoán vị sau:
1

2

3

4

5

6

3

5

1


6

4

2

Khi đó, phép hoán vị ngƣợc sẽ là:
1

2

3

4

5

6

3

6

1

5

2


4

Giả sử ta có bản rõ: asecondclasscarriageonthetrain
Trƣớc tiên, ta nhóm bản rõ thành các nhóm 6 ký tự:

a secon dclasscarria geonthetrain
Sau đó, mỗi nhóm 6 chữ cái lại đƣợc sắp xếp lại theo phép hoán vị π , ta có:

EOANCS LSDSAC RICARA OTGHNE RIENAT
Cuối cùng, ta có bản mã sau:
EOANCSLSDSACRICARAOTGHNERIENAT


10

Khi sử dụng phép hoán vị ngƣợc π 1 trên dãy bản mã (sau khi đã nhóm lại
theo các nhóm 6 ký tự), ta sẽ nhận lại đƣợc bản rõ ban đầu.
- Từ ví dụ trên, ta có thể định nghĩa MHV nhƣ sau:
Cho m là một số nguyên dƣơng xác định nào đó.
Cho P  C   Z 26 

 1, 2,

m

và cho K là tất cả các hoán vị có thể có của

, m .
Đối với một khoá  (tức là một phép hoán vị nào đó), ta xác định:


e   x1 ,


d   x1 ,



, xm   x 1 ,

, x  m



, xm   y 1 1 ,



, y 1 m



trong đó  1 là phép hoán vị ngƣợc của 

1.2.4. Chuẩn mã dữ liệu DES
Mô tả đầy đủ của DES đƣợc nêu trong Công bố số 46 về các chuẩn xử lý
thông tin Liên bang (Mỹ) vào 15/1/1977. DES mã hoá một xâu bit x của bản rõ độ
dài 64 bằng một khoá 54 bit. Bản mã nhận đƣợc cũng là một xâu bit có độ dài 64.
Trƣớc hết ta mô tả ở mức cao về hệ thống.
Thuật toán tiến hành theo 3 giai đoạn:
1)Với bản rõ cho trƣớc x, một xâu bit x0 sẽ đƣợc xây dựng bằng cách hoán vị

các bit của x theo phép hoán vị cố định ban đầu IP. Ta viết:
x0  IP( x)  L0 R0 , trong đó L0 gồm 32 bit đầu và R0 là 32 bit cuối.

2) Sau đó tính toán 16 lần lặp theo một hàm xác định. Ta sẽ tính Li Ri ,

1  i  16 theo quy tắc sau:

 Li  Ri 1

 Ri  Li 1  f ( Ri 1 , ki )
trong đó  kí hiệu phép cộng theo modulo 2. f là một hàm mà ta sẽ mô tả ở
sau, còn k1 , k2 ,..., k16 là các xâu bit độ dài 48 đƣợc tính nhƣ hàm của khoá k (trên


11

thực tế mỗi ki là một phép chọn hoán vị bit trong k). Các khóa con k1 , k2 ,..., k16 sẽ
tạo thành bảng khoá.
3) Áp dụng phép hoán vị ngƣợc IP 1 cho xâu bit R16 L16 , ta thu đƣợc bản mã
1

y, tức là y  IP ( R16 L16 ) .
Sơ đồ mã hóa DES đƣợc xây dựng trên lƣợc đồ Feistel nhƣ trong hình 1.2.

Hình 1.2. Sơ đồ mã hóa DES

Có 64! cách chọn các bảng hoán vị, DES chọn các bảng hoán vị IP và hoán
vị đảo IP-1 nhƣ trong bảng 1.1.



12

Bảng 1.1. Bảng IP và IP-1

Các mô tả về hàm mã hóa f và khối tạo khóa con trong DES nhƣ mô tả trong
hình 1.3 và 1.4.

Hình 1.3. Mô tả hàm f trong DES


13

Hình 1.4. Các bƣớc tạo khóa cho các vòng mã hóa của DES

1.2.5. Ưu nhược điểm của mật mã khóa bí mật
* Ƣu điểm:
- Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp)
- Hiệu quả: (Tỷ lệ mã bằng 1) dễ sử dụng cho các ứng dụng nhạy cảm với độ
trễ và các ứng dụng di động.
* Nhƣợc điểm:
Phải dùng kênh an toàn để truyền khóa (Khó thiết lập và chi phí tốn kém)
- Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên mạng do phải tạo
khóa nhiều.
- Các thuật toán là song ánh, vì vậy nếu biết M và K thì chắc chắn biết C.
Thám mã có thể suy luận ra K, kết hợp với C tại kênh mở có thể suy ra M.
- Khó xây dựng các dịch vụ an toàn khác nhƣ: đảm bảo tính toàn vẹn, xác
thực, chữ ký số…
Vì các nhƣợc điểm này nên phải sử dụng cả các hệ mật khóa công khai.



14

1.3. HỆ MẬT KHÓA CÔNG KHAI

1.3.1. Sơ đồ chức năng
Nguồn

M

Mã hóa

C

C

Kênh mở

Giải mã

A

M

Đích
B

Hình 1.5. Sơ đồ khối chức năng hệ mật khóa công khai

Sơ đồ khối của hệ mật khóa công khai (khóa bất đối xứng) nhƣ mô tả trong
hình 1.8, trong đó:

KCB - Khóa công khai của B (Lấy trên kênh mở)
K RB - Khóa bí mật của B

Phép mã hóa là ánh xạ 1:1: C  E  M , KCB 
Giải mã:

M  E 1  C, K RB   D C, K RB 

Ưu điểm của hệ mật khóa công khai:
+ Không sử dụng kênh an toàn (đây là nhƣợc điểm của hệ mật khóa bí mật).
+ Dễ bảo vệ, lƣu trữ và sinh khóa.
+ Dễ tạo các dịch vụ an toàn khác.
Ví dụ: Với n ngƣời dùng:
Số khóa cần tạo
Hệ mật khóa bí mật
Hệ mật khóa công khai

Số khóa cần lƣu giữ bí mật

n(n  1)
2

(n  1)

2n

1

Nhược điểm của hệ mật khóa công khai:
+ Phức tạp (với trƣờng số lớn thì phần cứng phức tạp)

+ Hiệu quả không cao, do đó khó thực hiện các dịch vụ nhạy cảm đối với độ
trễ và dịch vụ di động.


15

1.3.2. Một số bài toán xây dựng hệ mật khóa công khai
Với yêu cầu với hệ mật khóa công khai: Dễ mã hóa, khó giải mã (Hàm một
chiều), các hƣớng nghiên cứu từ năm 1976 cho đến nay đã tìm đƣợc một số hàm
một chiều, tƣơng ứng với các bài toán.
* Bài toán logarit rời rạc:
Bài toán này xây trên các hàm mũ của các phần tử trong trƣờng hữu hạn

Zp

với p là số nguyên tố lớn. Bài toán ngƣợc là phép logarit nhƣng trên trƣờng hữu hạn
và đây là bài toán khó giải khi p lớn.
Các hệ mật liên quan bao gồm:
+ Thủ tục trao đổi và thỏa thuận khóa Diffie-Hellman
+ Hệ mật Omura – Massey
+ Hệ mật Elgamal…
* Bài toán phân tích thừa số và hệ mật RSA
- Định lý 1.1(định lý cơ bản của số học)[3],[7],[8]:
Cho n là một số nguyên tố, tồn tại phân tích duy nhất:

n  p1e1 p2e2 ... pkek
Với:

(1.1)


pi - số nguyên tố
ei - số nguyên dƣơng

Nếu

là tích của 2 số nguyên tố: n  p.q ( p, q -là 2 số nguyên tố lớn thỏa

n

mãn p  q )
Đây là bài toán phân tích số nguyên tố lớn khó (tìm n đơn giản khi biết p, q ,
cho n rất khó tìm đƣợc p, q )
- Hệ mật RSA (Rivest – Shamir – Adleman)
+ Tạo khóa: Mỗi bên liên lạc (A,B) tạo cho mình một cặp khóa công khai –
bí mật theo các bƣớc sau:
Bƣớc 1: Chọn hai số nguyên tố lớn p và q có độ lớn tƣơng đƣơng.
Bƣớc 2: Tính n  pq   (n)  ( p  1)(q  1)


16

Bƣớc 3: Chọn e ngẫu nhiên thỏa mãn: (e, (n))  1
Bƣớc 4: Tính d với ed  1mod  (n)
Bƣớc 5: + Khóa công khai: (n,e)
+ Khóa bí mật: d
trong đó: e là số mũ mã hóa; d là số mũ giải mã. Vai trò của e và d là nhƣ
nhau (2 số nghịch đảo), tức là nếu mã hóa dùng e thì giải mã dùng d và ngƣợc lại.
+ Mã hóa: B cần gửi bản tin m cho A.
Bƣớc 1: B nhận khóa công khai của A: (n,e)
Bƣớc 2: B tính C  me mod n

Bƣớc 3: B gửi bản mã C cho A.
+ Giải mã: A nhận C và giải mã ra m:
A tính C mod n  (m ) mod n  m
d

e d

- Nhận xét:
+ Thám mã phải thực hiện bài toán phân tích thừa số n  pq
thì mới tính đƣợc  (n) (nếu biết d muốn tìm e phải thỏa mãn điều kiện:

ed  1mod  (n) )
+ Hiệu quả truyền tin cao R  1 .
+ Hệ mật RSA đƣợc sử dụng rộng rãi hơn 30 năm qua.
* Bài toán mã sửa sai và hệ mật Mc. Eliece
Sử dụng mã sửa sai tuyến tính C   n, k , d  ; d  2t  1 (với t là số sai sửa
đƣợc). Ma trận sinh: Gk n và ma trận kiểm tra H rn ; r  n  k ; thỏa mãn:
G.H T  0 .

Một trong những lớp mã này là mã Goppa, chúng đƣợc dùng làm cơ sở cho
hệ mật Mc. Eliece.
* Đường cong Elliptic và các hệ mật liên quan
Bài toán này đƣợc xây dựng trên các nhóm cộng của đƣờng cong elliptic.
đƣờng cong Elliptic trên trƣờng số thực có dạng sau:


×