Điểm:0

Số lượng số nguyên lẻ mà chúng ta phải kiểm tra cho đến khi tìm được một số nguyên tố cho bất kỳ kích thước mô đun RSA tùy ý nào

lá cờ at

Kích thước mô-đun RSA phổ biến là $1024$, $2048$, $3072$$4092$ chút. Trung bình chúng ta phải kiểm tra bao nhiêu số nguyên lẻ ngẫu nhiên cho đến khi chúng ta mong tìm được một số nguyên tố? Tôi biết đại khái mỗi $\ln p$ số nguyên có một số nguyên tố. Cho một $1024$ chút $p$, $\ln p = 710$. Trung bình, cần kiểm tra khoảng $710/2=355$ số lẻ trước khi tìm số nguyên tố. Có đúng không và chúng ta có thể trích xuất công thức không $(\lnp)/2$ đối với bất kỳ kích thước mô-đun RSA tùy ý nào?

kelalaka avatar
lá cờ in
Xem câu hỏi: [Định lý số nguyên tố - RSA](https://crypto.stackexchange.com/q/11106/18298)
Mohammadsadeq Borjiyan avatar
lá cờ at
Cảm ơn. Vâng, tôi biết công thức của các số nguyên tố nhỏ hơn x mà bạn đã đề cập. Bây giờ kết luận của tôi có đúng không?
poncho avatar
lá cờ my
Để tránh sự phức tạp của việc triển khai thực tế, chúng tôi thường sử dụng phương pháp sàng lọc để loại bỏ bội số của các số nguyên tố nhỏ (ví dụ: tất cả các số nguyên tố nhỏ nhỏ hơn 10.000); điều này làm giảm đáng kể số lượng giá trị dự kiến ​​mà chúng ta cần phải chịu các bài kiểm tra đầy đủ hơn; tuy nhiên nó cũng làm phức tạp thêm ứng dụng đơn giản của định lý số nguyên tố...
gnasher729 avatar
lá cờ kz
Kekalaka bạn cần logarit tự nhiên.
Điểm:-1
lá cờ kz

Đối với RSA n-bit, bạn cần tìm hai số nguyên tố có tích là một số n-bit, mỗi số có khoảng n/2 bit. Trên thực tế, một số nhỏ hơn một chút và một số lớn hơn một chút, bởi vì bạn không muốn các số nguyên tố quá gần nhau.

Khoảng một trong ln M số xung quanh M là số nguyên tố; đó là logarit tự nhiên. ln(2) gần bằng 0,7. Nếu M = 2^(n/2) thì ln M â 0,35n. Bạn chỉ đang kiểm tra các số nguyên lẻ có khả năng là số nguyên tố gấp đôi, với xác suất 2/0,35n. Kiểm tra 0,175n số nguyên lẻ tìm số nguyên tố. Bạn cần hai, vì vậy khoảng 0,35n.

Nhưng lưu ý rằng nhiều trong số đó có ước số nhỏ và có thể được xác định rất nhanh; ví dụ: bằng cách sử dụng sàng loại bỏ các số có thừa số < 1000 hoặc 10.000. Để chấp nhận một số nguyên tố, bạn sẽ chạy thử nghiệm Miller-Rabin 50 hoặc 100 lần, trong khi 3/4 số không phải số nguyên tố bạn chạy nó một lần, 3/4 số còn lại bạn chạy nó hai lần, v.v. kiểm tra một số nguyên tố không phải là số nguyên tố thường khá nhanh.Kiểm tra hai số nguyên tố thực tế mất nhiều thời gian. Số lượng vật liệu tổng hợp mà bạn kiểm tra tính nguyên thủy không quan trọng lắm.

Tái bút: Tôi mới nhận ra rằng mọi người đang đánh giá quá cao hệ số 2. Giả sử tôi quyết định muốn có một số nguyên tố gần K lẻ nào đó, vì vậy tôi kiểm tra K, K+2, K+4, v.v. cho đến khi tôi gặp một số nguyên tố. Đặt p là số nguyên tố lớn nhất nhỏ hơn K và q là số nguyên tố đầu tiên >= K. Số lượng các số bị loại để kiểm tra không phải là khoảng cách q-p, chia cho 2 (vì chúng tôi chỉ kiểm tra các số lẻ) mà là một nửa số đó, bởi vì K có thể ở bất cứ đâu trong khoảng trống đó.

PPS Tôi vừa nhận ra rằng có điều gì đó không ổn với lập luận đó...

lá cờ cn
Ý của bạn là gì với "trong khi đối với 3/4 số không phải số nguyên tố, bạn chạy nó một lần, đối với 3/4 số còn lại, bạn chạy nó hai lần, v.v."? Có vẻ như bạn cho rằng một số không phải số nguyên tố vượt qua bài kiểm tra Miller-Rabin với xác suất 1/4, quá cao. Trừ khi ai đó (có thể là kẻ xấu xây dựng một số đặc biệt) đưa ứng cử viên chính cho bạn, bạn có thể hoàn toàn tin tưởng rằng một số ngẫu nhiên 1000 bit vượt qua bài kiểm tra Miller-Rabin là số nguyên tố. Lý do lặp lại các thử nghiệm MR là để thuyết phục người đánh giá rằng xác suất không phải là số nguyên tố *có thể* nhỏ hơn - giả sử - $2^{-80}$.
poncho avatar
lá cờ my
Câu trả lời này cũng giả định rằng bạn sẽ sử dụng Miller-Rabin cho bài kiểm tra tính nguyên tố của mình; Điều đó chưa hẳn đã đúng. Ví dụ: nếu bạn đang sử dụng thuật toán Shawe-Taylor (bắt đầu với thừa số nguyên tố lớn là $p-1$), thì bạn chỉ cần lặp lại một lần nếu đạt được thừa số nguyên tố. Theo kinh nghiệm của tôi, nhiệm vụ xây dựng các giá trị nguyên tố ngày càng lớn (để trở thành thừa số lớn của $p-1$ cho số nguyên tố lớn hơn tiếp theo) nhanh hơn Miller-Rabin lặp đi lặp lại.
lá cờ cn
Một nửa câu trả lời này đề cập đến một câu hỏi hoàn toàn không được hỏi trong câu hỏi.
gnasher729 avatar
lá cờ kz
Dễ dàng chứng minh được xác suất 3/4 mà một hợp số thất bại trong một lần vượt qua Rabin-Miller. Vì vậy, ít nhất 3/4 số bạn kiểm tra tính nguyên tố không đạt trong một lần vượt qua, 3/4 số còn lại không đạt trong lần vượt qua thứ hai, v.v. Chỉ khi bạn kiểm tra một số nguyên tố thực tế, bạn mới cần nhiều lần vượt qua. Do đó, số lượng ứng viên bạn kiểm tra không liên quan lắm; bạn dành hầu hết công việc cho một giá trị là số nguyên tố.
Điểm:-2
lá cờ cn

Không, bạn đã sai, bởi vì

Tôi biết gần như mọi số nguyên ln p đều có một số nguyên tố.

là một ước tính sơ bộ, mà thực sự là sai.

Ước tính của hàm đếm nguyên tố $\Pi(p)=p /ln(p)$ ước tính tổng số nguyên tố giữa 0 và $p$. Vì vậy, đối với một số có x bit, bạn cần xem $\Pi(2^{x}) - \Pi(2^{x-1})$ và so sánh nó với tổng số ứng cử viên, đó là $2^{x-2}$, khi bạn chỉ xem xét các số lẻ.

Bạn không ở đâu xa và sự khác biệt là nhỏ đối với số lượng lớn, nhưng công thức không đơn giản như vậy.

gnasher729 avatar
lá cờ kz
âĐại kháiâ. Anh ấy gần như đúng. Và số mũ của bạn bị lệch đi một, Và hàm đếm số nguyên tố không ước tính.
lá cờ cn
@ gnasher729 Điều đó gần như đúng khi nói $\Pi=3$. Bạn nói đúng về số mũ giảm đi một lần, tôi đã thay đổi điều đó.
Daniel S avatar
lá cờ ru
Một ước tính chính xác hơn cho hàm đếm số nguyên tố là $\pi(x)\sim\int_2^x\frac{dt}{\log t}$ tương đương về mặt kinh nghiệm với quan sát của Gaussâ rằng các số nguyên tố xung quanh $t$ có mật độ khoảng $1/\log t$. Nói cách khác, ước tính trong câu hỏi chính xác hơn $(2^x/(\log 2^x)-2^{x-1}/(\log 2^{x-1}))/2^{ x-2}$.
lá cờ cn
Mật độ tại một điểm nhất định không giống như mật độ trong một khoảng thời gian lớn. Và đó là điểm chính ở đây.
Daniel S avatar
lá cờ ru
Theo sagemath $\mathrm{li}(2^{1024})-\mathrm{li}(2^{1023})\approx 1,2669e305$, trong khi $2^{1023}/1024\log(2)\approx 1,2663e305$ và $2^{1024}/1024\log(2)-2^{1023}/1023\log(2)\approx 1,2651e305$. Lưu ý rằng sai số trong ước tính $\mathrm{li}(x)$ là (giả sử RH) sẽ là $O(x^{1/2+\epsilon})$ và nhỏ hơn, chẳng hạn như 1e200. Ước tính trong câu hỏi là chính xác hơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.