Ứng dụng tính toán hiệu năng cao trong phân tích mã

15:13 | 23/09/2015

Hệ thống tính toán hiệu năng cao (High Performance Computing - HPC) có vai trò quan trọng trong việc giải quyết các bài toán có độ phức tạp lớn trong quá trình xây dựng, phân tích và đánh giá độ an toàn của các hệ thống mật mã. Bài báo này giới thiệu khái quát về hệ thống HPC và đề cập một số ứng dụng của hệ thống HPC trong phân tích mật mã.

Giới thiệu về hệ thống tính toán hiệu năng cao

HPC gắn với tên tuổi Hans Meuer - giáo sư Khoa học máy tính tại Đại học Mannheim, đồng thời là Giám đốc quản lý của Prometeus GmbH. Năm 1986, ông là người đồng sáng lập tổ chức Hội nghị Siêu máy tính Mannheim, sau này được gọi là Hội nghị siêu máy tính quốc tế (tổ chức hàng năm kể từ năm 2001).



Hệ thống tính toán hiệu năng cao sử dụng phương pháp xử lý song song để thực thi các chương trình ứng dụng một cách hiệu quả, tin cậy và nhanh chóng và tên gọi này được sử dụng cho các hệ thống tính toán có hiệu năng lớn hơn 1 TFLOPS (Teta Floating-Point Operations Per Second, cỡ 1012 phép toán dấu phẩy động trên giây). Người ta cũng có thể sử dụng cụm HPC thay cho thuật ngữ siêu máy tính (supercomputer), mặc dù dưới góc độ công nghệ thì siêu máy tính là thuật ngữ dùng để chỉ một hệ thống thực thi ở mức độ tính toán ở mức gần như cao nhất. Một số siêu máy tính làm việc với hiệu năng lớn hơn 1 PFLOPS (Peta Floating - Point Operations Per Second, cỡ 1015 phép toán dấu phẩy động trên giây). Ví dụ, hệ thống siêu máy tính Blue Gene/P của Phòng thí nghiệm quốc gia Argone chạy trên 250 nghìn bộ vi xử lý và đặt trong 72 tủ rack được kết nối với nhau qua mạng cáp quang tốc độ cao (Hình vẽ).

Việc sử dụng máy tính hiệu năng cao trong các ngành khoa học - kỹ thuật đã và đang góp phần thay đổi cơ bản tiến trình nghiên cứu khoa học. HPC đã được ứng dụng để hỗ trợ tính toán trong các ngành khoa học như: sinh học, hoá học, vật lý, vật liệu, cơ học, địa vật lý, thống kê.... với đặc điểm chung là việc xử lý thông tin, phân tích và dự báo kết quả nghiên cứu ứng dụng tính toán, mô phỏng qua máy tính điện tử.

Nhiều nước trên thế giới đã xem HPC là một biểu tượng sức mạnh quân sự của quốc gia và đầu tư lớn về tài chính và nhân lực cho lĩnh vực này. Hệ thống HPC đã góp phần quan trọng vào quá trình thiết kế và phát triển các phương tiện, vũ khí hiện đại, lập kế hoạch và thực hiện các kịch bản hoạt động quân sự, nghiên cứu về thám mã và các vấn đề liên quan đến an ninh, an toàn thông tin.

Hệ thống HPC ứng dụng trong phân tích mã

Một trong những lý do thúc đẩy sự phát triển của các hệ thống máy tính hiện đại là từ ý tưởng về phân tích mã của các nhà thám mã, trong những năm đầu thế kỷ 20. Độ phức tạp của các hệ thống thiết bị mật mã đã phát triển từ kỹ thuật cơ khí đến hệ thống điện tử và tương lai sẽ là hệ thống tính toán lượng tử. Người ta đã phát triển nhiều phương pháp hiệu quả để xây dựng và phân tích chúng, trong đó có ứng dụng các hệ thống HPC với khả năng tính toán mạnh, có thể đáp ứng được nhu cầu nghiên cứu và triển khai thực tế các hệ mật hiện đại. Các lớp bài toán tính toán song song, hiệu năng cao được ứng dụng trong mật mã bao gồm:

- Lớp tính toán song song phân tán đơn giản, bao gồm tấn công vét cạn (brute-force) và các dạng biến thể của chúng. Trong lớp này, mỗi công việc có thể thực hiện độc lập, chỉ cần một lượng nhỏ dữ liệu đầu vào (ví dụ 1 cặp rõ/mã) và một phần mô tả không gian khóa (có thể là một tập con khóa ngẫu nhiên). Ngoài ra, còn một số tấn công khác như tìm kiếm va chạm đối với hàm băm.

