Xây dựng các thuật toán mật mã khóa công khai dựa trên tính khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số khai căn

7 36 1
Xây dựng các thuật toán mật mã khóa công khai dựa trên tính khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số khai căn

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

Thông tin tài liệu

Cũng với mục đích nâng cao độ an toàn cho thuật toán trước một số dạng tấn công trong thực tế, nhóm tác giả bài báo này đề xuất xây dựng 02 thuật toán: mật mã khóa công khai; mã hóa - [r]

(1)

XÂY DỰNG CÁC THUẬT TOÁN MẬT MÃ KHĨA CƠNG KHAI DỰA TRÊN TÍNH KHĨ CỦA VIỆC GIẢI ĐỒNG THỜI BÀI TOÁN

LOGARIT RỜI RẠC VÀ PHÂN TÍCH SỐ/KHAI CĂN Nguyễn Vĩnh Thái1*, Lưu Hồng Dũng2

Tóm tắt: Bài báo đề xuất xây dựng thuật tốn mật mã khóa cơng khai từ mức độ khó việc giải đồng thời toán: toán logarit rời rạc Zp tốn

phân tích số ngun lớn thừa số nguyên tố, hoặc: toán logarit rời rạc trên Zp toán khai vành Zn 02 thuật toán đề xuất đảm bảo mức

độ an toàn trước cơng: làm lộ khóa bí mật, thám mã tin Đồng thời xác thực nguồn gốc văn điện tử, đảm bảo việc xác thực người gửi

Từ khóa:Logarit rời rạc; Phân tích số; Khai căn; Thuật tốn khóa mật mã; Hệ thống mã khóa khóa cơng khai 1 ĐẶT VẤN ĐỀ

Hiện tại, RSA [1] sử dụng giao dịch điện tử (Chính phủ điện tử, thương mại điện tử ) tính mềm dẻo độ an tồn Tuy nhiên, thuật tốn hệ mật có nhược điểm so với hệ mật xây dựng toán logarit rời rạc (ElGamal, DSA, GOST R34.10-94 ) [3] thực thể đầu cuối không phép dùng chung modulo n với Nói cách khác: thực thể đầu cuối phải sở hữu cặp tham số ( , ) nguyên tố riêng biệt Hơn nữa, cặp tham số phải giữ bí mật tuyệt đối Trên thực tế, việc tạo số nguyên tố lớn mạnh theo tiêu chuẩn an toàn (FIPS 186 - 4) [2] giữ bí mật tuyệt đối cho chúng không đơn giản, nên nhược điểm ảnh hưởng không nhỏ đến khả ứng dụng rộng rãi hệ mật (RSA) thực tế

Nâng cao độ an tồn cho thuật tốn mật mã khóa cơng khai 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 [4 - 9]

Cũng với mục đích nâng cao độ an tồn cho thuật tốn trước số dạng cơng thực tế, nhóm tác giả báo đề xuất xây dựng 02 thuật tốn: mật mã khóa cơng khai; mã hóa - xác thực dựa tính khó việc giải đồng thời toán logarit rời rạc phân tích số/khai căn, cho phép nhiều người dùng (thực thể cuối) sử dụng chung , nghĩa cần tạo cặp tham số ( , ) cho tất thực thể cuối Ngoài ra, tham số khơng cần phải giữ bí mật hệ RSA mà chống lại dạng công biết thực tế, đảm bảo độ an toàn hệ thống

2 MỘT SỐ BÀI TỐN KHĨ ỨNG DỤNG TRONG MẬT MÃ 2.1 Bài tốn phân tích số

Bài tốn phân tích số phát biểu sau: Cho số ∈ ℕ, tìm biểu diễn: = Π với: ≥ 1( = 1, … , ) nguyên dương;

(2)

Một trường hợp riêng toán phân tích số ứng dụng để xây dựng hệ mật RSA mà tích hai số ngun tố Khi đó, tốn phân tích số hay cịn gọi tốn ( ) phát biểu sau:

