Phương pháp 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

9 11 0
Phương pháp 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 viết đề 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ố.

Hội thảo lần thứ III: Một số vấn đề chọn lọc an tồn an ninh thơng tin – Đà Nẵng, 07/12/2018 Phương pháp xây dựng thuật toán chữ ký số dựa dạng tốn khó A construction method of digital signature algorithms based on a new hard problem Lưu Hồng Dũng Khoa CNTT Học Viện KTQS Hà Nội, Việt Nam e-mail: luuhongdung@gmail.com Nguyễn Đức Thụy Khoa CNTT CĐ Kinh tế - Kỹ thuật Tp.HCM, Việt Nam e-mail: thuyphulam2013@gmail.com Abstract— Bài báo đề xuất phương pháp xây đó, có giải thuật thời gian đa thức cho dựng thuật toán chữ ký số dựa tính khó tốn (DLP) tính an tồn thuật tốn tốn logarit rời rạc kết hợp khai Zp bị phá vỡ hoàn toàn Nâng cao độ an toàn cho Đây dạng tốn khó mới, lần đầu thuật tốn chữ ký số dựa tính khó việc giải đề xuất ứng dụng để xây dựng thuật tốn đồng thời tốn khó hướng tiếp cận chữ ký số Từ phương pháp đề xuất nhận nhiều quan tâm nhà nghiên xây dựng lớp thuật tốn chữ ký số có độ an cứu, [3 – 10] tác giả đề xuất số toàn cao cho ứng dụng thực tế thuật toán chữ ký xây dựng đồng thời hai Keywords: Digital signature; Digital signature algorithm; Digital Signature Schema; Discrete tố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 logarithm problem phương pháp đề xuất [1,2] sở tính khó I ĐẶT VẤN ĐỀ việc giải tốn khó mới, gọi Trong [1,2] đề xuất phương pháp xây dựng toán logarit rời rạc kết hợp khai Zp thuật toán chữ ký số dựa tính khó việc giải Đây dạng tốn khó lần đầu đề xuất toán logarit rời rạc Zp Ưu điểm phương ứng dụng cho việc xây dựng thuật toán chữ ký số pháp đề xuất từ triển khai lớp có nhiều triển vọng tạo thuật tốn có độ an thuật toán chữ ký số cho ứng dụng khác toàn cao cho ứng dụng thực tế Tuy nhiên, độ an tồn thuật tốn chữ ký xây dựng theo phương pháp đảm bảo độ khó việc giải tốn logarit rời rạc - DLP (Discrete Logarithm Problem) Zp Do Hội thảo lần thứ III: Một số vấn đề chọn lọc an tồn an ninh thơng tin – Đà Nẵng, 07/12/2018 II BÀI TỐN KHĨ MỚI VÀ PHƯƠNG PHÁP XÂY DỰNG THUẬT TOÁN CHỮ KÝ SỐ A Một số tốn khó ứng dụng mật mã toán logarit rời rạc kết hợp khai Zp 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ố 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 * nguyên dương y ∈ Zp , tìm x thỏa mãn phương trình: Trường hợp x1 số DLRP trở thành DLP, cịn x2 số nguyên tố (hằng số) thỏa g x mod p = y 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 cịn giá trị hàm nghiệm x phương trình: 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ó 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) 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: nghĩa giải DLRP B Xây dựng lược đồ chữ ký dựa tính khó tốn DLRP 1) Phương pháp xây dựng Ở 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ó k (x ) mod p = y Trong [12], tác giả N.A Moldovyan chứng minh tốn khai khó thỏa mãn: p = N k + S Ở đây: N số nguyên chẵn, k số 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: 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 x1 = α p −1 q mod p Hội thảo lần thứ III: Một số vấn đề chọn lọc an tồn an ninh thơng tin – Đà Nẵng, 07/12/2018 Khóa x2 giá trị chọn ngẫu nhiên Nên: khoảng (1, q) Sau đó, khóa cơng khai v = (u × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y ) tạo từ (x1, x2) theo: + x2 × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) mod q (1.9) x x y1 = (x1 ) mod p , y2 = (x2 ) mod p (1.1) Mặt khác, từ (1.2), (1.3) (1.4) ta có: Chú ý tham số q sử dụng với (1.10) (v + u ) mod q = k vai trò khóa bí mật tương tự x1 x2 Từ (1.9) (1.10) ta có: thuật tốn ký Giả sử (r,s) chữ ký lên tin M, u giá trị khoảng (1,q) r [u × f1 ( M , Z , y1 , y2 )−1 × f ( M , Z ) + tính từ u theo cơng thức: + x2 × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) + u] mod q = k (1.2) u r = ( x1 ) mod p Hay: Và s tính từ v theo cơng thức: [u × ( f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) + 1) (1.3) v s = ( x1 ) mod p + x2 × f1 ( M , Z , y1 , y2 )−1 × f ( M , Z , y1 , y2 ) Ở đây: v giá trị khoảng (1,q) ] mod q = k Cũng giả thiết phương trình kiểm tra (1.11) lược đồ có dạng: s f1 (M , f (r ,s ), y1, y2 ) ≡ r f ( M , f (r ,s ), y1 , y2 ) × y1 f ( M , f ( r ,s ), y1 , y2 ) Từ (1.11), suy ra: mod p −1 u = ( f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) + 1) × Với f (r , s) hàm r s Xét trường hợp: f (r, s) = r × s mod p × (k − x2 × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) ) mod q (1.4) k = ( x1 ) mod p (1.12) Trong k giá trị chọn ngẫu nhiên khoảng (1,q) Từ (1.12), tính thành phần thứ chữ ký theo (1.2): Đặt: u k (x1 ) (1.5) mod p = Z r = ( x1 ) mod p thành phần thứ tính theo (1.3): Khi đưa phương trình kiểm tra dạng: (s ) f (M , Z , y , y ) ≡ (r ) f (M , Z , y , y f (M ,Z , y , y ) × ( y1 ) mod p 1 1 ) v s = ( x1 ) mod p với v tính theo (1.9): × (1.6) v = [u × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 ) + + x2 × f1 ( M , Z , y1 , y2 ) −1 × f ( M , Z , y1 , y2 )] mod q Từ (1.1), (1.2), (1.3) (1.6) ta có: v f1 ( M ,Z , y1 , y2 ) (x1 ) x f × ( x1 ) u f ( M ,Z , y1 , y2 ) ≡ ( x1 ) ( M ,Z , y1 , y2 ) × Từ đây, phương pháp xây dựng lớp thuật (1.7) mod p toán chữ ký số tương ứng với dạng cụ thể hàm f(r,s): f (r, s) = r × s mod p = ( x1 )k mod p Từ (1.7) suy ra: Bảng 1.1, Bảng 1.2 Bảng 1.3 v × f1 ( M , Z , y1 , y ) ≡ [u × f ( M , Z , y1 , y ) + + x × f ( M , Z , y1 , y )] mod q sau: (1.8) Hội thảo lần thứ III: Một số vấn đề chọn lọc an tồn an ninh thơng tin – Đà Nẵng, 07/12/2018 Bảng 1.1 Thuật tốn sinh khóa [9] v ← (u × w4 + x2 × w5 ) mod q Input: p – số nguyên tố, lq – độ dài (tính theo bit) số nguyên tố q [11] s ← (x1 )v mod p Output: q, x1, x2, y1,y2 [12] return (r,s) [1] generate q: len(q) = lq, q|(p-1) Chú thích: [2] select α: < α < p [3] x1 ← α ( p −1) / q [10] r ← ( x1 )u mod p (i) M: tin cần ký, với: M ∈ {0,1}∞ mod p (ii) (r,s): chữ ký U lên M [4] if (x1 = 1) then goto [2] [5] select x2: < x2 < q Bảng 1.3 Thuật toán kiểm tra chữ ký [6] y1 ← (x1 )x mod p , y2 ← (x2 )x mod p Input: p, y1, y2, M, (r,s) (2.1) [7] return {q, x1, x2, y1, y2} Chú thích: - len(.) hàm tính độ dài (theo bit) Output: true / false [1] Z ← f (r , s ) [2] w1 ← f1 ( M , Z , y1 , y2 ) [3] w2 ← f ( M , Z , y1 , y2 ) số nguyên - q, x1, x2: Khóa bí mật [4] w3 ← f ( M , Z , y1 , y2 ) - y1, y2: Khóa công khai đối tượng ký [5] A ← (s )w mod p Bảng 1.2 Thuật toán ký Input: p, q, x1, x2, y1, y2, M [6] B ← (r )w2 × ( y1 )w3 mod p [7] if ( A = B ) then {return true } else {return false } Output: (r,s) [1] select k: < k < q [2] Z ← ( x1 )k mod p 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 [3] w1 ← f1 ( M , Z , y1 , y2 ) nguồn gốc M khẳng định Ngược lại, [4] w2 ← f ( M , Z , y1 , y2 ) kết false M bị phủ nhận nguồn gốc [5] w3 ← f ( M , Z , y1 , y2 ) −1 [6] w4 ← (w1 ) × w2 mod q tính tồn vẹn 2) Một số thuật tốn chữ ký xây dựng theo phương pháp đề xuất [7] w5 ← (w1 )−1 × w3 mod q a) Thuật tốn MTA 18.9 –01 [8] u ← (w4 + 1)−1 × (k − x2 × w5 ) mod q Thuật tốn chữ ký thứ đề xuất – ký hiệu: MTA 18.9 – 01, xây dựng theo Hội thảo lần thứ III: Một số vấn đề chọn lọc an tồn an ninh thơng tin – Đà Nẵng, 07/12/2018 Bảng 1.1, 1.2 1.3 mục A với lựa chọn hàm sau: + Tính đắn thuật toán đề xuất f1 ( M , Z , y1 , y2 ) = H ( M ) , f ( M , Z , y1, y2 ) = y2 , f ( M , Z , y1 , y ) = Z Đ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 , q < n < p , Khi đó, thuật tốn ký kiểm tra chữ ký thuật tốn mơ tả Bảng 2.1 Bảng 2.2 đây: 1

Ngày đăng: 08/06/2021, 04:45

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

Tài liệu liên quan