1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng

131 788 4
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Tác giả Hoàng Văn Thức
Người hướng dẫn TS. Lều Đức Tân, PGS.TS. Bạch Nhật Hồng
Trường học Viện Khoa Học Và Công Nghệ Quân Sự
Chuyên ngành Bảo đảm toán học cho máy tính và hệ thống tính toán
Thể loại Luận án tiến sĩ
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 131
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

luận văn

Trang 2

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1 TS LỀU ĐỨC TÂN

2 PGS.TS BẠCH NHẬT HỒNG

Hà Nội - 2011

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan, đây là công trình nghiên cứu của riêng tôi Các số liệu và kết quả trình bày trong luận án là hoàn toàn trung thực và chưa có tác giả nào công bố trong bất cứ một công trình nào khác

Người cam đoan

Hoàng Văn Thức

Trang 4

LỜI CẢM ƠN

Luận án này được thực hiện tại Viện Khoa học và Công nghệ Quân sự -

Bộ Quốc phòng Tôi xin bày tỏ lòng biết ơn sâu sắc tới Tiến sĩ Lều Đức Tân, Phó giáo sư - Tiến sĩ Bạch Nhật Hồng đã tận tình hướng dẫn và giúp đỡ tôi trong suốt quá trình học tập, nghiên cứu và hoàn thành luận án này

Tôi xin cám ơn Viện Khoa học và Công nghệ Quân sự là cơ sở đào tạo

và đơn vị quản lý đã tạo mọi điều kiện, hỗ trợ, giúp đỡ tôi trong quá trình học tập, nghiên cứu

Xin cám ơn Ban Cơ yếu Chính phủ, Học viện Kỹ thuật Mật mã, Phân viện Nghiên cứu Khoa học Mật mã đã động viên, hỗ trợ, tạo điều kiện cho tôi được học tập, nghiên cứu

Tôi luôn luôn ghi nhớ công ơn của bố mẹ, gia đình và xin dành lời cảm

ơn đặc biệt tới vợ con, những người đã luôn ở bên cạnh, động viên và là chỗ dựa về mọi mặt giúp tôi vượt qua khó khăn để hoàn thành các nội dung nghiên cứu

Lời cuối cùng, cho tôi bày tỏ lòng biết ơn chân thành tới các thầy, các

cô của Viện Khoa học và Công nghệ Quân sự, các nhà khoa học, đặc biệt là những nhà khoa học có thâm niên nghiên cứu lâu năm về lĩnh vực luận án đang nghiên cứu cùng bạn bè, đồng nghiệp đã luôn động viên, chia sẻ, giúp

đỡ tôi trong suốt thời gian qua

Tác giả

Trang 5

MỤC LỤC

Trang

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi

DANH MỤC CÁC BẢNG x

DANH MỤC CÁC HÌNH VẼ xi

MỞ ĐẦU … … … … … … … … … … … … … ……… 1

CHƯƠNG 1: TỔNG QUAN VỀ TIÊU CHUẨN THAM SỐ RSA VÀ CÁC GIAO THỨC BẢO MẬT WEB … 6

1.1 Một số định nghĩa và ký hiệu … … … … 7

1.2 Hệ mật mã khoá công khai RSA … … … … …… 8

1.2.1 Qui trình sinh tham số khoá RSA … … … … … … …… 8

1.2.2 Hệ mật khoá công khai RSA nguyên thuỷ … … … …… 8

1.2.3 Hệ chữ ký số RSA nguyên thuỷ … … … … … … …… 9

1.2.4 Hệ thống mật mã dựa trên RSA … … … … … … …… 10

1.2.5 Độ an toàn của hệ thống mật mã RSA 12

1.3 Một số thuật toán sinh số nguyên tố 13

1.3.1.Một số phép kiểm tra tính nguyên tố xác suất 14

1.3.2 Các phương pháp sinh số nguyên tố 16

1.3.3 Nhận xét 21

1.4 Tiêu chuẩn tham số RSA 23

1.4.1 Tiêu chuẩn tham số RSA được đưa ra trong ANSI X9.31 23

1.4.2 Tiêu chuẩn tham số RSA được đưa ra trong FIPS 186-3 24

1.4.3 Một số nhận xét 27

1.5 Hệ thống mật mã RSA và các giao thức bảo mật Web 27

1.5.1 Giới thiệu về giao thức bảo mật SSL/TLS 27

1.5.2 Giao thức SSL phiên bản 3.0 28

1.5.3 Cơ chế tính khoá phiên trong giao thức SSL 31

Trang 6

1.5.4 Hệ thống mật mã RSA và bảo mật dịch vụ Web 33

1.6 Kết luận chương 1 35

CHƯƠNG 2: XÂY DỰNG HỆ TIÊU CHUẨN THAM SỐ AN TOÀN CHO HỆ THỐNG MẬT MÃ RSA 37

2.1 Xem xét các tiêu chuẩn đã có và đề xuất bổ sung …… 37

2.1.1 Độ an toàn của hệ thống mật mã RSA với độ dài modulus cho trước 37

2.1.2 Tiêu chuẩn về độ dài RSA modulus … … … … … …… 39

2.1.3 Các tiêu chuẩn cho các số nguyên tố p, q 42

2.1.4 Tiêu chuẩn cho số mũ công khai e và số mũ bí mật d 50

2.2 Tiêu chuẩn mới chống lại tấn công mã hoá liên tiếp 58

2.2.1 Chu kỳ RSA và các tính chất của nó 58

2.2.2 Tiêu chuẩn mới chống lại tấn công mã hoá liên tiếp 60

2.2.3 Lực lượng bản rõ không thể được che dấu 63

2.3 Các tiêu chuẩn an toàn cho tham số RSA được đề xuất 63

2.4 Kết luận chương 2 65

CHƯƠNG 3: SINH VÀ TÍCH HỢP THAM SỐ RSA AN TOÀN CHO DỊCH VỤ BẢO MẬT WEB 67

3.1 Thuật toán sinh tham số RSA an toàn 67

3.1.1 Một số hằng số và hàm được sử dụng trong thuật toán 68

3.1.2 Thuật toán SinhP (Thuật sinh số nguyên tố thứ nhất) 68

3.1.3 Thuật toán SinhQ (Thuật toán sinh số nguyên tố thứ hai) 73

3.1.4 Tính chất của các tham số p, q 75

3.1.5 Thuật toán SinhED 77

3.1.6 Thuật toán sinh tham số SinhThamSo 79

3.2 Xây dựng chương trình sinh tham số RSA an toàn 80

3.2.1 Một số hàm thực thi thuật toán sinh tham số RSA an toàn 80

Trang 7

3.2.2 Kết quả chạy thực nghiệm 83

3.2.3 Bằng chứng về tính nguyên tố 86

3.3 Ứng dụng tham số RSA an toàn 89

3.3.1 Tích hợp chương trình sinh tham số RSA an toàn cho bộ chương trình sinh chứng chỉ điện tử 89

3.3.2 Sử dụng tham số RSA an toàn với giao thức bảo mật Web 91

3.4 Kết luận chương 3 96

KẾT LUẬN 97

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ 98 TÀI LIỆU THAM KHẢO 99

PHỤ LỤC 1 102

PHỤ LỤC 2 112

Trang 8

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

 : Nhóm nhân cực đại của  p

gcd( , )a b : Ước số chung lớn nhất của a và b

lmc( , )a b : Bội số chung nhỏ nhất của a và b

Trang 9

q : Ước nguyên tố lớn nhất của q  1 1

Proof(p): Chứng nhận tính nguyên tố của p

Prob{x : y}: Xác suất xảy ra biến cố y với giả thiết x

x modulo p: Phần dư khi chia x cho p

x || y: Chuỗi kết quả của việc nối chuỗi y vào chuỗi x

AES (Advanced Encryption Standard): Chuẩn mã hoá tiên tiến

ANSI (American National Standard Institute): Viện tiêu chuẩn quốc gia Mỹ

