You are on page 1of 20

BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM

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


---------------------------------------

TÊN HỌC VIÊN: ĐẶNG VIỆT HAI

TÊN LUẬN VĂN: HỆ MẬT MCELIECE

CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ


MÃ SỐ: 60.52.70

LUẬN VĂN THẠC SỸ KỸ THUẬT

Người hướng dẫn khoa học: GS.TS. Nguyễn Bình

PHÚ THỌ - Năm 2009


Luận văn được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông
Tập đoàn Bưu chính Viễn thông Việt Nam

Người hướng dẫn khoa học: GS.TS. Nguyễn Bình

Phản biện 1: ……………………………………………………


……………………………………………………

Phản biện 2: ……………………………………………………


……………………………………………………

Phản biện 3: ……………………………………………………


……………………………………………………

Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: ....... giờ ....... ngày ....... tháng ....... năm 2009
Có thể tìm hiểu luận văn tại:
Thư viện Học viện Công nghệ Bưu chính Viễn thông

2
LỜI NÓI ĐẦU

Ngày nay, cùng với sự phát triển của công nghệ thông tin
và truyền thông, mạng máy tính đang trở thành một phương tiện
điều hành thiết yếu trong mọi lĩnh vực hoạt đồng của xã hội. Việc
trao đổi dữ liệu dưới dạng số hóa đã trở nên vô cùng hữu ích và
cấp thiết. Việc trao đổi thông tin và dự liệu trong môi trường
mạng ngày càng trở nên phổ biến và đang dần thay thế các
phương thức truyền tin trực tiếp. Khi ngày càng nhiều thông tin
được trao đổi trên mạng thì nhu cầu về bảo mật thông tin là một
vấn đề được đặt ra cho nhiều ngành, nhiều lĩnh vực và nhiều quốc
gia. Trong nhưng năm của thập niên 70, 80 của thế kỷ trước, công
nghệ mã hóa thông tin đã có những thành tựu vượt bậc, các hội
nghị khoa học thường niên của hiệp hội quốc tế về nghiên cứu
công nghệ mã hóa được tổ chức liên tục, các hội nghị Euro Crypto
tại Mỹ thu hút được sự quan tâm của các chuyên gia công nghệ
hàng đầu trên thế giới. Một hệ mật mã khóa công khai đáp ứng
được đầy đủ các đòi hỏi của các chuyên gia về bảo mật thông tin,
phù hợp cho các ứng dung rộng rãi trong cộng động.
Ý tưởng về một hệ mật mã khóa công khai được Diffie và
Hellman đưa ra lần đầu tiên vào năm 1976, sau đó Rivesrt, Shamir
và Adleman đưa ra hệ mật nổi tiếng RSA vào năm 1977. Tiếp
theo đó một số hệ mật và độ mật của chúng dựa trên các thuật
toán khác nhau ra đời.
Trong các hệ mật mã khóa công khai nêu trên, duy nhất có
hệ mật McEliece dựa trên lý thuyết mã đại số để xây dựng hệ mật,
với ứng dụng cụ thể là mã Goppa.
1
Từ năm 1987. GS.TSKH. Nguyễn Xuân Quỳnh và GS.TS.
Nguyễn Bình khi đó lần đầu tiên đề xuất phương pháp xây dựng
mã xyclic cục bộ cùng với các kết quả nghiên cứu cứu của các
nghiên cứu sinh, mở ra khả năng có thể nghiên cứu phát triển tiếp
lý thuyết về mã Xyclic cục bộ.
Các nghiên cứu trước đây đã đưa ra các phương pháp phân
hoạch tổng quát vành theo các nhóm nhân Xyclic khác nhau trong
vành. Phương pháp giải mã cho Xyclic cục bộ thành các mã tối ưu
được sử dụng theo các phương pháp sử dụng dấu kiểm tra chẵn,
sử dụng dầu thông tin giả, các lớp Xyclic cục bộ trực giao và có
khả năng trực giao.
Trong khuôn khổ luận văn này tôi tìm hiểu các vấn đền cụ
thể như sau:
Chương 1. Hệ mật McEliece: trong chương này tôi trình
bày tổng quan về hệ thống thông tin mật, hệ mật mã khóa bí mật,
hệ mật mã khóa công khai, hệ mật McEliece.
Chương 2. Một số đề xuất cải biên hệ mật McEliece: trong
chương này tôi trình bày các vấn đền tồn tại của hệ mật McEliece
nguyên thủy và đề xuất thuật toán cải biên hệ mật McEliece đó là
sử dụng Xyclic cục bộ với véctơ sai mang thông tin và có thêm
phần nén tín hiệu sau khi mã hóa và giải nén tin hiệu trước khi
giải mã để tăng tốc độ truyền tin và độ mật của hệ thống.
Chương 3. Đánh giá hệ mật McEliece: Đánh giá quá trình
truyền khóa trong việc công khai ma trận mã hóa và vấn đề về tân
công, thám mã

