Sinh số nguyên tố lớn dùng trong mật mã - Trường Đại Học Quốc Tế Hồng Bàng

6 19 0
Sinh số nguyên tố lớn dùng trong mật mã - Trường Đại Học Quốc Tế Hồng Bàng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Victor Shoup, A computational introduction to number theory and algebra , Cambridge University Press, 2006.. Abstract: This paper describes the classical method to generate ra[r]

(1)

Kỷ yếu cơng trình khoa học 2015 – Phần I

SINH S NGUYÊN T LN DÙNG TRONG MT MÃ

Nguyễn Đức Thắng, Trần Vĩnh Đức Khoa Toán-Tin, Trường Đại học Thăng Long Email: thangdn.tlu@outlook.com

Email: tranvinhduc@gmail.com

Tóm tắt:Bài báo mô t phương pháp sinh ngu nhiên s nguyên t mnhđể s

dng cách mt mã công khai ch ký s da RSA C th, thut tốn Rabin-Miller thut tốn Gordon sẽđược trình bày mt cách chi tiết

Từ khóa:RSA, chữ ký số, mật mã 1. Giới thiệu chung

Bài báo mô tả phương pháp sinh số nguyên tố lớn dùng hệ thống chữ ký số Trường Đại Học Thăng Long Do yêu cầu hệ thống, việc sinh số phải đảm bảo:

1 Sốđược sinh phải có độ dài 3072 bit,

2 Sốđược sinh phải ngẫu nhiên (khó dựđốn),

3. Thời gian sinh số phải đủ nhanh, thời gian trung bình vài giây máy tính cấu hình khơng mạnh

Định nghĩa Số nguyên dương p > 1 nguyên tp không chia hết cho số nguyên dương 1 p Ngược lại p hp s

Ta định nghĩa hàm phân phối số nguyên tố số lượng số nguyên tố nhỏ n

Ví dụ: = có bốn số ngun tố nhỏ 10 2, 3, 5, 7

Định lý sau cho ta ước lượng xấp xỉ hàm Định lý

Nói cách khác, giá trị xấp xỉ với n lớn

Ví dụ:Với ta có

Sai sốởđây 6%

Vậy ta lấy ngẫu nhiên số nguyên dươngk bit, xác suất để số số nguyên tố Về trung bình, ta cần lần thửđể lấy số nguyên tố k bit

(2)

Kỷ yếu cơng trình khoa học 2015 – Phần I

Từ phân tích trên, trung bình, thuật tốn ngẫu nhiên dừng sau 2130 bước lặp

Thuật toán sinh số nguyên tố:

1 Chọn ngẫu nhiên số nhị phân độ dài bit Đặt hai bit cao bit thấp lên Kiểm tra xem có số nguyên tố

4 Nếu có trả số ngun tố Cịn khơng quay lại Bước Trong Bước thuật tốn,

• Ta đặt bit thấp lên đảm bảo số lẻ;

• Và ta đặt bit cao lên đểđảm bảo số sinh thỏa mãn

điều cần thiếtvì để đảm bảo an tồn cho thuật tốn RSA số nguyên tố sinhra phải đủ lớn

Các bước bước sẽđược phân tích mục mục 2. Sinh số ngẫu nhiên

Hệ thống chữ ký điện tử dự kiến cài đặt GNU/Linux Chúng dựđịnh dùng hàm sinh dãy bit ngẫu nhiên hệđiều hành

Hệđiều hành GNU/Linux sinh dãy bit ngẫu nhiên từ nguồn ngẫu nhiên hệ thống (các thao tác chuột, thao tác bàn phím, chương trình chạy…) Các dãy bit lưu trữ tệp tin/dev/urandom Trong trường hợp dãy bit sinh chưa đủ ngẫu nhiên entropy nhỏ, hệ thống sử dụng hàm giả ngẫu nhiên an toàn Phương pháp lấy liệu ngẫu nhiên nhiều người sử dụng theo biết, chưa có báo cáo tính khơng an tồn

3. Thuật tốn kiểm tra số nguyên tố

Thuật toán đơn định AKS cho phép kiểm tra xem liệu số nguyên dương có nguyên tố thời gian Tuy nhiên, khơng sử dụng nhiều mật mã thời gian chạy chậm