CA (Certificate Authority): Thẩm quyền chứng thực

CBC (Cipher Block Chaining): Chế độ mã móc xích trong mã khối

Trang 10

ECDSA (Elliptic Curve Digital Signature Algorithm): Thuật toán chữ ký số

đường cong elliptic

DES (Data Encryption Standard): Chuẩn mã hoá dữ liệu

DH (Diffie-Hellman): Tên một thuật toán trao đổi khoá

DPA (Differential Power Analysis): Phân tích năng lượng sai khác

DSS (Digital Signature Standard): Chuẩn chữ ký số

ECM (Elliptic Curve Method): Phương pháp phân tích số dựa trên đường

cong elliptic

FIPS (Ferderal Infomation Processing Standard): Tiêu chuẩn xử lý thông tin

liên bang (Mỹ)

FTP (File Transfer Protocol): Giao thức truyền tệp tin

IE (Internet Explorer): Tên một trình duyệt Web của hãng Microsoft

IETF (Internet Engineering Task Force): Nhóm đặc trách về kỹ thuật

MD5 (Message Digest): Tên một hàm băm mật mã

MAC (Message Authentication Code): Mã xác thực thông báo

NFS (Number Field Sieve): Sàng trường số

NIST (National Institute of Standard and Technology): Viện các tiêu chuẩn và

công nghệ quốc gia (Mỹ)

NSS (Network Security Service): Dịch vụ bảo mật mạng

Trang 11

OAEP (Optimal Asymmetric Encryption Padding): Đệm mã hoá phi đối xứng

tối ưu

PKCS (Public Key Cryptography Standards): Các chuẩn mã hoá khoá công

khai do hãng RSA đưa ra

PSM (Personal Security Manager): Mô đun quản lý bảo mật cá nhân

PSS (Probabilistic Signature Scheme): Lược đồ chữ ký xác suất

RSA: Tên một hệ thống mật mã khoá công khai do các tác giả Ron Rivest, Adi

Shamir và Leonard Adleman phát minh

SHA (Secure Hash Algorithm): Tên một hàm băm mật mã

SPA (Simple Power Analysis): Phân tích năng lượng đơn

SSL (Secure Socket Layer): Giao thức bảo mật tầng socket

TLS (Transfer Layer Security): Giao thức bảo mật tầng giao vận

VPN (Virtual Private Network): Mạng riêng ảo

Trang 12

DANH MỤC CÁC BẢNG

Bảng 1.1 Xác suất sai của các phép kiểm tra tính nguyên tố … 22

Bảng 1.2 Tiêu chuẩn độ dài RSA modulus tối thiểu trong 24

Bảng 1.3 Tiêu chuẩn về độ dài các số nguyên tố p1, p2, q1 và q2 25

Bảng 1.4 Phương pháp sinh số nguyên tố được phép dùng …… 26

Bảng 2.1 Độ an toàn của hệ thống mật mã RSA theo độ dài modulus 39 Bảng 2.2 Độ dài tối thiểu RSA modulus có thể dùng an toàn đến một năm cho trước … … … … 41

Bảng 2.3 Tiêu chuẩn độ dài tối thiểu RSA modulus … … … 42

Bảng 2.4 Độ dài tối thiểu của các số nguyên tố bổ trợ … …… 45

Bảng 2.5 Tiêu chuẩn độ lớn tối thiểu của |p-q| … …… 49

Bảng 2.6 Tiêu chuẩn về ước nguyên tố của |p-q| 50

Bảng 2.7 Độ dài tối thiểu của p11, q11 62

Bảng 2.8 Tiêu chuẩn N1 63

Bảng 2.9 Tiêu chuẩn PQ2 64

Bảng 2.10 Tiêu chuẩn PQ4 64

Bảng 2.11 Tiêu chuẩn PQ5 64

Bảng 2.12 Tiêu chuẩn PQ6 65

Bảng 2.13 Tiêu chuẩn D1 65

Bảng 3.1 Cụ thể hoá một số tiêu chuẩn mang tính định lượng 68

Bảng 3.2 Thời gian sinh các bộ tham số RSA an toàn 84

Bảng 3.3 Một số bộ phần mềm Web server mã nguồn mở 92

Bảng 3.4 Một số bộ phần mềm Web browser mã nguồn mở 92

Trang 13

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Giao thức bắt tay SSL … …… 29

Hình 1.2 Giao thức bản ghi SSL … …… 30

Hình 3.1 Cấu trúc các mô đun bảo mật của Mozilla Firefox và Apache Server … … … … …… 93

Hình 3.2 Tham số RSA an toàn khi được cài đặt cho Firefox chưa sửa đổi … … … … … … … 94

Hình 3.3 Tham số RSA an toàn khi được cài đặt cho Firefox đã sửa đổi … … … … … … 95

Hình B.1 Hộp hội thoại Options 112

Hình B.2 Hộp hội thoại quản lý chứng chỉ 113

Hình B.3 Thông báo cài đặt chứng chỉ số thành công 113

Hình B.4 Danh sách chứng chỉ người dùng đã cài đặt 114

Hình B.5 Hiển thị thông tin chứng chỉ 114

Hình B.6 Kết quả cài đặt chứng chỉ CA 115

Hình B.7 Công cụ quản trị Apache 116

Hình B.8 Sử dụng giao thức HTTPS 117

Hình B.9 Thuộc tính bảo mật của phiên liên lạc 118

Hình B.10 Thông tin về chứng chỉ số trên Web server 118

Trang 14

Hệ thống mật mã khoá công khai RSA từ khi được ba nhà khoa học Ron Rivest, Adi Shamir và Leonard Adleman phát minh đã trở thành một trong những nguyên thuỷ mật mã được sử dụng phổ biến nhất trong các ứng dụng bảo mật thông tin nói chung và các phần mềm bảo mật mạng máy tính nói riêng Cũng như tất cả các nguyên thuỷ mật mã khác, mô hình hệ mật, cấu trúc thuật toán của hệ thống mật mã RSA là công khai Tuy nhiên, việc lựa chọn và sử dụng các tham số cho hệ thống mật mã này sao cho an toàn và hiệu quả là một vấn đề khó

Việc xây dựng các tiêu chuẩn an toàn cho các tham số RSA là vấn đề được không ít các nhà khoa học trên thế giới quan tâm nghiên cứu Bởi vậy, hiện nay có khá nhiều tài liệu liên quan đến lĩnh vực này đã được công bố, trong đó có các bộ chuẩn về an ninh, an toàn và bảo mật thông tin của một số

tổ chức chuẩn có uy tín như ANSI X.31 [6], FIPS 186-3 [10], NIST 800-57 [22]

Trong những năm vừa qua, Ban Cơ yếu Chính phủ đã thực hiện một số

đề tài khoa học ([1], [2]) nghiên cứu về việc sử dụng các hệ thống mật mã

Trang 15

khoá công khai nói chung và hệ thống mật mã khoá công khai RSA nói riêng trong lĩnh vực kinh tế xã hội sao cho an toàn và hiệu quả Một trong các kết quả quan trọng của các đề tài trên là đã xây dựng được hệ tiêu chuẩn an toàn cho các tham số RSA phục vụ cho việc bảo mật thông tin thuộc lĩnh vực kinh

không phải lúc nào cũng thực hiện được Xuất phát từ cơ chế “xuất khẩu” mật

mã và mong muốn đạt được sự cân bằng giữa sự hiệu quả và độ an toàn mà các thuộc tính mật mã được tích hợp trong các phần mềm nói chung thường

có giới hạn về mặt tham số (ví dụ, các ứng dụng phần mềm thực hiện dịch vụ Web chỉ chấp nhận các tham số RSA với modulus và số mũ công khai có độ lớn nhất định) Do đó, để có thể áp dụng được các tham số RSA có độ an toàn cao vào các phần mềm bảo mật thông tin nói chung và các phần mềm thực hiện việc bảo mật giao dịch Web nói riêng thì thuộc tính mật mã của chúng cần có những sửa đổi nhất định