2
Chương 1. HỆ MẬT MCELIECE.
1.1. Các hệ mật khóa bí mật.
Nhiệm vụ cơ bản của hệ mật mã là tạo ra khả năng liên lạc
trên một kênh không mật cho hai người sử dụng sao cho người
thám mã không thể hiểu được nội dung thông tin truyền đi. Thông
tin mà người gửi muốn gửi cho người nhận có cấu trúc tuỳ ý.
Người gửi sẽ mã hoá bản rõ, nhưng người nhận có thể giải mã và
thu được bản rõ.
Hệ mật mã khoá bí mật là một bộ 5 tham số (P, C, K, E,
D) thoả mãn các điều kiện sau:
a. P là một tập hữu hạn các bản rõ có thể
b. C là một tập hữu hạn các bản mã có thể
c. K là một tập hữu hạn các khoá có thể có (không gian khoá)
d. Đối với mỗi khoá k  K có một quy tắc mã ek E
ek : P  C
và một quy tắc giải mã
dk : C  P
sao cho: dk(ek(x)) = x với mọi bản rõ x  P.
1.1.2. Mộ số hệ mật mã khoá bí mật điển hình
1.1.2.1. Mã dịch vòng (MDV)
Mã dịch vòng dựa trên số học modulo. Mã dịch vòng được
định nghĩa như sau: Giả sử P = C = K = Z26 với 0 ≤ k ≤ 25 (xác
định trong bảng chữ cái tiếng Anh gồm 26 chữ cái)

3
1.1.2.2. Mã thay thế (MTT)
Mã thay thế về bản chất là xem phép mã hoá và giải mã
như các hoán vị của các ký tự và được định nghĩa như sau:
Cho P = C = Z26 K chứa mọi hoán vị có thể của 26 ký hiệu
0, 1, …, 25 với mỗi phép hoán vị π  K, ta định nghĩa: eπ(x) =
π(x) và dπ(y) = π-1(y) trong đó π-1 là hoán vị ngược của π.
1.1.2.3. Mã hoán vị (MHV)
Về ý tưởng mã hoán vị là thay đổ vị trí giữa các ký tự của
bản rõ. Mã hoán vị được định nghĩa như sau:
Cho m là một số nguyên dương xác định nào đó.
Cho P = C = (Z26)m và k gồm tất cả các hoán vị của {1, 2,
…, m}.
Đối với một khoá π (tức là một hoán vị) ta xác định: eπ(x1,
…, xm) = (xπ(1), …, xπ(m)) và dπ(y1, …, ym) = (y-1π(1), …, y-1π(m))
trong đó π-1 là hoán vị ngược của π.
1.1.2.4. Các hệ mã dòng
Với các hệ mã nghiên cứu ở trên, các phần tử liên tiếp của
bản rõ đều được mã hoá cùng một khoá k. Bản mã y nhận được có
dạng: y = y1.y2 … = ek(x1) ek(x2) …
1.1.3. Các ưu nhược điểm của hệ mật mã cổ điển
Việc sử dụng các mã khối, mã dòng từng bước nâng cao
được tính bảo mật tuy nhiên với các phương tiện chặn bắt thông
tin hiện đại các hệ mã nói trên không đảm bảo độ mật cho phép.
Chính vì vậy các hệ mã đối xứng mới được tiếp tục nghiên cứu và
phát triển.
4
Các hệ mã nói trên đều là các hệ mã đối xứng tức là việc
lập mã và giải mã dùng chung một chìa khoá do vậy tất cả các hệ
mã này đều rất dễ bị tấn công trong qua trình chuyển giao chìa
khoá cho người nhận. Do nhu cầu phát triển của xã hội vào ngày
15/05/1973, Cục tiêu chuẩn quốc gia Hoa Kỳ đã đưa ra các tiêu
chí cơ bản với một thuật toán mã hoá hiện đại là:
- Tính bảo mật cao.
- Thuật toán công khai, dễ hiểu. Tính bảo mật được chốt
vào chìa khoá chứ không vào chính thuật toán.
- Thuật toán có tình mềm dẻo cao, ứng dụng đa dạng.
- Việc triển khai thuật toán trên các thiết bị điện tử là
không tốn kém.
- Thuật toán và các thiết bị mang nó phải có tính cộng đồng.
Chính vì vậy, sự ra đời của các hệ mã phi đối xứng – hệ
mật mã khoá công khai là một nhu cầu tất yếu.
1.2. Các hệ mật khóa công khai:
1.2.1. Khái quát chung.
Việc xây dựng các hệ mật khoá công khai dựa trên ý tưởng
là thiết kế một hệ mật không có khả năng tính toán để xác định
quy tắc giải mã khi đã biết quy tắc mã hoá. Vì vậy, quy tắc mã
hoá có thể được công khai rộng rãi. Ưu điểm của hệ mật này là
người gửi có thể gửi bản tin cho người nhận mà không cần thông
tin trước về khoá mật. Người nhận là người duy nhất có thể giải
mã thông tin nhận được nhờ sử dụng quy tắc giải mã.

