Hệ mật sử dụng mã ghép BCH đã đề xuất, khi kết hợp sử dụng phương pháp giải mã theo chuẩn syndrome cho phép tăng tỷ lệ mã hóa, nâng cao được số lỗi có thể sửa của các[r]
(1)NGHIÊN CỨU ỨNG DỤNG MÃ BCH XÂY DỰNG HỆ MẬT A SECURE NIEDREITER CRYPTOSYSTEM’S VARIANT BASE ON BCH CODES
Lê Văn Thái
TÓM TẮT
Nội dung báo đề xuất giải pháp sử dụng ghép mã BCH thành phần nhằm giảm kích thước khóa hệ mật mã dựa mã Để mở rộng khả sửa lỗi mã BCH ứng dụng vào xây dựng hệ mật, báo sử dụng phương pháp chuẩn syndrome giải mã mã BCH Hệ mật đề xuất có kích thước khóa cơng khai giảm 5,7 lần so với hệ mật Niederreiter đề xuất gốc mức an ninh đảm bảo an tồn chống lại cơng cấu trúc cơng giải mã
Từ khóa: Hệ mật McEliece, hệ mật Niederreiter, chuẩn syndrome, mã BCH, hệ mật dựa mã
ABSTRACT
In this paper, we propose a solution to merge BCH codes into chained BCH codes and applications to build the cryptosystem The proposed method reduced the key size by 5.7 times compared to the Niederreiter cryptosystem at the same level of security The proposed cryptosystem guarantees security against structural attacks and decryption attacks At the same time, the article also presented the norm-syndrome based decoding method of BCH code This method has increased the ratio of the number of syndromes that can be decoded out of the total number of possible syndromes, extending the application range of the BCH code
Keywords: McEliece Cryptosystem, Niderrreiter Cryptosystem, Norm syndrome, BCH Codes, Code based cryptosystem
Trường Đại học Công nghiệp Hà Nội Email: thailv@haui.edu.vn Ngày nhận bài: 15/01/2019
Ngày nhận sửa sau phản biện: 03/4/2019 Ngày chấp nhận đăng: 25/4/2019
1 ĐẶT VẤN ĐỀ
Hệ thống mã hóa khóa cơng khai hầu hết dựa độ khó tốn lý thuyết số tốn phân tích thừa số, toán logarit rời rạc trường hữu hạn Kết nghiên cứu Peter Shor năm 1994 thuật toán tìm kiếm liệu khơng có cấu trúc Grover năm 1996 cảnh báo hệ mật khóa cơng khai RSA, ElGamal,… khơng an tồn máy tính lượng tử với quy mơ đủ lớn xây dựng thành công [1] Hệ mật mã dựa mã McEliece giới thiệu năm 1978 [2] Đây sơ đồ hệ mật sử dụng tính ngẫu nhiên mã hóa An ninh hệ mật dựa độ khó tốn giải mã theo syndrome chứng minh toán NP đầy đủ [3] Đề xuất ban đầu sử dụng mã nhị phân Goppa
thuật toán giải mã Patterson Ưu điểm 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 Hơn nữa, hệ mật chứng minh có khả chống lại công lượng tử [4] Tuy nhiên, hệ mật chưa áp dụng thực tế xuất phát từ nhược điểm tỷ lệ mã hóa thấp, kích thước khóa lớn
Năm 1986, biến thể hệ mật McEliece hệ mật Niederreiter đề xuất [5] Hệ mật Niederreiter sử dụng ma trận kiểm tra H để làm khóa sử dụng vector lỗi để giải mã An ninh hệ mật McEliece hệ mật Niederreiter sử dụng mã nhị phân Goppa chứng minh hoàn toàn tương đương [6] Ưu điểm hệ mật Niederreiter có khả áp dụng để xây dựng sơ đồ chữ ký số, ứng dụng thực tế [7]
Trong trình phát triển hệ mật mã dựa mã Đã có nhiều đề xuất thay mã Goppa hệ mật gốc mã khác nhằm giảm kích thước khóa Năm 1994, Sidelnikov đề xuất sử dụng mã Reed-Muller áp dụng cho hệ mật Niederreiter Năm 1996, Heeralal Janwa Oscar Moreno đề xuất hệ mật sử dụng mã AG (algebraic-geometric) Năm 2005, Berger Loidreau đề xuất sử dụng mã quasi-cyclic alternant làm ẩn cấu trúc khóa mật Những năm gần có nhiều đề xuất sử dụng họ mã phương pháp giải mã nhằm làm giảm kích thước khóa Monico cộng đề xuất sử dụng mã kiểm tra mật độ thấp (LDPC) Năm 2007, Baldi cộng đề xuất biến thể dựa mã quasi-cyclic (QC-LDPC) Năm 2013, Misoczki cộng đề xuất sử dụng mã kiểm tra mật độ trung bình (QC-MDPC) Năm 2016, Moufek đề xuất kết hợp mã QC-LDPC QC-MDPC sử dụng tạo số giả ngẫu nhiên để tạo ma trận sinh Tuy nhiên, nghiên cứu công đề xuất khơng an tồn với công cấu trúc [8 , , 10]
Trong báo này, tác giả đề xuất sử dụng ghép mã BCH thành chuỗi mã áp dụng cho biến thể Niederreiter để xây dựng hệ mật Sơ đồ hệ mật đề xuất cho phép giảm kích thước khóa, đảm bảo an tồn với cơng giải mã công cấu trúc Đồng thời báo, tác giả đề xuất phương pháp chuẩn syndrome giải mã mã BCH nhằm mở rộng khả sửa lỗi phạm vi ứng dụng mã BCH, cho phép ứng dụng mã BCH để xây dựng hệ mật mã dựa mã
(2)mã BCH sử dụng phương pháp chuẩn syndrome Phần 3, đề xuất xây dựng hệ mật sử dụng mã ghép BCH Phần giới thiệu hệ mật McEliece Niederreiter Phần 4, đánh giá độ phức tạp độ an toàn hệ mật đề xuất
2 NÂNG CAO HIỆU QUẢ CỦA MÃ BCH SỬ DỤNG PHƯƠNG PHÁP CHUẨN SYNDROME
Các hệ mật dựa mã sửa lỗi khơng thể áp dụng để mã hóa cho tin Bởi syndrome ngẫu nhiên tương ứng với vector lỗi có trọng lượng lớn khả sửa lỗi mã Do đó, để áp dụng mã BCH vào xây dựng hệ mật, nhiệm vụ xây dựng phương pháp giải mã để nâng cao hiệu sửa lỗi mã Trong nội dung tác giả xây dựng phương pháp giải mã mã BCH theo chuẩn syndrome (Norm Syndrome) Khi phân hoạch vector lỗi thành lớp khơng giao có chuẩn syndrome phân biệt cho phép mở rộng khả sửa lỗi mã BCH
Tham số chuẩn syndrome xây dựng dựa cấu trúc mã BCH biến thể Đặc điểm chuẩn syndrome tính bất biến với tác động nhóm dịch vịng Syndrome nhóm khác khác Khi sử dụng chuẩn syndrome để giải mã, sửa lỗi ngẫu nhiên lỗi cụm Vì chọn đa thức sinh thích hợp chuẩn syndrome vector lỗi ngẫu nhiên số cấu hình lỗi cụm độ dài nhỏ, lỗi cụm đồng pha không trùng
Giả thiết σ phép dịch vòng, tác động σ, vector lỗi dịch phải vị trí Tập hợp tất vector khác đơi i(e) với i n-1 vector lỗi e
được gọi -orbit Các phần tử -orbit chuyển hóa lẫn tác động phép dịch vòng Mỗi
-orbit có vector sinh, tọa độ vector khác
Ta có (e) = e với số tự nhiên n Với vector lỗi e -orbit chứa k phần tử = n ước Khi cấu trúc -orbit có dạng:
( ) , ( ), , λ 1( )
σ e = e = e σ e σ e (1)
Hai vector lỗi tùy ý e e’ -orbit <e>, <e’> trùng không giao Do tác động nhóm phép dịch vịng không gian vector lỗi phân chia thành lớp -orbit không giao
Ma trận kiểm tra mã BCH tổng quát với = 2t + có dạng [11]:
–
, b i, , b δ i T,
bi
H β β + β + i n
=
(2)
Giả sử hạng ma trận kiểm tra m(-1), tức hàng ma trận H độc lập tuyến tính Khi đó, syndrome vector lỗi e gồm -1 thành phần trường GF(2m) có
dạng S(e) = (s1,s2,…,s-1)
Cho e vector lỗi tùy ý, với mã BCH có ma trận kiểm tra (2) ta có:
( ( )) ( b 1, b 12, , b δ δ 1) S σ e β s β s+ β+ s
= (3)
Như vậy, chuẩn syndrome vector N(S) cóC21 tọa độ
Nij(1 ≤ i ≤ j ≤ -1), xác định theo công thức [12]:
( )/ ( )/
/ , gcd( , );
; ;
ij ij
b i h b j h
ij j i i ij
ij j i
ij i j
N s s if s h b i b j
N if s s
N if s s
+ +
= = + + = =
= = =
(4)
Tính chất chuẩn syndrome tính bất biến với phép thế dịch vịng Từ cơng thức (3, 4) ta có, mã vector lỗi e mã BCH thỏa mãn:
( ( ( ))) ( ( ))
N s σ e =N s e (5)
Bản chất phương pháp giải mã theo chuẩn syndrome phần tử -orbit chuyển hóa lẫn tác động phép dịch vòng Chuẩn syndrome -orbit mà vector lỗi nằm Do xác định vector sinh e0 tương ứng, so sánh syndrome nhận S
S(e0) ta xác định lượng dịch vòng để biến đổi e0thành
e, tìm xác vector lỗi [12]
Các bước thực giải mã theo phương pháp chuẩn syndrome:
+ Tính syndrome S(e) = (s1,s2,…,st) với si phần tử
trường Galoa GF(2m)
+ Tính bậc chuẩn syndrome N: Tính degsj, degsi là
bậc thành phần sj,si syndrome S(e) = (s1,s2,…,si,sj,…,st)
với i j t Chuẩn syndrome syndrome S(e) tính theo cơng thức (4), xác định bậc deg Nịj
+ Theo deg Nịj xác định vector sinh bậc i0 thành
phần syndrome s0
i ứng với vector sinh
+ Tính số thứ tự bit lỗi theo công thức Li = (degsi - degs0i) mod n
+ Tìm vector lỗi e cách dịch vịng vector sinh Li nhịp
+ Sửa tín hiệu nhận được: Cộng tín hiệu nhận với vector lỗi e
Khảo sát trường GF(2m) với đa thức sinh khác
nhau, dựa phương pháp chuẩn syndrome, phân hoạch tập vector lỗi thành tập không giao Khi mã BCH biến thể sửa số cấu hình lỗi ngồi khoảng cách mã Vì sử dụng phương pháp chuẩn syndrome giải mã mã BCH ta áp dụng mã BCH để xây dựng hệ mật mã dựa mã [13]
3 ĐỀ XUẤT XÂY DỰNG HỆ MẬT SỬ DỤNG MÃ BCH 3.1 Hệ mật McEliece Niederreiter
Hệ mật mã khóa cơng khai McEliece [2]:
Tạo khóa: Chọn mã tuyến tính nhị phân C có khả sửa t lỗi Ma trận sinh G kích thước K×N Chọn ma trận nhị phân khả nghịch Q kích thước K×K Chọn ma trận hoán vị ngẫu nhiên P kích thước N×N Tính tốn khóa cơng khai G’ = Q.G.P kích thước K×N Các ma trận (Q, G, P) khóa bí mật
(3)nhị phân có độ dài k bit Tạo vector e ngẫu nhiên có độ dài N có trọng số w(e) ≤ t Tính tốn mã c = MG’ + e gửi cho bên nhận
Giải mã: Sau nhận c, bên nhận thực giải mã tin Tính cP-1 = M(QGP)P-1 + eP-1 = MQG + eP-1 Sử
dụng thuật toán giải mã sửa lỗi cP-1 để tìm MQ
Tính M = (MQ)Q-1, xác định tin gốc ban đầu Hệ mật khóa cơng khai Niederreiter [5]:
Hệ mật Niederreiter biến thể hệ mật McEliece Điểm khác sử dụng ma trận kiểm tra H mã Goppa để làm khóa thay cho ma trận sinh G hệ mật McEliece gốc Sơ đồ hệ mật thể hình
Hình Sơ đồ hệ mật mã khóa cơng khai Niederreiter
Tạo khóa: Chọn mã Goppa (N,K) có khả sửa t lỗi, có ma trận kiểm tra H kích thước (N-K)×N Chọn ma trận khả nghịch Q kích thước (N-K)×(N-K) Chọn ma trận chuyển vị P(N×N) Tính khóa cơng khai H’ = Q.H.P Các ma trận (Q, H, P) khóa bí mật
Mã hóa: Với khóa công khai (H’, t), tin M cho dạng chuỗi nhị phân dài N bit có trọng số nhỏ t, bên gửi thực tính mã: c = H’.MT
Giải mã: Bên nhận sở hữu khóa mật tiến hành thực tính:
c’ = Q-1c = Q-1H’.MT = Q-1.Q.H.P.MT = H.P.MT;
Trong đó, c’ syndrome mã Goppa sử dụng
Sử dụng thuật toán giải mã theo syndrome cho mã (N,K) ta tìm M’ = P.MT.
Tính tin MT = P-1.M’ xác định tin gốc M
3.2 Xây dựng hệ mật sử dụng mã BCH
Để giảm kích thước khóa, khắc phục nhược điểm hệ mật Niederreiter, tác giả đề xuất sử dụng giải pháp ghép mã BCH thành phần Các mã thành phần với chiều dài kích thước mã khơng lớn, sử dụng phương pháp giải mã dựa chuẩn syndrome mở rộng khả sửa giới hạn khoảng cách mã, nâng cao tỷ lệ số syndrome giải mã tổng số syndrome có mã BCH
Để xây dựng hệ mật mã dựa mã ghép BCH, cần sử dụng họ mã tuyến tính với đặc điểm mã hóa tốt Mỗi mã mã ghép cần có thuật tốn giải mã với độ phức tạp đa thức Ký hiệu họ mã tuyến tính Một mã Ci định nghĩa độ dài ni, số bit thông tin ki
khả sửa lỗi ti Mã ghép phải đủ lớn để chống lại
công vét cạn mã Ci mã ghép xác định ma
trận kiểm tra Hi Hệ thống xây dựng từ mã thành
phần gọi mã ma trận kiểm tra tổng Giả thiết họ cómã, ma trận kiểm tra có dạng ma trận đường chéo với phần tử ma trận Hi (i = )
Giả sử dụng mã BCH nhị phân biến thể (mã BCH thuận nghịch mở rộng) làm mã thành phần Các giá trị chuẩn syndrome vector sinh xếp bảng Để giải mã từ mã, thực tính syndrome chuẩn syndrome Từ chuẩn syndrome ta tìm vector sinh dựa vào bậc syndrome thành phần s1 ta
tính số lượng dịch vịng Do ta xác định vector lỗi tương ứng Các thuật toán sử dụng hệ mật đề xuất sau:
Tạo khóa: Chọn họ mã BCH mã BCH mở rộng, Hi là ma trận kiểm tra ti số lỗi sửa được, với
i =1 Ma trận kiểm tra mã thành phần xếp theo đường chéo tạo thành ma trận kiểm tra H có cấu trúc sau:
( )
1 i
H 0
H N K N H
0 H
=
(6)
- Chọn ma trận khả nghịch Q[(N-K)×(N-K)],và chọn ma trận hốn vị P[N× N] trường GF(2) Trong ma trận P ma trận đường chéo với thành phần Pi(i = ) ma trận hoán vị cấp ni.
- Tính khóa cơng khai H’: H’ = Q.H.P Đây ma trận kiểm tra mã tương đương với mã ghép BCH
- Khóa cơng khai (H’,t) Trong t tổng số lỗi sửa t = ti (i = )
- Khóa mật ma trận (Q,H,P) Trong H ma trận kiểm tra mã ghép BCH
Mã hóa: Bản tin cần truyền M biểu diễn dạng chuỗi nhị phân dài N bit có cấu trúc dạng M1||M2||…||Ml với độ dài đoạn Mi ni bit có trọng số nhỏ
hơn ti Phía gửi thực tính mã c = H’.MT.
Giải mã: Để giải mã mã c, Phía nhận sử dụng khóa mật phương pháp chuẩn syndrome thực giải mã theo bước sau:
- Tính c’ = Q-1.c = H.P.MT; c’ syndrome
của mã sử dụng
- Từ c’ thực tính M’ = P.MT
Sử dụng thuật toán giải mã BCH dựa theo chuẩn syndrome
- Từ M’ xác định tin MT: MT = P-1.M’ Từ ta khôi
phục tin gốc M
4 ĐÁNH GIÁ ĐỘ PHỨC TẠP VÀ AN NINH HỆ MẬT 4.1 Lựa chọn tham số
Hệ mật sử dụng mã ghép BCH đề xuất, cho phép sử dụng mã với tham số mã thành phần ni, ki, ti khác
(4)thuộc vào tham số lựa chọn Qua khảo sát phụ thuộc tham số mã N, K, t vào độ bảo mật sơ đồ hệ mật việc xác định giới hạn độ phức tạp (WF) thuật tốn cơng Canteaut-Chabaud [14] thuật tốn cơng ngày sinh nhật [16] để đảm bảo độ bảo mật hệ mật đề xuất, tác giả chọn mã gồm 10 mã BCH thành phần, gồm: Một mã C5(31,21) mã thuận nghịch mở rộng
C6(32,21), ba mã C7(31,16), mã C8(32,16), hai mã
C7(63,45) trường GF(26), hai mã C7(127,106), mã nói
trên cho phép mở rộng khả sửa thêm lỗi, ngoại trừ mã C7(31,16) có khả sửa đến lỗi Khi tổng số bit
kiểm tra 160, tổng chiều dài mã hóa N = ni = 568
K = ki = 408 Tốc độ mã hóa R = K/N = 0,72 Số lượng lỗi có
thể sửa tối đa: t = ti = 41
Bộ mã ghép BCH gồm 10 mã thành phần với tham số trên, đáp ứng yêu cầu mức độ an tồn hệ mật Thơng qua việc mã hóa, giải mã mã thành phần, có chiều dài kích thước không lớn, hệ mật đề xuất giảm độ phức tạp thực hiện, tăng tốc độ thực mã hóa giải mã Đồng thời ghép mã thành phần thành mã tổng làm tăng độ phức tạp thuật tốn cơng vào hệ mật đề xuất
4.2 Đánh giá độ phức tạp thực hệ mật đề xuất
Độ phức tạp thực hệ mật phụ thuộc vào thuật toán giải mã mã BCH thành phần Giả thiết mã thành phần có tham số (ni = n, ki = k) Mỗi cặp mã BCH mã
thuận nghịch sử dụng đa thức sinh trường GF(2m) số
lượng chuẩn syndrome xác định theo công thức (7):
i
t j
Syndrome n
j
T C n
=
(7)
Việc thực tính tốn chuẩn syndrome tương đương với việc phải sử dụng nhớ có dung lượng m.2m =
n.log2n Trong sơ đồ hệ mật dựa mã ghép BCH với họ
mã sử dụng gồm mã thành phần Do đó, độ phức tạp để thực giải mã chomã thành phần xác định theo công thức (8):
i i
t t
j j
1 n n
j j
WF ( C n).n.log n C log n
= =
= = (8)
Phần lại phép nhân ma trận nhị phân với độ phức tạp (N)2/2 (N-K)2/2 phép tốn nhị phân,
N = ni, K = ki với i = Do độ phức tạp thực
của hệ mật đề xuất là:
i
t 2
j
ghep n
j
(n ) (n k) WF C log n
2
=
= + + (9)
Với tham số đề xuất lựa chọn, ước lượng độ phức tạp thực hệ mật sử dụng mã ghép BCH xác định theo công thức (9) ,
24 ghep
WF =2
4.3 Đánh giá độ bảo mật hệ mật đề xuất
4.3.1 Tấn cơng giải mã
Thuật tốn công hiệu với hệ mật mã dựa mã giải mã tập thông tin ISD (Information-Set
Decoding) Giải pháp thực thuật toán ISD mơ tả sau:
Phía cơng khơng biết cấu trúc mã bí mật phải giải mã mã ngẫu nhiên Để thực cơng, phía cơng chọn ngẫu nhiên k n tọa độ c ký hiệu vector ck (k bit) Ký hiệu G’k ek k cột
G’ và vị trí tương ứng e Ta có ck = MG’k + ek hay
(ck + ek)(G’k)-1 = M Nếu k thành phần ek bằng ta có
ck(G’k)-1 = M khơi phục lại thơng điệp gốc mà
không cần giải mã
Lee Brickell tác giả phân tích an ninh hệ mật mã dựa mã Trên sở tính tốn khoảng cách mã tối thiểu Leon phát triển cách công cách tìm kiếm từ mã trọng số thấp Phương pháp tiếp tục Stern tối ưu cách chia tập thơng tin thành phần, làm tăng tốc độ tìm kiếm từ mã có trọng số thấp dựa thuật tốn cơng ngày sinh nhật Một số cải tiến khác đề xuất: Canteaut Chabaud [14], Bernstein cộng [15], Finiasz Sendrier [16] Trong [17] xác suất để thực giải mã thành công cho lần lặp thuật toán tương ứng với trọng số khác Lee Brickell (PLB), Leon (PL), Stern (PS), công thức (10):
/
, ,
2
p t 2p
p t p p t p
n k v k
k n k k n k v
LB t L t S t
n n n
C C
C C C C
P P P
C C C
= = = (10)
Thuật toán giải mã Canteaut-Chabaud
Cho C mã có chiều dài n trường F2 y
n
F
có khoảng cách t so với từ mã c C, y-c phần tử trọng số t mã C+{0,y} Vì C mã dài n F2
với khoảng cách mã tối thiểu lớn t, phần tử e C+{0,y} trọng số t thuộc mã C, phải thuộc mã C+{y}; nghĩa y-c phần tử mã C có khoảng cách t so với y Bản mã hệ mật McEliecey
n
F
có khoảng cách t với từ mã gần c C có khoảng cách mã tối thiểu 2t+1 Phía cơng biết khóa cơng khai hệ mật McEliece ma trận sinh C tìm y với tập ma trận sinh C+{0,y} Chỉ có từ mã trọng số t C+{0,y} y-c cách tìm từ mã phía cơng tìm c từ dễ dàng khơi phục rõ
Tình tương tự áp dụng với hệ mật Niederreiter với khóa cơng khai ma trận kiểm tra C Bằng biến đổi tuyến tính phía cơng dễ dàng tìm ma trận sinh C tiến hành xử lý phương pháp Với mã cho hệ mật Niederreiter sử dụng đại số tuyến tính phía cơng tìm từ mã thỏa mãn nhân với ma trận kiểm tra tạo mã đặc biệt Điểm mấu chốt cơng tìm từ mã có trọng số t C+{0,y} Giới hạn độ phức tạp WF (work factor) thuật toán Canteaut-Chabaud trình bày theo cơng thức (11) [17]:
,
t
p n
2 k/2 t 2p
p
n k
C
WF(n,k,t) log C C
=
(5)Tấn công ngày sinh nhật
Bài toán giải mã syndrome (Computational Syndrome Decoding - CSD): Cho trước ma trận H {0,1}(n-k)×n, từ
s {0,1}(n-k) số nguyên dương t, tìm từ e {0,1}n với
trọng số Hamming nhỏ t cho H.eT = s
Ký hiệu toán CSD(H,s,t) Bài toán tương đương với giải mã sửa t lỗi mã có ma trận kiểm tra H Bài tốn giải mã syndrome chứng minh NP-đầy đủ [3] Với công ngày sinh nhật giới hạn độ phức tạp xác định công thức (12) [16]:
, t (n k )/2
BA n
WF n,k,t 2Llog 2.t.L L C ,2
= (12)
Với t lẻ t 2/
n
C L, công thức (12) giới hạn dưới, tính tốn xác xác định theo cơng thức (13):
2
t/2
2 n
BA t/2
n
C L
L
WF n,k, t 2L log 2.t , L
L 2C
+
=
(13) Cho tới có nhiều thuật tốn cơng vào hệ mật mã dựa mã Mặc dù chưa có thuật tốn thực hiệu quả, song giúp nhà mật mã học có lựa chọn tham số bảo mật cách phù hợp cho mục đích ứng dụng
Đánh giá độ phức tạp công giải mã vào mã tổng hệ mật đề xuất:
Với hệ mật dựa mã ghép BCH, phía cơng khơng biết độ dài mã thành phần khả sửa lỗi chúng (ni,ti), mã thành phần
sử dụng Phía cơng biết khóa công khai ma trận kiểm tra H’ tham số t tổng trọng số từ mã Nghĩa biết tham số (N,K,t) Do đó, áp dụng thuật tốn cơng Canteaut-Chabaud, hay cơng ngày sinh nhật, áp dụng cơng thức đánh giá độ phức tạp công cho mã
Hệ mật đề xuất sử dụng tham số lựa chọn trên, N = 568 K = 408 Áp dụng phương pháp giải mã theo chuẩn syndrome cho mã thành phần, cho phép mở rộng khả sửa lỗi mã tổng lên đến t = 41 Khi đó, độ phức tạp cơng giải mã theo thuật tốn giải mã Canteaut-Chabaud cơng thức (11) có giá trị đạt tới
,
84
WF=2 độ phức tạp cơng theo thuật tốn cơng ngày sinh nhật cơng thức (12,13) có độ phức tạp lên tới 127
WF=2
Đánh giá độ phức tạp công giải mã vào mã thành phần:
Xét độ an toàn hệ mật dựa mã ghép BCH, công giải mã vào mã thành phần Giả sử trường hợp tồi kẻ công xác định tham số ni, ki, ti từ tham số công khai hệ mật Với mã thành
phần, phía công sử dụng công giải mã ISD với độ phức tạp thực WF(ni, ki, ti ) Xác suất chọn ki tọa
độ không lỗi đoạn ni bit theo công
Canteaut-Chabaud, công thức (10) là:
/
i i i i i
i i
2 t 2p p
n k k
i t
n
C C
p
C
= (14)
Biến đổi qua công thức (11) n nhỏ giá trị tối ưu p = 2, ta có:
( )i
i i
k P p
WF
= (15)
trong P(ki) chi phí thực lần lặp xác
định:
i i
2
2 k /
i k /2
P( ) 3Ck log C (16)
Do xác suất chọn K = ∑ki với i = tọa độ
không lỗi là:
( )i
i
i i i
k P
p p
WF
= =
= =
(17) Từ suy độ phức tạp cơng ISD với hệ mật dựa chuỗi mã theo kiểu công vào mã thành phần là:
( ) ( )
( ) ( , , ) ( )
( )
i ac
i
i i
i i
i i i
k n
WF P
k K
WF P K
p P
1
WF P K
P t
k
=
= =
= =
=
(18)
Với mã gồm 10 mã thành phần lựa chọn độ phức tạp công vào mã thành phần theo công thức (18) WFac = 287,8 Độ phức tạp cao so với
trường hợp công vào mã tổng WF = 284,2
Xét với mã khác: Giả sử chọn mã gồm 14 mã thành phần với tham số mã cụ thể sau: mã C6(32,21), bốn mã C8(32,16), mã C8(64,45), ba mã
C8(128,106), năm mã C10(32,11) Khi đó, ta có N = 768, K =
503, t = 55 Sử dụng công thức (18) để đánh giá độ an toàn hệ mật công vào mã thành phần sử dụng mã gồm 14 mã kết WFac = 297,3 Trong
độ phức tạp công Canteaut-Chabaud WF = 293,5 khi
tấn công vào hệ mật với tham số tổng
Như vậy, việc công vào mã thành phần có độ phức tạp cao so với cơng vào mã tổng Trong hai trường hợp, hệ mật đề xuất đảm bảo độ phức tạp công 280, đáp ứng yêu cầu độ bảo mật
hệ mật
4.3.2 Tấn công cấu trúc
Độ phức tạp công cấu trúc khóa cơng khai sơ đồ hệ mật dựa mã ghép BCH đề xuất định lượng cách dị tìm tồn tổ hợp có ma trận hốn vị P(N!), mã bí mật ma trận khả nghịch Q(0,29×2(N-K))
(6)rộng, mã thuận nghịch có độ dài khác với đa thức sinh khác Ngồi ra, hệ mật đề xuất áp dụng hoán vị mã BCH thành phần để tăng thêm độ phức tạp công
Để công cấu trúc trường hợp thuận lợi xác định tham số ni, ki mã thành phần, từ
xác định việc sử dụng mã thành phần
Giả sử thay đổi tham số b để bí mật ma trận mã BCH thành phần (có khoảng cách cấu trúc d = 5, 7), cho công khai đa thức sinh trường GF(2m), m = 5, 6, Ngoài
ra sử dụng biến thể mã BCH mở rộng, mã thuận nghịch mở rộng nên số lượng mã chọn tăng đột biến Mặt khác tương ứng có 6; 6; 14 đa thức nguyên thủy bậc 5, 6, Các mã xếp thành chuỗi theo thứ tự ngẫu nhiên Vì vậy, số lượng mã thành phần khác 10668 mã Khi đó, độ phức tạp công để xác định cấu trúc 10 mã thành phần có giá trị lên tới 2137
Bảng So sánh sơ đồ hệ mật dựa mã ghép BCH với sơ đồ Niederreiter
Sơ đồ hệ mật N K t Kích thước
khóa (bytes)
Tấn công ISD (bit)
Hệ mật Niederreiter [18] 2048 1751 27 65.006 81
Hệ mật sử dụng mã BCH 568 408 41 11.360 84,3
Bảng thể kết so sánh kích thước khóa hệ mật sử dụng mã ghép BCH đề xuất hệ mật Niederreiter mức an ninh Trong kích thước khố hệ mật đề xuất 11.360 bytes giảm 5,7 lần so với kích thước hệ mật Niederreiter 65.006 bytes Hệ mật sử dụng mã ghép BCH đề xuất, kết hợp sử dụng phương pháp giải mã theo chuẩn syndrome cho phép tăng tỷ lệ mã hóa, nâng cao số lỗi sửa mã thành phần, khắc phục nhược điểm hệ mật gốc Niederreiter
Hệ mật đề xuất an toàn với công giải mã công cấu trúc Độ bảo mật hệ mật đề xuất khẳng định thông qua kết khảo sát dạng công điển hình vào hệ mật: Độ phức tạp cơng giải mã 284,2 và
tấn công cấu trúc 2137 Hệ mật đề xuất, chi phí cho
việc giải mã mã thành phần (độ phức tạp thực hiện) lớn 224,6; nhiên với ưu điểm kích thước khóa
được giảm nhỏ khả sửa lỗi mã nâng cao, áp dụng hệ mật để xây dựng sơ đồ chữ ký số ứng dụng thực tế
5 KẾT LUẬN
Bài báo đề xuất hệ mật mã dựa mã, biến thể hệ mật Niederreiter dựa cấu trúc ghép mã BCH thành phần có độ dài kích thước khác Hệ mật đề xuất cho phép giảm kích thước khóa 5,7 lần so với hệ mật Niederreiter mức an ninh Bài báo ứng dụng phương pháp chuẩn syndrome giải mã mã BCH cho phép tăng tỷ lệ số lượng syndrome giải mã tổng số syndrome có Do đó, nâng cao hiệu sửa lỗi mã BCH áp dụng vào xây dựng hệ mật khắc phục nhược điểm hệ mật Niederreiter
TÀI LIỆU THAM KHẢO
[1] Mosca M., 2015 "Cybersecurity in an era with quantum computers: will we be ready?" The IACR Cryptology ePrint Archive Report 2015/1075
[2] McEliece R J., 1978 A Public-Key Cryptosystem Based on Algebraic Coding Theory The Deep Space Network Progress Report, pp: 114-116
[3] Berlekamp E., McEliece R., Tilborg H.v., 1978 "On the Inherent Intractability of Certain Coding Problems". IEEE Transactions on Information Theory, 24(3), pp: 384-386
[4] Bernstein D J., Lange T., and Peters C., 2008 Attacking and defending the McEliece cryptosystem. Post-Quantum Cryptography, Second International Workshop, PQCrypto2008, Cincinnati, OH, USA, pp: 31-46
[5] Niederreiter H., 1986 "Knapsack-type Cryptosystems and Algebraic Coding Theory" Problems of Control and Information Theory, 15(2), pp: 159-166
[6] Li Y X., Deng R H., and Wang X M., 1994 "On the equivalence of McEliece's and Niederreiter's public-key cryptosystems" IEEE Transactions on Infor-mation Theory, 40(1), pp: 271-273
[7] Courtois N., Finiasz M., Sendrier N., 2001 How to achieve a mceliece based digital signature scheme. Advances in Cryptology - ASIACRYPT 2001, Lecture Notes in Computer Science, pp: 157-174
[8] Minder L., Shokrollahi A., 2007 Cryptanalysis of the Sidelnikov Cryptosystem.
Advances in Cryptology - EUROCRYPT 2007, 26th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Barcelona, Spain 2007 Lecture Notes in Computer Science, pp: 347-360
[9] Otmani A., Tillich J.-P., and Dallot L., 2010 "Cryptanalysis of Two McEliece Cryptosystems Based on Quasi-Cyclic Codes" Mathematics in Computer Science, Vol 3(2), pp: 129-140
[10] Wieschebrink C., 2010 Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes. Post-Quantum Cryptography, Third International Workshop, PQCrypto 2010, Darmstadt, Germany, May 25-28, 2010, pp: 61-72
[11] Moon T K., 2005 "Error correction coding mathematical methods and algorithms". John Wiley & Sons Ltd
[12] Липницкий В А., and Конопелько В К., 2007 Норменное декодирование помехоустойчивых кодов и алгебраические уравнения Минск : Изд центр БГУ
[13] Pham Khac Hoan, Le Van Thai, Vu Son Ha, 2013 Simultaneous correction of random and burst errors using norm syndrome for BCH codes Hội thảo quốc gia REV- KC01 2013, tháng 12/2013, Tr 154-158
[14] Canteaut A., and Chabaud F., 1998 "A new Algorithm for Finding Minimum Weight Words in a Linear Code: Application to McEliece’s Cryptosystem and to Narrow-Sense BCH Codes of Length 511" IEEE Transactions on Information Theory, 44(1), pp: 367-378
[15] Bernstein D J., Lange T., and Peters C., 2008 Attacking and defending the McEliece cryptosystem. Post-Quantum Cryptography, Second International Workshop, PQCrypto2008, Cincinnati, OH, USA, October 17-19, 2008, pp: 31-46
[16] Finiasz M., and Sendrier N., 2009 Security Bounds for the Design of Code-Based Cryptosystems. Advances in Cryptology ASIACRYPT 2009, Lecture Notes in Computer Science, pp: 88-105
[17] Bernstein D J., Buchmann J., and Dahmen E., 2009 Post-quantum cryptography Springer-Verlag Berlin Heidelberg, pp: 95-145
[18] Siim S., 2015., "Study of McEliece cryptosystem" The MTAT 07.022 Research Seminar in Cryptography, Spring 2015
AUTHOR INFORMATION Le Van Thai