Xuất phát từ những yêu cầu thực tế trên, luận án đã chọn đề tài "Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng" để nghiên cứu là

phù hợp

Mục đích nghiên cứu:

Nghiên cứu tổng quan nhằm nắm vững được những kiến thức về hệ thống mật mã khoá công khai RSA và các tiêu chuẩn an toàn cho tham số

Trang 16

RSA đã được công bố trong một số chuẩn trên thế giới; đề xuất hệ tiêu chuẩn

an toàn cho các tham số RSA (trên cơ sở xem xét, bổ sung các tiêu chuẩn đã

có đồng thời xây dựng các tiêu chuẩn mới); áp dụng các tham số RSA an toàn cho các giao thức bảo mật Web

Đối tượng nghiên cứu

Luận án lựa chọn hệ thống mật mã RSA và các giao thức bảo mật Web làm đối tượng nghiên cứu

Nội dung nghiên cứu

 Nghiên cứu tổng quan về hệ thống mật mã khoá công khai RSA, bao gồm:

o Cơ chế sinh tham số khoá, các lược đồ bảo mật và xác thực RSA

o Các tiêu chuẩn an toàn cho tham số RSA đã được chuẩn hoá trong một

số chuẩn về an ninh, an toàn và bảo mật thông tin trên thế giới

 Nghiên cứu một số tấn công có liên quan đến tính chất của các tham số RSA từ đó xây dựng hệ tiêu chuẩn an toàn cho tham số RSA

 Xây dựng và cài đặt thuật toán sinh tham số RSA an toàn thoả mãn các tiêu chuẩn đã đề xuất

 Nghiên cứu về các giao thức bảo mật Web Phân tích mô đun cung cấp dịch vụ mật mã cho các phần mềm mã nguồn mở Apache Server và trình duyệt Mozilla Firefox, đề xuất sửa đổi mã nguồn cho các phần mềm này

để áp dụng các tham số RSA an toàn cho việc bảo mật và xác thực dịch vụ Web

Bố cục của luận án

Luận án gồm 03 chương cùng với các phần mở đầu, kết luận, danh mục các công trình, bài báo khoa học đã được công bố của tác giả và phần phụ lục Trong đó nội dung chính của 03 chương trong luận án có thể tóm tắt như sau:

Trang 17

Chương 1: Tổng quan về tiêu chuẩn tham số RSA và các giao thức bảo mật Web

Để làm nền tảng cơ sở cho các nội dung nghiên cứu tiếp theo, chương này trình bày về hệ thống mật mã khoá công khai RSA như thuật toán sinh tham số, các lược đồ bảo mật, xác thực Một số thuật toán sinh số nguyên tố

có thể sử dụng cho qui trình sinh tham số khoá RSA Các tiêu chuẩn tham số

an toàn cho hệ thống mật mã RSA đã được công bố trong một số chuẩn về bảo mật và an ninh, an toàn thông tin Ứng dụng của hệ thống mật mã RSA trong bảo mật dịch vụ Web

Chương 2: Xây dựng hệ tiêu chuẩn tham số an toàn cho hệ thống mật mã RSA

Trên cơ sở các tiêu chuẩn đã được công bố, chương này trình bày việc xây dựng hệ các tiêu chuẩn an toàn cho tham số RSA Hệ tiêu chuẩn đề xuất gồm 10 tiêu chuẩn: trong đó có 08 tiêu chuẩn dựa trên các tiêu chuẩn đã có trên thế giới, có bổ sung và cập nhật thêm cơ sở đề xuất nhằm chính xác hoá một số tiêu chuẩn mang tính định lượng; 02 tiêu chuẩn được đề xuất, xây dựng mới

Chương 3: Sinh và tích hợp tham số RSA an toàn cho dịch vụ bảo mật Web

Xây dựng một thuật toán sinh tham số RSA an toàn thoả mãn hệ các tiêu chuẩn đã đề xuất Cùng với việc giới thiệu thuật toán chương này cũng đưa ra các kết quả của việc cài đặt thuật toán trên môi trường máy tính Đồng thời trình bày việc nghiên cứu, lựa chọn các gói phần mềm mã nguồn mở thực hiện chức năng của máy chủ Web và trình duyệt trên máy trạm, phân tích đánh giá chung về mô đun cung cấp dịch vụ mật mã cho chúng Từ đó sửa đổi, cải tiến để các phần mềm này có thể sử dụng các tham số RSA an toàn cho mục đích bảo mật dịch vụ Web

Trang 18

Một số nội dung nghiên cứu mới của luận án

 Đề xuất bổ sung về mặt định lượng đối với một số tiêu chuẩn đã có

 Xây dựng các tiêu chuẩn mới nhằm kháng lại kiểu tấn công mã hoá liên tiếp đối với hệ thống mật mã RSA

 Xây dựng, cài đặt chương trình thuật toán sinh tham số RSA an toàn và tích hợp vào bộ chương trình sinh chứng chỉ số theo chuẩn X509

 Sửa đổi phần mềm trình duyệt Web để có thể áp dụng các tham số RSA

an toàn trong giao thức bảo mật giao dịch Web

Trang 19

CHƯƠNG 1

TỔNG QUAN VỀ TIÊU CHUẨN THAM SỐ RSA

VÀ CÁC GIAO THỨC BẢO MẬT WEB

Hệ thống mật mã khoá công khai RSA là một trong các hệ thống mật

mã mà độ an toàn của nó dựa trên tính khó giải của bài toán phân tích số nguyên ra các thừa số nguyên tố Do đó khi sinh cặp khóa RSA đòi hỏi các số

nguyên tố p, q phải được chọn sao cho việc phân tích modulus N là không thể

về mặt tính toán Để đạt được yêu cầu trên, trước hết chúng phải là các số nguyên tố lớn, độ lớn của chúng mang tính lịch sử, phụ thuộc vào tốc độ và

kỹ thuật tính toán được sử dụng khi thực hiện bài toán phân tích số Hơn nữa, không phải hai số nguyên tố lớn nào cũng có thể dùng để sinh RSA modulus được, các số nguyên tố này cần thoả mãn một số tiêu chuẩn nhằm chống lại

các kiểu tấn công phân tích modulus N dựa vào các tính chất của p, q

Khi đã chọn được các số nguyên tố lớn p, q rồi, thì không phải giá trị nào của e, d cứ thoả mãn qui trình sinh cặp khoá là được, chúng cũng cần

được lựa chọn theo một số tiêu chí nhất định nhằm chống lại các tấn công liên

quan Ví dụ đối với e nhỏ (hay d nhỏ) thì phép mã (hay phép ký) được thực

hiện nhanh, nhưng hệ thống mật mã dễ bị phá vỡ bởi nhiều cách như trong [9]

Trang 20

 Triển khai, cài đặt thuật toán trên môi trường thực tế

 Xây dựng được các ứng dụng bảo mật thông tin có thể áp dụng các tham số RSA an toàn

Để luận giải về sự cần thiết đồng thời tạo cơ sở cho việc thực hiện các nội dung cần giải quyết nêu trên, chương này của luận án sẽ trình bày một số kết quả nghiên cứu có liên quan đã được công bố

1.1 MỘT SỐ ĐỊNH NGHĨA VÀ KÝ HIỆU

Dưới đây là một số định nghĩa, ký hiệu được sử dụng trong luận án:

Các ước tầm thường (Trivial Divisor): Bất kỳ một số nguyên N nào

cũng luôn có các ước 1, -1, N và –N Các số này là các ước tầm thường của N

Số nguyên tố (Prime Number): Số nguyên N>1 là nguyên tố khi nó chỉ

có các ước tầm thường

Hợp số (Composit number): Số nguyên N>1 là hợp số nếu nó không là

nguyên tố, có nghĩa là tồn tại các ước không tầm thường của N