5
1.2.2. Nguyên tắc chung mã hoá với khoá công khai
Trong hệ thống có n đối tượng cùng trao đổi thông tin mật.
Từng đối tượng chọn cho mình một khoá lập mã k và công thức
mã hoá ek được công khai. Như vậy có n khoá lập mã công khai
k1, k2, k3, …, kn. Khi đối tượng i muốn gửi thông tin cho đối
tượng j thì dữ liệu được chuyển thành từng khối với đội dài nào
đó, mỗi khối P trong văn bản được mã hoá bằng khoá lập mã ekj
của đối tượng j, thông tin gửi đi có dạng: C = ekj(P).
Để giải mã đối tượng j thực hiện: dk(C) = dkjekj(P) = P.
Do ekj và dkj là khoá lập mã và giải mã của đối tượng j do
vậy các đối tượng khác trong hệ thống không thể tìm ra khoá giải
mã dkj trong thời gian chấp nhận được mặc dù biết ekj.
1.2.3. Quá trình phát triển của hệ mật mã khoá công khai
Các hệ mật mã khoá công khai được nghiên cứu và phát
triển mạnh mẽ vào cuối những năm 70 của thế kỷ trước. Các hệ
mật điển hình đã được tập trung nghiên cứu phát triển và đưa vào
ứng dụng trong thực tế là hệ mật RSA, hệ mật RABIN, hệ mật
ELGAMAL, hệ mật CHOR-RIVEST, hệ mật merkle – Hellman,
hệ mật MCELIECE, các hàm băn và tính toàn vẹn dữ liệu …
1.2.3.1. Hệ mật RSA
Hệ mật RSA được xây dựng trên cơ sở mã mũ, trong đó
khoá lập mã là cặp (e, n) gồm số mũ e và modulo n.
1.2.3.2. Hệ mật mã RABIN
Tạo khoá: Mỗi đối tượng trong hệ thống trao đổi thông tin
cần tạo một khoá công khai và một khoá bí mật tương

6
1.2.3.3. Hệ mật ELGAMAL
Mỗi đầu liên lạc tạo một khóa công khai và một khóa bí
mật tương ứng:
1.2.3.4. Hệ mật CHOR – RIVEST
Hệ mật CHOR – RIVEST là hệ mật mã khoá công khai
xếp ba lô duy nhất hiện nay không sử dụng phép nhân modulo để
nguỵ trang bài toán tổng tập con.
1.2.3.5. Hệ mật xếp ba lô merkle – Hellman
Cho một đống các gói có các trọng lượng khác nhau, liệu
có thể xếp một số gói này vào ba lô có một trọng lượng cho trước
hay không.
1.2.3.6. Hê mật McEliece
Hệ mật McEliece dựa trên lý thuyết mã đại số và vẫn còn
được coi là an toàn. Hệ mật McEliece dựa trên bài toán giải mã
cho các mã tuyến tính (cũng là bài toán NP đầy đủ).
1.3. Mô tả hệ mật McEliece
Hệ mật McEliece sử dụng nguyên lý tương tự như hệ mật
Merkle – Hellman. Phép giải mã là một trường hợp đặc biệt của
bài toán NP đầy đủ nhưng nó được nguỵ trang giống như trường
hợp chung của bài toán. Trong hệ thống này bài toán NP được áp
dụng ở đây là bài toán giải mã cho một mã sửa sai (nhị phân)
tuyến tính nói chung. Tuy nhiên, đối với nhiều lớp mã đặc biệt
đều tồn tại các thuật toán giải mã với thời gian đa thức. 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 McEliece.

