Thông qua việc sử dụng mã nối tiếp thay thế mã Goppa trong đề xuất gốc, khả năng sửa lỗi của hệ thống được cải thiện một cách đáng kể so với khi sử dụng các mã đơn, điều này thể hiện [r]
(1)GIẢI PHÁP NÂNG CAO TỶ LỆ MÃ HÓA CỦA SƠ ĐỒ MẬT MÃ DỰA TRÊN MÃ
PROPOSED SOLUTIONS TO IMPROVE THE CODE RATE OF CODE-BASED CRYPTOGRAPHY
Lê Văn Thái
TÓM TẮT
Bài báo đề xuất hai giải pháp cải tiến hệ mật McEliece, giải pháp sử dụng vector lỗi mang tin giải pháp sử dụng mã nối tiếp thay mã Goppa Các giải pháp đề xuất cho phép tăng tỷ lệ mã hoá đến ~0,8, đạt độ lợi mã hóa 1,7dB, tăng khả sửa lỗi, khả chống nhiễu hệ thống độ bảo mật so với thuật toán đề xuất gốc
Từ khóa: Hệ mật McEliece, sơ đồ mật dựa mã, mã hóa cơng khai, mã Goppa
ABSTRACT
This paper is mainly to analyse the feature of the McEliece cryptosystem, in which it gives a variety of solutions in order to enhace the effect of the algorithm such as using error vector and replace Goppa code which use in the traditional by succeed concatenated coding The algorithm improves the coding rate about ~0.8, gain encoding 1.7dB and the security ability of McEliece algorithm improves more greatly than the traditional
Keywords: McEliece cryptosystem, Code based cryptosystem, Public-key cryptography, Goppa codes
Trường Đai học Công nghiệp Hà Nội Email: thailv@haui.edu.vn Ngày nhận bài: 28/5/2018
Ngày nhận sửa sau phản biện: 30/6/2018 Ngày chấp nhận đăng: 25/10/2018
1 ĐẶT VẤN ĐỀ
Hệ mật McEliece hệ mật mã khóa cơng khai dựa lý thuyết mã hóa đại số, giới thiệu năm 1978 [1] An ninh hệ mật dựa độ khó tốn giải mã theo syndrome chứng minh toán NP đầy đủ [2] Sơ đồ gốc ban đầu đề xuất sử dụng mã Goppa nhị phân thuật toán giải mã Patterson Ưu điểm bật hệ mật tính bảo mật cao, thời gian thực mã hoá giải mã nhanh, yêu cầu thiết bị thực đơn giản [3] Trải qua 40 năm với mã Goppa chưa có thuật tốn hiệu phá vỡ sơ đồ hệ mật McEliece với tham số lựa chọn phù hợp Vì vậy, hệ mật xếp vào nhóm mật mã sau lượng tử năm gần cộng đồng nhà mật mã học nghiên cứu rộng rãi Tuy nhiên, hệ mật chưa đưa vào ứng dụng thực tế xuất phát từ nhược điểm tỷ
lệ mã hóa thấp (~1/2), kích thước khóa lớn (1024524 bit hệ mật đề xuất ban đầu) địi hỏi dung lượng nhớ lớn
Nội dung báo này, đề xuất hai cải tiến áp dụng sơ đồ hệ mật McEliece nhằm khắc phục điểm yếu hệ mật gốc Các thuật toán đề xuất cho phép tăng tỷ lệ mã hóa lên đến 0,8 mà đảm bảo độ an toàn hệ mật Phần lại báo tổ chức sau: Trong phần 2, báo giới thiệu đặc điểm hệ mật mã khóa cơng khai McEliece, phần trình bày thuật tốn cải tiến sử dụng vector lỗi mang phần thơng tin, phần trình bày thuật toán cải tiến sử dụng mã nối tiếp thay Goppa sơ đồ hệ mật gốc, cuối phần kết luận trình bày phần
2 HỆ MẬT KHĨA CƠNG KHAI MCELIECE
Hệ mật McEliece giới thiệu R.McEliece vào năm 1978 [1] Đây sơ đồ hệ mật sử dụng tính ngẫu nhiên mã hóa Thuật tốn dựa độ khó giải mã mã khối tuyến tính Thuật tốn ban đầu sử dụng mã nhị phân Goppa, dễ dàng việc giải mã nhờ thuật toán Patterson [4] Khóa cơng khai thu từ khóa mật cách che dấu từ mã chọn giống từ mã tuyến tính Để thực hiện, ma trận sinh G mã nhị phân xáo trộn với hai ma trận khả nghịch ngẫu nhiên Q và P
Hình Sơ đồ khối thuật tốn McEliece
(2)mã hóa xác suất, sử dụng tính chất ngẫu nhiên thuật tốn mã hóa thuật toán giải mã Hệ mật McEliece gốc sử dụng mã Goppa nhị phân, mã Goppa lớp mã sửa lỗi tuyến tính dùng để sửa lỗi ngẫu nhiên xảy truyền qua kênh có nhiễu Sơ đồ khối hệ mật biểu diễn hình [5]
Trong đó: Bản tin nguồn biểu diễn dạng chuỗi thông tin số nhị phân chia thành khối ký hiệu mcó độ dài k bit Các thuật tốn hệ mật thực sau [1]:
Tạo khóa:
• Chọn mã tuyến tính nhị phân C có khả sửa
được t lỗi Mã Goppa đặc trưng ma trận sinh G kích thước k×n và có khả sửa vector lỗi ngẫu nhiên dài n bit có trọng số nhỏ t
• Chọn ma trận nhị phân khả nghịch Q kích thước
kìk cú nghch o l Q-1
ã Chn ma trận hoán vị nhị phân ngẫu nhiên P kích thước n×n (chỉ có phần tử “1” hàng cột).
• Tính tốn ma trận Gp = Q.G.P kích thước k×n
Gp = Q.G.P (1)
• Khóa cơng khai (Gp, t), khóa mật (Q, G, P) Mã hóa:
Q trình mã hố giải mã tin hệ mật McEliece thực sau: Ở bên nhận muốn nhận tin mật hoá thuật toán McEliece, thực tính chìa khố cơng khai Gp dựa chìa
khố mật ma trận Q, G P, sau gửi cặp khóa cơng khai (Gp, t) qua kênh truyền đến bên gửi
• Khi muốn gửi tin m tới bên nhận thông qua khóa cơng khai (Gp,t)
• Biểu diễn tin m dạng chuỗi nhị phân có độ dài k bit
• Tạo vector e ngẫu nhiên có độ dài n có trọng số (số phần tử “1”) w(e) ≤ t
• Tính tốn mã c sau gửi cho bên nhận
c = mGp + e (2)
Giải mã:
Sau nhận từ mã c, bên nhận thực giải mã tin:
• Tính phép toán cP-1
1 1 1 1
cP m QGP P eP mQG eP (3)
• Sử dụng thuật tốn giải mã sửa lỗi CP-1 để tìm
được mQ
m’ = mQ (4)
• Xác định tin m
1
m m Q mQ Q (5)
Ta có cP-1 = mQG + eP-1 P ma trận hốn vị nên eP-1
có trọng số lớn là t Mã Goppa Gp sửa t lỗi
và từ mã mQG sửa t lỗi nhờ thuật toán Patterson sử dụng thuật tốn khác Do ta tính từ mã m’ = mQ Để lấy tin gốc ta nhân m’ với ma trận nghịch đảo Q ta có m’Q-1 = m,
tin gốc ban đầu
Từ chất thuật toán thực hệ mật McEliece ta đưa số nhận xét thuật toán sau:
- Hệ mật có độ bảo mật cao khơng phải thực truyền khóa mật (các khóa dùng để giải mã tin) qua kênh, khóa bên thực giải mã biết
- Thiết kế thiết bị mã hố giải mã đơn giản việc tính tốn thực q trình phép tính nhị phân, ta thiết kế thiết bị linh kiện số phổ biến
- Thời gian mã hoá giải mã nhanh thực tính tốn phép tốn nhị phân, đáp ứng thơng tin yêu cầu thời gian thực
- Nhược điểm hệ mật tỷ lệ mã hoá thấp (~1/2) sử dụng mã kênh mã khối tuyến tính, thuật tốn McEliece gốc sử dụng mã Goppa (1024, 524) với tỷ lệ mã hoá r k / n 1/ 2.
- Thông thường để đảm bảo độ mật cao, thuật tốn McEliece u cầu kích thước khóa lên tới 1024 bit (tương đương với 210), nữa, để khắc phục phương án công
theo kiểu vét cạn (tính tất trường hợp có vector tín hiệu đầu vào), thuật tốn McEliece u cầu kích thước tin đầu vào lớn (k ≥ 524) Những vấn đề dẫn đến việc địi hỏi thiết bị mã hố giải mã phải có dung lượng nhớ lớn, làm chậm thời gian q trình xử lý tín hiệu
Nội dung bào báo trình bày hai đề xuất cải tiến thuật tốn McEliece nhằm tăng tỷ lệ mã hóa tăng khả chống nhiễu độ bảo mật so với thuật toán gốc
3 ĐỀ XUẤT TĂNG TỶ LỆ MÃ HÓA CỦA HỆ MẬT McELIECE SỬ DỤNG VECTOR LỖI MANG TIN
(3)Điểm hạn chế hệ mật McEliece tỷ lệ mã hóa thấp (khoảng 0,5 với sơ đồ gốc) Để khắc phục điểm hạn chế tác giả đề xuất giải pháp đưa phần thơng tin cần truyền vào vector lỗi Thuật tốn đề xuất nhằm tăng tỷ lệ mã hóa thuật toán McEliece đồng thời nâng cao độ bảo mật hệ mật McEliece Sơ đồ khối hệ mật McEliece cải tiến đề xuất thể hình
Giải pháp thực lấy số bit thông tin cần truyền ánh xạ sang vector lỗi trước thêm vào từ mã Bên nhận sau xác định vector lỗi, khơi phục lại phần thông tin bổ sung Bằng cách sử dụng phương pháp này, tỷ lệ mã hóa cho hệ mật McEliece tăng lên đến 0,8 cao Giải pháp thuật toán tạo vector lỗi e có độ dài n trọng lượng t từ bit thơng tin có độ dài l Như tổng số bít tin gửi trường hợp (k+l), đó, tỷ lệ mã hoá tăng lên, (k + l)/n > k/n (l ≠ 0) Vấn đề đặt lựa chọn độ dài chuỗi tin bổ sung l làm để tạo vector lỗi thỏa mãn yêu cầu
Để thực ý tưởng này, ta dựa thuật tốn biến đổi nhị phân, nội dung thuật tốn biến đổi chuỗi bít nhị phân có nội dung với độ dài l (vector tin bổ sung) thành chuỗi bít có độ dài n trọng lượng t (vector lỗi e) với điều kiện ràng buộc phải thoả mãn theo công thức (6) [6,7]:
tn
l log C (6) Trong đó, Ctn tổ hợp t n Lưu đồ thuật toán biến đổi từ vector tin bổ sung ma sang vector lỗi e mơ
tả hình
( )
2
0 ,
i ai i j m w t w n j C
1 t w n
j j C
1,
e ww
'
'
0
e for
eo
1
n t w
'
'
1
e for
1
Hình Lưu đồ thuật toán biến đổi từ vector tin bổ sung sang vector lỗi
Giả thiết tin cần truyền M(m ma), gồm hai tin m ma Các thuật toán hệ mật McEliece cải
tiến thực sau:
Tạo khóa:
Q trình tạo khóa thực tương tự thuật tốn gốc (được trình bày phần 1), với khóa cơng khai (Gp, t)
và khóa bí mật ba ma trận Q, G, P Thuật tốn mã hóa giải mã sơ đồ đề xuất thực sau:
Mã hóa:
Khi muốn gửi tin nguồn tới bên nhận thơng qua khóa cơng khai GP Bên gửi thực chia tin thành hai
thành phần bàn tin m (nguồn tin 1) tin bổ sung ma (nguồn tin 2) thực mã hóa sau:
+ Đối với tin m (nguồn tin 1) nhân với khóa cơng khai GP (trong GP ma trận tích ba ma
trận Q, G, P) ta từ mã c1
+ Đối với phần tin bổ sung ma(nguồn tin 2), bên
gửi thực biến đổi tin với độ dài l sang vector lỗi e có độ dài n trọng lượng t, thực theo thuật tốn trình bày hình 3; tham số l, n, t phải thoả mãn cơng thức (6)
+ Tính từ mã c = c1 + e = mGp + e
Giải mã:
Sau nhận mã c, bên nhận thực giải mã tin sau:
+ Xác định tin m Thực tính m1 = c.P-1
(P-1 ma trận nghịch đảo P), giải mã sửa sai tương ứng
với ma trận sinh G ta xác định vector m2 thực
tính m = m2Q-1 ( ) ( ) ( ) 1 P 1
m c P
mG e P
mQGP e P mQ G eP
2
m mQ
Từ ta xác định tin
2
m m Q + Xác nhận tin bổ sung ma, bên nhận tiến hành thực
khôi phục tin theo bước sau:
Bước 1: Thực mã hố lại, cách tính:
1 p
c mG (7)
Bước 2: Tính vector lỗi bên nhận theo công thức (8):
1
e c c (8)
(4)Đúng
t n t
j j C
t t
n t
1
Hình Thuật tốn biến đổi vector lỗi thành chuỗi tín hiệu bổ sung ma
Nhận xét đặc điểm thuật toán McEliece cải tiến sử dụng vector lỗi mang tin:
+ Hệ mật đề xuất sử dụng vector lỗi mang phần thông tin tăng tỷ lệ mã hóa so với đề xuất hệ mật gốc (tỷ lệ mã hố đạt tới ~0,8 thuật toán gốc đạt tỷ lệ mã hoá ~0,5) Mặt khác thông qua việc bổ sung lượng thông tin vào vector lỗi làm tăng độ bảo mật hệ mật, bên thứ ba thường quan tâm đến phần thơng tin (m) nằm thuật toán gốc
+ Hệ mật McEliece cải tiến hạn chế yêu cầu thống thuật tốn biến đổi phần thơng tin bổ sung thành vector lỗi e, điều dẫn đến phức tạp sử dụng hệ mật cải tiến
+ Với phương pháp cải tiến sử dụng vector lỗi mang tin, tỷ lệ mã hóa cải thiện từ 0,51 lên 0,79 chọn tham số theo đề xuất gốc k = 524, n = 1024 t = 50 l = 284 tính theo công thức (6) (mang 284 bit thông tin bổ sung) từ 0,63 lên 0,87 chọn k = 654, n = 1024, t = 37 l = 225
4 ĐỀ XUẤT NÂNG CAO ĐỘ BẢO MẬT CỦA HỆ MẬT McELIECE SỬ DỤNG MÃ NỐI TIẾP THAY THẾ MÃ GOPPA TRONG SƠ ĐỒ GỐC
Hình Sơ đồ khối mã nối tiếp
Giải pháp đề xuất sử dụng mã kênh nối tiếp thay cho mã Goppa thuật tốn truyền thống nhằm tăng khơng gian chìa cho hệ mật McEliece, mà
vẫn đảm bảo độ bảo mật tốc độ mã Sơ đồ khối mã nối tiếp thể hình [8]
Cấu trúc mã nối tiếp bao gồm mã ngồi, mã xáo trộn bít nằm hai mã có nhiệm vụ phá vỡ lỗi cụm (lỗi dài) thành lỗi đơn nhằm mục đích để tăng khả sửa lỗi mã, kể trường hợp điều kiện kênh truyền xấu
Để áp dụng mã nối tiếp vào hệ mật McEliece, ta cần phải chọn mã thành phần mã khối tuyến tính có đa thức sinh tương ứng G1 G2 với khoảng cách
Hamming cực tiểu tương ứng d1min d2min Khi đó, mã nối
tiếp sửa lỗi cụm có độ dài max(n1t2,n2t1),
trong ni độ dài từ mã thành phần ti khả
sửa lỗi mã thành phần, tính theo cơng thức (9) [8]
min
i i
d
t
2 với i = 1, (9)
Hoặc mã nối tiếp sửa t lỗi vị trí từ mã với:
min
1
d d
t
2 (10)
Sơ đồ khối hệ mật McEliece sử dụng mã nối tiếp thể hình
Hình Sơ đồ khối hệ mật McEliece cải tiến sử dụng mã nối tiếp
Các thuật toán hệ mật McEliece cải tiến sử dụng mã nối tiếp thay mã Goppa sơ đồ gốc thực sau:
Tạo khóa:
- Khóa bí mật bao gồm ma trận Q, G1, П, G2 P (ở
đây ta sử dụng xáo trộn khối)
- Khóa cơng khai gồm cặp (Gp, t) Trong đó: t xác
định theo công thức (10) Gp xác định theo công
thức (11)
1
Π p
G QG G P (11)
Mã hóa giải mã:
(5)gốc Tuy nhiên, giải mã kênh ta phải thực qua hai lần giải mã mã thành phần (mã mã ngoài), với ma trận kiểm tra xác định G Hi Ti 0, đó, i = ÷ Đồng thời, sau giải mã ta phải thực giải xáo trộn để xếp lại vị trí bit từ mã trước đưa vào giải mã cho với thứ tự bên gửi
Nhận xét đặc điểm thuật toán McEliece cải tiến sử dụng mã nối tiếp:
Thông qua việc sử dụng mã nối tiếp thay mã Goppa đề xuất gốc, khả sửa lỗi hệ thống cải thiện cách đáng kể so với sử dụng mã đơn, điều thể qua kết hình
Hình Khả sửa lỗi mã nối tiếp so với mã đơn
Từ kết hình ta thấy, để đạt xác suất lỗi bit Pe = 10-5 trường hợp sử dụng mã nối tiếp với mã
thành phần mã Hamming(31, 26) mã BCH(63, 51) cần tỷ lệ Eb/N0 ≈ 5,8dB, trường hợp sử dụng mã đơn BCH
(31, 21) cần Eb/N0≈ 7,5dB Tỷ lệ mã hóa hai trường
hợp r = k/n ≈ 0,67 Như độ lợi mã hoá đạt 1,7 dB Tương tự vậy, sử dụng mã nối tiếp với mã thành phần mã Hamming (15,11) mã BCH(127, 92) độ lợi mã hoá hệ thống cao so với trường hợp sử dụng mã đơn Đây sở để cải thiện độ mật hệ thống sử dụng thuật toán McEliece, điều chứng minh qua phương pháp tính độ bền vững hệ mật cải tiến theo thuật tốn cơng tìm vector lỗi e thể qua công thức (12) [6]
t
c n
k C (12)
Kết thuật toán McEliece cải tiến sử dụng mã nối tiếp thay cho mã Goppa so với thuật toán đề xuất gốc thể qua bảng
Bảng So sánh thuật toán McEliece cải tiến thuật toán gốc
Sơ đồ hệ mật Tỷ lệ mã hố
Số lỗi có thể sửa
Độ bền mật mã
Hệ mật McEliece
sử dụng mã
Goppa(1024,524)
~0,5 50 C5010243 10, 88
Hệ mật McEliece sử dụng mã nối tiếp H(15,11)BCH(127,92)
~0,8 91 91 , 160
1905
C 4 46 10
Chi phí thuật tốn cải tiến sử dụng mã nối tiếp thay mã Goppa thường yêu cầu từ mã có độ dài lớn so với thuật tốn gốc Do yêu cầu dung lượng nhớ thiết bị giải mã lớn hơn, vấn đề khơng cịn vấn đề khó khăn khoa học công nghệ
5 KẾT LUẬN
Phương pháp đề xuất cải tiến hệ mật McEliece sử dụng vector lỗi mang phần thông tin tăng tỷ lệ mã hoá từ 0,5 lên đến 0,8 so với thuật toán đề xuất gốc, đồng thời làm tăng độ phức tạp công giải mã hệ mật
Hệ mật McEliece cải tiến sử dụng mã nối tiếp thay cho mã Goppa đề xuất gốc làm tăng khả sửa lỗi tăng khả chống nhiễu hệ thống Tỷ lệ mã hóa sử dụng mã nối tiếp thay thay mã Goppa tăng 0,17 độ lợi mã hóa đạt 1,7dB Hai giải pháp cải tiến tác giả đề xuất kết hợp với ưu điểm hệ mật McEliece, giúp cho hệ mật tăng thêm tính khả dụng cho hệ thống truyền tin số
TÀI LIỆU THAM KHẢO
[1] McEliece R J (1978) A Public-Key Cryptosystem Based on Algebraic Coding Theory, The Deep Space Network Progress Report, pp: 114-116
[2] Berlekamp E., McEliece R., and Tilborg H v (1978), "On the Inherent Intractability of Certain Coding Problems", IEEE Transactions on Information Theory, 24(3), pp: 384-386
[3] Bernstein D J., Buchmann J., and Dahmen E (2009), Post-quantum cryptography, Springer-Verlag Berlin Heidelberg, pp: 95-145
[4] Patterson N J (1975), "The Algebraic Decoding of Goppa Codes", IEEE Transactions on Information Theory, IT-21(2), pp: 203-207
[5] Алферов А.П Основы криптографии М.: Гелиос АРВ, 2001 С 321-323
[6] Hung sun Enhancing the security of the McEliece Public key Cryptosystem.Journal of inffomation science and engineering 16.2000 C 799-812
[7] C S Park Improving code rate of McEliece’s public key cryptosystem Electronics letters, Vol 25, No 21, 1989, pp 1466-1467