Chứng nhận tính nguyên tố (Primality Certificate): Chứng minh toán

học rằng một số cho trước là thực sự nguyên tố

Phép chia thử (Trial Division): Phép chia thử của một số N có nghĩa là

kiểm tra tất cả các số nguyên tố nhỏ hơn hoặc bằng N1/2 xem có phải là ước

của N không

Độ an toàn (ký hiệu secure_strength): Là một giá trị có liên quan đến

lượng công việc cần phải thực hiện (số lượng phép toán) để phá vỡ một thuật toán hoặc một hệ thống mật mã Cụ thể, một thuật toán mật mã với các tham

số cho trước được coi là có độ an toàn secure_strength nếu để phá vỡ thuật

toán này cần đến nỗ lực tính toán tối thiểu cỡ 2security_strength phép tính

1

p , p , 2 q , 1 q : Được gọi là các số nguyên tố bổ trợ 2

Trang 21

1.2 HỆ MẬT MÃ KHOÁ CÔNG KHAI RSA

Hệ thống mật mã RSA, được đặt tên theo các chữ cái viết tắt tên ba tác giả phát minh ra hệ thống mật mã này: Ron Rivest, Adi Shamir và Leonard Adleman, là một trong những hệ thống mật mã khóa công khai được dùng phổ biến nhất trong các ứng dụng bảo mật thông tin hiện nay Độ an toàn của

hệ thống mật mã RSA dựa trên tính khó giải của bài toán phân tích số nguyên

ra các thừa số nguyên tố

1.2.1 Qui trình sinh tham số khóa RSA

Mỗi thực thể trong hệ thống tạo một cặp khóa công khai, bí mật RSA theo các bước dưới đây:

Bước 1: Sinh ngẫu nhiên hai số nguyên tố lớn khác nhau p và q, chúng

có cùng độ dài theo bít

Bước 2: Tính Npq , ( )Nlcm p(  1,q 1)

Bước 3:Chọn e thỏa mãn 1 e ( )N sao cho gcd( , ( )) 1e  N

1(mod ( ))

Bước 5:Khóa công khai RSA là cặp (N, e) khóa bí mật là cặp (N, d)

(N, e, d) được gọi là bộ tham số RSA

1.2.2 Hệ mật khóa công khai RSA nguyên thủy

Hệ mật khoá công khai RSA sử dụng cặp khoá công khai, bí mật RSA

được sinh theo thuật toán sinh khoá RSA Khoá công khai (N, e) còn được gọi

là khoá mã, khoá bí mật (N, d) còn được gọi là khoá giải mã Các số nguyên e

và d được gọi là số mũ mã hóa và số mũ giải mã

Giả sử thông điệp *

N

mZ được thực thể B mã hóa và thực thể A giải mã

Thuật toán 1.1 (Thuật toán mã hóa RSA nguyên thuỷ)

Để mã hóa thông điệp *

N

mZ , thực thể B thực hiện theo thuật toán dưới

đây:

Trang 22

Thuật toán 1.2 (Thuật toán giải mã RSA nguyên thuỷ)

Để giải mã bản mã c, thực thể A thực hiện theo thuật toán dưới đây:

1.2.3 Hệ chữ ký số RSA nguyên thuỷ

Hệ chữ ký RSA sử dụng cặp khoá công khai, bí mật RSA được sinh

theo thuật toán sinh khoá RSA Khoá bí mật (N, d) còn được gọi là khoá sinh chữ ký và khoá công khai (N, e) còn được gọi là khoá kiểm tra chữ ký

Thực thể A ký lên thông điệp *

N

mZ , bất kỳ một thực thể B nào đó đều

có thể kiểm tra chữ ký của A trên thông điệp m

Thuật toán 1.3 (Thuật toán sinh chữ ký số RSA nguyên thuỷ)

Trang 23

1.2.4 Hệ thống mật mã dựa trên RSA

1.2.4.1 Hệ mật khoá công khai RSA có định dạng

Trong sơ đồ hệ mật RSA có định dạng có thêm một tập các hàm dễ tính được hàm ngược G{ : g *N *N} được gọi là tập các hàm chuẩn bị thông báo Lược đồ mã hoá RSA được thực hiện như sau :

Thuật toán 1.5 (Thuật toán mã hoá RSA có định dạng)

Trang 24

Optimal Asymmetric Encryption Padding) và một hàm hoán vị cửa sập một

chiều Trong trường hợp phép hoán vị cửa sập một chiều là hàm mã hoá RSA nguyên thuỷ thì lược đồ trên đã được chuẩn hoá trong các chuẩn PKCS#1

phiên bản 2.1 của hãng RSA ([29]) và ISO/IEC 18033-2:2006(E) của tổ chức chuẩn ISO ([17]), với tên gọi là lược đồ mã hoá RSA-OAEP Đây chính là

một dạng biến thể của sơ đồ mã hoá RSA có định dạng với hàm chuẩn bị thông báo là phép đệm OAEP

1.2.4.2 Hệ chữ ký RSA có định dạng

Trong sơ đồ chữ ký RSA có định dạng có thêm một tập các hàm dễ tính được hàm ngược G{ : g *N *N} được gọi là tập các hàm chuẩn bị thông báo Trong trường hợp này lược đồ chữ ký RSA được thực hiện như sau:

Thuật toán 1.7 (Thuật toán sinh chữ ký RSA có định dạng)

Thực thể A ký lên thông điệp *

Trang 25

1.2.5 Độ an toàn của hệ thống mật mã RSA

1.2.5.1 Các bài toán

Nhiều hệ thống mật mã có độ an toàn phụ thuộc vào tính khó giải của bài toán phân tích số nguyên, trong số đó có hệ thống mật mã RSA và các hệ thống mật mã dựa trên RSA

Bài toán phân tích số nguyên:

1e 2e e k

k

np p p , với p là các i

số nguyên tố khác nhau và e  1

Trang 26

Bài toán RSA

Cho hệ thống mật mã RSA với bộ tham số tương ứng (N, e, d) Trong

1.2.5.2 Mối quan hệ giữa bài toán RSA với bài toán phân tích N

Nếu modulus N được phân tích thành các nhân tử nguyên tố p, q thì có

thể tính được ( ) N và d như khi thực hiện sinh cặp khóa RSA Khi đã có được d thì bài toán RSA được giải và bởi vậy các hệ thống mật mã RSA và hệ

thống mật mã dựa trên RSA bị phá vỡ

Ngược lại nếu có thể bằng một cách nào đó tính được số mũ bí mật d, khi đó có thể phân tích modulus N theo phương pháp như sau Với

là một ước không tầm thường của N Bởi vậy, chỉ cần lặp lại việc lựa chọn

ngẫu nhiên a  và tính *N gcd(a2s-1t 1,N); số lần thử trung bình các giá trị a

để có thể nhận được nhân tử của N là 2 lần thử

Như vậy bài toán tính toán số mũ bí mật RSA từ khóa công khai (N, e)

và bài toán phân tích modulus N về mặt tính toán là tương đương nhau

1.3 MỘT SỐ THUẬT TOÁN SINH SỐ NGUYÊN TỐ

Một bước rất quan trọng trong thuật toán sinh tham số RSA là sinh các

số nguyên tố p, q để tạo modulus N Các số nguyên tố p, q có thể được sinh

bởi một thuật toán sinh số nguyên tố xác suất hoặc một thuật toán sinh số

Trang 27

nguyên tố tất định Trong phần này sẽ giới thiệu lại một số thuật toán sinh số nguyên tố đã được đưa ra trong [18]

Trước hết xét một phương pháp chứng minh tính nguyên tố của một số

nguyên N sử dụng phép chia thử Phương pháp này được thực hiện như sau:

Bước 1: Với tất cả các số nguyên tố p ≤ N 1/2

Nếu N mod p = 0 thì kết luận N là hợp số, kết thúc

Bước 2: Kết luận N là nguyên tố, kết thúc

