intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: ViColor2711 ViColor2711 | Ngày: | Loại File: PDF | Số trang:9

58
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề xuất xây dựng thuật toán mật mã khóa công khai từ mức độ khó của việc giải đồng thời 2 bài toán: Bài toán logarit rời rạc trên Zp và bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố, hoặc: Bài toán logarit rời rạc trên Zp và bài toán khai căn trên vành Zn. 02 thuật toán mới đề xuất đảm bảo mức độ an toàn trước các tấn công: Làm lộ khóa bí mật, thám mã bản tin. Đồng thời xác thực nguồn gốc văn bản điện tử, cũng như đảm bảo việc xác thực người gửi.

Chủ đề:
Lưu

Nội dung Text: 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

Công nghệ thông tin<br /> <br /> XÂY DỰNG CÁC THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI<br /> DỰA TRÊN TÍNH KHÓ CỦA VIỆC GIẢI ĐỒNG THỜI 2 BÀI TOÁN<br /> LOGARIT RỜI RẠC VÀ PHÂN TÍCH SỐ/KHAI CĂN<br /> Nguyễn Vĩnh Thái1*, Lưu Hồng Dũng2<br /> Tóm tắt: Bài báo đề xuất xây dựng thuật toán mật mã khóa công khai từ mức độ<br /> khó của việc giải đồng thời 2 bài toán: bài toán logarit rời rạc trên Zp và bài toán<br /> phân tích một số nguyên lớn ra các thừa số nguyên tố, hoặc: bài toán logarit rời rạc<br /> trên Zp và bài toán khai căn trên vành Zn. 02 thuật toán mới đề xuất đảm bảo mức<br /> độ an toàn trước các tấn công: làm lộ khóa bí mật, thám mã bản tin. Đồng thời xác<br /> thực nguồn gốc văn bản điện tử, cũng như đảm bảo việc xác thực người gửi.<br /> Từ khóa: Logarit rời rạc; Phân tích số; Khai căn; Thuật toán khóa mật mã; Hệ thống mã khóa khóa công khai.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> Hiện tại, RSA [1] vẫn đang được sử dụng trong các giao dịch điện tử (Chính<br /> phủ điện tử, thương mại điện tử...) do tính mềm dẻo và độ an toàn của nó. Tuy<br /> nhiên, thuật toán hệ mật này cũng có một nhược điểm căn bản so với các hệ mật<br /> được xây dựng trên bài toán logarit rời rạc (ElGamal, DSA, GOST R34.10-94...)<br /> [3] đó là các thực thể đầu cuối không được phép dùng chung modulo n với nhau.<br /> Nói cách khác: mỗi thực thể đầu cuối phải sở hữu một cặp tham số ( , ) nguyên<br /> tố riêng biệt. Hơn nữa, cặp tham số này phải được giữ bí mật tuyệt đối. Trên thực<br /> tế, việc tạo ra các số nguyên tố lớn và mạnh theo các tiêu chuẩn an toàn (FIPS 186<br /> - 4) [2] và giữ bí mật tuyệt đối cho chúng là không đơn giản, nên nhược điểm trên<br /> đã ảnh hưởng không nhỏ đến khả năng ứng dụng rộng rãi của hệ mật này (RSA)<br /> trong thực tế.<br /> Nâng cao độ an toàn cho các thuật toán mật mã khóa công khai dựa trên tính<br /> khó của việc giải đồng thời 2 bài toán khó là một hướng tiếp cận đang nhận được<br /> nhiều sự quan tâm của các nhà nghiên cứu [4 - 9].<br /> 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<br /> 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<br /> mã khóa công khai; mã hóa - xác thực dựa trên tính khó của việc giải đồng thời 2<br /> bài toán logarit rời rạc và phân tích số/khai căn, cho phép nhiều người dùng (thực<br /> thể cuối) sử dụng chung một , nghĩa là chỉ cần tạo ra một cặp tham số<br /> ( , ) duy nhất cho tất cả các thực thể cuối. Ngoài ra, các tham số này không cần<br /> phải được giữ bí mật như ở hệ RSA mà vẫn có thể chống lại các dạng tấn công đã<br /> biết trong thực tế, đảm bảo độ an toàn của hệ thống.<br /> 2. MỘT SỐ BÀI TOÁN KHÓ ỨNG DỤNG TRONG MẬT MÃ<br /> 2.1. Bài toán phân tích số<br /> Bài toán phân tích số được phát biểu như sau: Cho số ∈ ℕ, hãy tìm biểu diễn:<br /> =Π với: ≥ 1( = 1, … , ) nguyên dương;<br /> ≥ 1 ( = 1, … , ) nguyên tố.<br /> <br /> <br /> <br /> 24 N. V. Thái, L. H. Dũng, “Xây dựng các thuật toán mật mã … và phân tích số/khai căn.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> Một trường hợp riêng của bài toán phân tích số được ứng dụng để xây dựng hệ<br /> mật RSA mà ở đó là tích của hai số nguyên tố và . Khi đó, bài toán phân tích<br /> số hay còn gọi là bài toán ( ) được phát biểu như sau:<br /> <br /> Với mỗi số nguyên dương , hãy tìm số nguyên tố hoặc thỏa mãn phương<br /> trình sau: × = .<br /> Giải thuật cho bài toán ( ) có thể được viết như một thuật toán tính hàm<br /> (.) với biến đầu vào là , còn giá trị hàm là hoặc của phương trình sau:<br /> = ( ) hoặc: = ( )<br /> Trong hệ mật RSA, bài toán phân tích số được sử dụng trong việc hình thành<br /> cặp khóa công khai/bí mật cho mỗi thực thể ký. Với việc giữ bí mật các tham số<br /> ( , ) thì việc tính được khóa bí mật ( ) từ khóa công khai ( ) và ( ) là<br /> một bài toán khó nếu , được chọn đủ lớn và mạnh. Hiện tại bài toán trên vẫn<br /> được coi là bài toán khó do chưa có giải thuật thời gian đa thức hay đa thức xác<br /> suất cho nó và hệ mật RSA là một minh chứng thực tế cho tính khó giải của bài<br /> toán này. Trong thực tế, các tham số , có thể chọn theo FIPS 186 - 4 của Hoa<br /> Kỳ cho hệ mật RSA.<br /> 2.2. Bài toán khai căn trên<br /> Cho cặp số nguyên dương ( , ) với là tích 2 số nguyên tố và sao cho bài<br /> toán phân tích số là khó giải trên Z , còn là một giá trị thỏa mãn: 1 < < ( )<br /> và gcd , ( ) = 1, ở đây: ( ) = ( − 1). ( − 1). Khi đó, bài toán khai căn<br /> trên Z hay còn gọi là RSAP( , ) được phát biểu như sau:<br /> Với mỗi số nguyên dương ∈ ℤ∗ , hãy tìm thỏa mãn phương trình sau:<br /> = <br /> Bài toán RSAP( , ) cũng là một cơ sở quan trọng để xây dựng nên hệ mật RSA.<br /> Ở hệ mật RSA nếu giải được RSAP( , ) , kẻ thám mã có thể tìm được bản rõ (M) từ<br /> bản mã (C) và các tham số công khai ( , ), hoặc dễ dàng tạo được chữ ký giả mạo<br /> (S) cho một bản tin bất kỳ (M) mà không cần biết khóa bí mật (d) của đối tượng ký<br /> (bị mạo danh). Tuy nhiên, hiện tại vẫn chưa có giải thuật thời gian đa thức cho bài<br /> toán này và do đó việc tấn công hệ mật RSA bằng việc giải RSAP( , ) là vẫn chưa<br /> khả thi.<br /> 2.3. Bài toán logarit rời rạc trên<br /> Cho cặp số nguyên dương ( , ) với là số nguyên tố, còn là một phần tử<br /> của nhóm ∗ . Khi đó, bài toán logarit rời rạc trên Z hay còn gọi là bài toán<br /> DLP( , ) được phát biểu như sau:<br /> Với mỗi số nguyên dương ∈ ℤ∗ , hãy tìm thỏa mãn phương trình sau:<br /> =<br /> Giải thuật cho bài toán DLP( , ) có thể được viết như một thuật toán tính hàm<br /> DLP( , ) (. ) với biến đầu vào là , còn giá trị hàm là của phương trình sau:<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 25<br /> Công nghệ thông tin<br /> <br /> = DLP( , )( )<br /> Bài toán DLP( , ) là cơ sở để xây dựng nên hệ mật ElGamal. Hiện tại chưa có<br /> giải thuật hiệu quả cho DLP( , ) và độ an toàn của thuật toán DSA trong chuẩn<br /> chữ ký số DSS của Hoa Kỳ là một minh chứng thực tế cho tính khó giải của bài<br /> toán này.<br /> 3. XÂY DỰNG THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI<br /> 3.1. Thuật toán hình thành tham số và khóa<br /> Các tham số hệ thống hay tham số miền được nhà cung cấp dịch vụ chứng thực<br /> số hình thành bằng thuật toán như sau:<br /> a) Thuật toán 1. Hình thành các tham số hệ thống<br /> Input: , - độ dài (tính theo bit) của các số nguyên tố , .<br /> Output: , , .<br /> Bước 1. Chọn cặp số , nguyên tố với:<br /> ( )= , ( ) = sao cho |( − 1)<br /> Bước 2. Chọn là phần tử sinh của nhóm ∗ theo:<br /> <br /> = , với ∈ (1, )<br /> Chú thích: (. ): hàm tính độ dài (theo bit) của một số.<br /> Mỗi thực thể cuối/người sử dụng trong hệ thống hình thành khóa của mình bằng<br /> thuật toán như sau:<br /> b) Thuật toán 2. Hình thành khóa<br /> Input: , , , , - độ dài (tính theo bit) của các số nguyên tố , .<br /> Output: , , ( ), .<br /> Bước 1. Chọn cặp số , là các nguyên tố với: ( )= , ( )=<br /> Bước 2. Tính = . , nếu ≤ thì thực hiện lại Bước 1.<br /> Bước 3. Tính ( ) = ( − 1). ( − 1)<br /> Bước 4. Chọn khóa bí mật thứ nhất trong khoảng 1, ( )<br /> Bước 5. Tính khóa công khai theo: = ± (1)<br /> Kiểm tra nếu: ≥ ( ) hoặc: gcd ( , ( )) ≠ 1 thì thực hiện lại từ Bước 4.<br /> Bước 6. Tính khóa bí mật thứ hai theo: = ( ) (2)<br /> Bước 7. Chọn hàm băm : {0,1}∗ → với < ℎ <<br /> 3.2. Thuật toán mật mã khóa công khai<br /> Thuật toán mật mã được đề xuất ở đây bao gồm thuật toán mã hóa (Thuật toán<br /> MTA 01.19-02) và giải mã (Thuật toán MTA 01.19-03) với các tham số hệ thống<br /> được hình thành theo (1) và khóa hình thành theo (2). Giả thiết người gửi/mã hóa<br /> là A, người nhận/giải mã là B và B có cặp khóa bí mật/công khai tương ứng là<br /> <br /> <br /> <br /> <br /> 26 N. V. Thái, L. H. Dũng, “Xây dựng các thuật toán mật mã … và phân tích số/khai căn.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> ( , , ), trong đó: được chọn ngẫu nhiên trong khoảng (1, ), còn<br /> ( , ) được tính theo (1) và (2) như sau:<br /> = , =( ) ( ) (3)<br /> a) Thuật toán mã hóa (MTA 01.19 - 02)<br /> Input: p, q , g, , , M.<br /> Output: , .<br /> Bước 1. Biểu diễn bản tin cần mã hóa M thành một giá trị m tương ứng trong<br /> khoảng [1, − 1], chọn ngẫu nhiên một giá trị trong khoảng (1, ) rồi tính thành<br /> phần thứ nhất của bản mã: = × ( ) (4)<br /> Bước 2. Tính thành phần thứ 2 của bản mã: = ( ) (5)<br /> Bước 3. Gửi bản mã ( , ) cho B.<br /> b) Thuật toán giải mã (MTA 01.19 - 03)<br /> Input: p, q , g, , , , (C, R).<br /> Output: .<br /> Bước 1. B sử dụng khóa bí mật thứ hai để tính theo: = ( ) (6)<br /> Bước 2. Người nhận sử dụng khóa bí mật thứ nhất của mình để giải mã bản tin<br /> nhận được: = × ( ) (7)<br /> Bước 3. Chuyển giá trị thành bản tin M.<br /> c) Tính đúng đắn của thuật toán<br /> Điều cần chứng minh ở đây là: Cho p, q, , là các số nguyên tố thỏa mãn:<br /> |(p − 1), n = p × q , > , 1 < < , = ,1 < < , <br /> = , =( ) ( ), 1 < < , 0 ≤ ≤ − 1, <br /> = ×( ) , = ( ) <br /> Nếu: = ( ) , = ×( ) thì =<br /> Chứng minh:<br /> Từ (3), (5) và (6) ta có:<br /> =( ) = (( ) ) <br /> .<br /> = = (8)<br /> Nên từ (3), (4), (7) và (8) ta có điều cần chứng minh:<br /> = ×( ) = × ×( ) <br /> .<br /> = × × . =<br /> 3.3. Độ an toàn của thuật toán MTA 01.19 - 02; MTA 01.19 - 03<br /> a) Tấn công khóa bí mật<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 27<br /> Công nghệ thông tin<br /> <br /> Ở thuật toán mới đề xuất, tính an toàn của lược đồ sẽ bị phá vỡ khi cặp khóa<br /> , có thể tính được bởi một hay các đối tượng không mong muốn. Từ Thuật<br /> toán 2 cho thấy, để tìm được cần phải giải được ( ) , còn để tính được cần<br /> phải giải được DLP( , ) . Nói một cách khác, độ an toàn về khóa của thuật toán<br /> được đảm bảo bằng độ khó của việc giải đồng thời 2 bài toán ( ) và DLP( , ) .<br /> b) Tấn công thám mã bản tin<br /> Để giải mã bản tin có thể thực hiện tấn công vào thuật toán mã hóa hoặc giải mã<br /> như sau:<br /> - Tấn công thuật toán mã hóa<br /> Có thể giải mã bản tin nếu tính được trong (4) theo 2 cách:<br /> Cách thứ nhất: giải được bài toán RSAP( , ) để tìm X = RSAP( , ) ( ), sau đó<br /> phải giải tiếp bài toán DLP( , ) để tìm k = DLP( , ) ( ).<br /> Cách thứ hai: giải bài toán ( ) để tìm để tìm X = ( ) , sau<br /> đó giải tiếp DLP( , ) để tìm k như cách thứ nhất.<br /> Như vậy, để giải mã bản tin bằng cách tấn công trực tiếp vào thuật toán mã<br /> hóa, kẻ tấn công cần phải giải được đồng thời hai bài toán RSAP( , ) và DLP( , )<br /> hoặc ( ) và DLP( , ) đã chỉ ra ở trên. Nên độ an toàn của thuật toán trước dạng<br /> tấn công này được quyết định bằng độ khó của việc giải đồng thời 2 bài toán: bài<br /> toán logarit rời rạc và bài toán khai căn, hoặc: bài toán logarit rời rạc và bài toán<br /> phân tích số.<br /> - Tấn công thuật toán giải mã<br /> Để giải mã bản tin bằng cách tấn công vào thuật toán giải mã, kẻ tấn công cần<br /> phải tính được các khóa bí mật của người nhận B, nghĩa là phải giải được đồng<br /> thời hai bài toán bài toán ( ) và DLP( , ) . Hay, độ an toàn của thuật toán trước<br /> dạng tấn công này được quyết định bằng độ khó của việc giải đồng thời 2 bài toán<br /> phân tích số và bài toán logarit rời rạc trên Zp.<br /> 3.4. Thuật toán mã hóa - xác thực<br /> Thuật toán mã hóa - xác thực được đề xuất ở đây thực hiện đồng thời chức năng<br /> bảo mật thông tin và xác thực nguồn gốc cũng như tính toàn vẹn của bản tin được<br /> mã hóa, thuật toán được đề xuất bao gồm thuật toán mã hóa (Thuật toán MTA<br /> 01.19 - 04) và giải mã (Thuật toán MTA 01.19 - 05), với các tham số hệ thống<br /> cũng được hình thành theo Thuật toán 1 và khóa hình thành theo Thuật toán 2. Giả<br /> thiết người gửi/mã hóa là A, người nhận/giải mã là B có cặp khóa bí mật/công khai<br /> tương ứng là ( , / ) và ( , / ), trong đó: ( , ) được chọn ngẫu<br /> nhiên trong khoảng (1, ), ( , ) và ( , ) được tính theo (1) và (2) như sau:<br /> = , =( ) ( ) (9)<br /> = , =( ) ( )<br /> a) Thuật toán mã hóa (MTA 01.19 - 04)<br /> Input: p, q , g, , , , , M.<br /> <br /> <br /> 28 N. V. Thái, L. H. Dũng, “Xây dựng các thuật toán mật mã … và phân tích số/khai căn.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> Output: , , .<br /> Bước 1. Biểu diễn bản tin cần mã hóa M thành một giá trị m tương ứng trong<br /> khoảng [1, − 1], chọn ngẫu nhiên một giá trị trong khoảng (1, ) rồi tính thành<br /> phần thứ nhất của bản mã: = ( × ( ) ) (10)<br /> Bước 2. Tính giá trị: = (11)<br /> Bước 3. Tính thành phần thứ hai của bản mã: = ( ‖ ) (12)<br /> Bước 4. Tính thành phần thứ ba của bản mã: = ( ) ×( +<br /> 2 (13)<br /> Bước 5. Gửi bản mã ( , , ) cho B.<br /> b) Thuật toán giải mã (MTA 01.19 - 05)<br /> Input: p, q , g, , , , , , , ( , , ).<br /> Output: , ( , ) = / .<br /> Bước 1. Người nhận sử dụng khóa bí mật thứ hai để tính ̅ theo:<br /> = (14)<br /> Bước 2. Tính giá trị: =( ) (15)<br /> và = ( ) ×( ) (16)<br /> Bước 3. Từ , giải mã bản tin nhận được: = ×( ) (17)<br /> Bước 4. Chuyển giá trị thành bản tin và tính: = (18)<br /> Bước 5. Nếu = thì = và khẳng định người gửi chính xác là A.<br /> c) Tính đúng đắn của thuật toán MTA 01.19 - 04; MTA 01.19 - 05<br /> Điều cần chứng minh ở đây là: Cho p, q, , là các số nguyên tố thỏa mãn:<br /> |(p − 1), n = p × q , > , 1 < < , = ,1 < , < , <br /> = , = , =( ) ( ), 1 < < ,<br /> =( ) ( ), 0 ≤ ≤ − 1, = ,<br /> : {0,1}∗ → với |q| ≤ |h| < | |, = ( ‖ ) , <br /> = × (( + × ) ) ( )<br /> Nếu = , =( ) , = ( ) ×( ) ,<br /> = ×( ) , = thì = và =<br /> Chứng minh:<br /> Từ (9), (10) và (14) ta có: = <br /> = (( × ( ) ) ) <br /> .<br /> = × (19)<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 29<br /> Công nghệ thông tin<br /> .<br /> =( × ) = × <br /> Từ (9), (13) và (15) ta lại có: =( ) <br /> = (( ) × ( + ) )) ) (20)<br /> .<br /> = (( ) × ( + ) )) <br /> = ( ) × ( + ) <br /> Thay (9) và (20) vào (16) ta được: = ( ) ×( ) <br /> <br /> = ( )( ) .( )<br /> ×( ) <br /> .( ) .( )<br /> = × =( × × ) (21)<br /> = =<br /> Từ (9), (19) và (21) ta suy ra điều cần chứng minh thứ nhất:<br /> .<br /> = ×( ) = × ×( ) <br /> . .<br /> =( × × ) = (22)<br /> Từ (17), (18), (21) và (22) ta suy ra điều cần chứng minh thứ hai:<br /> = = ( ‖ ) =<br /> 3.5. Độ an toàn của thuật toán MTA 01.19 - 04; MTA 01.19 - 05<br /> Thuật toán mã hóa - xác thực được đề xuất ở đây thực chất là sự kết hợp giữa<br /> thuật toán mật mã ở mục 3.2 của bài báo này với thuật toán chữ ký số, nhằm cung<br /> cấp tính năng bảo mật nội dung của bản tin và xác thực nguồn gốc cùng với tính<br /> toàn vẹn của bản tin được thực hiện một cách đồng thời. Nhờ đó, thuật toán này<br /> cho phép chống lại các dạng tấn công giả mạo rất hiệu quả. Có một điểm cần lưu ý<br /> là dạng tấn công giả mạo ở đây cần được hiểu theo nghĩa một kẻ thứ 3 (T) muốn<br /> mạo danh A để gửi cho B bản tin M hoặc là T gửi một bản tin không phải M cho B<br /> trong khi B hiểu rằng A đã gửi bản tin M cho mình. Từ thuật toán kiểm tra cho<br /> thấy, điều kiện để B nhận biết chính xác bản tin M được A gửi đến khi nhận được<br /> 1 cặp (C,E,S) là:<br /> <br /> <br /> <br /> <br /> (23)<br /> <br /> <br /> <br /> <br /> Kẻ tấn công giả mạo có thể thực hiện được (23) nếu thực hiện được các bước<br /> tính toán sau:<br /> ∗ ∗<br /> - Chọn giá trị và tính: = ×( ) ;<br /> <br /> <br /> <br /> <br /> 30 N. V. Thái, L. H. Dũng, “Xây dựng các thuật toán mật mã … và phân tích số/khai căn.”<br /> Nghiên cứu khoa học công nghệ<br /> ∗ ∗ ∗<br /> - Giải bài toán DLP( , ) để tìm từ: ( ) ≡ × <br /> ∗<br /> - Giải bài toán RSAP( , ) hoặc ( ) để tìm từ: =( ) <br /> Tuy nhiên, để thực hiện được các bước tính toán như trên, kẻ tấn công cũng<br /> buộc phải giải được đồng thời 2 bài toán toán DLP( , ) và RSAP( , ) hoặc DLP( , ) và<br /> ( ) . Như vậy, độ an toàn của thuật toán trước kiểu tấn công giả mạo chữ ký<br /> cũng được đảm bảo bằng độ khó của việc giải đồng thời 2 bài toán. Bên cạnh đó<br /> nếu (. ) được chọn là hàm băm có tính kháng va chạm cao (SHA 256/512,...) thì<br /> việc tạo ngẫu nhiên được cặp (C,E,S) thỏa mãn điều kiện của thuật toán kiểm tra là<br /> không khả thi trong các ứng dụng thực tế.<br /> 4. KẾT LUẬN<br /> Bài báo đề xuất xây dựng thuật toán mã hóa khóa công khai, thuật toán mã hóa -<br /> xác thực dựa trên độ khó giải của 2 bài toán khó, các thuật toán được thiết kế để<br /> các thực thể cuối trong cùng một hệ thống có thể sử dụng chung một bộ tham số.<br /> Qua phân tích đánh giá cho thấy các thuật toán mới đề xuất có độ an toàn được<br /> đảm bảo bằng mức độ khó của việc giải đồng thời 2 bài toán: bài toán logarit rời<br /> rạc và bài toán phân tích số hoặc: bài toán logarit rời rạc và bài toán khai căn.<br /> Hoàn toàn có thể khẳng định rằng không có bất kỳ kiểu tấn công nào vào các thuật<br /> toán thành công được mà không phải giải được đồng thời 2 bài toán khó nêu trên,<br /> do đó thuật toán mới (MTA 01.19 - 02; 03; 04; 05) đề xuất có thể phù hợp với các<br /> ứng dụng yêu cầu cao về độ an toàn trong thực tế.<br /> TÀI LIỆU THAM KHẢO<br /> [1]. R. L. Rivest, A. Shamir, and L. M. Adleman, “A Method for Obtaining Digital<br /> Signatures and Public Key Cryptosystems”, Commun. of the ACM, Vol. 21,<br /> No. 2, 1978, pp. 120-126<br /> [2]. National Institute of Standards and Technology, NIST FIPS PUB 186-4.<br /> Digital Signature Standard, U.S. Department of Commerce, 2013.<br /> [3]. T. ElGamal, “A public key cryptosystem and a signature scheme based on<br /> discrete logarithms”, IEEE Transactions on Information Theory 1985, Vol. IT-<br /> 31, No. 4. pp.469–472.<br /> [4]. Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad, “A New Digital<br /> Signature Scheme Based on Factoring and Discrete Logarithms”, Journal of<br /> Mathematics and Statistics, 04/2008; 12(3).<br /> [5]. Qin Yanlin, Wu Xiaoping,“New Digital Signature Scheme Based on both<br /> ECDLP and IFP”, Computer Science and Information Technology, 2009.<br /> ICCSIT 2009. 2nd IEEE International Conference on, 8-11 Aug. 2009, E-<br /> ISBN : 978-1-4244-4520-2, pp 348 - 351.<br /> [6]. Swati Verma1, Birendra Kumar Sharma, “A New Digital Signature Scheme<br /> Based on Two Hard Problems”, International Journal of Pure and Applied<br /> Sciences and Technology, ISSN 2229 – 6107, Int. J. Pure Appl. Sci. Technol.,<br /> 5(2) (2011), pp. 55-59.<br /> [7]. Sushila Vishnoi, Vishal Shrivastava, “A new Digital Signature Algorithm<br /> based on Factorization and Discrete Logarithm problem”, International<br /> Journal of Computer Trends and Technology, volume 3, Issue 4, 2012.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 31<br /> Công nghệ thông tin<br /> <br /> [8]. A.N. Berezin, N.A. Moldovyan, V.A. Shcherbacov, “Cryptoschemes Based on<br /> Difficulty of Simultaneous Solving Two Different Difficult Problems”,<br /> Computer Science Journal of Moldova, vol.21, no.2(62), 2013.<br /> [9]. Lưu Hồng Dũng, Trần Trung Dũng, Tống Minh Đức, “Nghiên cứu xây dựng<br /> hệ tích hợp mật mã khóa công khai - chữ ký số”, Tạp chí Khoa học và Kỹ thuật<br /> (Học viện KTQS), số 149 (08-2012). ISSN: 1859 - 0209., 01/08/2012.<br /> ABSTRACT<br /> A NEW PUBLIC - KEY CRYPTOGRAPHY ALGORITHM BASED<br /> ON TWO HARD PROBLEMS<br /> The paper proposes to build a new Public - Key Cryptography algorithm based<br /> on two hard problems: Discrete Logarithm and Factorization/Root problems. 02<br /> new algorithms proposed to ensure the level of security against attacks: reveal the<br /> secret key, decrypting messages. At the same time verify the origin of documents, as<br /> well as ensure the sender authentication.<br /> Keywords: Discrete Logarithm; Factorization; Root Problems; Public - Key Cryptography Algorithm; Public -<br /> Key CryptoSystem.<br /> <br /> <br /> <br /> <br /> Nhận bài ngày 19 tháng 12 năm 2018<br /> Hoàn thiện ngày 10 tháng 3 năm 2019<br /> Chấp nhận đăng ngày 25 tháng 3 năm 2019<br /> <br /> 1<br /> Địa chỉ: Viện CNTT, Viện KH và CNQS;<br /> 2<br /> Khoa CNTT, Học viện KTQS.<br /> *<br /> Email: nguyenvinhthai@gmail.com.<br /> <br /> <br /> <br /> <br /> 32 N. V. Thái, L. H. Dũng, “Xây dựng các thuật toán mật mã … và phân tích số/khai căn.”<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0