Mã hoá bất đối xứng

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 29 - 32)

Chương 1 TỔNG QUAN VỀ THUẬT TOÁN MÃ HOÁ

1.2 Mã hoá bất đối xứng

Ý tưởng cơ bản của mật mã bất đối xứng được công bố năm 1976 bởi Whitfield Diffie và Martin Hellman [95]. Theo ý tưởng này, mật mã không đối xứng, còn được gọi là mật mã khố cơng khai, sử dụng hai khóa khác nhau (trái ngược với mật mã đối xứng), khóa bí mật được sử dụng để giải mã các bản mã, và một khóa được sử dụng để mã hóa văn bản rõ, nhưng theo giả định của thuật tốn này thì khơng thể có được khóa này dựa trên các thơng tin biết được của khóa kia. Sự bảo mật của mã hóa bằng cách sử dụng mật mã phi đối xứng dựa trên một trong những bài tốn khó của lý thuyết số, thuộc về lớp các bài tốn NP-complete, như phân tích số lớn thành nhân số (mật mã RSA), hệ mật sử dụng cơ chế cộng điểm trên đường cong Elliptic hoặc tính tốn các thuật tốn rời rạc (thuật tốn ElGamal) [5], [14].

1.2.1 Thuật tốn mã hóa RSA

Thuật tốn RSA là thuật toán mật mã phi đối xứng phổ biến nhất. Thuật toán này được phát minh bởi Ron Rivest, Adi Shamir và Leonard Adleman năm 1977 [77]. Độ an toàn của hệ thống mật mã RSA dựa trên tính khó của bài tốn phân tích số ngun lớn ra các thừa số nguyên tố. Hiện nay RSA là hệ thống mật mã khóa cơng khai được dùng phổ biến trong các ứng dụng bảo mật thơng tin. Nó được sử dụng để cung cấp sự đảm bảo tính bí mật và các chữ ký số.

Trong thuật tốn RSA, một cặp khóa (một khóa cơng khai và một khóa bí mật) là một hàm của một cặp số nguyên tố lớn, do đó có được văn bản rõ dựa trên một bản mã khi biết khố cơng khai là tương tự như bài tốn phân tích ra nhân tử của tích các số nguyên tố được lựa chọn. Thuật toán RSA bao gồm ba yếu tố liên quan:

• Thủ tục tạo cặp khóa,

• Thủ tục để mã hóa bản rõ (plaintext) sử dụng khóa cơng khai, • Thủ tục để giải mã một bản mã sử dụng khóa bí mật.

Các thuật tốn RSA có thể được cải tiến bằng cách sử dụng các phương pháp và thuật toán nhất định trong lĩnh vực lý thuyết số, ví dụ phương pháp cộng theo chuỗi [23], phương pháp Montgomery [75], thuật toán Barrett [72], thuật toán Euclid [24], Định lý Fermat [14], định lý phần dư Trung Hoa [5], [14], [23] hoặc thuật toán nhân Karacuba [65].

Nếu bài tốn phân tích ra thừa số nguyên tố các số ngun lớn là khó (khơng tìm được thuật tốn hiệu quả để giải) thì việc phá mã tồn bộ đối với RSA không thể thực hiện được. Năm 2005, số lớn nhất có thể được phân tích ra thừa số ngun tố có độ dài 663 bít với phương pháp phân tán trong khi khóa của RSA có độ dài từ 1024 tới 2048 bít. Một thiết bị lý thuyết có tên là TWIRL do Shamir và Tromer mô tả năm 2003 đã đặt ra câu hỏi về độ an tồn của khóa 1024 bít. Vì vậy, hiện nay người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bít.

Năm 1993, Peter Shor cơng bố thuật tốn Shor chỉ ra rằng: máy tính lượng tử (trên lý thuyết) có thể giải bài tốn phân tích ra thừa số trong thời gian đa thức. Tuy nhiên, máy tính lượng tử vẫn chưa thể phát triển được tới mức độ này trong nhiều năm nữa.

