前書き
どうやら、この質問はここで尋ねられており、残念ながら終了しました。もう一度試してみるのは良い考えだと思いましたが、正しくやっていました。
XKCDは、「覚えにくいパスワード」を使用するように訓練されている方法を見て、安全だと思いますが、代わりにコンピューターをクラックするのに3日かかります。反対に、4〜5語を覚えると、Kuanのパスワードイントロピーが高まり、覚えやすくなります。クレイジーだよね?
チャレンジ
今日の仕事は、単語を使用して5つのパスワードを作成することです。パスワードごとに4単語、単語ごとに最低4文字、ただし最大値はありません。Kuanのパスワードイントロピーは、すべてのパスワードについて計算する必要がありますが、強制的な最小値は設定されません。
Kuanのパスワードイントロピーとは何ですか?
Kuanによると、Kuanのパスワードイントロピーは、パスワードがどれほど予測不能であるかの尺度です。単純な計算があります:Eは=ログ2(R)* Lを。EはKuanのパスワードイントロピー、Rは使用可能な文字の範囲、Lはパスワードの長さです。
利用可能な文字の範囲は自明です。パスワードに使用できる文字の範囲です。この場合、大文字と小文字です。アルファベットには26文字あるため、パスワードの全範囲で26 x 2 = 52文字です。
パスワードの長さも自明です。作成後のパスワードの合計の長さです。
制約
- 入力なし。
- 同じパスワードで単語を再表示することはできません。
- パスワードには記号や数字を使用できません。
- パスワードごとに4ワード、ただしワードごとに最低4文字。
- 単語間にスペースはありません。
- 同じパスワードを何度も生成することはできません。
- 各単語はパスワードで大文字にする必要があります。
- 出力は人間が読めるものでなければならず、間隔をあける必要があります。上記の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
)、エントロピーは可能なパスワードの数の対数になります。4284語辞書から常にランダムに4語をランダムに選択する場合、4284 ^ 4個のパスワードがあり、それぞれにエントロピーlog₂(4284)* 4≈48.26があります。