Chúng tơi cài đặt thuật tốn ngẫu nhiên Rabin-Miller kết hợp với số bước tiền xử lý để tăng tốc thuật toán

(3)

Kỷ yếu cơng trình khoa học 2015 – Phần I

Phần cịn lại mục mơ tả bước xây dựng cải tiến thuật toán

Trước hết định lý sau cho thuật toán đơn giản để kiểm tra số nguyên tố

Định lý (Fermat) Nếu số nguyên tố thì, với ,

Thuật tốn sau:

Tất nhiên, thuật tốn cho kết sai, có kiểu sai: Nếu trả lại có khả hợp số, trả lại chắn hợp số

Ví dụ:Với bốn số , thuật toán cho kết , dù số hợp số

Câu hỏi tự nhiên là: Số trường hợp mà thuật toán cho kết sai có nhiều khơng? Thật ngạc nhiên số trường hợp sai Trong số nguyên dương đầu tiên, thuật toán nhầm số

Thuật toán sau cải tiến thuật toán trước dựa hai ý tưởng • Thay sở thuật tốn số bất kỳ;

• Kết hợp với Định lý sau để hạn chế số trường hợp sai Định lý Nếu số nguyên tố lẻ phương trình

(4)

Kỷ yếu cơng trình khoa học 2015 – Phần I

Thuật tốn thực tính cách lặp lại việc tính

bắt đầu từ Nếu số ngun tố.Vịng lặp kết thúc sớm

vì ta kết luận hợp số theo theo Định lý

Thuật toán lặp lại lần tính để giảm xác suất sai

Xác suất sai thuật toán định lý sau

Định lý 4.Với số nguyên lẻ số nguyên dương , sai số thuật toán nhiều

Thuật toán sau thêm vài bước tiền xử lý để giảm thời gian chạy thuật

toán

(5)

Kỷ yếu cơng trình khoa học 2015 – Phần I

Nếu thuật tốn thơng báo “ hợp số”, chắn hợp số Cịn thơng báo “ số ngun tố”, xác suất hợp số

4. Thuật toán sinh số nguyên tố mạnh

Thuật toán p−1 Pollard thuật tốn hiệu để phân tích thừa số ngun tốn = pq, p q thỏa mãn số tính chất đặc biệt.Để tránh phương pháp cơng này, sốp q nên s nguyên t mnh Đây lý mà chuẩn ANSI X9.31yêu cầu sử dụng số nguyên tố mạnh để sinh khóa cho hệ chữ ký điện tử dựa RSA

Định nghĩa Số nguyên tốpđược gọi s nguyên t mnh thỏa mãn ba điều kiện sau:

1 p−1 có thừa số nguyên tốuđủ lớn; p+1 có thừa số nguyên tốsđủ lớn; u−1 có thừa số nguyên tốtđủ lớn

Năm 1984 John Gordon đề xuất thuật toán hiệu để sinh số nguyên tố mạnh Thuật toán Gordon thêm 19% thời gian tính tốn so với thời gian tìm số ngun tố kích thước thuật toán Rabin-Miller

Trong bước 1, 2, 4, ta sử dụng thuật toán Rabin-Miller để kiểm tra số nguyên tố 5. Thử nghiệm

(6)

Kỷ yếu cơng trình khoa học 2015 – Phần I

Hình 1: Mơ t histogram thi gian chy cho vic sinh ngu nhiên 100 s nguyên t c 3072 bit Ct ca bng mô t s lượng s nguyên t chy thi gian (tính

theo giây) ch bi hàng

6. Tài liệu tham khảo

[1] Thomas H Cormen, Clifford Stein, Ronald L Rivest, Charles E Leiserson,

Introduction to Algorithms, McGraw-Hill Higher Education, 2001

[2] H H Khoái, P H Điển, S hc thut toán: Cơ s lý thuyết tính tốn thc hành, NXB Đại học Quốc Gia Hà Nội, 2003

[3] Jonathan Katz Yehuda Lindell, Introduction to Modern Cryptography, Chapman & Hall/CRC, 2007

[4] Ronald L Rivest, Robert D Silverman y, Are ‘Strong’ Primes Needed for RSA?,

November 22, 1999

[5] Victor Shoup, A computational introduction to number theory and algebra, Cambridge University Press, 2006

Ngày đăng: 01/04/2021, 13:45

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan