0

เครื่องมือสร้างข้อความรหัสผ่าน Diceware — ข้อความรหัสผ่านจากคำสุ่ม

สร้างข้อความรหัสผ่านที่แข็งแรงและจำง่ายจากคำจริงที่สุ่มด้วยวิธี Diceware — ใช้การสุ่มระดับเข้ารหัสลับจริง พร้อมแสดงเอนโทรปีเป็นบิตตามจริง

🔒 ประมวลผลทั้งหมดในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลดสิ่งใดที่คุณป้อนที่นี่

6
กำลังประมวลผล... 0%
กำลังสุ่มคำจริงด้วยวิธีปลอดภัย
เสร็จแล้ว

ผลลัพธ์

เครื่องมือนี้สร้างข้อความรหัสผ่านด้วยวิธี Diceware: แทนที่จะใช้สตริงอักขระสุ่มที่พิมพ์ยากและจำยากยิ่งกว่า มันจะร้อยคำธรรมดาหลายคำที่สุ่มแยกกันอย่างอิสระ ข้อความรหัสผ่านอย่าง "forest-comet-lantern-guitar-oasis-thistle" มีเอนโทรปีที่คำนวณได้จริง แต่ขณะเดียวกันก็มีคุณสมบัติที่มนุษย์อ่านออกเสียงได้ พิมพ์บนคีย์บอร์ดโทรศัพท์ได้ หรือจำได้หลังลองไม่กี่ครั้ง — ซึ่งเป็นจุดแลกที่การสร้างแบบ Diceware ถูกออกแบบมาเพื่อสิ่งนี้

ความสุ่มคือหัวใจทั้งหมด เราจึงให้ความสำคัญกับมันอย่างจริงจัง: แต่ละคำถูกเลือกโดยใช้ตัวสร้างเลขสุ่มเข้ารหัสลับ crypto.getRandomValues() ของเบราว์เซอร์ ด้วย rejection sampling ที่ถูกต้องในทุกครั้ง ค่าสุ่มดิบ 32 บิตจะถูกยอมรับก็ต่อเมื่อมันอยู่ในช่วงที่หารด้วยความยาวรายการคำลงตัวพอดี ส่วนค่าที่อยู่ในเศษเหลือไม่พอดีจะถูกทิ้งและสุ่มใหม่ ถ้าข้ามขั้นตอนนี้แล้วใช้แค่ value % wordlistLength จะทำให้คำที่อยู่ต้นรายการมีโอกาสสูงกว่าคำท้ายๆ อย่างเฉียดเดียว — เป็นอคติทางสถิติที่ซ่อนเร้นซึ่งการเขียนง่ายๆ แบบนั้นจะทำให้เกิดโดยไม่รู้ตัว เครื่องมือนี้ไม่ใช้ทางลัดแบบนั้นเลย

ความซื่อตรงเรื่องเอนโทรปีคืออีกครึ่งหนึ่งของการออกแบบ รายการคำที่ให้มามีคำภาษาอังกฤษที่ใช้ในชีวิตประจำวัน ไม่กำกวม และไม่ซ้ำกัน 1,821 คำ — เป็นรายการใหญ่และเป็นตัวแทนที่ดี แต่ไม่ใช่รายการ 7,776 คำที่ใช้ในโครงการ Diceware ดั้งเดิม ดังนั้นเครื่องมือนี้จึงไม่เคยอ้างตัวเลข 12.9 บิตต่อคำอันเลื่องชื่อที่ใช้ได้กับรายการนั้นเท่านั้น แต่เอนโทรปีต่อคำจะถูกคำนวณสดเป็น log2(ความยาวรายการ) ซึ่งออกมาประมาณ 10.8 บิตต่อคำที่นี่ และผลลัพธ์บนหน้าจอจะแสดงสูตรเต็ม — จำนวนคำคูณบิตต่อคำ บวกด้วยส่วนเพิ่มที่ตรงไปตรงมาของตัวเลือกอื่น — เพื่อให้คุณเห็นได้ชัดว่าผลรวมได้มาอย่างไร แทนที่จะเชื่อตัวเลขทางการตลาด

ตัวเลือกต่างๆ ถูกปฏิบัติด้วยความซื่อตรงเช่นกัน การทำให้ทุกคำเป็นตัวใหญ่เป็นกฎตายตัวที่ทำแบบเดียวกันทุกครั้ง จึงไม่เพิ่มเอนโทรปีแท้จริงเลย — ผู้โจมตีที่รู้กฎนี้ไม่ได้ประโยชน์อะไรจากการไม่รู้ว่าตัวอักษรไหนใหญ่ และเครื่องมือก็บอกไว้เช่นนั้น ในทางตรงข้าม การต่อท้ายเลขสองหลักสุ่มเป็นการสุ่มจริงอีกหนึ่งครั้งจากค่า 100 ค่าที่มีโอกาสเท่าๆ กัน ซึ่งเพิ่มเอนโทรปีประมาณ 6.6 บิตจากคำที่มีอยู่ ทุกอย่างประมวลผลและแสดงผลภายในเบราว์เซอร์ของคุณโดยไม่มีเซิร์ฟเวอร์เกี่ยวข้อง ข้อความรหัสผ่านที่คุณสร้างจึงไม่ถูกใครเห็นนอกจากคุณ