אלגוריתם חדש מסייע לקבל מספרים אקראיים בקלות רבה יותר, וצפוי לשפר את ההגנה על המידע שלנו
חוקרים מפולין, משבדיה ומברזיל מדווחים כי הצליחו לשפר את האקראיות של מספרים אקראיים שמייצר מחשב. אמנם, כל אחד יכול להפיק מספר אקראי בין 1 ל-6 בהטלת קובייה, אבל זו משימה כמעט בלתי אפשרית לגרום למחשב לייצר מספרים אקראיים באמת. מדוע כל כך קשה למחשבים לייצר אקראיות ולמה זה חשוב?
גורלם של משחקים רבים תלוי בהטלה של קובייה פשוטה בעלת שש פאות. כל שחקן שש-בש יודע שאם הקובייה אינה הוגנת, כלומר אינה מייצרת מספרים אקראיים לחלוטין, הדבר עלול להשפיע על תוצאת המשחק. האקראיות מלווה אותנו בתחומים רבים בחיינו, לא רק במשחקי הימורים והגרלות אלא גם בשמירה על פרטיותנו. כל מכשיר אלקטרוני שאנו משתמשים בו נעזר במספרים אקראיים כדי להצפין ולאבטח אפליקציות, מסמכים ואת הודעות הדואר האלקטרוני שלנו.
תוכנות מחשב משתמשות בשיטות מגוונות לייצור מספרים אקראיים. אך רוב התוכנות שנמצאות כיום בשימוש אינן מייצרות מספרים אקראיים באמת. התוכנות מסתמכות שוב ושוב על אותן שורות קוד לייצור המספרים, ולכן לא מתקבלים מספרים אקראיים לחלוטין, אלא מספרים המכונים פסאודו-רנדומליים, כלומר – אקראיים מדומים. פירוש הדבר שאם מתאמצים מספיק, אפשר למצוא תבנית מסוימת בהתפלגות המספרים, וכך לחזות את ההסתברות להופעת מספר מסוים – וזה משהו שלא היינו רוצים לאפשר להאקרים שמנסים לפרוץ לחשבון הבנק שלנו.
אחת הדרכים לייצר מספרים אקראיים אמיתיים היא בעזרת מערכות פיזיקליות. בטבע יש תהליכים אקראיים, ואחת הדוגמאות המובהקות לכך היא מכניקת הקוונטים, המתארת את המצב של מערכות בקנה מידה קטן מאוד – אטומי ותת-אטומי. בשונה מהפיזיקה הקלאסית, הדטרמיניסטית לחלוטין, הפיזיקה הקוונטית מבוססת על הסתברות.
בפיזיקה הקלאסית אנו יכולים לחשב בדיוק היכן ומתי יפגע כדור שנזרק בזווית מסוימת ובעוצמה מסוימת. לעומת זאת, איננו יכולים לצפות מראש היכן יהיה אלקטרון בזמן מסוים, אלא רק את ההסתברות שיימצא בכל נקודה ונקודה. שימוש במערכות קוונטיות מאפשר לנו להפיק מספרים אקראיים אמיתיים. אפשר, למשל, למדוד מתי אטום רדיואקטיבי מתפרק או מתי פוטון (חלקיק אור) מגיע לנקודה מסוימת.
מסיבה זו בדיוק התקשה אלברט איינשטיין לקבל את תורת הקוונטים, ושלל אותה בנימוק שהפך לאחד מציטוטיו המפורסמים ביותר: "אלוהים אינו משחק בקוביות".
אקראיות אמינה
גם כשמשתמשים במערכות קוונטיות להפקת מספרים אקראיים, עדיין יש לוודא שהדגימה הממוחשבת אינה משפיעה על המערכת הפיזיקלית ואינה גורמת לה לסטות מאקראיות מוחלטת. לשם כך צריך לבדוק את אקראיות המספרים שהמחשב מייצר, כלומר לוודא שאינם תואמים לתבנית מסוימת.
בדיקת האקראיות של מספרים גדולים מצריכה כוח חישוב, חומרה יקרה וזמן ארוך מאוד, משום שיש לסרוק קבוצות גדולות של מספרים ולבצע עליהן פעולות רבות כדי לוודא שאין תבניות או דפוסים בהתפלגותם, שיאפשרו לחזות מתי צפוי מספר מסויים להופיע בתוך רצף המספרים, . לכן מידת האקראיות באה על חשבון מהירות החישוב. כלומר, ככל שאנו זקוקים למספרים אקראיים יותר, כך הפקתם יקרה יותר ודורשת יותר זמן. ליתר דיוק, ייקח יותר זמן לוודא שהם אכן אקראיים. בשל כך חברות רבות מתפשרות על מידת האקראיות של המספרים שהן מייצרות, וכך מתפשרות על רמת האבטחה.
במאמר שהתפרסם בכתב העת New Journal of Physics, פיוטר מירונוביץ (Mironowicz) מהמכון הטכנולוגי בפולין ועמיתיו מדווחים כי הצליחו לפתח אלגוריתם המייצר מספרים אקראיים בצורה אמינה ביותר. החוקרים משתמשים במערכת חישוב קוונטית כמערכת הניסוי שמייצרת את המספרים האקראיים, ובמערכת נוספת, בלתי תלויה, הבודקת את אקראיותם. לדברי החוקרים, האלגוריתם שפיתחו לבדיקת האקראיות יעיל ביותר ודורש כמחצית מזמן החישוב של האלגוריתמים הקיימים. אם אכן יתברר שהאלגוריתם של הקבוצה יעיל, הוא יאפשר להשתמש במספרים אקראיים באמת, והתקווה היא שבכך יהפוך העולם הדיגיטלי שלנו לבטוח יותר.