Hồ Văn Canh Năm bảo vệ: 2007 Abstract: Trình bày lịch sử cũng như khái niệm về các hệ mã thuộc dòng mã truyền thống, dòng mã đối xứng, mã bất xứng; Trình bày các thuật toán tấn công h
Trang 1Xây dựng thuật toán tấn công RSA không cần
phân tích nhân tử
Nguyễn Anh Tuấn
Trường Đại học Công nghệ Luận văn ThS chuyên ngành: Hệ thống thông tin; Mã số: 60 48 05
Người hướng dẫn: TS Hồ Văn Canh
Năm bảo vệ: 2007
Abstract: Trình bày lịch sử cũng như khái niệm về các hệ mã thuộc dòng mã truyền
thống, dòng mã đối xứng, mã bất xứng; Trình bày các thuật toán tấn công hệ mật RSA như: các tấn công cơ bản-modul chung, mù, tấn công vào số mũ công khai hoặc số mũ
bí mật thấp, tấn công dựa trên thời gian hay dựa trên các lỗi ngẫu nhiên, ngoài ra còn trình bày các thuật toán tấn công RSA bằng nhân tử hóa số n với số n lớn, từ các thuật toán nghiên cứu đề xuất phương pháp tấn công RSA mà không cần phân tích nhân tử
Keywords: Công nghệ thông tin, Hệ mật RSA, Thuật toán
Content
LỜI NÓI ĐẦU
Hệ mật RSA được phát minh bởi Ron Rivest, Adi Shamir, và Len Adleman, công bố lần đầu vào tháng 8 năm 1977 trên tạp chí khoa học Mỹ Hệ mật sử dụng trong lĩnh vự đảm bảo tính riêng tư và cung cấp cơ chế xác thực của dữ liệu số Ngày nay, RSA đã được phát triển ứng dụng rộng rãi trong thương mại điện tử Nó được sử dụng trên Web servers và trên các Browsers nhằm đảm bảo an ninh đường truyền, được sử dụng trong việc tạo khóa và xác thực của mail, trong truy cập từ xa…, và đặc biệt nó là hạt nhận của hệ thống thanh toán điện
tử Tóm lại, RSA được ứng dụng rộng rãi trong các lĩnh vực nơi mà an ninh an toàn thông tin được đòi hỏi
Ngay từ khi được công bố lần đầu, hệ RSA đã được phân tích hệ số an toàn bởi nhiều nhà nghiên cứu Mặc dầu đã trải qua nhiều năm nghiên cứu và đã có một số cuộc tấn công ấn tượng nhưng không mang lại kết quả là phá hủy Đa phần họ mới chỉ ra được những mỗi nguy hiểm tiềm ẩn của RSA mà khi sử dụng RSA người dùng cần cải thiện Thực tế vấn đề thám mã đối với hệ mật RSA hiện tại đang được các nhà nghiên cứu tập trung khai thác các
sơ hở của RSA như: tấn công vào số mũ công khai hoặc số mũ bí mật thấp, tấn công vào các tham số nguyên tố p, q bé hoặc cách xa nhau lớn, hoặc họ tập trung vào việc phân tích nhân
tử số n(modul của RSA) Tuy nhiên đối với số n lớn, chẳng hạn từ n=1024 trở lên thì các
Trang 2phương pháp hiện tại không phát huy được hiệu quả hoặc chạy chậm và tỏ ra không có kết quả như mong muốn
Xuất phát từ thực tế đó, em đã phân tích về mặt toán học hệ mật để tìm cách thu hẹp khoảng cách mà thuật toán phải dò tìm số nguyên tố p kết hợp đưa ra một thuật toán tấn công vào RSA mà không phải phân tích nhân tử Và qua nghiên cứu cài đặt phương pháp tổng hợp này tỏ ra có hiệu quả cao hơn các thuật toán đã được công bố mới đây Nội dụng của phương pháp này sẽ được em trình bày trong chương cuối của luận văn
Để phục vụ cho việc phân tích các tính chất của hệ mật RSA, em đã trình bày tổng
quan về mật mã và thám mã trong chương I – “Tổng quan về mật mã và thám mã” Ở
chương này, em trình bày chi tiết về lịch sử cũng như các khái niệm về các hệ mã thuộc dòng
mã truyền thống cũng như dòng mã đối xứng, mã bất đối xứng giúp giúp chúng ta hiểu cơ sở
lý thuyết về các hệ mật mã Vấn đề thám mã nói chung và thám mã đối với hệ mật RSA cũng được em trình bày kỹ trong chương này
Trên cơ sở hiểu các hệ mật được trình bày ở chương I, để có cái nhìn tổng quan về vấn đề thám mã đối với hệ mật RSA trong những năm qua, em đã tổng kết lại các phương
pháp và kết quả đã được công bố trong chương II của luận văn – “Tổng kết những kết quả tấn
công vào hệ mật RSA trong những năm qua” Trong chương này em đã trình bày chi tiết các
thuật toán tấn công vào hệ mật RSA như: các tấn công cơ bản – modul chung, mù; tấn công vào số mũ công khai hoặc số mũ bí mật thấp; tấn công dựa trên thời gian hay dựa trên các lỗi ngẫu nhiên… Ngoài ra, em cũng trình bày các thuật toán tấn công RSA bằng nhân tử hóa số n với số n lớn như thuật toán Pollard, tuy nhiên các thuật toán được giới thiệu ở đây mới chỉ giải quyết cho modul N của RSA có độ dài hạn chế, còn modulus N có độ dài lớn thì cho đến nay chưa có phương pháp khả thi nào được công bố
Qua nghiên cứu các thuật toán đã được công bố, em đề xuất phương pháp tấn công RSA mà không cần phần tích nhân tử, phương pháp này tỏ ra có hiệu quả đối với hệ RSA có
số n lớn Để thực hiện phương pháp này, em xin phép được trình bày thư viện các phép toán
đối với số lớn trong chương III – “Thư viện tính toán số lớn” Các thuật toán biểu diễn cũng
như tính toán cộng, trừ, nhân, chia…phục vụ cho việc xây dựng giải pháp tấn công RSA mà không phân tích nhân tử
Các thuật toán đã được trình bày ở chương II chủ yếu là dò tìm 1 số nguyên tố p(giả
sử p < q) Trên cơ sở đó nếu xác định được một nhân tử nguyên tố p của n thì có thể từ đó suy
ra được ngay nhân tử kia bằng cách lấy số n chia cho p: q=
p
n
tuy nhiên với số lớn việc xác định p và q như vậy là không hiệu quả Qua nghiên cứu, em đưa ra phương pháp tấn công RSA bằng cách rút ngắn khoảng cách dò tìm số nguyên tố p đồng thời không phải tìm một
nhân tử nguyên tố bé của n Phương pháp này được trình bày chi tiết ở chương IV – “Phương
pháp tấn công RSA không cần phân tích nhân tử”
References