Với số nguyên dương , tìm số nguyên tố thỏa mãn phương trình sau: × =

Giải thuật cho tốn ( )có thể viết thuật tốn tính hàm (.) với biến đầu vào , cịn giá trị hàm phương trình sau: = ( ) hoặc: = ( )

Trong hệ mật RSA, tốn phân tích số sử dụng việc hình thành cặp khóa cơng khai/bí mật cho thực thể ký Với việc giữ bí mật tham số ( , ) việc tính khóa bí mật ( ) từ khóa cơng khai ( ) ( ) tốn khó , chọn đủ lớn mạnh Hiện toán coi tốn khó chưa có giải thuật thời gian đa thức hay đa thức xác suất cho hệ mật RSA minh chứng thực tế cho tính khó giải tốn Trong thực tế, tham số , chọn theo FIPS 186 - Hoa Kỳ cho hệ mật RSA

2.2 Bài toán khai

Cho cặp số nguyên dương ( , ) với tích số nguyên tố cho tốn phân tích số khó giải Z , giá trị thỏa mãn: < < ( ) gcd , ( ) = 1, đây: ( ) = ( − 1) ( − 1) Khi đó, tốn khai Z hay gọi RSAP( , ) phát biểu sau:

Với số nguyên dương ∈ ℤ∗, tìm thỏa mãn phương trình sau: =

Bài toán RSAP( , ) sở quan trọng để xây dựng nên hệ mật RSA Ở hệ mật RSA giải RSAP( , ), kẻ thám mã tìm rõ (M) từ mã (C) tham số công khai ( , ), dễ dàng tạo chữ ký giả mạo (S) cho tin (M) mà khơng cần biết khóa bí mật (d) đối tượng ký (bị mạo danh) Tuy nhiên, chưa có giải thuật thời gian đa thức cho tốn việc cơng hệ mật RSA việc giải RSAP( , ) chưa khả thi

2.3 Bài toán logarit rời rạc

Cho cặp số nguyên dương ( , ) với số nguyên tố, phần tử nhóm ∗ Khi đó, tốn logarit rời rạc Z hay cịn gọi tốn

DLP( , ) phát biểu sau:

Với số nguyên dương ∈ ℤ∗, tìm thỏa mãn phương trình sau: =

Giải thuật cho tốn DLP( , )có thể viết thuật tốn tính hàm

(3)

= DLP( , )( )

Bài toán DLP( , )là sở để xây dựng nên hệ mật ElGamal Hiện chưa có giải thuật hiệu cho DLP( , )và độ an tồn thuật tốn DSA chuẩn chữ ký số DSS Hoa Kỳ minh chứng thực tế cho tính khó giải tốn

3 XÂY DỰNG THUẬT TỐN MẬT MÃ KHĨA CƠNG KHAI 3.1 Thuật tốn hình thành tham số khóa

Các tham số hệ thống hay tham số miền nhà cung cấp dịch vụ chứng thực số hình thành thuật tốn sau:

a) Thuật tốn Hình thành tham số hệ thống

Input: , - độ dài (tính theo bit) số nguyên tố , Output: , ,

Bước Chọn cặp số , nguyên tố với:

( ) = , ( ) = cho |( − 1)

Bước Chọn phần tử sinh nhóm ∗ theo:

= , với ∈ (1, )

Chú thích: ( ): hàm tính độ dài (theo bit) số

Mỗi thực thể cuối/người sử dụng hệ thống hình thành khóa thuật tốn sau:

b) Thuật tốn Hình thành khóa

Input: , , , , - độ dài (tính theo bit) số nguyên tố , Output: , , ( ),

Bước Chọn cặp số , nguyên tố với: ( ) = , ( ) = Bước Tính = , ≤ thực lại Bước

Bước Tính ( ) = ( − 1) ( − 1)

Bước Chọn khóa bí mật thứ khoảng 1, ( )

Bước Tính khóa cơng khai theo: = ± (1)

