บทนำ
เห็นได้ชัดว่าคำถามนี้ถูกถามที่นี่และมันปิดอย่างน่าเสียดาย ฉันคิดว่ามันเป็นความคิดที่ดีที่จะลองอีกครั้ง แต่ทำถูกต้อง
XKCDดูที่วิธีการที่เราได้รับการฝึกฝนให้ใช้ "รหัสผ่านที่จำยาก" โดยคิดว่าปลอดภัย แต่ใช้เวลาคอมพิวเตอร์ 3 วันในการถอดรหัส ในทางกลับกันการจดจำความยาว 4-5 คำจะทำให้รหัสผ่านของควน Intropy อัพและง่ายต่อการจดจำ บ้าแล้วมันใช้ได้ยังไงเหรอ?
ท้าทาย
งานวันนี้คือสร้างรหัสผ่าน 5 คำโดยใช้คำ 4 คำต่อรหัสผ่านและอย่างน้อย 4 ตัวอักษรต่อคำ แต่ไม่เกิน รหัสผ่านของ Kuan จะต้องมีการคำนวณสำหรับทุกรหัสผ่าน แต่จะไม่ได้ตั้งค่าขั้นต่ำที่บังคับ
รหัสผ่านของควน Intropy คืออะไร?
รหัสผ่านของ Kuan Intropy เป็นการวัดว่ารหัสผ่านไม่สามารถคาดเดาได้ มีการคำนวณง่ายๆคือE = เข้าสู่ระบบ2 (R) * L E เป็นรหัสผ่านของ Kuan Intropy, R เป็นช่วงของอักขระที่มีอยู่และ L สำหรับความยาวรหัสผ่าน
ช่วงของตัวละครที่มีอยู่เป็นตัวอธิบาย เป็นช่วงของอักขระที่รหัสผ่านสามารถมีได้ในกรณีนี้คือตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก เนื่องจากมี 26 ตัวอักษรในตัวอักษร 26 x 2 = 52 ตัวอักษรในช่วงทั้งหมดของรหัสผ่าน
ความยาวของรหัสผ่านยังอธิบายด้วยตนเอง มันคือความยาวรวมของรหัสผ่านหลังการสร้าง
ข้อ จำกัด
- ไม่มีอินพุต
- คำไม่สามารถปรากฏขึ้นอีกครั้งในรหัสผ่านเดียวกัน
- ไม่อนุญาตให้ใช้สัญลักษณ์หรือตัวเลขในรหัสผ่าน
- 4 คำต่อรหัสผ่าน แต่บังคับขั้นต่ำ 4 ตัวอักษรต่อคำ
- ไม่มีช่องว่างระหว่างคำ
- คุณไม่สามารถสร้างรหัสผ่านเดิมซ้ำแล้วซ้ำอีก
- แต่ละคำจะต้องเป็นตัวพิมพ์ใหญ่ในรหัสผ่าน
- เอาต์พุตจะต้องสามารถอ่านได้โดยมนุษย์และต้องเว้นระยะ ต้องรวมรหัสผ่าน Intropy ของ Kuan ด้วยโดยใช้สมการรหัสผ่านของ Kuan ด้านบน
- พจนานุกรม คุณต้องใช้สิ่งนี้ดาวน์โหลดมันเป็นไฟล์ข้อความและรวมเข้าด้วยกัน นี่จะเป็นรายการที่คุณใช้ค้นหาคำ รหัสของคุณควรถือว่าใช้ได้
- นี่คือcode-golfไบต์ที่สั้นที่สุดชนะ
เอาท์พุต
TriedScarProgressPopulation 153.9
TryingPastOnesPutting 119.7
YearnGasesDeerGiven 108.3
DoubtFeetSomebodyCreature 142.5
LiquidSureDreamCatch 114.0
N
สัญลักษณ์จากชุดที่เอนโทรปีรหัสผ่านS
log2(|S|)*N
นี่ขนาดของชุดสัญลักษณ์คือขนาดของพจนานุกรม (คน|S|=4284
) และจำนวนของสัญลักษณ์ที่มีจำนวนคำ (คนN=4
) 48.3
ดังนั้นเอนโทรปีสำหรับรหัสผ่านของแต่ละคน
3t1ta#asd
) เอนโทรปีจะเป็นลอการิทึมของจำนวนรหัสผ่านที่เป็นไปได้ หากคุณสุ่มเลือก 4 คำอย่างสม่ำเสมอจากพจนานุกรม 4284 คำนั้นจะมีรหัสผ่าน 4284 ^ 4 ซึ่งแต่ละรหัสจะมี entropy log₂ (4284) * 4 ≈ 48.26