Với các số nguyên nhỏ, phương pháp chia thử mất ít thời gian tính toán hơn các phương pháp kiểm tra khác Các cài đặt cho việc kiểm tra tính

nguyên tố trong tài liệu này có thể định nghĩa một cận cho phép chia thử, L,

dưới giá trị này phép chia thử được sử dụng để kiểm tra tính nguyên tố của

các số nguyên (có thể lấy L = 232)

1.3.1 Một số phép kiểm tra tính nguyên tố xác suất

Một phương pháp kiểm tra tính nguyên tố xác suất lấy một số nguyên

dương lẻ N làm đầu vào và trả về “chấp nhận” hoặc “không chấp nhận” Nếu

N là hợp số, các phép kiểm tra trong trường hợp này cho đầu ra là “không chấp nhận”, với xác suất sai phụ thuộc vào phép kiểm tra được dùng

Để giảm thiểu xác suất sai, người ta thường thực hiện nhiều vòng lặp với cùng một đầu vào

1.3.1.1 Phép kiểm tra tính nguyên tố Miller-Rabin

Với đầu vào một số nguyên N, phép kiểm tra Miller-Rabin bắt đầu với

bước khởi tạo như sau:

 Xác định các số nguyên dương t và s thoả mãn N – 1 = 2 t s với s lẻ

Tiếp theo phép kiểm tra Miller-Rabin thực hiện với một hoặc nhiều các

vòng lặp của thuật toán dưới đây, với đầu vào là t, s và N và đầu ra là “chấp

nhận” hoặc “không chấp nhận” Với mỗi vòng lặp các cơ sở b được chọn

khác nhau, 1 < b < N – 1

Trang 28

Thuật toán 1.9 (Thuật toán kiểm tra tính nguyên tố của Miller-Rabin)

Bước 1: Chọn ngẫu nhiên một số nguyên b thoả mãn 1 < b < N – 1

1.3.1.2 Phép kiểm tra tính nguyên tố Frobenius-Grantham

Phép kiểm tra này sử dụng số học trên vành N[ ]/( ( ))x f x , với f(x) là

một đa thức bậc 2 Phép kiểm tra được thực hiện như sau

Đầu vào là một số nguyên lẻ N, phép kiểm tra tính nguyên tố

Frobenius-Grantham bắt đầu với các bước khởi tạo dưới đây:

Bước 1: Kiểm tra N đối với việc chia hết cho các số nguyên tố nhỏ hơn hoặc bằng min{50000, N1/2}

Bước 2: Kiểm tra N có phải là bình phương của một số nguyên Nếu đúng, không chấp nhận N và dừng

Bước 3: Xác định các số nguyên dương r và s thỏa mãn 2 r s = N2 – 1

Tiếp theo, phép kiểm tra thực hiện với một hoặc nhiều các vòng lặp của

thuật toán dưới đây, với đầu vào là r, s, N và đầu ra là “chấp nhận” hoặc

Trang 29

“không chấp nhận” Với mỗi vòng lặp các giá trị khác nhau của b và c phải

được chọn

Thuật toán 1.10 (Thuật toán kiểm tra tính nguyên tố Frobenius-Grantham)

Bước 1:Chọn ngẫu nhiên b, c   cho đến khi một trong các điều N

Trường hợp thứ nhất xảy ra, thì “không chấp nhận” N và dừng

Kiểm tra bậc của đa thức x (N+1)/2 mod (N, x2 – bx – c) bằng 0 trong N

Nếu không thì “không chấp nhận” N và dừng

Bước 2: Kiểm tra x N+1 mod (N, x2 – bx – c) = -c Nếu không thì “không

chấp nhận” N và dừng

Bước 3: Kiểm tra hoặc x s mod (N, x2 – bx – c) = 1 hoặc tồn tại j (0  j 

r -2) thỏa mãn x2j smod ( ,N x2bxc)  Nếu không, thì “không 1

chấp nhận” N và dừng, ngược lại “chấp nhận” N

1.3.2 Các phương pháp sinh số nguyên tố

1.3.2.1 Sử dụng các phép kiểm tra tính nguyên tố xác suất

Cho T là một phép kiểm tra tính nguyên tố xác suất nào đó Xác suất sai

của thuật toán phụ thuộc vào số lần thực hiện các phép kiểm tra

Phương pháp lựa chọn ngẫu nhiên các ứng cử viên

Giả sử phép kiểm tra tính nguyên tố xác suất T được chọn để sinh các

số nguyên tố p có độ dài là k bít, khi đó thuật toán được thực hiện như sau:

Thuật toán 1.11 (Thuật toán lựa chọn ngẫu nhiên các ứng cử viên)

Bước 1: Chọn ngẫu nhiên một số nguyên lẻ p sao cho 2 k-1 < p < 2 k

Trang 30

Bước 2: Nếu p qua được phép kiểm tra T thì dừng Còn không quay lại

bước 1

Chú ý:

 Để ước lượng xác suất thuật toán này cho đầu ra là một hợp số, cần

phải phân tích phép kiểm tra T xử lý như thế nào với các đầu vào được

lựa chọn ngẫu nhiên Xác suất này có thể không như xác suất cực đại

mà phép thử T chấp nhận hợp số

 Thuật toán được đảm bảo cho đầu ra các số nguyên tố được lựa chọn

đồng đều k bít và bởi vậy thoả mãn yêu cầu chung về phân bố đầu ra

Phương pháp tìm kiếm tăng dần

Cho là tham số giới hạn số lượng tăng dần khi thực hiện tìm kiếm

một số nguyên tố p có độ dài k bít sử dụng phép kiểm tra tính nguyên tố T

Thủ tục dựa trên một cách khác trong việc lựa chọn các ứng cử viên nguyên

tố và có những thuận lợi nhất định trong thực hành so với phương pháp lựa chọn ngẫu nhiên các ứng cử viên

Thuật toán 1.12 (Thuật toán tìm kiếm tăng dần)

Bước 1: Chọn ngẫu nhiên số lẻ n 0 sao cho 2 k-1 < n 0 < 2 k Lấy p = n 0 và

p max = min(2 k , n 0 + 2) Thực hiện thủ tục dưới đây:

Bước 2: Nếu p qua được phép kiểm tra T, cho đầu ra là p và dừng Bước 3: Lấy p = p + 2 Nếu p > p max quay lại bước 1, ngược lại quay

Trang 31

cử viên Các định lượng sẽ không đồng nhất, chúng phụ thuộc vào việc

chọn T và  Có một gợi ý rằng sử dụng tham số  = 10ln(2 k) Kết quả này cho xác suất cao trong việc tìm thấy một số nguyên tố trong khoảng đầu tiên

 Thuật toán này không lựa chọn các số nguyên tố với phân bố đồng đều

một cách chính xác trong các số k bít Điều này xuất phát từ thực tế, các

số nguyên tố không phân bố một cách bình thường; xác suất để chọn được một số số nguyên tố sẽ lớn hơn đối với một số số nguyên tố khác Tuy nhiên, phân bố đầu ra hầu như là đồng đều đối với tham số được chọn một cách thích hợp

1.3.2.2 Các thuật toán sinh số nguyên tố tất định

Trong phần này sẽ giới thiệu hai thuật toán sinh số nguyên tố tất định được đưa ra trong [18]: thuật toán sinh số nguyên tố của Shawe-Taylor và thuật toán sinh số nguyên tố của Maurer

Thuật toán của Shawe-Taylor

Thuật toán của Shawe-Taylor sinh một số nguyên tố ngẫu nhiên từ một

điểm bắt đầu Thuật toán lấy đầu vào là số nguyên k, độ dài theo bít của số nguyên tố cần sinh Thuật toán trả về một số p Thuật toán sử dụng duy nhất một tham số: L, giới hạn sử dụng phép chia thử để kiểm tra sơ bộ về tính nguyên tố

Thuật toán thực hiện như sau:

Thuật toán 1.13 (Thuật toán sinh số nguyên tố của Shawe-Taylor)

Bước 1: Nếu 2 k < L thì sinh ngẫu nhiên một số nguyên lẻ k bít, p, và kiểm tra tính nguyên tố bằng cách chia thử Lặp lại cho đến khi p là một số nguyên tố Cho đầu ra p và dừng

Trang 32

Bước 2: Nếu k lẻ, lấy k 1 = (k + 3)/2 Nếu k chẵn lấy k 1 = k/2 + 1 Gọi

đệ qui thuật toán này với đầu vào là k 1 , để tìm một số nguyên tố q có độ dài k 1 bít

Bước 3: Chọn ngẫu nhiên số nguyên x, 2 k-1  x < 2 k

Bước 4: Lấy t là số nguyên nhỏ nhất lớn hơn x/(2q)

Bước 5: Nếu 2tq + 1  2k, thì lấy t là số nguyên nhỏ nhất lớn hơn (2k – 1)/(2q)

Bước 6: Lấy p = 2qt + 1

Bước 7: Lựa chọn ngẫu nhiên một số nguyên a sao cho 1 < a < p – 1

và lấy x = a 2t mod p Nếu:

 x  1

 gcd(x – 1, p) = 1

 x q  1 mod p

thì cho đầu ra là p Bước 8: Ngược lại lấy t = t + 1 và lặp lại các bước từ 5 đến 8

Thuật toán sinh số nguyên tố của Maurer

Cũng như thuật toán sinh số nguyên tố của Shawe-Taylor, thuật toán của Maurer dựa trên một thực tế như sau:

Cho p = 1 + 2Rq, với q là một số nguyên tố lẻ và q > R Nếu tồn tại một số nguyên a thỏa mãn a p11(mod )p và gcd(a 2R -1, p) = 1 thì p là nguyên tố

Thuật toán của Maurer sinh ra một số nguyên tố ngẫu nhiên p từ một điểm xuất phát cùng với một chứng nhận về tính nguyên tố của số p

Một chứng nhận tính nguyên tố chứa đựng thông tin có thể kiểm tra hiệu quả rằng một số cho trước có phải là nguyên tố không Đối với các số

Trang 33

nhỏ (nhỏ hơn hoặc bằng một giới hạn L cho trước nào đó) việc kiểm tra tính nguyên tố hiệu quả nhất là thông qua phép chia thử C0 được ký hiệu là chứng

nhận tính nguyên tố rỗng Trong trường hợp ngược lại, đối với các số p lớn hơn L, chứng nhận nguyên tố của chúng được ký hiệu là C(p)

Chứng nhận về tính nguyên tố của một số nguyên p  L có cấu trúc như

 Nếu p > L thì C(p) = “Proof(p), C(q)” với Proof(p) = (p, q, a)

Thuật toán sinh số nguyên tố của Maurer lấy đầu vào là một số nguyên

k là độ dài theo bít của số nguyên tố cần sinh Thuật toán trả về một số p, và

một chứng nhận tính nguyên tố của nó, C(p) Thuật toán sử dụng hai tham số:

Trang 34

Thuật toán 1.14 (Thuật toán sinh số nguyên tố của Maurer)

Bước 1: Nếu 2 k < L thì sinh ngẫu nhiên một số nguyên lẻ k bít, p, và kiểm tra tính nguyên tố bằng cách chia thử Lặp lại cho đến khi p là một số nguyên tố Cho đầu ra p và chứng nhận C 0 (p)

Bước 2: Nếu k  2M, lấy r = 1/2 Ngược lại, thực hiện lặp lại điều dưới đây cho đến khi k - rk > M

 Lựa chọn ngẫu nhiên một số thực s, 0  s  1, và lấy r = 2 s-1 Bước 3: Lấy k 1 = rk + 1 Gọi đệ qui thuật toán này với đầu vào là k 1 , để xác định một số nguyên tố k 1 bít q và một chứng nhận C(q)

thì cho đầu ra p và chứng nhận (p, q, a), C(q)

Bước 7: Ngược lại, lặp lại các bước từ 5 đến 7

Trang 35

ra một phép kiểm tra tính nguyên tố xác suất của Lehmann, xác suất chấp nhận nhầm hợp số của ba phép kiểm tra có thể được tổng hợp như

bảng 1.1 (với số vòng thực hiện là t):

Bảng 1.1 Xác suất sai của các phép kiểm tra tính nguyên tố

Miller-Rabin Frobenius-Grantham Lehmann

 Hai thuật toán sinh số nguyên tố tất định thì chỉ có thuật toán sinh số nguyên tố của Maurer là cho chúng ta các bằng chứng về tính nguyên

tố trong quá trình sinh Hơn nữa các bằng chứng này có thể được sử dụng cho một trong hai phép kiểm tra chứng nhận tính nguyên tố đã được đề xuất trong chuẩn [18]

 Thuật toán sinh số nguyên tố của Shawe-Taylor rất khó để điều khiển tính chất của các số nguyên tố được sinh ra (phương pháp nhân đôi độ dài, độ dài ước nguyên tố lớn nhất của các ứng cử viên luôn bằng ½) Trong khi đó, thuật toán của Maurer cho phép sinh ra các số nguyên tố

mà độ dài ước nguyên tố lớn nhất được chọn ngẫu nhiên trong khoảng (0.5, 1) của độ dài các ứng cử viên Vì thế các số nguyên tố sinh theo thuật toán của Maurer có tính đa dạng hơn nhiều so với Shawe-Taylor

Trang 36

1.4 TIÊU CHUẨN THAM SỐ CHO RSA

Trong phần này luận án sẽ tóm lược lại các tiêu chuẩn tham số RSA được đưa ra trong các chuẩn ANSI X.31 [6], FIPS 186-3 [10], NIST 800-57 [22]

1.4.1 Tiêu chuẩn tham số RSA được đưa ra trong ANSI X9.31

Chuẩn X9.31 do Viện Chuẩn Quốc gia Mỹ (ANSI) phê chuẩn ngày 9 tháng 9 năm 1998 mô tả lược đồ chữ ký số RSA dùng trong lĩnh vực Công nghiệp Dịch vụ Tài chính Trong chuẩn có hướng dẫn người sử dụng thực hiện lược đồ này thông qua các thuật toán chi tiết trong nội dung chính, đồng thời có một số đảm bảo về tính pháp lý thông qua các khẳng định sự an toàn của lược đồ và việc lựa chọn tiêu chuẩn cho các tham số được trình bày trong các phụ lục Về tiêu chuẩn tham số RSA được đưa ra trong chuẩn gồm có:

Tiêu chuẩn về độ dài modulus

1 Trong chuẩn X9.31 không đề xuất cụ thể về độ dài modulus tối thiểu được dùng đến một năm nào đó, mà chỉ đưa ra độ phức tạp tính toán, dung lượng lưu trữ khi sử dụng thuật toán sàng trường số để phân tích một số modulus có độ dài cho trước

2 Chuẩn X9.31 khuyến cáo sử dụng modulus có độ dài 1024+256s, với s

là số nguyên và s0

Các tiêu chuẩn về các số nguyên tố p, q

X9.31 đề xuất một số tiêu chuẩn cho các số nguyên tố p và q như sau:

1 gcd(p-1, e) = 1 và gcd(q-1, e) = 1

2 Kích thước p và q bằng nhau và là các số 512+128s bit

3 Các số p1 và q1 có các nhân tử nguyên tố lớn hơn 2100 và không quá

2120 Tính nguyên tố của các ước nguyên tố của p1 và q1 nêu trên

được đảm bảo tối thiểu qua 27 kiểm tra của Miller-Rabin [5, tr 138]

Trang 37

4 Số nguyên tố p là số nguyên tố đầu tiên lớn hơn số ngẫu nhiên X p, với

511 128 512 128

22  sX p 2  s  ; Số nguyên tố q là số nguyên tố đầu 1