Kiểm tra nếu: ≥ ( ) hoặc: gcd ( , ( )) ≠ thực lại từ Bước Bước Tính khóa bí mật thứ hai theo: = ( ) (2) Bước Chọn hàm băm : {0,1}∗ → với < ℎ <

3.2 Thuật tốn mật mã khóa công khai

(4)

( , , ), đó: chọn ngẫu nhiên khoảng (1, ), cịn ( , ) tính theo (1) (2) sau:

= , = ( ) ( ) (3)

a) Thuật tốn mã hóa (MTA 01.19 - 02) Input: p, q , g, , , M.

Output: ,

Bước Biểu diễn tin cần mã hóa M thành giá trị m tương ứng khoảng [1, − 1], chọn ngẫu nhiên giá trị khoảng (1, ) tính thành

phần thứ mã: = × ( ) (4)

Bước Tính thành phần thứ mã: = ( ) (5) Bước Gửi mã ( , ) cho B

b) Thuật toán giải mã (MTA 01.19 - 03) Input: p, q , g, , , , (C, R).

Output:

Bước B sử dụng khóa bí mật thứ hai để tính theo: = ( ) (6) Bước Người nhận sử dụng khóa bí mật thứ để giải mã tin

nhận được: = × ( ) (7)

Bước Chuyển giá trị thành tin M c) Tính đắn thuật toán

Điều cần chứng minh là: Cho p, q, , số nguyên tố thỏa mãn: |(p − 1), n = p × q , > , < < , = , < < ,

= , = ( ) ( ), < < , ≤ ≤ − 1,

= × ( ) , = ( )

Nếu: = ( ) , = × ( ) =

Chứng minh:

Từ (3), (5) (6) ta có:

= ( ) = (( ) )

= = (8)

Nên từ (3), (4), (7) (8) ta có điều cần chứng minh:

= × ( ) = × × ( )

= × × =

(5)

Ở thuật toán đề xuất, tính an tồn lược đồ bị phá vỡ cặp khóa , tính hay đối tượng không mong muốn Từ Thuật tốn cho thấy, để tìm cần phải giải ( ), cịn để tính cần phải giải DLP( , ) Nói cách khác, độ an tồn khóa thuật tốn đảm bảo độ khó việc giải đồng thời tốn ( ) DLP( , )

b) Tấn công thám mã tin

Để giải mã tin thực cơng vào thuật tốn mã hóa giải mã sau:

- Tấn cơng thuật tốn mã hóa

Có thể giải mã tin tính (4) theo cách:

Cách thứ nhất: giải toán RSAP( , )để tìm X = RSAP( , )( ), sau phải giải tiếp tốn DLP( , )để tìm k = DLP( , )( )

Cách thứ hai: giải tốn ( ) để tìm để tìm X = ( ) , sau

đó giải tiếp DLP( , )để tìm k cách thứ

Như vậy, để giải mã tin cách công trực tiếp vào thuật tốn mã hóa, kẻ cơng cần phải giải đồng thời hai toán RSAP( , ) DLP( , ) ( ) DLP( , ) Nên độ an tồn thuật tốn trước dạng cơng định độ khó việc giải đồng thời toán: toán logarit rời rạc toán khai căn, hoặc: toán logarit rời rạc tốn phân tích số

- Tấn cơng thuật toán giải mã

Để giải mã tin cách cơng vào thuật tốn giải mã, kẻ cơng cần phải tính khóa bí mật người nhận B, nghĩa phải giải đồng thời hai toán toán ( ) DLP( , ) Hay, độ an tồn thuật tốn trước dạng công định độ khó việc giải đồng thời tốn phân tích số tốn logarit rời rạc Zp

3.4 Thuật tốn mã hóa - xác thực

