מחולל ביטויי סיסמה Diceware — ביטויי סיסמה ממילים אקראיות
צור ביטויי סיסמה חזקים וקלים לזכירה הבנויים ממילים אקראיות אמיתיות בשיטת Diceware — אקראיות קריפטוגרפית אמיתית, עם האנטרופיה הממשית בסיביות מוצגת בכנות.
🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.
תוצאה
הכלי הזה מייצר ביטויי סיסמה בדרך Diceware: במקום מחרוזת צפופה של תווים אקראיים שקשה להקליד ועוד יותר קשה לזכור, הוא מרכיב יחד כמה מילים רגילות שנבחרו באופן בלתי תלוי ואקראי. ביטוי סיסמה כמו "forest-comet-lantern-guitar-oasis-thistle" נושא אנטרופיה אמיתית וניתנת לחישוב ועדיין מאפשר לבן אדם לקרוא אותו בקול, להקליד אותו במקלדת טלפון או לשנן אותו אחרי כמה נסיונות — וזה בדיוק היתרון ששיטת Diceware תוכננה להשיג.
אקראיות היא כל העניין, ולכן מתייחסים אליה כאן ברצינות: כל מילה נבחרת באמצעות מחולל המספרים האקראיים המאובטח-קריפטוגרפית crypto.getRandomValues() של הדפדפן, עם דגימת דחייה מדויקת בכל הגרלה. ערך אקראי גולמי של 32 סיביות מתקבל רק אם הוא נופל בטווח שמתחלק באופן שווה באורך רשימת המילים; ערכים בשארית הבלתי מתחלקת נזרקים ומוגרלים מחדש. דילוג על הצעד הזה וביצוע פשוט של value % wordlistLength היה מעדיף במעט מילים בעלות אינדקס נמוך על פני אלה בעלות אינדקס גבוה — הטיה סטטיסטית עדינה שמימוש נאיבי היה מכניס בשקט. המחולל הזה לעולם לא עושה את הקיצור הזה.
כנות לגבי אנטרופיה היא חצי השני של התכנון. רשימת המילים המצורפת מכילה 1,821 מילים ייחודיות, חד-משמעיות ויומיומיות באנגלית — רשימה גדולה ומייצגת, אך לא הרשימה הספציפית בת 7,776 המילים שבה משתמש פרויקט Diceware הקלאסי, ולכן הכלי הזה לעולם לא טוען לנתון המפורסם של 12.9 סיביות למילה שחל רק על אותה רשימה מדויקת. במקום זאת, האנטרופיה למילה מחושבת בזמן אמת כ-log2(אורך הרשימה), ומסתכמת כאן בכ-10.8 סיביות למילה, והתוצאה על המסך תמיד מציגה את הנוסחה המלאה — מספר המילים כפול סיביות למילה, ועוד התרומה הכנה של כל תוספת — כך שתוכלו לראות בדיוק כיצד התקבל הסך במקום לסמוך על מספר שיווקי.
המתגים האופציונליים זוכים לאותה מידת כנות. כתיבת כל מילה באותיות רישיות היא כלל קבוע ודטרמיניסטי המופעל באותו אופן בכל פעם, ולכן אינה מוסיפה אנטרופיה אמיתית כלל — תוקף שיודע את הכלל אינו מרוויח דבר מכך שאינו יודע אילו אותיות הן רישיות, והכלי מציין זאת במפורש. הוספת מספר דו-ספרתי אקראי, לעומת זאת, היא הגרלה אקראית אמיתית נוספת על פני 100 ערכים סבירים שווים, המוסיפה כ-6.6 סיביות אמיתיות ומצוינות על גבי המילים. הכל מחושב ומעובד באופן מקומי בדפדפן שלך ללא מעורבות שרת, כך שביטוי הסיסמה שאתה יוצר לעולם אינו נצפה על ידי איש מלבדך.