עז הרים כתב:
אם מניחים שהשערת רימן היא נכונה, אז יש אלגוריתם מאד פשוט לדעת האם מספר הוא ראשוני או לא. אלגוריתם שיודע להסתדר גם עם מספרים גדולים מאד מכיוון שהסיבוכיות שלו היא O(LOGN*LOGN( . אחרת כל ההצעות האחרות יקחו זמן גדול מדי עבור מספרים ראשונים סטנדרטים שמשתמשים בהם באינטרנט.
החישוב הוא דיי פשוט. נניח שהמספר יכונה P. אם P הוא באמת ראשוני אז אפשר להראות שכל מספר אחר X, אם נעלה אותו בחזקת P-1 . נקבל מספר שהשארית שלו ב P שווה ל1 (משפט פרמה הקטן).
נניח שמצאתם X שעבורו התנאי למעלה לא מתקיים אז בטוח P לא ראשוני.
הבעיה היא מה קורה אם אתם מתחילים לבדוק X שונים למינהם ומגלים שכל הזמן אתם מקבלים 1. מתי אתם מחליטים לעצור ואומרים, סבבה P הוא ראשוני.
אז מסתבר שזאת לא שאלה כזאת פשוטה. יש כל מיני אלגוריתמים שפשוט עושים חישובים הסתברותיים ומראים שאחרי ככה וככה מספרים הסיכוי שהמספר הוא בכל זאת לא ראשוני הוא ממש ממש קטן. אבל רק אם מניחים את השערת רימן אפשר להראות שהמספרים שצריך לבדוק הם בטווח שהזכרתי למעלה.
משפט פרמה הקטן אומר שעבור מספר N, כל מספר X שזר לו מקיים את התנאי שציינת, X בחזקת N-1 שווה 1 מודולו N
אם למספר אין הרבה מחלקים, אז גם אין הרבה מספרים שזרים לו, ולגלות שהוא ראשוני (או את הגורמים שלו) הופך להיות קשה מאוד.
באמת בהצפנה משתמשים בעובדה הזו, וכל עוד אין אלגוריתם טוב שמוצא גורמים של מספר גדול, קוד הRSA חי וקיים.