7
Định nghĩa
Giả sử k, n là các số nguyên dương, k ≤ n. Mã C[n,k] là
một không gian k chiều của (Z2)n (không gian vector của tất cả các
vector nhị phân n chiều).
Ma trận sinh của mã C[n,k] là ma trận nhị phân k x n, các
hàng của ma trận này tạo nên cơ sở của C.
Giả sử x,y  (Z2)n, trong đó x = (x1, x2, …, xn) và y = (y1,
y2, …, yn). Ta xác định khoảng cách Hamming: d(x,y) = |{i: 1 ≤ i
≤ n, xi ≠ yi}| tức là số các toạ độ mà ở đó x và y khác nhau.
Khoảng cách mã C được định nghĩa như sau: d(C) =
min{d(x,y): x,y Є C, x ≠ y}Mã [n, k] có khoảng cách d được ký
hiệu là mã [n, k, d].
Mã sửa sai được dùng để sửa các sai ngẫu nhiên xảy ra khi
truyền số liệu (nhị phân) qua kênh có nhiễu. Điều đó được thực
hiện như sau: Giả sử G là một ma trận sinh đối với mã [n, k, d], x
là vector nhị phần k chiều cần truyền đi. Người gửi sẽ mã hoá x
thành một vector n chiều y = xG rồi truyền y qua kênh.
Giả sử người nhận nhận được vector n chiều r không giống
y, người nhận sẽ giải mã r bằng chiến thuật giải mã “người láng
giềng gần nhất”. Theo chiến thuật này, người nhận sẽ tìm thấy từ
y’ có khoảng cách tới r nhỏ nhất. Sau đó sẽ giải mã r thành y’, rồi
xác định vector k chiều x’ sao cho y’ = x’G. Người nhận hy vọng
y’ = y và bởi vậy x’ = x (tức là người nhận tin rằng các sai số trên
đường truyền đã được sửa).
Dễ dàng thấy rằng, nếu sai số trên đường truyền nhiều nhất là
(d – 1)/2 thì trên thực tế chiến thuật này sẽ sửa được tất cả các sai.
8
Chương 2. MỘT SỐ ĐỀ XUẤT CẢI BIÊN HỆ MẬT
MCELIECE
2.1. Vấn đề sử dụng mã
2.1.1. Hệ mật McEliece theo nguyên thủy
McEliece đã đưa ra một thuật toán sử dụng các mã sai để
xây dựng một hệ mật khóa công khai. Nguyên tắc thiết kế của hệ
mật này cũng tương tự như hệ mật xếp ba lô Merkle-Hellmam.
Việc giải mã là một một trường hợp riêng dễ giải của bài toán NP
đầy đủ nhưng được ngụy trang sao cho nó giống như một trường
hợp chung của bài toán này. Trong hệ thống này, bài toàn NP đầy
đủ được áp dụng là bài toán giải mã cho mã sửa sai tuyến tính nhị
phân. Các thuật toán mô tả hệ mật McEliece cũng được nêu trong
nêu trong [2,3]. Cho tới nay, hệ mật này vẫn được coi là chưa bị
phá. Thảo luận về độ mật của hệ mật này được trình bày trong
một bài báo của Chabaud.
Cho G là ma trận sinh của một mã tuyến tính [n, k, d] sửa t
 (d  1) 
sai với t   .
 2 
Cho S là một ma trận k x k chiều khả nghịch trên GF(2) và
P là một ma trận hoán vị cấp n x n.
Thuật toán xây dựng hệ mật McEliece được mô tả như
trong bảng 2.1:
Bảng 2.1: Thuật toán xây dựng hệ mật McEliece

Xác định K = {G, S, P, G’}


Trong đó: G’ = SGP; G’ là khóa công khai; G,S và P được
9
giữ kín.
Mã hóa:
Với K = (G, S, P, G’), ta xác định:
ek(x,e) = xG’ + e
Trong đó e  GF(2n) được giải mã theo các bước sau:
1 – Tính y1 = y.p-1;
2 – Giải mã y1, ta thu được y1 = x1 + e1
Trong đó: x1, e1, y1  GF(2n);
3 – Tính x0  GF(2k) sao cho x0 G = x1;
4 – x = x0, S-1.

2.1.2. Thuật toán cải biên


Sau đây nêu ra thuật toán xây dựng hệ mật McEliece có
cải biên đôi chút. Sửa đổi này sẽ làm tăng tốc độ truyền, mặc dù
thuật toán giải mã có phức tạp hơn một chút. Thuật toán này sẽ
được mô tả trên bảng 2.2.
Bảng 2.2: Thuật toán xây dựng hệ mật McEliece có sửa đổi.

Xác định K = {G, S, P, G’}


G, S, P, G’ được xác định như ở trên.
G’ được đem công khai; G, S, P được giữ kín.
Mã hóa:
Đối với K = (G, S, P, G’), ta xác định:
ek(x, x’) = xG’ + x’

10
x’  GF(2n) là một day tin có trọng số t. Dãy tin này có
chiều dài ngẫu nhiên, bit đầu tiên của x  GF(2k), bit cuối
cùng của dãy là bit “1” thứ t của bản tin x’. Các bit tiếp
theo của dãy này đều bằng 0
Nén tín hiệu cần mã hóa bằng một chương trình nén càng
đặc trưng càng tốt.
Giải mã:
Giải nén tin hiệu thu được để thu được bản mã và tiến hành
giải mã
Bản mã nhận được y  GF(2n) được giải mã theo các bước
sau:
1 – Tính y1 = y.p-1;
2 – Giải mã y1, ta thu được y1 = x1 + e1
Trong đó: x1, e1, y1  GF(2n);
3 – Tính x0  GF(2k) sao cho x0 G = x1;
4 – x = x1, S-1.
5 – Tính x’ = e1.P hoặc x’ = y + xG’.

2.1.3. Thảo luận về độ mật của thuật toán.


Theo thuật toán được trình bày ở bảng 2.2, với giả thiết
bản rõ có các giá trị “0” và “1” phân bố đều, ta thấy tốc độ truyền
tin thực tế của hệ mật này có thể được xác định như sau:
kd
R' 
n

11
Tốc độ này cao hơn một chút so với tốc độ của thuật toán
 k
McEliece trình bày ở bảng 2.1:  R  
 n

Để đánh giá độ mật của thuật toán đã nêu, ta sẽ xem xét kỹ


hơn các cách tấn công bản mã của thám mã.
2.2. Xây dựng thuật toán cải biên
2.2.1. Sơ đồ mã hoá
Sơ đồ mã hoá được chỉ ra trên Hình 2.1:

Ma trận S [7x7]

Ma trận sinh G’ Ma trận sinh


[64x7] G[64x7]

Ma trận P
File gốc [64x64]
7
(i,8)   (
Ma trận [7x7] j 1 Ma trận 64x8 Ma trận [512x8]

Ma trận [7x7]

Nén tín hiệu

File mã hóa

Hình 2.1. Sơ đồ khối xây dựng hệ mật McEliece với mã Xyclic cục bộ

12
2.2.2. Sơ đồ giải mã
Sơ đồ giải mã được trình bày như trên Hình vẽ 2.2:
File mã

Giải nén tin hiệu Ma trận P-1 [64x64] Tính tổng kiểm Ma trận S-1 [7x7]
tra
Ma trận [64x8] Ma trận [64x8] Ma trận [7x7]

Ma trận
Ma trận S Ma trận P
sinh G
[7x7] [64x7] [7x7]

Ma trận sinh G’
[64x7]

Ma trận [512x1]

Ma trận [31x1]

File gốc

Hình 2.2. Sơ đồ khối xây dựng hệ mật mã McEliece với mã Xyclic cục bộ

2.2.3. Phương pháp xây dựng hệ mật McEliece trên mã


Xyclic cục bộ
2.2.3.1. Phương pháp tạo khóa mã:

13
Hệ mật McEliece trên mã Xyclic cục bộ được sử dụng ma
trận sinh G dựa trên phân hoạch vành theo nhóm nhân Xyclic đơn
vị với k = 8, ta có:
2.3. Ví dụ áp dụng
Phần này ví dụ về xây dựng hệ mật McEliece trên mã Xyclic cục
bộ . Dữ liệu được mã hóa là một chuỗi 10 ký tự là: “1234567890
Chương 3. ĐÁNH GIÁ HỆ MẬT MCELIECE
3.1. Khóa và vấn đề truyền khóa
Đối với hệ mật McEliece nguyên thủy theo đề xuất của
McEliece khóa công khai là ma trận G’[1024 x 512] với kích
thước của khóa khoảng 64KB là khá lớn, nó ảnh hưởng tới tốc độ
truyền bản tin đã được mà hoá.
Với những cải biên được đề xuất trong nội dung của luận
văn này thì khoá công khai của hệ mật McEliece chỉ là ma trận
G’[64 x 7] với kích thước khoảng 56Byte là khá nhỏ, hơn nữa nêu
áp dụng thêm thuật toán nén tin hiệu sau khi mã hoá và giải nén
tín hiệu trước khi giải mã bằng một thuật toán nén/ giải nén cá biệt
(tin hiệu mã hoá sẽ được nén) thì kích thước khoá công khai của
hệ một còn được giảm đi đáng kể (tỷ lệ giảm này phụ thuộc vào tỉ
lệ nén tín hiệu của thuật toán nén sử dụng)
3.2. Thám mã
Tại Crypo năm 97, Berson [25] đã chỉ ra rằng lược đồ
McEliece bị hai điểm yếu sau đây:
(1) Không có khả năng bảo vệ các bản tin được mật mã
hoá nhiều hơn một lần;

14
(2) Không có khả năng bảo vệ các bản tin có quan hệ
tuyến tính đã biết với một bản tin khác.
Mặc dù những điểm yếu không có khả năng phá vỡ lược
đò McEliece ngay lập tức (ví dụ: không thể lấy được khoá riêng),
nhưng có thể thám mã sẽ thực hiện một hành động mà làm cho
các điểm yếu này sẽ xuất hiện. Ví dụ: một thám mã có thể đưa vào
trong bản mật mã một số lỗi, bản này sẽ được gửi từ người gửi
đến người nhận. Như vậy người nhận sẽ không thể giải mã một
cách chính xác bản mật mã này. Nếu người nhận nghĩ rằng điều
này sinh ra bởi lỗi trong quá trình mã hoá, anh ta sẽ yêu cầu người
gửi gửi lại cho anh ta một bản khác (mã hoá bản tin và gửi lại).
Do đó, nhược điểm (1) sẽ xuất hiện.
3.2.1. Các tấn công của Berson với lược đồ McEliece
Berson đã đưa ra hai cách tấn công đối với lược đồ
McEliece, được gọi là cách tấn công message-resend và related-
message (Tấn công với thông báo được gửi lại và tấn công với
thông báo có quan hệ).
3.2.1.1. Thông báo được gửi lại (Message-resend)
Chúng ta giả sử rằng một bản tin m được mã hoá lần thứ
hai bởi một vài sự cố nào đó hoặc là một hành động đặc biệt của
một người giải mã. Khi đó, người giải mã biết c1 = mG' + e1 và c2
= mG' + e2, ở đó e1  e2 (được gọi là điều kiện gửi lại bản tin). Vì
vậy, c1 + c2 = e1 + e2. Lưu ý rằng trọng số của e1 + e2 là chẵn và
lớn nhất là 100 bởi vì trọng số của mỗi Vector sai số được thêm
vào trong lược đồ McEliece là 50. Theo như phân tích của Berson
thì trọng số Hamming mong muốn của e1 + e2 là khoảng 95,1 nếu

15
một điều kiện gửi lại bản tin xảy ra. Nếu các bản tin cơ bản khác
nhau thì trọng số Hamming mong muốn của c1 + c2 sẽ là 512. Vì
vậy, rất dễ dàng để phát hiện sự xuất hiện của một diều kiện gửi
lại bản tin và trọng số của e1 + e2 bằng cách theo dõi trọng số
Hamming của c1 + c2. Nếu trọng số của e1 + e2 là 94, chúng ta cần
dự đoán 524 vị trí của c1(c2) mà không bị ảnh hưởng bởi e1(e2) từ
930 vị trí có thể với 3 vị trí sai. Xác suất chúng ta có thể có được
 927 
 
524 
một dự đoán đúng là   0, 0828
 930 
 
 524 
Điều đó có nghĩ là người giải mã chỉ cần khoảng 12 dự
đoán để thành công. Tương tự như vậy, nếu trọng số của e1 + e2 là
96 thì chỉ cần khoảng 5 dự đoán cho người giải mã để họ thành
công.
Lưu ý rằng, nguyên nhân chính tại sao các tấn công của
Berson thành công là bởi bằng cách theo dõi giá trị của c1 + c2, có
thể thu được nhiều thông tin hơn về các vị trí trong đó các lỗi sẽ
có thể xảy ra.
3.2.1.2. Thông báo có quan hệ (Related-Message )
Chúng ta giả sử rằng hai bản tin m1 và m2 được mã hoá và
người giải mã biết được một quan hệ tuyến tính, ví dụ như giá trị
của m1 + m2, giữa hai bản tin. Khi đó, người giải mã biết được
rằng c1 = m1G' + e1 và c2 = m2G' + e2, ở đó m1  m2 và e1  e2.
Do đó, c1 + c2 = m1G' + e1 + m2G' + e2 = (m1 + m2)G' + (e1
+ e2). Bởi vì giá trị của m1 + m2 đã biết trước đó nên có thể tính
16
được (m1 + m2)G'. Vì thế, c1 + c2 + (m1 + m2)G' = e1 + e2. Tương
tự như trường hợp tấn công message-resend, số lượng dự đoán cần
thực hiện để thành công nhỏ. Về căn bản, cách thức tấn công
message-resend là một trường hợp đặc biệt của cách thức tấn công
related-message, ở đó, mối quan hệ tuyến tính giữa các bản tin là
m1 + m2 = 0. Để khắc phục các điểm yếu này, Berson đề xuất phân
bố tính ngẫu nhiên thông qua hình thức plaintext theo một số cách
phức tạp; ví dụ OAEP [22] của Bellar và Rogaway. Do đó, quan
hệ tuyến tính giữa các bản tin không thể bị nhận biết thông qua
một vài thao tác của người giải mã. Tuy nhiên, mọi lược đồ như
vậy đều phải chịu một sự tổn thất trong tốc độ thông tin. Trong
phần tiếp theo, tác giả sẽ đưa ra một vài dạng biến thể của lược đồ
McEliece để ngăn chặn sự tấn công của Berson. Hai trong số đó
có cùng tốc độ thông tin với lược đồ McEliece gốc và hai biến thể
khác sẽ có tốc độ thông tin cao hơn lược đồ gốc.
3.2.2. Một vài biến thể của lược đồ McEliece nhằm
chống lại các tấn công của Berson và cải thiện tốc độ thông tin.
Những biến thể này có thể bảo vệ lược đồ McEliece khỏi
sự tấn công theo cách message-resend và related-message. Thêm
vào đó, các biến thể này sẽ không làm giảm tốc độ thông tin.
Khoá công khai và khoá bảo mật trong các biến thể này cũng
giống như trong lược đồ McEliece gốc.

