カシスキー検査
反復する区間どうしの距離から、反復鍵暗号の鍵の長さを突き止めます。
例:
区間の長さ
因数の上限
古典的な選択は 3 文字です。2 文字は反復をはるかに多く拾いますが大半は偶然で、4 文字以上は最も確かな証拠だけを残すぶん、長いテキストが必要になります。
暗号文を貼り付けると検査します。例は鍵がそれぞれ 5 文字と 7 文字の実際のヴィジュネル暗号文です。
カシスキー検査 の使い方
- 1
暗号文を貼り付ける
暗号化されたテキストを入力欄に入れてください。反復が現れるにはふつう数百文字が必要で、100 文字を切ると何も見つからないことがよくあります。
- 2
区間の長さを選ぶ
まず 3 文字で始めます。何も反復しなければ 2 文字に下げ、その結果は弱い証拠として扱ってください。テキストが長く集計が雑然としているなら 4 文字に上げます。
- 3
因数ごとの裏付けを読む
候補の長さごとに、偶然だけで得られる値と比べて点を付け、約数と倍数でつながる一群のうち最も強いものだけを提示します。生の距離の個数と、その背後にある異なる区間の数も併記します。ひとつの区間が何度も反復するより、異なる区間いくつかが支持する因数のほうが信頼できますが、その判断は点数に混ぜず読み手に委ねています。
- 4
得た長さを解読ツールに渡す
提示された長さをヴィジュネル解読ツールに入れるか、一致指数計算ツールの列単位の表と照合してください。二つの方法が一致すれば、片方だけよりはるかに強い根拠になります。
カシスキー検査の考え方
この方法が立っている観察
ヴィジュネル暗号は鍵語を巡回させ、文字ごとに違う量だけずらします。そのため文字を数える手は通じません。同じ平文の文字が、位置によって違う暗号文字になるからです。しかし鍵は反復し、反復は漏れます。
平文に THE が二度現れ、二度とも偶然に鍵の同じ 3 文字と噛み合ったとします。どちらも同じ暗号文 3 文字になります。すると二つの距離は、文字で数えて、鍵がちょうど何周かした長さ、つまり鍵長の倍数です。
こうした偶然ひとつでは何も証明できません。しかし何十個も集めて因数分解し集計すれば、長さをまっすぐ指し示します。
このツールが測っているもの
選んだ長さの区間のうち二度以上現れるものを、位置とともにすべて集めます。各区間について、隣どうしの間隔だけでなくすべての組の距離を計算します。三度現れれば証拠は三つあり、隣どうしだけを取ると一つ捨てることになるからです。
そのうえで候補の鍵長ごとに数字が二つ付きます。いくつの距離を割り切るか、そしてその距離がいくつの異なる反復区間から出たかです。順位付けには一つ目を偶然で補正した値を使います。二つ目は隣に並べつつ、あえて点数には入れていません。算術ではなく判断だからです。よく出る区間ひとつが八度反復すれば距離の数は膨らみますが独立した証拠は増えず、異なる区間三つが同じ因数を指すなら、別々の偶然三つが同じ方向を指していることになります。示された長さが区間ひとつだけに支えられているなら、疑うべき手がかりはその数字です。
約数の罠
ここでつまずく人が多く、しかもこれは暗号学ではなく算数です。12 がある距離を割り切るなら、2、3、4、6 も割り切ります。本当の鍵長の約数はその点数を丸ごと受け継ぐので、裏付け順に並べた表は、実際の鍵が何であれ最小の因数を一番上に置きます。
解決も算術です。偶然がただで与える分を各因数に負担させればよいのです。2 はどんな距離の集合でも半分を無料で割り切るので、六分の一しか割り切らない因数と並べるには生の個数を半分に削る必要があります。こう補正すると、真の鍵長は自分の約数を上回ります。約数は証拠の自分の取り分しか持たないからです。さらに因数が大きいほど増える揺らぎも補正すれば、真の長さは倍数も上回ります。残るのは、調整値をひとつも含まない規則ひとつです。約数と倍数でつながる一群のうち最も強いものを残す、それだけです。全体の集計は下にそのまま残してあるので、違う判断をしても構いません。示された長さを支える区間がひとつだけで、六区間が支える因数が別にあるなら、そちらを見る価値があります。
通じないときと、その代わり
カシスキー検査には反復が必要ですが、短い文章にはそもそも無いこともあります。反復をわざと避ける暗号に対しても弱くなり、鍵が巡回しないランニングキーや使い捨て鍵については何も語れません。
一致指数は同じ問いに反対側から近づきます。反復はいっさい見ず、候補となる列分割ごとに文字分布を測ります。二つの方法はテキストの違う性質に頼るため、同時に失敗することは稀で、双方が支持する長さはたいてい正解です。
よくある質問
カシスキー検査とは何ですか。
2 と 3 の裏付けが同じなのに、なぜ 6 を勧めるのですか。
暗号文はどれくらいの長さが必要ですか。
位置が見た目のテキストと違うのはなぜですか。
2 文字の区間を使ってもよいですか。
カシスキーと一致指数が食い違ったらどうしますか。
入力した暗号文はブラウザの外に出ますか。
関連ツール
こちらの便利なツールもどうぞ