Năm 2010, các nhà khoa học thuộc đại học Michigan đã công bố phát hiện một kẽ hở trong hệ thống mật mã hố RSA. Cách phá vỡ hệ thống, lấy khóa bí mật RSA 1024 bit chỉ trong vài ngày thay vì vài năm nếu tấn cơng theo cách thơng thường - tấn cơng bằng brute force (dị tìm lần lượt). Các nhà khoa học tạo một điện thế lớn để gây lỗi hệ thống, từ đó giúp tìm ra khố bí mật. Việc tấn cơng được thực hiện trên một FPGA. Báo cáo được trình bày tại hội nghị DATE 2010 diễn ra tại Dresden, Đức tháng 3 năm 2010.

Các khuyến nghị về độ dài Modulus N, các điều kiện cần tuân thủ của

các tham số RSA (e, d, p, q) đã được đề cập trong các tiêu chuẩn của thế giới.

1.2.2 Thuật toán dựa trên đường cong Elliptic

Trong vài ba thập kỷ gần đây, đường cong elliptic đóng vai trị quan trọng đối với lý thuyết số và mật mã. Vào những năm 1980, kỹ thuật đường cong elliptic đã được phát triển cho bài toán phân tích số, kiểm tra tính nguyên tố và ứng dụng trong mật mã khóa cơng khai. Sang thập kỷ 1990, đường cong elliptic được sử dụng để chứng minh Định lý lớn Fermat. Lý do chính để hệ mật đường cong elliptic ngày càng được sử dụng nhiều bởi vì chúng cung cấp tính an tồn tương đương với các hệ mật khóa cơng khai cổ điển trong khi độ dài khóa nhỏ hơn rất nhiều. Người ta đã ước lượng rằng cỡ khoá 3248 bit của hệ mật RSA cho cùng một độ an toàn như 256 bit của hệ mật đường cong elliptic [50]. Điều này có nghĩa là việc cài đặt các hệ mật đường cong elliptic sử dụng tài nguyên hệ thống bé hơn, năng lượng tiêu thụ ít hơn.... Việc sinh một khoá RSA 512 bit mất khoảng 4 phút, trong khi sinh một khố ECDSA 163 bit mất có 0,597 giây. Mặc dù một số thủ tục, chẳng hạn như việc kiểm tra chữ ký số, là nhanh hơn không đáng kể đối với RSA, nhưng với ưu thế về độ

dài khóa nhỏ, hệ mật Elliptic đang dần thay thế RSA, trở thành một trong những hệ mật khóa cơng khai được ứng dụng rộng rãi.

Đường cong Elliptic là một trường hợp đặc biệt của phương trình Diophant. Lý thuyết về đường cong Elliptic (EC) rất phong phú và đồ sộ. Trong nghiên cứu của mình tác giả Serge Lang đã phát biểu về phương diện học thuật: “Có thể viết vơ tận về đường cong Elliptic” [50].

Với ý nghĩa to lớn cả về thực tiễn và học thuật, EC là nền tảng toán học quan trọng trong đại số hiện đại cũng như lý thuyết mật mã hiện đại. EC cũng là nền tảng quan trọng trong chính phủ điện tử và thương mại điện tử. Chính vì những điều này mà “Hệ mật mã khóa cơng khai dựa trên đường cong Elliptic” được lựa chọn để trình bày một phần trong luận án. Ngồi ra, cơ sở tốn học của đường cong Elliptic cũng sẽ là nền tảng chủ yếu mà luận án sẽ sử dụng để phát triển các phương pháp trao đổi khóa và xây dựng thuật tốn mới, hiệu quả nhân nhanh đa thức với hệ số nguyên sử dụng biến đổi Fourier nhanh. Các cặp song tuyến tính, cũng như hệ mật định danh cũng đều dựa trên nền tảng toán học của đường cong Elliptic. Hệ mật này cũng sẽ được sử dụng trong luận án.

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 29 - 32)

Tải bản đầy đủ (PDF)

(152 trang)