Thuật tốn mã hóa - xác thực đề xuất thực đồng thời chức bảo mật thông tin xác thực nguồn gốc tính tồn vẹn tin mã hóa, thuật tốn đề xuất bao gồm thuật tốn mã hóa (Thuật toán MTA 01.19 - 04) giải mã (Thuật toán MTA 01.19 - 05), với tham số hệ thống hình thành theo Thuật tốn khóa hình thành theo Thuật tốn Giả thiết người gửi/mã hóa A, người nhận/giải mã B có cặp khóa bí mật/cơng khai tương ứng ( , / ) ( , / ), đó: ( , ) chọn ngẫu nhiên khoảng (1, ), ( , ) ( , ) tính theo (1) (2) sau:

= , = ( ) ( ) (9)

= , = ( ) ( )

(6)

Output: , ,

Bước Biểu diễn tin cần mã hóa M thành giá trị m tương ứng khoảng [1, − 1], chọn ngẫu nhiên giá trị khoảng (1, ) tính thành

phần thứ mã: = ( × ( ) ) (10)

Bước Tính giá trị: = (11)

Bước Tính thành phần thứ hai mã: = ( ‖ ) (12) Bước Tính thành phần thứ ba mã: = ( ) × ( +

2 (13)

Bước Gửi mã ( , , ) cho B b) Thuật toán giải mã (MTA 01.19 - 05)

Input: p, q , g, , , , , , ,( , , ).

Output: , ( , ) = /

Bước Người nhận sử dụng khóa bí mật thứ hai để tính ̅ theo:

= (14)

Bước Tính giá trị: = ( ) (15)

= ( ) × ( ) (16)

Bước Từ , giải mã tin nhận được: = × ( ) (17) Bước Chuyển giá trị thành tin tính: = (18) Bước Nếu = = khẳng định người gửi xác A

c) Tính đắn thuật tốn MTA 01.19 - 04; MTA 01.19 - 05

Điều cần chứng minh là: Cho p, q, , số nguyên tố thỏa mãn: |(p − 1), n = p × q , > , < < , = , < , < ,

= , = , = ( ) ( ), < < ,

= ( ) ( ), ≤ ≤ − 1, = ,

: {0,1}∗→ với |q| ≤ |h| < | |, = ( ‖ ) ,

= × (( + × ) ) ( )

Nếu = , = ( ) , = ( ) × ( ) ,

= × ( ) , = = =

Chứng minh:

Từ (9), (10) (14) ta có: =

= (( × ( ) ) )

(7)

= ( × ) = × Từ (9), (13) (15) ta lại có: = ( )

= (( ) × ( + ) )) ) (20)

= (( ) × ( + ) ))

= ( ) × ( + )

Thay (9) (20) vào (16) ta được: = ( ) × ( )

= ( )( ) ( ) × ( )

= ( ) ( )× = ( × × ) (21)

= =

Từ (9), (19) (21) ta suy điều cần chứng minh thứ nhất:

= × ( ) = × × ( )

= ( × × ) = (22)

Từ (17), (18), (21) (22) ta suy điều cần chứng minh thứ hai:

= = ( ‖ ) =

3.5 Độ an toàn thuật toán MTA 01.19 - 04; MTA 01.19 - 05

Thuật tốn mã hóa - xác thực đề xuất thực chất kết hợp thuật toán mật mã mục 3.2 báo với thuật toán chữ ký số, nhằm cung cấp tính bảo mật nội dung tin xác thực nguồn gốc với tính tồn vẹn tin thực cách đồng thời Nhờ đó, thuật tốn cho phép chống lại dạng cơng giả mạo hiệu Có điểm cần lưu ý dạng công giả mạo cần hiểu theo nghĩa kẻ thứ (T) muốn mạo danh A để gửi cho B tin M T gửi tin M cho B B hiểu A gửi tin M cho Từ thuật toán kiểm tra cho thấy, điều kiện để B nhận biết xác tin M A gửi đến nhận cặp (C,E,S) là:

(23)

Kẻ cơng giả mạo thực (23) thực bước tính tốn sau:

Ngày đăng: 11/03/2021, 11:41

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan