pengantar
Rupanya, pertanyaan ini telah ditanyakan di sini dan sayangnya ditutup. Saya pikir itu ide yang bagus untuk mencoba lagi dengannya, tetapi dilakukan dengan benar.
XKCD melihat bagaimana kita dilatih untuk menggunakan "kata sandi yang sulit untuk diingat", berpikir itu aman, tetapi sebaliknya, akan membutuhkan komputer 3 hari untuk retak. Di sisi lain, mengingat 4-5 kata-kata akan meningkatkan Kata Sandi Kuan, dan mudah diingat. Gila cara kerjanya, ya?
Tantangan
Pekerjaan hari ini adalah membuat 5 kata sandi menggunakan kata-kata. 4 kata per kata sandi dan minimal 4 huruf per kata, tetapi tidak maksimal. Kata sandi Kuan akan perlu dihitung untuk setiap kata sandi, tetapi minimum yang dipaksakan tidak akan ditetapkan.
Apakah Intropi Kata Sandi Kuan?
Kuan's Password Intropy adalah ukuran seberapa tidak terduga suatu kata sandi, menurut Kuan. Ada perhitungan sederhana: E = log 2 (R) * L . E menjadi Kuan's Password Intropy, R menjadi rentang karakter yang tersedia dan L untuk panjang kata sandi.
Rentang karakter yang tersedia cukup jelas. Rentang karakter yang dapat dimiliki kata sandi, dalam hal ini huruf besar dan kecil. Karena ada 26 karakter dalam alfabet, 26 x 2 = 52 karakter di seluruh rentang kata sandi.
Panjang kata sandi juga cukup jelas. Panjang total kata sandi setelah pembuatan.
Kendala
- Tidak ada input
- Sebuah kata tidak dapat muncul kembali dengan kata sandi yang sama.
- Tidak ada simbol atau angka yang diizinkan dalam kata sandi.
- 4 kata per kata sandi, tetapi dipaksa minimal 4 huruf per kata.
- Tidak ada spasi di antara kata-kata.
- Anda tidak dapat membuat kata sandi yang sama berulang kali.
- Setiap kata harus dikapitalisasi dengan kata sandi.
- Keluaran harus dapat dibaca oleh manusia, harus diberi spasi. Harus juga menyertakan Kata Sandi Intropi kata sandi Kuan dengan menggunakan persamaan Intropi Kata Kuan di atas.
- Kamus . Anda harus menggunakan ini, mengunduhnya sebagai file teks dan mengintegrasikannya. Ini akan menjadi daftar dari mana Anda mengambil kata-kata. Kode Anda harus mengasumsikan tersedia.
- Ini adalah kode-golf , byte terpendek menang.
Keluaran
TriedScarProgressPopulation 153.9
TryingPastOnesPutting 119.7
YearnGasesDeerGiven 108.3
DoubtFeetSomebodyCreature 142.5
LiquidSureDreamCatch 114.0
N
simbol dari set S
, kata sandi entropi adalah log2(|S|)*N
. Di sini ukuran set simbol adalah ukuran kamus ( |S|=4284
) dan jumlah simbol adalah jumlah kata ( N=4
), sehingga entropi untuk setiap kata sandi adalah 48.3
.
3t1ta#asd
), maka entropi akan menjadi logaritma dari jumlah kata sandi yang mungkin. Jika Anda selalu memilih 4 kata secara acak dari kamus 4284 kata, maka ada 4284 ^ 4 kata sandi, masing-masing dengan log entropi (4284) * 4 ≈ 48,26.