17
KẾT LUẬN:
Với mục đích tìm hiểu hệ mật McEliece , các nội dung
chính được trình bày trong luận văn bao gồm:
- Cơ sở lý thuất xây dựng hệ mật McEliece
- Xây dựng một sơ đồ cải biên sử dụng mã XCB thay cho
sơ đồ gốc sử dụng mã Goppa.
Cần chú ý rằng các mã Xyclic truyền thống không sử dụng
được trong sơ đồ này do số lượng các đa thức sinh khá hạn chế.
Các mã XCB khắc phục được nhược điểm này, tuy nhiên lại có
hạn chế về mặt tốc độ. Để khắc phục nhược điểm này việc sử
dụng một phần bản tin làm vector sai là một giải pháp phù hợp.
Ngoài ra việc sử dụng nén hỗ trợ cũng là một giải pháp
hữu ích để nâng cao hiệu quả chung cho hệ thống.
Chương cuối của luận văn nêu ra các phân tích thám mã
cho lược đồ McEliece và các biến thể của nó.

Do thời gian có hạn và trình độ hạn chế, việc trình bày các
vấn đề trong luận văn không tránh khỏi các thiếu sót nhất định.
Rất mong nhận được sự giúp đỡ của các thầy giáo và các bạn có
quan tâm

18

You might also like