ตัวสร้างวลีรหัสผ่าน Diceware — วลีรหัสผ่านแบบสุ่ม
สร้างข้อความรหัสผ่านที่แข็งแกร่งและน่าจดจำที่สร้างขึ้นจากคำจริงแบบสุ่มโดยใช้วิธี Diceware — การสุ่มการเข้ารหัสที่แท้จริง โดยมีเอนโทรปีจริงเป็นบิตที่แสดงอย่างตรงไปตรงมา
ผลลัพธ์
เครื่องมือนี้สร้างข้อความรหัสผ่านด้วยวิธี Diceware: แทนที่จะเป็นสตริงอักขระสุ่มที่หนาแน่นซึ่งยากต่อการพิมพ์และยิ่งจำยากขึ้น เครื่องมือนี้จะรวมคำธรรมดาหลายคำเข้าด้วยกันโดยการสุ่มเลือกอย่างอิสระ ข้อความรหัสผ่านเช่น "forest-comet-lantern-guitar-oasis-thistle" มีเอนโทรปีที่แท้จริงและคำนวณได้ ในขณะที่ยังคงเป็นสิ่งที่มนุษย์สามารถอ่านออกเสียง พิมพ์บนแป้นพิมพ์โทรศัพท์ หรือจดจำหลังจากพยายามไม่กี่ครั้ง ซึ่งเป็นรุ่นที่ออกแบบมาเพื่อแลกกับ Diceware อย่างแท้จริง
การสุ่มเป็นจุดรวม ดังนั้นจึงถือเป็นเรื่องจริงจังที่นี่: แต่ละคำจะถูกเลือกโดยใช้ crypto.getRandomValues() ตัวสร้างตัวเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัสของเบราว์เซอร์ พร้อมด้วยการสุ่มตัวอย่างการปฏิเสธที่เหมาะสมในทุกการจับรางวัล ค่าสุ่มแบบดิบ 32 บิตจะได้รับการยอมรับก็ต่อเมื่อค่านั้นอยู่ในช่วงที่หารด้วยความยาวของรายการคำเท่าๆ กัน ค่าในส่วนที่เหลือ เศษที่ไม่เท่ากันจะถูกละทิ้งและทอยใหม่ การข้ามขั้นตอนนี้และทำเพียงค่า % wordlistLength จะสนับสนุนคำที่มีการจัดทำดัชนีต่ำมากกว่าคำที่มีการจัดทำดัชนีสูงเล็กน้อย ซึ่งเป็นอคติทางสถิติที่ละเอียดอ่อนซึ่งการดำเนินการที่ไร้เดียงสาจะแนะนำอย่างเงียบๆ ตัวสร้างนี้ไม่เคยใช้ทางลัดนั้น
ความซื่อสัตย์เกี่ยวกับเอนโทรปีเป็นอีกครึ่งหนึ่งของการออกแบบ รายการคำศัพท์ที่รวมมามีคำศัพท์ภาษาอังกฤษที่ไม่ซ้ำกันและไม่คลุมเครือจำนวน 1,821 คำในชีวิตประจำวัน ซึ่งเป็นรายการตัวแทนขนาดใหญ่ แต่ไม่ใช่รายการคำศัพท์เฉพาะ 7,776 คำที่ใช้โดยโปรเจ็กต์ Diceware แบบคลาสสิก ดังนั้นเครื่องมือนี้จึงไม่อ้างตัวเลข 12.9 บิตต่อคำที่มีชื่อเสียงซึ่งใช้กับรายการที่แน่นอนเท่านั้น แต่เอนโทรปีต่อคำจะถูกคำนวณสดเป็น log2 (ความยาวของรายการ) ซึ่งออกมาประมาณ 10.8 บิตต่อคำที่นี่ และผลลัพธ์บนหน้าจอจะแสดงสูตรเต็มเสมอ — จำนวนคำคูณด้วยบิตต่อคำ บวกกับการมีส่วนร่วมอย่างตรงไปตรงมาของส่วนพิเศษใดๆ — ดังนั้นคุณจึงสามารถเห็นได้อย่างแน่ชัดว่ายอดรวมมาถึงได้อย่างไร แทนที่จะเชื่อถือตัวเลขทางการตลาด
การสลับตัวเลือกได้รับการปฏิบัติด้วยความซื่อสัตย์เหมือนกัน การใช้อักษรตัวพิมพ์ใหญ่ทุกคำเป็นกฎที่กำหนดตายตัวซึ่งใช้ในลักษณะเดียวกันทุกครั้ง ดังนั้นจึงไม่มีเอนโทรปีที่แท้จริงเลย ผู้โจมตีที่รู้กฎจะไม่ได้รับประโยชน์อะไรจากการไม่รู้ว่าตัวอักษรตัวใดเป็นตัวพิมพ์ใหญ่ และเครื่องมือนี้บอกอย่างชัดเจน ในทางตรงกันข้าม การสุ่มตัวเลขสองหลักต่อท้ายเป็นการสุ่มพิเศษพิเศษจากค่าที่มีโอกาสเท่ากัน 100 ค่า โดยบวกค่าจริงและระบุ ~6.6 บิตไว้ด้านบนของคำ ทุกอย่างคำนวณและเรนเดอร์ในเบราว์เซอร์ของคุณโดยไม่เกี่ยวข้องกับเซิร์ฟเวอร์ ดังนั้นข้อความรหัสผ่านที่คุณสร้างจะไม่มีใครมองเห็นได้นอกจากคุณ