tiên lớn hơn số ngẫu nhiên X q, với 22511 128 sX q 2512 128 s  1

5 Các số X p và X q được lựa chọn một cách ngẫu nhiên hoặc được sinh bởi thuật toán sinh số giả ngẫu nhiên được đưa ra trong chuẩn ANSI X9

6 Tính nguyên tố của p và q được đảm bảo tối thiểu qua 8 phép kiểm tra

của Miller-Rabin và một phép kiểm tra của Lucas [26, tr 142]

7 | pq| 2 412 128 s

Tiêu chuẩn tham số cho e và d

1 e là số nguyên dương thoả mãn 2 e 2nlen160

2 d được tính bởi công thức d=e-1 (mod lcm(p-1, q-1)) và thoả mãn

512 128

1.4.2 Tiêu chuẩn tham số RSA được đưa ra trong FIPS 186-3

Trong [10, tr 50] đã đề xuất các tiêu chuẩn cho tham số của các lược đồ mật mã dựa trên bài toán phân tích số (IFC - Integer Factorization Cryptography), điển hình là các lược đồ dựa trên hệ mật RSA Dưới đây là các tiêu chuẩn đã được đề xuất:

Độ dài tối thiểu của RSA modulus

Về độ dài tối thiểu của RSA modulus được [10] tham chiếu đến [22], trong tài liệu này đưa ra tiêu chuẩn về độ dài tối thiểu của RSA modulus như bảng 1.2:

Bảng 1.2: Tiêu chuẩn độ dài RSA modulus tối thiểu

Thời gian sống an toàn của thuật toán Độ dài tối thiểu modulus

Trang 38

Tiêu chuẩn cho các tham số p và q

1 Tiêu chuẩn cho các ước nguyên tố của p1 và q1

Độ dài tối thiểu đối với mỗi số nguyên tố bổ trợ p1, p2, q1 và q2 phụ

thuộc vào nlen Tổng độ dài tối đa của mỗi cặp nguyên tố bổ trợ cũng phụ thuộc vào nlen và chúng là các số nguyên tố chứng minh được hay

Để sinh các số nguyên tố p1, p2, q1, q2, p và q có thể lựa chọn một trong

các phương pháp dưới đây:

 Các số nguyên tố p1, p2, q1, q2, p và q là các số nguyên tố chứng minh

được

 Các số nguyên tố p1, p2, q1, q2, là các số nguyên tố chứng minh được,

và p và q là các số nguyên tố xác suất, hoặc

 Các số nguyên tố p1, p2, q1, q2, p và q là các số nguyên tố xác suất

Với các giá trị khác nhau của nlen, các phương pháp được phép sử dụng để sinh p và q được xác định trong bảng 1.4

Trang 39

Bản 1.4: Phương pháp sinh số nguyên tố được phép dùng

nlen Các số nguyên tố ngẫu nhiên Các số nguyên tố với các

điều kiện

3 (p-1) và (q-1) là nguyên tố cùng nhau với e

4 Phần tử nguyên tố bí mật p nên được chọn ngẫu nhiên từ các số nguyên

tố thoả mãn: ( 2 )(2(nlen/ 2) 1 ) p(2nlen/ 2 1), với nlen là độ dài tương ứng đối với security_strength mong muốn

5 Phần tử nguyên tố bí mật q nên được chọn ngẫu nhiên từ các số nguyên

tố thoả mãn: ( 2 )(2(nlen/ 2) 1 )q(2nlen/ 2 1), với nlen là độ dài tương ứng đối với security_strength mong muốn

6 |p-q| > 2 (nlen/2)-100

Tiêu chuẩn cho số mũ công khai e

1 Số mũ công khai e nên được chọn trước khi sinh p, q

2 Số mũ e là số nguyên lẻ thoả mãn: 216 < e < 2256

Tiêu chuẩn cho số mũ bí mật d

Số mũ bí mật d được chọn thoả mãn các ràng buộc dưới đây, sau khi đã sinh p và q:

1 Số mũ d là giá trị nguyên dương thoả mãn d > 2 nlen/2, và

Trang 40

1.4.3 Một số nhận xét

Mặc dù đảm bảo toán học cho tính an toàn của các tiêu chuẩn được đề xuất trong các chuẩn vừa nêu trên đã được trích dẫn từ những công trình của các nhà khoa học trên thế giới về lĩnh vực mật mã, tuy nhiên chưa thực sự đầy

đủ Thứ nhất trong 03 bộ chuẩn mà đã giới thiệu chỉ bộ chuẩn ANSI X9.31 đề cập đến vấn đề này còn hai bộ chuẩn NIST 800-57 và FIPS 186-2 không hề

đề cập đến cơ sở toán học của việc đưa ra hệ tiêu chuẩn Thứ hai, đối với cơ

sở cho việc đề xuất các tiêu chuẩn đã được trích dẫn trong ANSI X9.31 thì về mặt thời gian và công nghệ hiện tại đã có nhiều thay đổi Do vậy nghiên cứu chi tiết về cơ sở lý thuyết và từ đó đưa ra những đề xuất chính xác hơn về mặt định lượng cho từng tiêu chuẩn là rất cần thiết

1.5 HỆ THỐNG MẬT MÃ RSA VÀ CÁC GIAO THỨC BẢO MẬT WEB

Hệ thống mật mã RSA (hệ mật RSA và hệ chữ ký RSA) hiện là một trong các hệ thống mật mã khoá công khai được sử dụng phổ biến nhất trong các ứng dụng bảo mật thông tin nói chung và các ứng dụng bảo mật thông tin trên mạng máy tính nói riêng như bảo mật thư tín điện tử (email), bảo mật Web, xác thực người sử dụng khi đăng nhập hệ thống (máy tính, mạng), Đối với việc bảo mật Web, hệ thống mật mã RSA được ứng dụng trong các giao thức bảo mật SSL/TLS được tích hợp trong các ứng dụng này (trình duyệt và Web server)

1.5.1 Giới thiệu về giao thức bảo mật SSL/TLS

SSL là một giao thức có thể được đặt ở giữa giao thức tầng mạng kết nối định hướng tin tưởng (TCP/IP) và tầng giao thức ứng dụng (FTP, HTTP, telnet ) SSL cung cấp dịch vụ truyền thông có bảo mật giữa client và server

