Xây dựng thuật toán chữ ký số dựa trên một dạng bài toán khó mới

8 13 0
Xây dựng thuật toán chữ ký số dựa trên một dạng bài toán khó mới

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài báo đề xuất một phương pháp xây dựng thuật toán chữ ký số dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp. Đây là một dạng bài toán khó mới, lần đầu được đề xuất và ứng dụng để xây dựng các thuật toán chữ ký số. Mời các bạn cùng tham khảo!

Cơng nghệ thơng tin XÂY DỰNG THUẬT TỐN CHỮ KÝ SỐ DỰA TRÊN MỘT DẠNG BÀI TỐN KHĨ MỚI Nguyễn Đức Thụy1, Lưu Hồng Dũng2 Tóm tắt: Bài báo đề xuất phương pháp xây dựng thuật toán chữ ký số dựa tính khó tốn logarit rời rạc kết hợp khai Zp Đây dạng tốn khó mới, lần đầu đề xuất ứng dụng để xây dựng thuật toán chữ ký số Từ phương pháp đề xuất xây dựng lớp thuật tốn chữ ký số có độ an toàn cao cho ứng dụng thực tế Từ khóa: Digital signature, Digital signature algorithm, Digital Signature Schema, Discrete logarithm problem ĐẶT VẤN ĐỀ Trong [1,2] đề xuất phương pháp xây dựng thuật toán chữ ký số dựa tính khó việc giải toán logarit rời rạc Zp Ưu điểm phương pháp đề xuất từ triển khai lớp thuật toán chữ ký số cho ứng dụng khác Tuy nhiên, độ an toàn thuật toán chữ ký xây dựng theo phương pháp đảm bảo độ khó việc giải toán logarit rời rạc - DLP (Discrete Logarithm Problem) Zp Do đó, có giải thuật thời gian đa thức cho toán (DLP) tính an tồn thuật tốn bị phá vỡ hoàn toàn Nâng cao độ an toàn cho thuật tốn chữ ký số dựa tính khó việc giải đồng thời tốn khó hướng tiếp cận nhận nhiều quan tâm nhà nghiên cứu, [3 – 10] tác giả đề xuất số thuật toán chữ ký xây dựng đồng thời hai toán phân tích số logarit rời rạc Trong báo này, với mục đích nâng cao độ an tồn cho thuật tốn chữ ký số, nhóm tác giả tiếp tục phát triển phương pháp đề xuất [1,2] sở tính khó việc giải tốn khó mới, gọi tốn logarit rời rạc kết hợp khai Zp Đây dạng tốn khó lần đầu đề xuất ứng dụng cho việc xây dựng thuật toán chữ ký số có nhiều triển vọng tạo thuật tốn có độ an tồn cao cho ứng dụng thực tế XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC KẾT HỢP KHAI CĂN TRÊN Zp 2.1 Một số toán khó ứng dụng mật mã tốn logarit rời rạc kết hợp khai Zp 2.1.1 Bài toán logarit rời rạc Zp Bài toán logarit rời rạc Zp sở xây dựng hệ mật khóa cơng khai ElGamal [11] Bài tốn phát biểu sau: Cho p số nguyên tố, g phần tử sinh nhóm Zp* Với số nguyên dương y ∈ Zp*, tìm x thỏa mãn phương trình: g x mod p = y 174 N.Đ Thụy, L H.Dũng “Xây dựng thuật toán chữ ký số … tốn khó mới” Nghiên cứu khoa học cơng nghệ Giải thuật cho tốn DLP viết thuật tốn tính hàm DLP(.) với biến đầu vào y giá trị hàm nghiệm x phương trình: x = DLP( y ) Ở hệ mật ElGamal, toán logarit rời rạc sử dụng với vai trò hàm chiều việc hình thành khóa thực thể hệ thống với tham số {p, g} dùng chung 2.1.2 Bài toán khai Zp Bài toán khai (FRP) Zp phát biểu sau: Cho p số nguyên tố, với số nguyên dương y ∈ Zp*, tìm x thỏa mãn phương trình: (x )k mod p = y Trong [12], tác giả N.A Moldovyan chứng minh toán khai khó thỏa mãn: p = N k S + Ở đây: N số nguyên chẵn, k số nguyên tố S ≥ Ngồi ra, p k cịn phải có kích thước thỏa mãn: |p| ≥ 1024 bit và: |k| ≥ 160 bit 2.1.3 Bài toán logarit rời rạc kết hợp khai trường Zp Bài toán logarit rời rạc kết hợp khai trường Zp (Bài toán DLRP) đề xuất phát biểu sau: Bài toán DLRP: Với số nguyên dương y ∈ Z *p , tìm số x1 x2 thỏa mãn phương trình sau: (x1 )x mod p = y Trường hợp x1 số DLRP trở thành DLP, x2 số nguyên tố (hằng số) thỏa mãn điều kiện theo [12]: p = N × (x2 )S + , với: N số nguyên chẵn S ≥ 2, DLRP trở thành FRP Dễ thấy rằng, việc giải DLRP khó DLP FRP Ngay có giải thuật thời gian đa thức cho DLP FRP khơng có nghĩa giải DLRP 2.2 Xây dựng lược đồ chữ ký dựa tính khó tốn DLRP 2.2.1 Thuật tốn sinh khóa Ở phương pháp xây dựng thuật toán chữ ký đề xuất, DLRP sử dụng để hình thành cặp khóa bí mật cơng khai đối tượng ký Trong đó, p tham số hệ thống (tham số miền) nhà cung cấp dịch vụ tạo ra, p số nguyên tố cần phải chọn cho việc giải tốn DLP khó Cặp (x1, x2) khóa bí mật y khóa cơng khai tương ứng đối tượng ký hệ thống Để tạo khóa x1 thực thể ký cần tạo trước số nguyên tố q thỏa mãn: q|(p – 1) số α ∈ Z *p Khóa x1 tạo theo: x1 = α p −1 q mod p Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018 175 Cơng nghệ thơng tin Khóa x2 giá trị chọn ngẫu nhiên khoảng (1, q) Sau đó, khóa cơng khai tạo từ (x1, x2) theo: x x y1 = (x1 ) mod p , y2 = (x2 ) mod p (1) Chú ý tham số q sử dụng với vai trị khóa bí mật tương tự x1 x2 thuật tốn ký Thuật tốn sinh khóa mơ tả lại Bảng sau đây: Bảng Thuật tốn sinh khóa Input: p – số ngun tố, lq – độ dài (tính theo bit) số nguyên tố q Output: q, x1, x2, y1, y2 [1] generate q: len(q) = lq, q|(p-1) [2] select α: < α < p [3] x1 ← α ( p −1) / q mod p [4] if (x1 = 1) then goto [2] [5] select x2: < x2 < q x [6] y1 ← ( x1 ) mod p , y2 ← ( x2 ) mod p [7] return {q, x1, x2, y1, y2 } Chú thích: x - len(.) hàm tính độ dài (theo bit) số ngun - q, x1, x2: Khóa bí mật - y1, y2: Khóa cơng khai đối tượng ký (U) 2.2.2 Thuật toán ký Giả sử (r,s) chữ ký lên tin M, u giá trị khoảng (1,q) r tính từ u theo công thức: u (2) r = (x1 ) mod p Và s tính từ v theo cơng thức: v (3) s = (x1 ) mod p Ở đây: v giá trị khoảng (1,q) Cũng giả thiết phương trình kiểm tra lược đồ có dạng: (s )y r s mod p ≡ (r ) E × ( y1 ) mod p Với: E = H (M ) và: r × s mod p = (x1 )k mod p (4) Trong đó: H(.) hàm băm k giá trị chọn ngẫu nhiên khoảng (1,q) Đặt: (5) (x1 )k mod p = Z 176 N.Đ Thụy, L H.Dũng “Xây dựng thuật tốn chữ ký số … tốn khó mới” Nghiên cứu khoa học cơng nghệ Khi đưa phương trình kiểm tra dạng: (s ) y ≡ (r )Z × ( y1 )E mod p Từ (1), (2), (3) (6) ta có: (x1 )v y ≡ (x1 )u.Z × (x1 )x E mod p Từ (7) suy ra: 2 (6) (7) (u × Z + x2 × E ) mod q v × y2 ≡ hay: −1 v = ( y ) × (u × Z + x2 × E ) mod q (8) Mặt khác, từ (2), (3) (4) ta có: (v + u ) mod q = k (9) Từ (8) (9) ta có: ((u × Z + x × E )× ( y ) −1 2 Hay: (u × (Z × ( y ) −1 ) + u mod q = k ) −1 ) + + x2 × E × ( y2 ) mod q = k (10) Từ (10), suy ra: ( −1 ) × (k − x u = Z × ( y2 ) + −1 −1 ) × E × ( y2 ) mod q (11) Từ (11), tính thành phần thứ chữ ký theo (2): u r = ( x1 ) mod p thành phần thứ tính theo (3): v s = ( x1 ) mod p với v tính theo (8): −1 v = ( y ) × (u × Z + x2 × E ) mod q Từ thuật tốn ký mơ tả Bảng sau: Bảng Thuật toán ký Input: p, q, x1, x2, y2,M Output: (r,s) [1] E ← H (M ) [2] select k: < k < p − [3] Z ← (x1 )k mod p ( ) ( −1 ) [4] u ← Z × ( y2 )−1 + × k − x2 × E × ( y2 )−1 mod q −1 [5] v ← ( y2 ) × (u × Z + x2 × E ) mod q [6] r ← (x1 )u mod p [7] s ← (x1 )v mod p [8] return (r,s) Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018 177 Công nghệ thơng tin Chú thích: - M: tin cần ký, với: M ∈ {0,1}∞ - (r,s): chữ ký U lên M 2.2.3 Thuật toán kiểm tra Thuật tốn kiểm tra lược đồ mơ tả Bảng sau: Bảng Thuật toán kiểm tra Input: p, y1, y2, M, (r,s) Output: true / false [1] E = H (M ) [2] Z ← r × s mod p (12) [3] w1 ← (r )Z × ( y1 )E mod p (13) [4] w2 ← (s ) y2 mod p if ( w1 = w2 ) then {return true } else {return false } Chú thích: - M, (r,s): tin, chữ ký cần thẩm tra - Nếu kết trả true tính tồn vẹn nguồn gốc M khẳng định Ngược lại, kết false M bị phủ nhận nguồn gốc tính tồn vẹn 2.2.4 Tính đắn lược đồ đề xuất Điều cần chứng minh là: Cho p, q số nguyên tố với q|(p-1), ∗ H : {0,1} a Z n , x1 y2 = ( x2 ) mod p x2 y1 = ( x1 ) mod p , ( ) × (k − x −1 u = Z × ( y2 ) + −1 −1 x1 = α ( p −1)/ q mod p 1

Ngày đăng: 06/09/2021, 16:14

Tài liệu cùng người dùng

Tài liệu liên quan