כיצד אנו משתמשים במחשב כמחולל מספרים אקראי

מחולל מספרים אקראיים מחשבים מייצרים מספר אקראי לכל דבר, החל מקריפטוגרפיה ועד משחקי וידאו והימורים. ישנן שתי קטגוריות של מספרים אקראיים - נָכוֹן מספרים אקראיים ומספרי מזויף. וההבדל חשוב לביטחון מערכות הצפנה. במאמר זה נדבר על אופן השימוש במחשב כמחולל מספרים אקראיים. בואו נתחיל!





נושא זה הפך לאחרונה לשנוי במחלוקת, יחד עם אנשים רבים ששואלים אם שבב מחולל המספרים האקראיים של החומרה המובנה של אינטל אמין או לא. כדי להבין מדוע זה לא יכול להיות אמין, תצטרך להבין. זה איך שנוצרים מלכתחילה מספרים אקראיים, ולמה הם משמשים.



לשם מה משתמשים במספרים אקראיים | מחולל מספר אקראי

נעשה שימוש במספרים אקראיים במשך אלפי שנים רבות. בין אם זה הטלת מטבע או גלגול קוביות, המטרה היא להשאיר את התוצאה הסופית לסיכוי אקראי. מחולל המספרים האקראיים במחשב דומה. הם ניסיון להשיג תוצאה אקראית בלתי צפויה.

מחוללי מספרים אקראיים מאוד שימושיים למטרות רבות ושונות. מלבד יישומים ברורים כמו יצירת מספרים אקראיים למטרות הימורים או יצירת תוצאות בלתי צפויות במשחק מחשב, האקראיות באמת חשובה לקריפטוגרפיה.



קריפטוגרפיה דורשת מספרים שתוקפים אינם יכולים לנחש. אנחנו לא יכולים להשתמש באותם מספרים שוב ושוב. אנו רוצים לייצר את המספרים האלה בצורה מאוד לא צפויה, כך שהתוקפים לא יכולים לנחש אותם. מספרים אקראיים אלה חשובים להצפנה מאובטחת. בין אם אתה מצפין את הקבצים שלך או פשוט משתמש באתר HTTPS באינטרנט.



מספרים אקראיים אמיתיים | מחולל מספר אקראי

ייתכן שאתה תוהה כיצד מחשב באמת יכול ליצור מספר אקראי. איפה זה אקראיות בא מ? אם זו רק חתיכת קוד מחשב, האם לא ייתכן שהמספרים שהמחשב מייצר יכולים להיות צפויים?

בדרך כלל אנו מקבצים את המחשבים של המספר האקראי שנוצר לשני סוגים. זה תלוי באופן יצירתם: נָכוֹן מספרים אקראיים ומספרים פסבדו-אקראיים.



כיצד לצפות ברשת nfl בקודי

כדי ליצור נָכוֹן מספר אקראי, המחשב מודד סוג כלשהו של תופעה פיזית המתרחשת מחוץ למחשב. כגון, המחשב יכול למדוד את הריקבון הרדיואקטיבי של אטום. על פי תורת הקוונטים, אין דרך לדעת בוודאות מתי תתרחש ריקבון רדיואקטיבי. אז זה בעצם אקראיות טהורה מהיקום. תוקף לא יוכל לחזות מתי תתרחש ריקבון רדיואקטיבי. אז הם לא ידעו את הערך האקראי.



לדוגמא יומיומית יותר, המחשב יכול להסתמך על רעש אטמוספרי או פשוט להשתמש בזמן המדויק שלחיצת המקשים במקלדת כמקור לנתונים או לאנטרופיה בלתי צפויים. כגון, המחשב שלך עשוי להבחין שלחצת על מקש בדיוק ב- 0.23423523 שניות לאחר השעה 14:00. תפוס מספיק את הזמנים הספציפיים הקשורים ללחיצות המקשים האלה, ויהיה לך מקור אנטרופיה שתוכל להשתמש בו כדי ליצור נָכוֹן מספר אקראי. אתה לא מכונה צפויה. כך שתוקף אינו יכול לנחש את הרגע המדויק בו תלחץ על המקשים הללו. המכשיר / dev / אקראי בלינוקס, שמייצר מספרים אקראיים, חסימות ולא מחזיר תוצאה עד שהיא אוספת מספיק אנטרופיה כדי להחזיר מספר אקראי באמת.