Ngày đăng: 04/12/2013, 13:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Lê Mỹ Tú và nhóm đề tài (2007), Đề tài cấp Ban (Bộ): "Nghiên cứu, đánh giá, lựa chọn và đề xuất các tiêu chuẩn mật mã cơ bản và qui chuẩn kỹ thuật sử dụng trong khu vực kinh tế xã hội", Hà Nội Sách, tạp chí
Tiêu đề: Nghiên cứu, đánh giá, lựa chọn và đề xuất các tiêu chuẩn mật mã cơ bản và qui chuẩn kỹ thuật sử dụng trong khu vực kinh tế xã hội
Tác giả: Lê Mỹ Tú và nhóm đề tài
Năm: 2007
2. Lê Mỹ Tú và nhóm đề tài (2008), Đề tài cấp Ban (Bộ): "Nghiên cứu, lựa chọn các tham số và các thuật toán để phục vụ cho việc ban hành Quy chuẩn mật mã trong lĩnh vực kinh tế xã hội", Hà Nội Sách, tạp chí
Tiêu đề: Nghiên cứu, lựa chọn các tham số và các thuật toán để phục vụ cho việc ban hành Quy chuẩn mật mã trong lĩnh vực kinh tế xã hội
Tác giả: Lê Mỹ Tú và nhóm đề tài
Năm: 2008
3. TCVN 7635:2007 (2007), "Kỹ thuật mật mã - Chữ ký số", Hà Nội. Tiếng Anh Sách, tạp chí
Tiêu đề: Kỹ thuật mật mã - Chữ ký số
Tác giả: TCVN 7635:2007
Năm: 2007
5. Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone (1997) "Handbook of Applied Cryptograph", CRC Press, Inc Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptograph
6. American National Standard for Financial Services (1998), "X9.31- 1998 Digital Sinatures Using Reversible Publickey Cryptography for the Financial Services Industry (rDSA)", Accredited Standards Committee X9, Inc Sách, tạp chí
Tiêu đề: X9.31-1998 Digital Sinatures Using Reversible Publickey Cryptography for the Financial Services Industry (rDSA)
Tác giả: American National Standard for Financial Services
Năm: 1998
7. Arjen K. Lenstra (2004), "Key Length", Lucent Technologies and Technische Universiteit Eindhoven, 1 North Gate Road, Mendham, NJ 07945-3104, USA Sách, tạp chí
Tiêu đề: Key Length
Tác giả: Arjen K. Lenstra
Năm: 2004
8. Arjen K. Lenstra, Eric R. Verheul (2000), "Selecting Cryptographic Key Sizes", Springer-Verlag Berlin Heidelberger, pp. 446-465 Sách, tạp chí
Tiêu đề: Selecting Cryptographic Key Sizes
Tác giả: Arjen K. Lenstra, Eric R. Verheul
Năm: 2000
9. Dan Boneh, Glenn Durfee (1999), "Cryptanalysis of RSA with private key d less than N0.292", eurocrypt '99 Sách, tạp chí
Tiêu đề: Cryptanalysis of RSA with private key d less than N0.292
Tác giả: Dan Boneh, Glenn Durfee
Năm: 1999
11. G. Durfee (2002), “Cryptanalysis of RSA using Algebraic and Lattice methods”, Ph.D Thesis Sách, tạp chí
Tiêu đề: Cryptanalysis of RSA using Algebraic and Lattice methods”
Tác giả: G. Durfee
Năm: 2002
12. Hardy, G. H., &amp; Wright, E. M. (1979), “An Introduction to the theory numbers”, 5 edn. Oxpord Univesity Press Sách, tạp chí
Tiêu đề: An Introduction to the theory numbers”
Tác giả: Hardy, G. H., &amp; Wright, E. M
Năm: 1979
13. H. C. Williams (1982) "A p+1 Method of Factoring", Mathematics of Computation, Volume 39, Number 159, Pages 225-234 Sách, tạp chí
Tiêu đề: A p+1 Method of Factoring
15. http://en.wikipedia.org/wiki/Comparison_of_web_server_software 16. Ian Blanke, Gadiel Seroussi &amp; Nigel Smart (1999), "Elliptic Curves inCryptography" Printed in the United Kingdom at the Universty, Cambridge Sách, tạp chí
Tiêu đề: Elliptic Curves in Cryptography
Tác giả: http://en.wikipedia.org/wiki/Comparison_of_web_server_software 16. Ian Blanke, Gadiel Seroussi &amp; Nigel Smart
Năm: 1999
17. ISO/IEC 18033-2:2006(E) (2006), "Information technology - Security techniques - Encryption algorithms - Part 2: Asymetric ciphers", ISO/IEC Sách, tạp chí
Tiêu đề: Information technology - Security techniques - Encryption algorithms - Part 2: Asymetric ciphers
Tác giả: ISO/IEC 18033-2:2006(E)
Năm: 2006
18. ISO/IEC 18032:2004 (2004), "Information Technology - Security Techniques - Prime Number Generation", ISO/IEC Sách, tạp chí
Tiêu đề: Information Technology - Security Techniques - Prime Number Generation
Tác giả: ISO/IEC 18032:2004
Năm: 2004
19. Ivan Soprounov, "A short proof of the prime number theorem for arithmetic progressions", Departmant of mathematics, University of Toronto, Toronto, Canada Sách, tạp chí
Tiêu đề: A short proof of the prime number theorem for arithmetic progressions
20. M. Bellare and P. Rogaway (1995), "Optimal Asymmetric Encryption". Springer Verlag Sách, tạp chí
Tiêu đề: Optimal Asymmetric Encryption
Tác giả: M. Bellare and P. Rogaway
Năm: 1995
21. M. Bellare and P. Rogaway (1998), "PSS: Provably Secure Encoding Method for Digital Signatures". Submission to IEEE 1363 working group Sách, tạp chí
Tiêu đề: PSS: Provably Secure Encoding Method for Digital Signatures
Tác giả: M. Bellare and P. Rogaway
Năm: 1998
23. N.M.Stephens (1998), "Lenstra’s Factorisation Based On Elliptic Curves", Springer-Verlag, pp 409-416 Sách, tạp chí
Tiêu đề: Lenstra’s Factorisation Based On Elliptic Curves
Tác giả: N.M.Stephens
Năm: 1998
26. Richard Crandall, Carl Pomerance (2005), "Prime Numbers, A Computational Perspective, Second Edition", Springer Science + Business Media, In Sách, tạp chí
Tiêu đề: Prime Numbers, A Computational Perspective, Second Edition
Tác giả: Richard Crandall, Carl Pomerance
Năm: 2005
27. R. L. Rivest and R. D. Silverman (1998), "Are Strong Primes Needed for RSA", Support by RSA Data Security, Inc Sách, tạp chí
Tiêu đề: Are Strong Primes Needed for RSA
Tác giả: R. L. Rivest and R. D. Silverman
Năm: 1998

HÌNH ẢNH LIÊN QUAN

Bảng 1.2: Tiêu chuẩn độ dài RSA modulus tối thiểu  Thời gian sống an toàn của thuật toán  Độ dài tối thiểu modulus - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 1.2 Tiêu chuẩn độ dài RSA modulus tối thiểu Thời gian sống an toàn của thuật toán Độ dài tối thiểu modulus (Trang 37)
Bảng 1.3: Tiêu chuẩn về độ dài các số nguyên tố  p 1 , p 2 , q 1  và q 2 - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 1.3 Tiêu chuẩn về độ dài các số nguyên tố p 1 , p 2 , q 1 và q 2 (Trang 38)
Hình 1.1: Giao thức bắt tay SSL - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Hình 1.1 Giao thức bắt tay SSL (Trang 42)
Hình 1.2: Giao thức bản ghi SSL - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Hình 1.2 Giao thức bản ghi SSL (Trang 43)
Bảng 2.1: Độ an toàn theo độ dài modulus  nlen  secure_strength(nlen) - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.1 Độ an toàn theo độ dài modulus nlen secure_strength(nlen) (Trang 52)
Bảng 2.2: Độ dài tối thiểu RSA modulus có thể dùng an toàn  đến một năm cho trước - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.2 Độ dài tối thiểu RSA modulus có thể dùng an toàn đến một năm cho trước (Trang 54)
Bảng 2.5: Tiêu chuẩn độ dài tối thiểu của |p-q|. - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.5 Tiêu chuẩn độ dài tối thiểu của |p-q| (Trang 62)
Bảng 2.6: Tiêu chuẩn về ước nguyên tố của |p-q|. - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.6 Tiêu chuẩn về ước nguyên tố của |p-q| (Trang 63)
Bảng 2.7: Độ dài tối thiểu của p 11 , q 11 - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.7 Độ dài tối thiểu của p 11 , q 11 (Trang 75)
Bảng 2.8: Tiêu chuẩn N1 - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.8 Tiêu chuẩn N1 (Trang 76)
Bảng 2.9: Tiêu chuẩn PQ2. - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.9 Tiêu chuẩn PQ2 (Trang 77)
Bảng 2.10: Tiêu chuẩn PQ4. - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.10 Tiêu chuẩn PQ4 (Trang 77)
Bảng 2.13: Tiêu chuẩn D1  nlen  Độ dài tối thiểu của d - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 2.13 Tiêu chuẩn D1 nlen Độ dài tối thiểu của d (Trang 78)
Bảng 3.1: Cụ thể hoá một số tiêu chuẩn mang tính định lượng - Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng
Bảng 3.1 Cụ thể hoá một số tiêu chuẩn mang tính định lượng (Trang 81)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w