- Lớp các bài toán lớn, bao gồm tính toán chỉ số dựa trên việc sàng để phân tích số nguyên lớn và tính logarit rời rạc. Trong lớp này, giai đoạn đòi hỏi khả năng tính toán lớn nhất (giai đoạn sàng) được thực hiện song song phân tán, tuy nhiên, quá trình này tạo ra một lượng dữ liệu rất lớn cần được thu thập tập trung. Việc thu thập dữ liệu này vẫn còn đơn giản hơn so với độ phức tạp tính toán cần phải thực hiện, tuy vậy, đây cũng là một công việc rất khó khăn. Giai đoạn tiếp theo là chuyển dữ liệu thu được về để xử lý trên một hệ phương trình tuyến tính lớn và sau đó giải hệ bằng cách sử dụng phương pháp khử Gaussian cấu trúc. 

Arien Lenstra và các cộng sự đã dựa vào độ phức tạp tính toán và sức mạnh tính toán của hệ thống HPC để đánh giá, đưa ra các tiêu chuẩn thiết kế đối với các giao thức mật mã và kích cỡ khóa cho các hệ mật. Ví dụ, hệ mật khóa công khai RSA có độ an toàn dựa vào độ phức tạp tính toán của bài toán phân tích số. Các kỷ lục phân tích số thách đố RSA đều được thực hiện trên các Hệ thống HPC. Hiện tại, kỷ lục phân tích số thách đố RSA thuộc về T. Kleinjung, A. Lenstra và các cộng sự, họ đã phân tích thành công RSA 232 (cỡ 768 bit) với thời gian gần 3 năm trên Hệ thống HPC lớn có 600 lõi với dung lượng bộ nhớ cỡ 105 TB. Kết quả này được công bố tại Hội nghị Crypto’ 2010. Căn cứ vào các kỷ lục phân tích số đó, các nhà mật mã học khuyến cáo rằng: kích thước khóa hợp số RSA modulus phải lớn hơn 2048 bit mới đáp ứng được yêu cầu an toàn cho hệ mật RSA.

Việc thực hiện các tính toán phân tích mã là một công cụ hữu hiệu để xác định mức an toàn thực sự của các nguyên thủy mật mã và các hệ mật mã. 

Ứng dụng HPC trong lĩnh vực mật mã đã đạt một số kết quả như sau:

- Phân tích, đánh giá các hệ mật khóa công khai có độ an toàn dựa vào bài toán phân tích số (hệ mật RSA) và tính logarit rời rạc trên trường hữu hạn (hệ mật Elgamal và DSA). Thực hiện phân tích số RSA 135 theo phương pháp sàng trường số NFS (cần 6,66 ngày) trên hệ thống HPC. Từ kết quả tính toán này, người ta đưa ra khuyến cáo rằng, hệ mật khóa công khai RSA với tham số modulus cỡ 153 chữ số thập phân (500 bit) sẽ không an toàn quá 1 năm với khả năng phân tích của các hệ thống HPC hiện có. Ngoài ra, kết quả triển khai tính logarit rời rạc trên trường hữu hạn GF(p) với p là số nguyên tố cỡ 73 chữ số thập phân (240 bit) trong vòng 15 ngày trên hệ thống HPC, cho phép đánh giá rằng, các hệ mật khóa công khai dựa vào bài toán tính logarit rời rạc trên trường hữu hạn GF(p) (như Elgamal và DSA) với p là số nguyên tố cỡ 85 chữ số thập phân (280 bit) sẽ không an toàn quá 1 năm đối với hệ thống HPC hiện có.

- Phân tích, đánh giá và xây dựng các hệ mật khóa bí mật: Mô phỏng thám mã Saturation thành công với AES 5 vòng có độ phức tạp là 5×246 phép mã hóa; Thực hiện đánh giá xác suất tuyến tính trung bình cực đại (Maximum Expected Linear Probability - MELP), xác suất vi sai trung bình cực đại (Maximum Expected Differential Probability - MEDP) và lựa chọn hộp thế an toàn cho các thuật toán mã khối trên hệ thống HPC.

Kết luận

Sự phát triển của các hệ thống HPC có mối quan hệ chặt chẽ với lĩnh vực mật mã, cả lập mã và phân tích mã. Mỗi cải tiến mới về mật mã đều dựa vào các kết quả phân tích mã trên các HPC hiện đại. Khi Hệ thống tính toán hiệu năng cao được nâng cấp lên thì lĩnh vực mật mã cũng phát triển lên một tầm cao mới. Hệ thống HPC giúp giải quyết các bài toán có độ phức tạp lớn trong việc xây dựng, phân tích và đánh giá độ an toàn của các hệ thống mật mã. Bởi vậy, việc đầu tư và khai thác hiệu quả hệ thống HPC góp phần đáp ứng nhiệm vụ nghiên cứu và triển khai các hệ mật trong thực tế ở nước ta.


Trang web http://www.top500.org cập nhật 6 tháng/lần danh sách Hệ thống HPC Top 500 trên thế giới. Dẫn đầu Top 500 là các HPC thuộc về các cường quốc kinh tế và quân sự như Trung Quốc, Mỹ, Nhật Bản….

Bảng dưới đây thể hiện các Siêu máy tính của các quốc gia có hiệu năng lớn hơn 1 PFLOPS.