Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải tiến các thuật toán mã hóa và giải mã nhằm giảm độ phức tạp tính toán hoặc xây dựng RSA trên vành với có dạng phức
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
TRẦN ĐÌNH LONG
CÁC TÍNH CHẤT ĐẠI SỐ CỦA HỆ MÃ CÔNG KHAI RSA
VÀ KHẢ NẰNG MỞ RỘNG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số chuyên ngành: 62 48 01 01
Phản biện 1: PGS.TS Trần Văn Hạo
Phản biện 2: PGS.TS Đỗ Văn Nhơn Phản biện 3: PGS.TS Dương Anh Đức Phản biện độc lập 1: PGS.TS Nguyễn Đức Nghĩa Phản biện độc lập 2: TS Trần Nam Dũng
NGƯỜI HƯỚNG DẪN KHOA HỌC
1 PGS.TS Trần Đan Thư
2 PGS.TS Nguyễn Đình Thúc
Tp Hồ Chí Minh – 2015
Trang 2LỜI CÁM ƠN
Kính dâng lên Ba Mẹ, người đã
sinh thành và nuôi dưỡng để con
có ngày hôm nay.
Thương tặng Châu, Ômai và Alpha, những người đã chia sẻ mọi khó khăn, là chỗ dựa vững chắc về tinh thần và vật chất trong suốt cả cuộc đời.
Không thể nói hết bằng lời lòng biết ơn sâu sắc của tác giả đến các thầy hướng dẫn PGS.TS Trần Đan Thư và PGS.TS Nguyễn Đình Thúc Các thầy đã hướng dẫn và động viên tác giả vượt qua những khó khăn để có được kết quả này Tác giả đã học được nhiều điều quí giá từ các thầy trong nghiên cứu khoa học và ứng xử đời thường Kính xin ghi nhận tất cả những đặc ân đó của Quý Thầy
Tác giả xin cám ơn Khoa Công nghệ Thông tin trường Đại học Khoa Học Tự Nhiên thành phố Hồ Chí Minh, Trường Đại học Khoa học Huế đã giúp đỡ và tạo điều kiện thuận lợi cho tác giả trong suốt thời gian học tập và nghiên cứu Tác giả xin cám ơn PGS.TS Tôn Thất Trí đã có nhiều ý kiến đóng góp quý báu để tác giả hoàn thiện luận án
Tác giả xin chân thành cám ơn sự giúp đỡ về mặt chuyên môn cũng như tình cảm chân thành, những lời động viên quý báu của các đồng nghiệp thuộc Khoa Toán trường Đại học Khoa Học Huế
Tác giả xin cám ơn chị Vân, các cháu Simpa, Lucky và Morris đã tạo điều kiện cho tác giả có chỗ ở ổn định ở thành phố ngay từ những ngày đầu khó khăn làm nghiên cứu sinh
Xin cám ơn tất cả mọi người đã hỗ trợ cho tác giả hoàn thành luận án này!
Trang 3LỜI CAM ĐOAN
Tác giả xin khẳng định tất cả các kết quả được trình bày trong luận án này là kết quả nghiên cứu riêng của tác giả dưới sự hướng dẫn của PGS.TS Trần Đan Thư
và PGS.TS Nguyễn Đình Thúc, không sao chép từ bất kỳ một công trình nào khác Nếu có điều gì không trung thực, tác giả xin chịu hoàn toàn trách nhiệm
Tác giả
Trần Đình Long
Trang 4MỤC LỤC
Bảng thuật ngữ Anh-Việt 1
M 2
Chương 1 Tổng quan về RSA 7
1.1 Hệ mã RSA gốc 7
1.1.1 Mô tả hệ mã 8
1.1.2 Nhận xét về hệ mã 8
1.2 RSA trên vành 9
1.3 Các biến thể của RSA trên các cấu trúc khác 10
1.3.1 Hệ mã RSA trên vành các ma trận 10
1.2.2 Hệ mã RSA trên nhóm đường cong elliptic 11
1.3.3 Hệ mã hóa RSA trên vành thương các đa thức 13
1.3.4 Hệ mã hóa RSA trên vành thương các số nguyên Gauss 14
1.3.5 Nhận xét về các biến thể của RSA 15
1.4 Thiết lập sơ đồ cho RSA 17
1.5 Thám mã RSA 17
1.5.1 Thám mã RSA có khóa riêng nhỏ 17
1.5.1.1 Thám mã RSA bằng liên phân số 17
1.5.1.2 Thám mã RSA bằng cách tìm nghiệm gần đúng có nghịch đảo nhỏ 21
1.5.1.3 Thám mã RSA bằng dàn hai chiều 24
1.5.2 Thám mã RSA có khóa chung nhỏ 24
1.5.2.1 Thám mã khi biết một phần văn bản 25
1.5.2.2 Thám mã qua các văn bản có liên quan 25
Trang 51.5.2.3 Rò rĩ thông tin từ khóa chung nhỏ 25
1.5.3 Phân tích modulus 26
1.6 Nhận xét về Chương 1 26
Chương 2 Xây dựng sơ ồ cho RSA 27
2.1 RSA trên vành thương của vành Euclid 27
2.1.1 Sơ đồ RSA trên vành thương của vành Euclid 31
2.1.2 So sánh với các hệ mã RSA đã biết 31
2.1.2.1 Hệ mã RSA gốc 31
2.1.2.2 RSA trên vành thương các đa thức 32
2.1.2.3 RSA trên vành thương các số nguyên Gauss 32
2.1.3 Nhận xét về sơ đồ 33
2.2 Sơ đồ cho RSA trên nửa nhóm 33
2.2.1 Sơ đồ 33
2.2.2 So sánh với các hệ mã RSA đã biết 35
2.2.2.1 Hệ mã RSA trên vành thương vành Euclid 35
2.2.2.2 Hệ mã RSA trên vành các ma trận 36
2.2.2.3 Hệ mã RSA trên nhóm đường cong elliptic 36
2.2.3 Nhận xét về sơ đồ 38
2.3 Xây dựng biến thể của RSA 39
2.3.1 Vành Bergman 39
2.3.2 Xây dựng biến thể của RSA dựa trên vành Bergman 41
2.3.2.1 Xây dựng nửa nhóm cơ sở 41
2.3.2.2 Sơ đồ hệ mã 47
2.3.2.3 Độ phức tạp tính toán so với RSA gốc 49
Trang 62.3.2.4 Thám mã 49
2.3.3 Nhận xét về hệ mã 51
Chương 3 Thám mã RSA 53
3.1 Thám mã RSA bằng dàn hai chiều 53
3.1.1 Thực nghiệm thám mã 53
3.1.2 Đặt vấn đề 54
3.1.3 Điều kiện để tấn công dàn hai chiều vào RSA luôn thành công 55 3.1.4 Nhận xét về phương pháp tấn công RSA bằng dàn hai chiều 59 3.2 Bài toán DLP trên nhóm GL(2,p) 59
3.2.1 Đặt vấn đề 60
3.2.2 Bài toán DLP trên nhóm GL(2,p) 60
3.2.3 Ý tưởng 61
3.2.4 Chéo hóa Jordan của ma trận 61
3.2.5 Thuật toán đưa bài toán DLP trên nhóm GL(2,p) về trường cơ sở 62
3.2.6 Ví dụ 66
3.2.7 Nhận xét 68
Kết luận 70
Danh mục các công trình ã công bố 72
Tài liệu tham khảo 73
Phụ lục 80
Trang 7BẢN THUẬT NGỮ ANH VIỆT
Tiếng Anh Tiếng Việt
Baby step, giant step method
Chinese remainder theorem
Biến thể hiện Dàn
Thuật toán tìm cơ sở thu gọn của dàn Khóa riêng (trong hệ mã RSA)
Sơ đồ, Nửa nhóm Ước của đơn vị (trong vành có đơn vị) Biến thể
Trang 8MỞ ĐẦU
Năm 1 , Di i và H man ần đầu tiên giới thiệu khái niệm hệ mã hóa khóa công khai, một khái niệm có t nh cách mạng trong mã hóa thông tin Ngày nay, các hệ mã hóa khóa công khai được d ng rộng rãi trên hầu hết các ĩnh vực có trao đổi thông tin như đảm bảo an toàn mạng Int rn t, giao dịch trong ngân hàng,…
Là một hệ mã hóa khóa công khai đầu tiên, RSA à một hệ mã hóa nổi tiếng
và được d ng rộng rãi nhất, do 3 tác giả Riv st, Shamir và Ad man giới thiệu vào năm 1 8 [63] Năm 2 2, ba tác giả này được Viện Toán Học C ay (M ) trao giải thưởng cho RSA như à một ứng dụng đơn giản và hiệu quả nhất của Toán học Việc không có một hệ mã nào d ng rộng rãi như RSA cho đến bây giờ cho thấy đây
à một hệ mã an toàn, khó bị tấn công Ch nh vì vậy có rất nhiều công trình iên quan đến RSA
Trên thế giới, có thể chia các công trình ý thuyết iên quan đến RSA àm hai oại: phát triển các biến thể của RSA và thám mã RSA
Sự phát triển các biến thể của RSA có thể chia àm hai hướng Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải tiến các thuật toán mã hóa và giải mã nhằm giảm độ phức tạp tính toán hoặc xây dựng RSA trên vành với có dạng phức tạp hơn thay vì à t ch của hai số nguyên tố phân biệt Công trình như [11] là ví dụ về RSA được cải tiến thuật toán mã hóa sao cho có thể tạo ra cùng lúc nhiều chữ ký điện tử Công trình [33] của D Pointcheval cải tiến thuật toán mã hóa của RSA nhằm mục đ ch àm cho văn bản đã mã hóa có t nh ngẫu nhiên, qua đó tránh được cách tấn công bằng cách chọn văn bản gốc (chosen plaintext attack) Đối với RSA trên với có dạng phức tạp hơn t ch của hai số nguyên tố, có thể kể ra đây công trình của T Collins [66] khảo sát là tích của nhiều số nguyên tố phân biệt, công trình của T Takagi [67] khảo sát modulus có
Trang 9dạng Các biến thể này của RSA sau đó được Garg D và Verma S kết hợp với k thuật của D Pointcheval trong [33] để tránh cách tấn công chọn văn bản gốc [37-38] Trong hướng thứ hai, các biến thể của RSA được xây dựng trên các cấu trúc đại số phức tạp hơn Varadhara an V và Odoni [70] vào 1 85 xây dựng một biến thể của RSA trên nhóm các ma trận không suy biến có hệ số trên vành , với à t ch của hai số nguyên tố phân biệt Năm 1 3, tác giả N Demytko [59] giới thiệu tại hội nghị ROCR PT một phiên bản của RSA xây dựng trên nhóm các đường cong iptic Do à vành thương của vành số nguyên nên cách xây dựng tự nhiên nhất à xây dựng biến thể của RSA trên vành thương của các vành có phép chia (vành uc id) Các tác giả - assar A.N., R Hatary và
Y Awad [36] vào 2 xây dựng các biến thể của RSA trên vành thương của vành
số nguyên Gauss và trên vành thương của vành các đa thức có hệ số trên trường hữu hạn Việc xây dựng các biến thể mới này của RSA đều dựa trên t nh chất cụ thể của cấu trúc đại số mà RSA được xây dựng trên đó
Song song với việc phát triển các biến thể của RSA, bài toán thám mã RSA cũng thu hút được nhiều tác giả [23-24], [26-27], [35] và [40] Cách tấn công cổ điển dựa vào bài toán phân t ch một số nguyên dương thành các thừa số nguyên
tố, hiện nay thuật toán phân t ch hiệu quả nhất à thuật toán Si v (General Number Fie d Si v ) với độ phức tạp à với , trong đó à số bit của Mặc d hiện nay chưa có thuật toán phân t ch số cho trước với thời gian đa thức, vẫn có rất nhiều cách tấn công vào RSA với các công cụ khác nhau Năm
1 , tác giả M Wiener [57] đưa ra cách tấn công RSA trong trường hợp khóa riêng bằng công cụ iên phân số Đến 1 , hai tác giả D Boneh và G Durfee [25] đạt được kết quả tốt hơn khi , bằng cách giải bài toán tìm phần tử gần đúng có nghịch đảo nhỏ ta có thể tìm được khóa riêng Gần đây, sau lần giới thiệu đầu tiên của D Coppersmith tại hội nghị Eurocrypt 1996 [30], các thuật toán tìm cơ sở thu gọn của dàn như thuật toán LLL hay thuật toán Gauss à một công cụ rất hiệu quả để tấn công RSA trong các trường hợp khóa riêng nhỏ,
Trang 10vì vậy có rất nhiều công trình dùng công cụ dàn để thám mã RSA như [12], [19], [22], [61] Một điều đáng ngạc nhiên à cho d có rất nhiều công trình thám mã RSA gốc, có rất t các công trình khảo sát thám mã các biến thể của RSA Điều này cho thấy hệ mã RSA gốc vẫn được quan tâm hơn rất nhiều so với các biến thể của
nó Tuy vậy, các biến thể của RSA ngày càng được quan tâm và khảo sát nhiều hơn
Có thể kế ra đây các công trình như [1 ] khảo sát thám mã biến thể RSA trong [67], công trình [55] khảo sát thám mã hệ mã Multi-Power RSA của T Collins trong [66] hay công trình [ 2] thám mã RSA trong trường hợp khóa chung lớn và bị lộ một phần
Trong nước, các công trình hay uận án iên quan đến RSA còn rất khiêm tốn Các uận án thường ch dừng ại ở mức hiện thực RSA có cải tiến các thuật toán
số học trong mã hóa và giải mã [9-10] khảo sát áp dụng chữ ký điện tử của RSA [2], [7]; iệt kê ại các phương pháp tấn công RSA [1] hay áp dụng RSA trong bảo mật thông tin [3] Cuốn sách viết nhiều nhất về RSA như [6] ch tóm tắt lại các nghiên cứu và thám mã về RSA Có rất ít các luận án tiến sĩ như [8] đề cập đến các tiêu chuẩn an toàn cho các tham số trong hệ mã RSA như modu us, các modu i hay các khóa riêng, khóa chung
Xuất phát từ những khảo sát trên đây về hệ mã RSA ở trong nước và quốc tế, uận án này nhằm giải quyết các vấn đề sau:
(1) Nghiên cứu hệ mã RSA gốc, ta gọi là RSA 2 số nguyên tố, và tất cả các biến thể của nó Giải th ch vì sao các biến thể của RSA ch xây dựng trên các cấu trúc đại số khác với , trong đó à t ch của các số nguyên tố phân biệt
(2) Căn cứ vào nghiên cứu trên, đề xuất sơ đồ tổng quát cho hệ mã RSA, sơ
đồ phải bao quát hệ mã RSA gốc và các biến thể đã biết của nó
(3) Căn cứ vào sơ đồ đề xuất, xây dựng biến thể cho RSA trên cấu trúc đại số khác với các cấu trúc đã biết mà các tác giả khác đã xây dựng các biến thể RSA trên
đó
Trang 11(4) Tìm hiểu các k thuật tấn công đã biết vào RSA, qua đó cải tiến một số
k thuật và giải quyết một số bài toán còn mở trong thám mã RSA
Nội dung của uận án gồm các phần sau
Phần mở đầu giới thiệu tổng quan về các nghiên cứu RSA trong và ngoài nước, đồng thời nêu ra các vấn đề cần giải quyết cho luận án
Chương 1 mô tả chi tiết hơn về hệ mã RSA gốc và các biến thể của RSA trên các cấu trúc khác với Các biến thể này d ng để đối chứng với sơ đồ mà tác giả đưa ra ở Chương 2 Một số các kết quả về thám mã RSA cũng được nhắc lại trong chương này
Chương 2 đề cập đến các kết quả nghiên cứu của tác giả về việc xây dựng sơ
đồ cho RSA, bao gồm xây dựng hệ mã RSA trên vành thương của vành uc id và
sơ đồ tổng quát cho RSA trên nửa nhóm, sơ đồ này bao quát được RSA và các biến thể đã biết của RSA trong chương 1 Phần còn lại trong chương này đề cập đến kết quả của tác giả trong việc xây dựng một biến thể cho RSA, biến thể này được xây dựng dựa trên vành rgman và tuân th o sơ đồ vừa đề xuất
Chương 3 đề cập đến các kết quả đạt được của tác giả trong ĩnh vực thám
mã RSA Các kết quả này bao gồm việc đưa ra điều kiện cho khóa riêng nhằm đảm bảo phương pháp tấn công RSA bằng dàn hai chiều luôn thành công và việc đưa bài toán logarithm rời rạc (DLP – Discrete Logarithm Problem) trên nhóm nhân
về bài toán DLP trên trường cơ sở hoặc trên một trường mở rộng bậc hai của
Do các thuật toán tìm cơ sở thu gọn trên dàn được dùng nhiều trong việc trình bày thám mã RSA, các kiến thức cơ sở về dàn sẽ được nhắc lại trong phần phụ lục
Trang 12Phần kết uận tóm tắt lại những kết quả mà luận án đã đạt được, đồng thời nêu ra một số hướng nghiên cứu mở có thể phát triển được trong quá trình thực hiện uận án
Được các thầy hướng dẫn giới thiệu hướng nghiên cứu về mã hóa thông tin lần đầu tiên vào tháng 3/2009, tác giả cảm thấy rất thích thú và phù hợp với hướng nghiên cứu này Tác giả mong muốn rằng những kết quả đạt được khi thực hiện luận án sẽ là những minh chứng cho thấy ứng dụng của toán học vào ngành mã hóa thông tin
Cuối c ng, mong muốn của tác giả à có được sự hiểu biết sâu sắc để tạo ra được một nhóm nghiên cứu về mật mã ở trường Đại học hoa học Huế, đồng thời
có sự trao đổi mật thiết với hoa Công Nghệ Thông Tin trường ĐH HTN Thành Phố HCM
Trang 13Chương 1
TỔNG QUAN VỀ RSA
Nội dung chương này gồm:
1 Nhắc lại hệ mã RSA gốc
2 Trả lời câu hỏi: với những số nguyên dương nào thì ta có thể xây dựng
được hệ mã RSA trên
3 Tóm tắt các nghiên cứu về RSA trên vành
4 Duyệt qua các biến thể của RSA trên các cấu trúc khác , bao gồm: -Hệ mã RSA trên vành ma trận
-Hệ mã RSA trên nhóm đường cong elliptic
-Hệ mã RSA trên vành thương các đa thức
-Hệ mã RSA trên vành thương các số nguyên Gauss
5 Tóm tắt các kết quả đã có về thám mã RSA
Chúng tôi trình bày trong chương này hệ mã hóa khóa công khai RSA gốc, sau
đó giới thiệu một số biến thể của RSA được xây dựng trên các cấu trúc khác cũng như một số kết quả đã có về thám mã RSA Chương này à cơ sở để trình bày các chương sau Chúng tôi cũng đưa ra câu giải thích vì sao các biến thể của RSA được xây dựng trên các cấu trúc đại số khác
Trang 141.1.1 Mô tả hệ ã
Sinh hóa
-Chọn hai số nguyên tố phân biệt và t nh
-Chọn số nguyên nguyên tố c ng nhau với
et al [66] vào 1997 à xây dựng hệ mã RSA trên khi Chúng tôi sẽ
ch ra rằng à dạng duy nhất của nếu chúng ta có thể xây dựng RSA trên
Mệnh ề 1.1 iả tồn tại ố tự nhiên sa ch ánh ạ
à đơn ánh hi đó
Trang 15Mệnh đề trên cho thấy rằng để xây dựng hệ mã RSA trên thì phải chọn sao cho và đây à điều kiện cần và đủ của cần phải thỏa mãn Điều này giải th ch vì sao có hai hướng để phát triển RSA Hướng thứ nhất chú trọng đến
sự giảm độ phức tạp tính toán của RSA trên bằng cách đưa ra các thuật toán cải tiến tính toán trong các quá trình mã hóa và giải mã Hướng thứ hai chú trọng xây dựng các biến thể của RSA trên các cấu trúc đại số khác với , chúng tôi sẽ tóm tắt các biến thể RSA được xây dựng th o hướng thứ hai trong phần 1.2 ngay sau đây
1.2 RSA trên vành
Như chúng tôi đã nói trong phần mở đầu, các công trình khảo sát về hệ mã RSA trên vành cơ sở tập trung vào hai hướng Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải tiến các thuật toán mã hóa, giải mã nhằm giảm độ phức tạp tính toán hoặc thêm vào các k thuật khi mã hóa nhằm nâng cao
độ an toàn của hệ mã Có thể kể ra các k thuật cải tiến cho RSA gốc như sau:
-Tạo ra văn bản mã hóa ngẫu nhiên: đó à các kết quả nghiên cứu của D Pointcheval [33], S Goldwasser et al [65] hay M Blum et al [54] Các k thuật
àm tăng t nh ngẫu nhiên của văn bản đã mã hóa àm cho hệ mã RSA gốc tránh được cách tấn công bằng cách chọn văn bản gốc Padded RSA của J.S Coron [47] cũng à một kết quả trong hướng nghiên cứu này
Trang 16-Tạo đồng thời nhiều chữ ký điện tử: đó à atch RSA của tác giả A Fiat [11] cho phép tính toán một lúc nhiều chữ k điện tử với độ phức tạp t nh toán t hơn
so với độ phức tạp tính toán của việc tạo ra từng chữ k điện tử một
-Cho phép thực hiện nhanh quá trình giải mã: cải tiến này làm cho RSA có thể sử dụng trong các ứng dụng chuyên biệt nào đó, chẳng hạn cần tạo chữ k điện
tử mà sau đó có thể kiểm tra nhanh chóng trên các tổng đài điện thoại Rebalanced RSA của tác giả M Wiener [58] là ví dụ cho cải tiến này, trong đó quá trình giải mã được thực hiện bằng nhiều khóa riêng thay vì một khóa riêng, sau đó văn bản gốc được tính dựa vào định lý phần dư Trung Hoa
Trong hướng thứ hai, các tác giả khảo sát các hệ mã RSA trên vành với không còn là tích của hai số nguyên tố phân biệt Hai kết quả đáng kể trong hướng này thuộc về T Collins [66] khảo sát trường hợp n là tích của nhiều số nguyên tố phân biệt (MultiPrime RSA), và T Takagi [67] khảo sát khi có dạng trong đó là hai số nguyên tố phân biệt, còn là số nguyên dương (Mu tiPow r RSA) Các biến thể này của RSA sau đó được các tác giả khác kết hợp với các k thuật cải tiến trong hướng thứ nhất, có thể kể ra các công trình sau đây
-Công trình của C A ison vào năm 2 2 [18]: thực hiện k thuật Rebalanced RSA cho MultiPrime RSA
-Công trình của D Garg và S Verma vào 2009 [37]: thực hiện k thuật Rebalanced RSA cho MultiPower RSA
Trang 17không suy biến hệ số tương ứng trên và Các bậc của các nhóm này tương ứng à
và
Chọn hai số nguyên thỏa mãn các điều kiện
và Từ định ý Lagrange trong ý thuyết nhóm, chúng ta suy ra rằng trong đó à ma trận đơn vị trong Từ đó với mọi Điều này cho phép chúng ta tiến hành mã hóa
thành và giải mã bằng cách t nh cho các văn bản
1.3.2 ệ ã h R tr n nh ư ng c ng t c Biến thể này của RSA do N Demytko giới thiệu lần đầu tiên tại hội nghị urocrypt’ 3 [59] Giả sử rằng à một số nguyên tố và à các số nguyên được chọn sao cho Nhóm đường cong elliptic theo modulo , được k hiệu à , à tập gồm các cặp thỏa mãn
trên , c ng với một phần tử được k hiệu à Phép toán + trên được định nghĩa sao cho à đơn vị của phép toán, ngoài ra với hai điểm , kết quả được xác định như sau: .Nếu à phần tử đơn vị thì
.Nếu và thì
Trang 18.Ngược ại,
với
Nhóm đường cong iptic b với nhóm được k hiệu à ,
đó à tập hợp các cặp thỏa mãn phương trình trên , c ng với một phần tử cũng k hiệu à ; nhưng tọa độ có dạng với và không phải à một bình phương trong Phép toán + trên
được định nghĩa hoàn toàn tương tự như phép + trên ậc của các nhóm và được k hiệu tương ứng à và , các số này có thể t nh được bằng các thuật toán thời gian đa thức, chẳng hạn như thuật toán được đề cập trong [60]
Đối với hệ mã RSA trên nhóm đường cong elliptic, chúng ta chọn hai số nguyên tố phân biệt và đặt Chọn sao cho
sẽ đúng với mọi và Điều này cho phép chúng ta tiến hành mã hóa và giải mã như trong RSA gốc
Có thể chọn bộ gồm thành phần thay cho khóa riêng , trong đó Để giải mã cặp , thành phần sẽ được chọn để giải mã bằng cách t nh , trong đó
Trang 19
Do phép toán trên các tập ,
và được định nghĩa hoàn toàn tương tự
nhau nên tọa độ thứ nhất trong phương trình à như nhau, không phụ thuộc vào việc thuộc tập nào trong 4 tập trên Demytko trong [59] đã đưa ra công thức t nh cho như sau, bằng cách đưa về tọa độ thuần nhất :
1.3.3 Hệ ã R tr n nh thương các th c
iến thể này của RSA c ng với hệ mã RSA trên vành thương các số nguyên Gauss do các tác giả - assar A.N., R Hatary và Awad đưa ra vào năm 2004 [36]
Trong biến thể này, vành đa thức được xét đến với à một số nguyên
tố Chọn hai đa thức bất khả quy có bậc tương ứng à và đặt Số các phần tử khả nghịch trong các vành thương
Trang 20<g(x)>, <h(x)> và <f(x)> tương ứng à và ; trong đó với , kí hiệu ch ideal của sinh bởi , tức là
hi đó hệ thức đúng với mọi / , trong đó à các số nguyên được chọn sao cho Hệ thức cho phép chúng ta mã hóa văn bản thành và sau đó giải mã thành
1.3.4 ệ ã h R tr n nh thương các số ng n G ss
Vành các số nguyên Gauss à vành con của trường số phức định nghĩa bởi
Chuẩn trên được t nh bởi Các ước của đơn vị trong
à Một phần tử à nguyên tố khi và ch khi à t ch của ước đơn vị với một trong các phần tử có dạng sau:
i , khi đó được gọi à phần tử nguyên tố dạng
ii với à số nguyên tố thông thường có dạng
, khi đó được gọi à phần tử nguyên tố dạng
iii à số nguyên tố thông thường có dạng , khi đó được gọi à
phần tử nguyên tố dạng
Hàm u r tại phần tử nguyên tố có giá trị à
Đối với biến thể này của RSA, ta chọn hai phần tử nguyên tố và t nh hi đó Các khóa chung và khóa riêng được chọn sao cho Văn bản à các phần tử
mà sẽ được mã hóa thành Sau đó sẽ được giải mã bằng cách t nh
Trang 211.3.5 Nhận xét về các biến th c a RSA
Bây giờ chúng tôi sẽ so sánh sự an toàn của hệ mã RSA với các biến thể của nó dưới khía cạnh thám mã bằng cách phân t ch modu us Để đơn giản cho việc phân tích, chúng tôi giả sử rằng độ dài của mỗi văn bản là 1024 bit và thuật toán phân tích modulus là thuật toán vét cạn
Trước hết, do có rất nhiều thuật toán hiệu quả phân tích một đa thức cho trước như thuật toán Berlekamp [52], thuật toán Ben-Or [53], thuật toán Cantor-Zassenhaus [71]…nên biến thể của RSA trên vành thương các đa thức trong phần 1.3.3 có thể bị thám mã hoàn toàn nếu áp dụng các thuật toán này
Đối với hệ mã RSA gốc, do mỗi văn bản có độ dài 1024 bit nên phải
có độ lớn 1 2 bit Như vậy thuật toán phân t ch modu us được áp dụng cho số có
độ lớn 1024 bit
Đối với biến thể của RSA trên vành ma trận, mỗi văn bản có độ dài
1024 bit Do là một ma trận vuông nên có ít nhất 4 phần tử, do đó mỗi phần tử của có độ dài không quá 256 bit Vì mỗi phần tử này thuộc nên có độ dài không quá 256 bit Việc phân tích trong trường hợp này đơn giản hơn nhiều so với hệ mã RSA gốc
Đối với hệ mã RSA trên vành thương các số nguyên Gauss, mỗi văn bản
có độ lớn 1024 bit nên và đều có độ lớn 512 bit Do đó độ lớn của không thể vượt quá 1025 bit Do nên không vượt quá 1025 bit Nếu thì không vượt quá
1025 bit, vì vậy không vượt quá 256 bit Việc phân tích bằng thuật toán vét cạn chưa hẳn đơn giản hơn trong trường hợp phân tích modulus của hệ mã RSA gốc Tuy nhiên, mặc dù các tính toán trong quá trình mã hóa và giải mã trong trường hợp này được thực hiện trong vành thương , thực tế sẽ được tính trên và sau đó ấy modulo theo (bằng cách thực hiện phép chia cho ) Nhưng do phép chia uc id trên thực hiện không duy nhất nên việc giải mã tính
Trang 22có thể cho ra kết quả khác Điều này cho thấy để xây dựng hệ mã RSA trên vành thương , trước hết cần xây dựng một hệ đầy đủ và duy nhất các phần dư có thể có trong phép chia một phần tử trong cho , chính là không gian các văn bản cần mã hóa trong trường hợp này Việc xây dựng không phải đơn giản và đây có thể là lý do vì sao biến thể của RSA trong trường hợp này ít được d ng đến
Đối với hệ mã RSA trên nhóm đường cong elliptic, mỗi văn bản là một phần tử , do đó sẽ có c ng k ch thước với là 1024 bit Việc phân tích modulus trong trường hợp này hoàn toàn như trong hệ mã RSA gốc Tuy nhiên độ phức tạp tính toán trong các quá trình mã hóa và giải mã trong trường hợp này là lớn hơn nhiều so với hệ mã RSA gốc Đối với hệ mã RSA gốc, mã hóa cần phải thực hiện xấp x phép nhân theo thuật toán ũy thừa nhanh Đối với hệ
mã RSA trên nhóm đường cong elliptic, các công thức ở phân 1.3.2 ch ra để tính trong công thức mã hóa cần thực hiện ít nhất xấp x phép toán
Các phân t ch trên đây ch ra rằng, với cùng một modulus , việc thiết lập hệ mã RSA gốc à đơn giản và an toàn hơn các biến thể của nó Điều này giải thích phần nào hệ mã RSA gốc được dùng rộng rãi hơn các biến thể của nó
Trong các biến thể trên của RSA, hệ thức là hệ thức cốt lõi, nó cho phép thực hiện mã hóa và giải mã Tuy vậy hệ thức này đạt được bằng nhiều con đường khác nhau, tùy theo cấu trúc đại số mà RSA được xây dựng trên đó Đối với RSA trên vành thương các đa thức và vành thương các số nguyên Gauss, hệ thức này iên quan đến phép chia Euclid và các khái niệm bất khả quy hoặc nguyên tố Đối với hai biến thể còn lại, hệ thức này tìm được nhờ vào định lý Lagrange trong lý thuyết nhóm Trong Chương 2, chúng tôi sẽ ch ra sơ đồ chung cho RSA, cụ thể là ch ra các điều kiện làm cho hệ thức này được thỏa mãn trên cấu trúc nửa nhóm
Trang 231.4 Thiết lậ sơ ồ cho RSA
Bài toán lập sơ đồ cho RSA hoặc mở rộng RSA cũng à một bài toán được nhiều tác giả khảo sát Có thể kể ra đây các công trình như sau Công trình của Tsuyoshi Takagi [68] trong đó đưa ra sơ đồ cho RSA với trường cơ sở à trường các
số đại số trên Hàm mã hóa được mở rộng thành hàm bậc hai theo hai biến bởi các tác giả Kobayashi K [50] hay Koyama K [51] hoặc mở rộng thành một đa thức bậc trên trường cyclotomic bởi tác giả Uematsu.Y [69] Tác giả oyama sau đó đưa ra sơ đồ cho RSA với hàm mã hóa là một phân thức theo hai biến trên nhóm elliptic
1.5 Thám mã RSA
Thật khó để có thể liệt kê ra hết tất cả các công trình nghiên cứu về thám mã RSA Ngoài một số phương pháp thám mã hệ mã RSA khi hệ mã này được dùng một cách máy móc, chúng tôi chia các phương pháp thám mã RSA thành hai oại sau đây
1.5.1 Thám mã hệ mã RSA có khóa riêng nhỏ
Tiêu biểu cho thám mã loại này là công trình của M Wiener và D Boneh như sau
1.5.1.1 Thám mã RSA bằng liên phân số
Cách thám mã RSA bằng liên phân số do M Wi n r đưa ra năm 1 Chi tiết về cách thám mã này có thể đọc ở [57], chúng tôi mô tả một cách tóm tắt lại như sau
1.5.1.1.1 Liên phân số
Với là số nguyên dương và là các số nguyên, Wiener dùng kí hiệu
để ch liên phân số …)))
Trang 24Một số hữu tỷ dương có thể đưa về dạng liên phân số bằng thuật toán sau
Tính , đặt Tính , đặt
For to do
Tính và
Endfor
Một tính chất có thể thấy ngay của liên phân số là với số thì
Trang 25Thuật toán thám mã của Wiener dựa trên thuật toán sau đây Giả sử và
là hai phân số dương mà với là số nào đó hi đó có thể tìm được nếu biết được dạng liên số của và với đủ nhỏ Thuật toán như sau
Tìm dạng liên phân số của
For to do
Nếu chẵn, xét Nếu lẻ, xét
Kiểm tra đang xét có thỏa mãn bài toán xét chưa, nếu có thì STOP
Trang 261.5.1.1.3 Thám mã RSA
Xét hệ mã RSA trong đó modu us là tích của 2 số nguyên tố phân biệt Các khóa chung và khóa riêng thỏa mãn hệ thức
Như vậy sẽ tồn tại số nguyên dương mà
Nếu kí hiệu thì chúng ta sẽ có
Lại kí hiệu
và
, thế thì (1.1) Chia 2 vế đẳng thức trên cho chúng ta nhận được
với
Trang 27Wiener giả sử rằng , khi đó hệ thức (1.1) suy ra rằng và có thể viết lại là
Hệ thức này chứng tỏ rằng khi chia cho thì thương số sẽ là
và phần dư à Như vậy chúng ta sẽ tìm được và Khóa riêng tìm được bằng cách chia cho Các số được tìm bằng cách tính
(1.2)
và sau đó à
(1.3)
Biết và ta sẽ t nh được Các trường hợp không hợp lệ được Wiener ch
ra như sau:
-Hoặc tìm được
-Hoặc
tìm được từ (1.2) không phải là số nguyên dương
-Hoặc tìm được từ (1.3) không là số ch nh phương
1.5.1.2 Thám mã RSA bằng cách tìm nghiệm g n úng c nghịch ảo nhỏ
Phương pháp thám mã này à của 2 tác giả D Boneh và G Durfee [25], dựa trên công trình [32] của D Coppersmith về thuật toán tìm nghiệm nhỏ của một đa thức 2 biến hệ số nguyên cho trước Có thể tóm tắt lại như sau
1.5.1.2.1 Bài toán tìm ph n tử g n úng c nghịch ảo nhỏ
Trang 28Xét hệ mã RSA với modulus là tích của 2 số nguyên tố phân biệt Khóa riêng và khóa chung được chọn sao cho với hi đó sẽ tồn tại số nguyên sao cho
Kí hiệu và ta sẽ có
Chú ý là giá trị đã biết do à thông tin chung Như vậy ta cần phải tìm
và từ phương trình modu o trên
D Boneh và G Durfee giả sử rằng và với hi đó
có thể ước ượng
và
từ điều kiện cân bằng của là
Với giả sử và bỏ qua các hằng số đứng trước, hai tác giả xét bài toán: tìm các số nguyên và thỏa mãn , đồng thời và
Hai tác giả trên gọi bài toán này là bài toán tìm phần t gần đúng có nghịch
đảo nhỏ (small inverse problem), tức là tìm phần tử gần (ở đây à phần tử )
có nghịch đảo theo modulo nhỏ
Trang 29D Boneh và G Durfee phát biểu bài toán lại như sau: Với đa thức hai biến , hãy tìm cặp số nguyên thỏa mãn
và ,
Để có thể áp dụng ý tưởng của D Coppersmith, hai tác giả đã đưa bài toán tìm nghiệm theo modulo của đa thức về bài toán tìm nghiệm nguyên bằng định ý sau, trong đó với đa thức , chuẩn của đa thức được định nghĩa à
1.5.1.2.2 Tìm nghiệm nhỏ c th c hai biến hệ số nguyên
Để tìm nghiệm nhỏ của đa thức , D Boneh
và G Dur xét các đa thức với và chọn thích hợp Các hệ số của các đa thức này được sắp xếp th o hàng để tạo thành một ma trận , các hàng của sẽ sinh ra một dàn Một vector có các thành phần được chọn thích hợp sao cho có khả năng à v ctor ngắn nhất của Vector sẽ được tìm bằng thuật toán LLL và từ đó tìm ra
1.5.1.2.3 Kết quả ạt ược
Bằng cách như đã trình bày ở trên, D Boneh và G Durfee nhận được kết quả như Wi n r đã đạt được và cải tiến thêm để đạt được kết quả tốt hơn à có thể tìm
Trang 30được khóa riêng khi Hai tác giả cũng dự đoán à nếu cải tiến tốt hơn nữa phương pháp thì có thể mở rộng được phạm vi tấn công, tức là có thể tìm được khóa riêng nếu với Đến năm 2 3, bằng cách sửa đổi cách tấn công của D Boneh và G Durfee, các tác giả J Blomer và A May mở rộng điều kiện tấn công được RSA thành , trong đó là số hạng có thể làm nhỏ tùy ý khi modulus đủ lớn [42]
1.5.1.3 Thám mã RSA bằng dàn hai chiều
Sau lần đầu tiên được giới thiệu bởi D Coppersmith tại urocrypt’ , dàn trở thành một công cụ hữu hiệu để thám mã RSA Chúng tôi trình bày lại dưới đây phương pháp thám mã bằng dàn hai chiều được trình bày trong [60]
Xét hệ mã hóa RSA trong trường hợp và các số nguyên tố
có cùng chiều dài bit Ta có các ước ượng sau:
Do nên với
Như vậy, nếu đặt thì
Xét dàn 2 chiều trong với 2 v ctor cơ sở là và sẽ chứa vector mà , ngoài ra Do nên Ta dự đoán là vector ngắn nhất của Bằng cách dùng thuật toán Gauss cho cơ sở khởi đầu ta tìm ra ,
từ đó tìm ra
1.5.2 Thám mã RSA có khóa chung nhỏ
Việc chọn khóa chung nhỏ nhằm giảm bớt tính toán trong quá trình mã hóa, tuy nhiên điều này cũng àm cho hệ mã RSA có thể bị thám mã Có thể liệt kê các kết quả thám mã RSA trong trường hợp náy như sau
Trang 311.5.2.1 Thám mã khi biết một ph n ăn bản
Trong trường hợp hệ mã RSA có khóa riêng nhỏ, nếu biết một phần của văn bản , ta có thể t nh được toàn bộ D Coppersmith [31] đã chứng minh được kết quả sau
Định lý 1.2 Giả s là khóa chung của hệ mã RSA với modulus Nếu biết văn
bản đã mã hóa và biết tất cả, có thể ngoại trừ bit liên tiếp của văn bản , thì có thể tính được toàn bộ văn bản với thời gian là và
1.5.2.2 Thá ã q các ăn bản có liên quan
Để tránh bị tấn công bằng cách chọn văn bản gốc, thường RSA được dùng cùng với k thuật biến đổi văn bản ban đầu trước khi mã hóa Điều này dẫn đến nhiều tác giả đã khảo sát việc thám mã RSA khi biết mã hóa của các văn bản có liên quan Kết quả đáng ghi nhận sau đây của D Coppersmith, M.K Franklin, J Patarin
1.5.2.3 Rò rỉ thông tin từ khóa chung nhỏ
Một hướng nghiên cứu khác về thám mã RSA cũng được khảo sát khá nhiều ngay từ khi hệ mã RSA ra đời, đó à khảo sát phương trình để từ
đó có thể tìm ra một phần nào đó hoặc Các tác giả D Boneh, G Durfee và Y Frank đạt được kết quả rằng nếu biết và thì có thể t nh được số nguyên
mà trong thời gian đa thức theo [26] Sau đó D on h [24] khảo sát trường hợp đặc biệt khóa riêng và ch ra rằng nếu thì ta phải có
Trang 32A.Nita và T Rachidi cũng đưa ra thuật toán phân tích modulus n trong thời gian đa thức khi p và q là các số nguyên tố yếu [15]
1.6 Nhận xét về chương 1
Chúng tôi đã trình bày một số kết quả iên quan đến RSA trong chương 1 Các biến thể của RSA trong phần 1.3 sẽ được d ng để đối chứng với sơ đồ xây dựng RSA mà chúng tôi đưa ra trong chương 2 ết quả thám mã RSA bằng dàn hai chiều trong phần 1.5.1.3 ch là heuristic, chúng tôi sẽ đưa ra điều kiện đảm bảo cách tấn công này uôn thành công trong Chương 3
Trang 33Chương 2
XÂY DỰNG SƠ ĐỒ CHO RSA
Nội dung chương này gồm:
1 Xây dựng hệ mã RSA trên vành thương của vành Euc id Sau đó chỉ ra rằng
ơ đồ này bao quát hệ mã RSA gốc, RSA trên vành thương đa thức và RSA trên vành thương của vành các số nguyên Gauss
2 Xây dựng các điều kiện để xây dựng được hệ mã RSA trên một n a nhóm Sau đó chỉ ra rằng ơ đồ này ba quát được tất cả các hệ mã RSA đã được
đề cập
Như đã trình bày ở chương trước, có rất nhiều biến thể của RSA được phát triển Việc xây dựng sơ đồ cho RSA cũng à một vấn đề được nhiều người quan tâm Tuy vậy chưa có công trình nào ch ra một mô hình chung cho tất cả các biến thể của RSA Ở đây, chúng tôi quan niệm ch ra mô hình tức à ch ra một cấu trúc đại số và các điều kiện trên đó được thỏa mãn sao cho phương trình được nghiệm đúng
Chương này sẽ nêu ra hai sơ đồ cho RSA Sơ đồ thứ nhất được xây dựng trên vành thương của vành uc id, sơ đồ này bao quát được RSA gốc, RSA trên vành thương của vành các đa thức và RSA trên vành thương của vành các số nguyên Gauss Sơ đồ thứ hai được xây dựng trên một nửa nhóm, sơ đồ này bao quát được tất cả các hệ mã RSA đã đề cập trong phần 1.3
2.1 R tr n nh thương c nh c
Trong phần này, trước hết chúng tôi nhắc ại khái niệm vành uc id Sau đó sẽ xây dựng hệ mã RSA trên vành uc id dưới một số giả thiết thích hợp
Trang 34Định ngh 2.1 ột miền nguyên có đơn vị được g i à một vành Euc id nếu tồn
tại một ánh ạ thỏa mãn:
i ếu à các hần t hác trong E th
ii ếu à các hần t hác trong E th tồn tại các hần t
sao cho tr ng đó h c h c
nh xạ trong định nghĩa trên thường được gọi à ánh ạ Euc id hoặc à
chu n trên E Nếu thì ta nói rằng à ước của hay à bội của Trong
E, một phần tử được gọi à ước của đơn vị nếu tồn tại phần tử sao cho
Một phần tử được gọi à nguyên tố nếu từ hệ thức
ta suy ra một trong hai phần tử à ước của đơn vị Với phần tử , chúng
ta sẽ k hiệu à id a sinh ra bởi , đó à vành con của gồm những phần tử
Với à hai số nguyên tố, hệ thức đóng một vai trò quan trọng trong việc chứng minh hệ thức trong hệ mã RSA gốc
Để đi đến hệ thức này, trước hết chúng tôi phát biểu mệnh đề tổng quát sau, sẽ được
d ng đến nhiều trong phần 2.2
Trang 35Mệnh ề 2.1 Giả s là vành giao hoán có đơn vị, và là các ideal của sao
cho hi đó ta có đẳng cấu vành
Chứng minh
Xét ánh xạ
Có thể kiểm tra được rằng à một đồng cấu vành
Ta sẽ chứng minh là một toàn cấu Thật vậy, do nên với , trong đó à đơn vị của
Với phần tử bất kỳ , xét phần tử
Vì nên
Vì nên
hi đó Vậy là một toàn cấu
Tiếp theo ta sẽ chứng minh Thật vậy, rõ ràng
Do và nên
Ngược lại, với phần tử bất kỳ ta có Vì vậy Như vậy , tức là Áp dụng định lý về đồng cấu vành ta có ■
Từ mệnh đề trên, chúng ta có ngay tính chất nhân tính của hàm như sau
Hệ quả 2.1 ếu thỏa mãn th
hứng minh
Trang 36Kí hiệu là các ideal trong E sinh bởi và Giả thiết suy ra hệ thức với nào đó Do nên , điều này dẫn đến Áp dụng Mệnh đề 2.1 ta có
Bằng cách lấy số phần tử khả nghịch trong các vành ở hai vế đẳng thức trên, ta nhận được hệ thức ■
ây giờ chúng ta sẽ chứng minh hệ thức cơ bản trong RSA hiệu được
d ng để ch phần tử chứa trong vành thương E với
Mệnh ề 2.2 iả à các hần t nguyên tố tr ng vành Euclid và ; à các ố nguyên thỏa mãn và
trong
Trang 372.1.1 ơ ồ R tr n nh thương c a vành Euclid
Sinh hóa
.Chọn hai phần tử nguyên tố phân biệt và t nh
.Chọn số nguyên thỏa mãn với
à các biến thể của sơ đồ đã ch ra ở trên
2.1.2.1 ệ ã R gốc
Trong trường hợp này, vành được xét à vành các số nguyên Phép chia trên à phép chia giữa các số nguyên Với , chuẩn của à số , ideal sinh bởi à tập các bội số của và vành thương ch nh à vành Hàm u r ch nh à số các phần tử khả nghịch trong , cũng
ch nh à số các số trong tập nguyên tố c ng nhau với Hàm
u r tại số nguyên tố được t nh bởi và với à t ch của hai
Trang 38số nguyên tố phân biệt thì Do việc mã hóa và giải mã được thực hiện bằng phép chia cho nên các phép t nh trong quá trình mã hóa và giải mã x m như được tiến hành trong vành thương
2.1.2.2 Hệ mã R tr n nh thương các th c
Đối với biến thể này của RSA, vành được xét à vành đa thức gồm các đa thức th o biến với hệ số thuộc , trong đó à một số nguyên tố Phép chia uc id trên ch nh à phép chia đa thức thông thường Với , chuẩn của ch nh à bậc của , vành thương có thể x m như gồm các đa thức có bậc nhỏ hơn bậc của Một phần tử à nguyên tố nếu à bất khả quy trong , khi đó hàm u r tại được t nh bởi với à bậc của
Trong biến thể này, hai đa thức bất khả quy được chọn có bậc ần ượt à và hi đó đa thức sẽ có bậc à và ta có
Đối với biến thể này của RSA, ta chọn hai phần tử nguyên tố và
t nh , trong đó là vành các số nguyên Gauss hi đó Các khóa chung và khóa riêng được chọn sao cho Mỗi văn bản sẽ được mã hóa thành Sau đó sẽ được giải mã bằng cách t nh
Trang 392.1.3 Nhận t ề sơ ồ
Sơ đồ trên của RSA ch bao quát cho những biến thể RSA được xây dựng trên vành uc id Trên nhóm nhân các ma trận hay trên nhóm đường cong iptic rất khó để xây dựng một phép chia Euclid và do đó không thể áp dụng sơ đồ trên để xây dựng hệ mã RSA trên các cấu trúc này Trên các vành không thể định nghĩa được phép chia Euclid hay trên nhóm nhân, hệ thức phải được xây dựng bằng con đường khác Trong phần tiếp th o, chúng tôi xây dựng các điều kiện để có được hệ thức trên một nửa nhóm và ch ra rằng, có thể áp dụng sơ đồ này
để xây dựng tất cả các RSA trong phần 1.3 Chúng tôi cũng ch ra rằng, sơ đồ trong phần này là một trường hợp đặc biệt của sơ đồ tổng quát hơn trong phần 2.2 ngay dưới đây
2.2 ơ ồ cho RSA trên nửa nhóm
Trong phần chứng minh Mệnh đề 2.2, hệ thức được suy ra từ định lý Lagrange trong lý thuyết nhóm Do đó chúng ta có thể xây dựng hệ thức dựa trên ch các điều kiện về nhóm Trong phần này chúng tôi sẽ đưa ra các điều kiện cần có sao hệ thức được thỏa mãn trên một nửa nhóm Sau
đó chúng tôi sẽ ch ra rằng hệ mã RSA gốc c ng với các biến thể của nó trong phần 1.3 sẽ à trường hợp đặc biệt của sơ đồ
Mệnh ề 2.3 iả rằng
a ồn tại hai n a nhóm và hai đồng cấu
Trang 40b ồn tại hai nhóm và hai nhóm sao cho
là phần tử đơn vị của Vì nên với hi đó
Với các giả thiết như trong mệnh đề trên, chúng ta có thể xây dựng trên hệ
mã RSA như sau