מספרים מזויפים | מחולל מספר אקראי

מספרים מזויפים הם אלטרנטיבה ל נָכוֹן מספרים אקראיים. מחשב יכול להשתמש בערך זרע ובאלגוריתם כדי ליצור מספרים שנראים אקראיים, אך למעשה ניתן לחזותם. המחשב אינו אוסף נתונים אקראיים מהסביבה.

זה לא בהכרח דבר רע בכל סיטואציה. כמו, אם אתה משחק משחק וידאו. זה לא ממש משנה אם האירועים המתרחשים באותו משחק נגרמים על ידי נָכוֹן מספרים אקראיים או מספרים מזויפים. מצד שני. אם אתה משתמש בהצפנה, אינך מעוניין להשתמש במספרי פסאודור-אקראי שתוקף יכול לנחש.

כגון, נניח שתוקף מכיר את האלגוריתם ואת ערך הזרע בו משתמש מחולל מספרים מזויפים. ובואו נגיד שאלגוריתם הצפנה מקבל מספר מזויף מהאלגוריתם הזה. ומשתמש בו כדי ליצור מפתח הצפנה מבלי להוסיף אקראיות נוספת. אם תוקף יודע מספיק, הוא יכול לעבוד אחורה ולקבוע את מספר הפסבדור. אלגוריתם ההצפנה חייב לבחור במקרה זה, לשבור את ההצפנה.

מחולל המספרים האקראיים של החומרה של ה- NSA ושל אינטל

כדי להקל על המפתחים ולעזור לייצר מספרים אקראיים מאובטחים. שבבי אינטל כוללים מחולל מספרים אקראי מבוסס חומרה המכונה RdRand. שבב זה משתמש במקור אנטרופיה במעבד ונותן מספרים אקראיים לתוכנה כאשר התוכנה מבקשת זאת.

הבעיה כאן היא שמחולל המספרים האקראיים הוא למעשה קופסה שחורה ואנחנו לא יודעים מה קורה בתוכה. אם RdRand מכיל דלת אחורית של NSA, הממשלה תוכל לשבור מפתחות הצפנה. זה נוצר עם נתונים בלבד שסופקו על ידי מחולל המספרים האקראיים.

זה דאגה רצינית. בדצמבר 2013, מפתחי FreeBSD הסירו את התמיכה בשימוש ישירות ב- RdRand כמקור לאקראיות, ואמרו כי אינם יכולים לסמוך על כך. [מקור] הפלט של מכשיר RdRand יועבר לאלגוריתם אחר שמוסיף אנטרופיה נוספת. זה מבטיח שדלתות אחוריות במחולל המספרים האקראיים לא יהיו חשובות. לינוקס כבר עבדה בצורה זו, והקצתה אקראית את הנתונים האקראיים המגיעים מ- RdRand כך שלא ניתן יהיה לחזותם גם אם היה דלת אחורית. [מקור] ב- AMA לאחרונה ( שאל אותי כל דבר ) ב- Reddit, מנכ'ל אינטל בריאן קרזניץ 'לא ענה לשאלות בנוגע לחששות אלה. [מָקוֹר]

כמובן, זה כנראה לא רק בעיה עם שבבי אינטל. מפתחי FreeBSD קראו גם לשבבים של ויה בשמם. מחלוקת זו מראה מדוע כל כך חשוב ליצור מספרים אקראיים שהם באמת אקראיים ואינם צפויים.

לייצר נָכוֹן מספרים אקראיים, מחוללים מספרים אקראיים אנטרופיה, או לכאורה נתונים אקראיים מהעולם הפיזי סביבם. למספרים אקראיים שלא בֶּאֱמֶת צריך להיות אקראי, הם עשויים להשתמש רק באלגוריתם וערך זרע.

סיכום

בסדר, זה היה כל האנשים! אני מקווה שתאהב את המאמר הזה של מחולל מספרים אקראי ותמצא אותו מועיל עבורך. תן לנו את המשוב שלך בנושא. גם אם ברצונך לשאול שאילתות נוספות הקשורות אליו. אז יידע אותנו בסעיף ההערות למטה. נחזור אליך בהקדם.

שיהיה לך יום טוב!

ראה גם: NSFW: משמעות ואיך זה עובד בפועל

איך להכין לפיד נשמה