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ố ngun 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 tố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.
1.3 Tình hình nghiên cứu trong và ngồi nước đối với việc nâng cao hiệu năng một số thuật tốn mã hóa
1.3.1 Tình hình nghiên cứu ngồi nước
Để tăng độ an tồn và bảo mật các thơng tin được mã hóa truyền trên kênh thơng tin cơng cộng, người ta đưa ra nhiều thuật tốn mật mã, với độ mật và độ dài khóa ngày càng cao như: DES, TripleDES, IDEA, AES, RC5, Blowfish, mật mã khóa cơng khai RSA, hệ mật trên đường cong Elliptic như: “A Signature Scheme Based on Implicit and Explicid Certificates Against k- Traitors Conllusion Attack” (Tomasz Hyla, JerzyPejas, 2017 tại Hội nghị IFIP International Conference on Computer Information Systems and Industrial Managment), “Variantions to the cryptographic alogirhtms AES and TwoFish” (Freyre P., DíazN., https://eprint.iacr.org, 2019)….
Để xây dựng được một mã khối vừa hiệu quả và đủ an tồn thì bài tốn nghiên cứu cho xây dựng thành phần mật mã như S-hộp và tầng tuyến tính là cấp thiết. Gần đây, các nhà thiết kế mã khối trên thế giới đã đưa ra nhiều phương pháp và kết quả lý thuyết lẫn thực hành để giải quyết bài toán này. Đối với thành phần phi tuyến S-hộp, có thể kể tới các cơng trình nghiên cứu các S-hộp 4-bit của: Liu Bozhong, Zheng Gong,... (2011) “On the security of 4-bit involutive S-boxes for lightweight designs”. (Information Security Practice
and Experience. Springer, 247-256) và Zhang Wentao, Zhenzhen Bao,...(2015)
“A New Classification of 4-bit Optimal S-boxes and its Application to PRESENT, RECTANGLE and SPONGENT”. International Workshop on Fast
Software Encryption. Springer... Đối với phương pháp xây dựng tầng tuyến tính dựa trên các ma trận MDS thường được sử dụng do tầng tuyến tính nhận được có tính khuếch tán tối ưu nhưng mặt cài đặt của nó lại có gặp những khó khăn nhất định do sự hạn chế của tài nguyên thiết bị.
Đối với các mã pháp dạng AES, tầng tuyến tính bao gồm phép biến đổi AES ShiftRows và phép biến đổi AES MixColumns. Trong đó ShiftRow là một hốn vị các từ của trạng thái và MixColumns là phép nhân ma trận với một cột của trạng thái và cũng là phép tính phức tạp tiêu tốn nhiều thời gian trong tầng tuyến tính ví dụ: Зензин, О. and М. Иванов, “Стардарт криптографической
защиты-AES”. Конечные поля. 2002: КУДРИЦ-ОБРАЗ М..
Trong tầng tuyến tính của AES, ma trận MDS sử dụng là một ma trận vòng được lựa chọn kỹ lưỡng trên cơ sở đảm bảo độ an toàn và khả năng cài đặt. Tuy nhiên theo đánh giá trên quan điểm điểm bất động của tác giả Z’aba M. R. [3] “Analysis of linear relationships in block ciphers”. Luận án tiến sĩ của Queensland University of Technology, 2010. thì tầng khuếch tán này lại có 216 điểm bất động, tác giả chỉ ra sự tương quan tỷ lệ nghịch giữa độ khuếch tán và số điểm bất động đó là càng nhiều điểm bất động thì độ khuếch tán càng thấp, điều này ảnh hưởng trực tiếp đến tính an tồn của thuật tốn mã khối.
Mặt khác, do hạn chế năng lực của các thiết bị tính tốn, thiết bị xử lý mật dữ liệu… mà để tăng độ mật dữ liệu được mã hóa, người ta đưa ra các hệ mật khác nhau với độ dài khóa mã ngày càng tăng. Điều đó dẫn đến thời gian cần thiết để mã hóa và giải mã dữ liệu kéo dài (tăng theo), độ phức tạp tính tốn cũng tăng theo... trong khi yêu cầu trong an ninh - quốc phịng và trong bảo mật thơng tin kinh tế - xã hội địi hỏi phải: bí mật, nhanh chóng, chính xác, an tồn, hiệu quả và tiện dụng…. Vì vậy, nghiên cứu để nâng cao hiệu năng của một số thuật toán mật mã ứng dụng trong mã hóa và giải mã dữ liệu… trong giai đoạn hiện nay là một nội dung có tính thời sự, khoa học và có ý nghĩa thực tiễn.
Để nâng cao hiệu năng của một số thuật toán mật mã, trên thế giới người ta đã đề xuất nhiều biện pháp khác nhau như: cứng hóa các thuật tốn mật mã bằng cách ứng dụng hệ thống vi mạch có thể lập trình (FPGA) hoặc (ASICs)… nhằm tăng tốc độ của mã hóa và giải mã của thuật tốn cụ thể (ví dụ. DES, IDEA, AES, RSA), trong số những cơng trình này [4], [20],...
Trong một số cơng trình nghiên cứu về khả năng cài đặt cứng hóa trên FPGA đối với AES như Elbirt, A.J., et al., “An FPGA-based performance evaluation of the AES block cipher candidate algorithm finalists. Very Large Scale Integration (VLSI) Systems”, IEEE Transactions on, 9(4); p. 545-557 và
Chodowiec, P. and K. Gaj, “Very compact FPGA implementation of the AES algorithm”, in Cryptographic Hardware and Embedded Systems-CHES,
Springer. p. 319-333 thì các phương pháp cài đặt tầng tuyến tính chủ yếu dựa trực tiếp trên phép nhân với các hằng số của ma trận trong biến đổi MixColumns. Mặc dù các hằng số của ma trận này được lựa chọn để dễ dàng cài đặt, tuy nhiên phép nhân trực tiếp khi cứng hóa là chưa tối ưu và chưa đưa ra được một đánh giá trực quan về chiều sâu thiết kế của mạch phần cứng nhận được.
Cơng trình của Sim, S.M.,... “Lightweight MDS Involution Matrices”. in FSE. 2015. nhóm tác giả đã đề xuất một số ma trận MDS và MDS cuộn có dạng Hadamrd hiệu quả trong cài đặt phần cứng. Các tác giả đã đưa ra số cổng XOR
cần thiết đối với mỗi một ma trận đề xuất, tuy nhiên những đánh giá cho tài nguyên cài đặt phần cứng của nhóm tác giả này chưa đưa ra chiều sâu thiết kế (số xung nhịp), đây là yếu tố có ảnh hưởng trực tiếp đến tốc độ xử lý của mạch phần cứng. Hơn nữa tầng tuyến tính mà mã pháp dạng AES sử dụng ma trận MDS Hadamard cuộn lại có nhiều điểm bất động.
Ngồi thực hiện thiết kế phần cứng cho máy tính tuần tự truyền thống cũng đang triển khai ứng dụng phần cứng chuyên dụng có thể sử dụng nhiều bộ xử lý [25]. Tuy nhiên, do hạn chế của các phần cứng chuyên dụng nên các kết quả đạt được nhằm nâng cao hiệu năng tính tốn (cả về độ mật và tốc độ tính tốn mã hóa và giải mã…) vẫn cịn hạn chế.
Sự phát triển năng động của công nghệ phần cứng, đáng tiếc là không thể trực tiếp làm tăng được một cách đáng kể tốc độ mã hóa và giải mã các thơng tin, vì các thuật tốn mã hóa hiện đang sử dụng được thiết kế điển hình theo các thuật tốn tuần tự do các giải pháp công nghệ trước đây. Ban đầu người ta chỉ nhằm mục tiêu cứng hóa (DES),.... và do đó chưa sử dụng hết cơng suất của máy tính. Vì vậy, cần nghiên cứu xây dựng, cải tiến các hệ mật, các thuật toán, các phần mềm chuyên dụng… nhằm nâng cao hiệu suất thực hiện các thuật tốn mã hóa, giải mã... đáp ứng nhu cầu bảo mật thông tin với một dung lượng tin mật cao, trong thời gian thực… phục vụ cho chỉ đạo, chỉ huy trong lĩnh vực An ninh - Quốc phòng và lĩnh vực Kinh tế - Xã hội có tính cấp thiết và ý nghĩa khoa học, thực tiễn cao. Đó cũng là một trong những lý do mà nghiên cứu sinh đề xuất nội dung nghiên cứu này.
1.3.2 Tình hình nghiên cứu trong nước
Trong nước cũng đã có nhiều đề tài nghiên cứu nhằm tăng độ an tồn hệ mật như các đề tài:
Cơng trình “Nghiên cứu, xây dựng giải pháp tích hợp mật mã vào
quá trình truyền tin đảm bảo an tồn thơng tin trên mạng máy tính”, (LATS-2017-Học viện Cơng nghệ Bưu chính Viễn thơng-Nguyễn Ngọc
Điệp) đã nghiên cứu đề xuất 02 ma trận tuyến tính có tính chất mật mã tốt để cải tiến tầng tuyến tính của các mã pháp dạng AES. Xây dựng mã khối trên cơ sở mã pháp dạng AES kính thước khối 128 bit, kích thước khóa 256 bit với ma trận MDS tựa vòng. Tuy nhiên hướng nghiên cứu phát triển luận án ghi rõ cần tiếp tục nghiên cứu phát triển các thành tố mật mã mới theo hướng đảm bảo an tồn và hiệu quả trong các mơi trường sử dụng và ứng dụng ma trận đã đề xuất vào cài đặt phần cứng cụ thể đối với mã pháp tựa AES để có thể đánh giá chính xác hơn ảnh hưởng của tầng tuyến tính đề xuất.
Cơng trình “Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng
dụng” (LATS-2011-VNCKH và CNQS-Hoàng Văn Thức), “Nghiên cứu
phương pháp tự động bảo mật tín hiệu tiếng nói trong mạng truyền thơng”, (LATSKT-2009,HVKTQS-Đặng Vũ Hồng),
Cơng trình “Nghiên cứu xây dựng tiêu chuẩn an toàn cho tham số hệ
mật Elliptic và ứng dụng” (LATS-2011-VNCKH và CNQS-Nguyễn Quốc Toàn) nhằm giải quyết bài toán xây dựng và đưa ra tiêu chuẩn an toàn cho
hệ mật Elliptic đáp ứng nhu cầu bảo mật cho lĩnh vực kinh tế xã hội và an ninh quốc phòng, Đã đề xuất về mặt định lượng cho 05 tiêu chuẩn đã có: tiêu chuẩn EC1 về ngưỡng an toàn, tiêu chuẩn EC2 về độ dài khóa, tiêu chuẩn EC3 về độ dài modulo, tiêu chuẩn EC5 về điều kiện MOV, tiêu chuẩn EC6 về ước của bậc nhóm. Tuy nhiên luận án tập trung nâng cao độ an toàn của thuật toán mà chưa chú trong đến hiệu năng thực hiện và cách thức cài đặt vào mạng thông tin mật mã cụ thể.
“Nghiên cứu xây dựng một số dạng lược đồ mới cho chữ ký số tập
thể”, (LATSTH-2017, VKH và CNQS-Đặng Minh Tuấn) đã đề xuất 03 lược
đồ: chữ ký số tập thể đa thành phần dựa trên hệ mật trên đường cong elliptic và chữ ký số tập thể đa thành phần dựa trên bài toán logarithm rời rạc; chữ ký số tập thể đa thành phần dựa trên cặp song song tuyến tính...Tuy nhiên luận án tập trung vào nội dung nâng cao độ an tồn của các thuật tốn đề
xuất, chưa giải quyết vấn đề hiệu năng các lược đồ chữ ký số đề xuất (về tốc độ tính tốn và tài nguyên sử dụng...)