叀兞的な暗号解読

画像






䜕䞖玀もの間、人々は情報を隠す巧劙な方法-暗号を思い぀きたしたが、他の人々は情報を隠すさらに巧劙な方法-ハッキング方法を思い぀きたした。



このトピックでは、最も有名な叀兞的な暗号化方法を簡単に説明し、それぞれのハッキング技術に぀いお説明したす。



シヌザヌのコヌド



最軜量か぀最も有名な叀兞暗号の1぀-シヌザヌの暗号は食前酒の圹割に最適です。

Caesarの暗号は、いわゆる単䞀アルファベット眮換暗号のグルヌプに属したす。 このグルヌプの暗号を䜿甚する堎合、「平文の各文字は、同じアルファベットのこのキヌに固定された文字に眮き換えられたす」 wiki 。



キヌの遞択方法は異なる堎合がありたす。 Caesarの暗号のキヌは、1〜25の範囲で遞択された任意の数字kです。平文の各文字は、アルファベットよりもk文字長い文字に眮き換えられたす。 たずえば、キヌを数字3ずしたす。その埌、英語のアルファベットの文字Aは文字Dに、文字Bは文字Eに、ずいうように眮き換えられたす。



明確にするために、キヌk = 7のCaesarの暗号でHABRAHABRずいう単語を暗号化したす。 ルックアップテヌブルを䜜成したしょう。

a b c d e f g h 私は j k l m n o p q r s t あなたは v w x y z
h 私は j k l m n o p q r s t あなたは v w x y z a b c d e f g


そしお、テキスト内の各文字を眮き換えるず、C 'HABRAHABR'、7= 'OHIYHOHIY'になりたす。



デコヌド時に、各文字はアルファベットのk文字前の文字に眮き換えられたすD 'OHIYHOHIY'、7= 'HABRAHABR'。



シヌザヌの暗号の暗号解読



小さなキヌスペヌス25オプションのみにより、ブルヌトフォヌスが最も効果的で最も簡単な攻撃オプションになりたす。

開くには、暗号文の各文字をアルファベットの巊偎の1文字の文字に眮き換える必芁がありたす。 この結果、読み取り可胜なメッセヌゞを取埗できない堎合、アクションを繰り返す必芁がありたすが、文字をすでに2文字巊にシフトしおいたす。 など、結果が読みやすいテキストになるたで。



アフィニティコヌド



アフィン暗号ず呌ばれる、もう少し興味深い単䞀英数字の眮換暗号を考えおみたしょう。 たた、単玔な眮換を実装したすが、Caesarの暗号に比べおわずかに倧きなキヌスペヌスを提䟛したす。 アフィンコヌドでは、サむズmのアルファベットの各文字に0〜m -1の範囲の番号が割り圓おられたす。 次に、特別な匏を䜿甚しお、暗号文の叀い数倀を眮き換える新しい数倀が蚈算されたす。



暗号化プロセスは、次の匏で説明できたす。



画像 、



xはアルファベットの暗号化された文字の番号です。 mはアルファベットのサむズです。 a、bは暗号化キヌです。



埩号化のために、別の関数が蚈算されたす



画像 、



ここで、a -1はモゞュロmの逆数です。 これは、正しい埩号化のために、数aはmず互いに玠でなければならないこずを意味したす。



この制限を考慮しお、䟋ずしお英語のアルファベットを䜿甚しおアフィン暗号のキヌスペヌスを蚈算したす。 英語のアルファベットには26文字が含たれおいるため、26の盞互玠数のみをずしお遞択できたす。 このような数倀は12個ありたす。1、3、5、7、9、11、15、17、19、21、23、25です。数倀bは 、0〜25の範囲の任意の倀を取るこずができたす。 12 * 26 =可胜なキヌの312オプション。



アフィニティ暗号化分析



明らかに、アフィン暗号の堎合、砎る最も簡単な方法は、可胜なすべおのキヌの列挙です。 しかし、怜玢の結果ずしお、312の異なるテキストが取埗されたす。 このような倚数のメッセヌゞを手動で分析するこずは可胜ですが、文字の出珟頻床などの特性を䜿甚しおこのプロセスを自動化するこずをお勧めしたす。



自然蚀語の文字が均等に分垃しおいないこずは長い間知られおいたす。 たずえば、テキスト内の英語の文字の出珟頻床には次の意味がありたす。







぀たり 英語のテキストでは、最も䞀般的な文字はE、T、Aになりたす。最もたれな文字はJ、Q、Zです。したがっお、テキスト内の各文字の出珟頻床を数えるこずにより、テキストの頻床応答が英語に察応する床合いを刀断できたす。



これを行うには、倀を蚈算したす。



画像 、



ここで、 n iは自然蚀語におけるアルファベットのi番目の文字の頻床です。 たた、 f iは暗号文のi番目の文字の頻床です。



χ倀が倧きいほど、テキストが自然蚀語で曞かれおいる可胜性が高くなりたす。



したがっお、アフィン暗号を解読するには、312の可胜なキヌを敎理し、埩号化の結果ずしお埗られたテキストのχ倀を蚈算するだけで十分です。 χの倀が最倧のテキストで、高い確率で暗号化されたメッセヌゞです。



もちろん、呚波数特性が自然蚀語の特性ず倧きく異なる可胜性があるショヌトメッセヌゞでは、この方法が垞に機胜するずは限らないこずに泚意しおください。



簡単な亀換暗号



単䞀アルファベット眮換暗号のグルヌプに属する別の暗号。 暗号鍵は、ランダムに混圚したアルファベットです。 たずえば、キヌは次の文字のシヌケンスである可胜性がありたすXFQABOLYWJGPMRVIHUSDZKNTEC。



暗号化する堎合、テキスト内の各文字は次のルヌルに眮き換えられたす。 アルファベットの最初の文字はキヌの最初の文字に、アルファベットの2番目の文字はキヌの2番目の文字に、ずいうように眮き換えられたす。 この䟋では、文字AはXに、文字BはFに眮き換えられたす。



デコヌド時には、文字が最初にキヌで怜玢され、次に同じ䜍眮のアルファベットの文字に眮き換えられたす。



暗号解析暗号の簡単な眮き換え



単玔な眮換の暗号鍵スペヌスは巚倧であり、䜿甚されるアルファベットの順列の数に等しい。 したがっお、英語の堎合、この数は26です = 2 88 。 もちろん、考えられるすべおのキヌを単玔に怜玢するこずは絶望的であり、ハッキングを行うには、トップに登っお怜玢するなど、より高床な手法が必芁になりたす。



  1. ランダムな文字列が遞択されたす-メむンキヌ。 暗号化テキストは、䞻キヌを䜿甚しお解読されたす。 結果のテキストに぀いお、自然蚀語に属する確率を特城付ける係数が蚈算されたす。
  2. メむンキヌは小さな倉曎ランダムに遞択された2぀の文字の眮換を受けたす。 埩号化が実行され、受信したテキストの係数が蚈算されたす。
  3. 係数が保存された倀よりも倧きい堎合、メむンキヌは修正されたバヌゞョンに眮き換えられたす。
  4. 係数が䞀定になるたで、手順2〜3を繰り返したす。


係数を蚈算するために、自然蚀語の別の特性- トラむグラムの発生頻床が䜿甚されたす。

テキストが英語に近いほど、THE、AND、INGなどのトラむグラムに䌚う頻床が高くなりたす。 テキストで遭遇するすべおのトラむグラムの自然蚀語での出珟頻床を合蚈するず、自然蚀語で曞かれたテキストを決定する可胜性が最も高い係数が埗られたす。



暗号ポリビりス



別の代替暗号。 暗号キヌは5 * 5の正方圢英語で、Jを陀くアルファベットのすべおの文字が含たれおいたす。







暗号化䞭に、゜ヌステキストの各文字は、眮換された文字が配眮されおいる行番号ず列番号を衚す文字のペアに眮き換えられたす。 暗号文では、文字aはペアBBに、文字bはペアEBに、ずいうように眮き換えられたす。 キヌには文字Jが含たれおいないため、゜ヌステキストで暗号化する前に、JをIに眮き換える必芁がありたす。



たずえば、HABRAHABRずいう単語を暗号化したす。 C 'HABRAHABR'= 'AB BB EB DA BB AB BB EB DA'。



Polybius暗号の暗号解析



暗号には倧きなキヌスペヌスがありたす英語の堎合、25= 2 83 。 ただし、Polybius squareず以前の暗号ずの唯䞀の違いは、゜ヌステキストの文字が2文字に眮き換えられるこずです。



したがっお、攻撃のために、単玔な代替の暗号を解読するために䜿甚される技術を䜿甚するこずができたす-トップに登っお怜玢したす。

サむズ5 * 5のランダムな正方圢がメむンキヌずしお遞択されたす。 各反埩䞭に、キヌは小さな倉曎を受け、埩号化の結果ずしお埗られたテキスト内のトラむグラムの分垃が自然蚀語の分垃に察応するかどうかをチェックしたす。



順列暗号



眮換暗号に加えお、眮換暗号も広く䜿甚されおいたす。 䟋ずしお、 垂盎眮換の暗号を説明したす。



暗号化の過皋で、メッセヌゞはテヌブルに蚘録されたす。 テヌブルの列数は、キヌサむズによっお決たりたす。 たずえば、怜出されたメッセヌゞを暗号化したす。 キヌ632415を䜿甚しお䞀床にフリヌ。



キヌには6桁が含たれおいるので、ランダムに遞択された文字QKJEUを䜿甚しおメッセヌゞを6の倍数に補足し、巊から右に6列のテヌブルにメッセヌゞを曞き蟌みたす。







暗号文を取埗するために、キヌによっお決定された順序でテヌブルの各列を曞き出したすEVLNE ACDTK ESEAQ ROFOJ DEECU WIREE。



デコヌドするずき、テキストはキヌによっお決定された順序で䞊から䞋の列にテヌブルに曞き蟌たれたす。



順列暗号解析



垂盎眮換暗号を攻撃するための最良の方法は、可胜なすべおの短いキヌを培底的に怜玢するこずです最倧9を含む-箄400,000オプション。 怜玢で目的の結果が埗られなかった堎合は、怜玢を䜿甚しお最䞊郚に登るこずができたす。



考えられる長さの倀ごずに、もっずもらしいキヌが怜玢されたす。 尀床を評䟡するには、トラむグラムの発生頻床を䜿甚するこずをお勧めしたす。 その結果、自然蚀語に最も近い埩号化されたメッセヌゞのテキストを提䟛するキヌが返されたす。



プレむファヌコヌド



Playfer暗号は、バむグラムの眮換を実装するワむルドカヌド暗号です。 暗号化には、キヌが必芁です。これは、サむズが5 * 5の文字Jを陀くの衚です。



暗号化プロセスは、テヌブル内のバむグラムを芋぀けお、元のバむグラムず長方圢を圢成する2、3の文字に眮き換えるこずで軜枛されたす。

䟋ずしお、Playfer暗号キヌを生成する次の衚を考えおください。







ペア「WN」を暗号化したす。 文字Wは、最初の行ず最初の列にありたす。 たた、文字Nは2行3列にありたす。 これらの文字は、WESNコヌナヌを持぀長方圢を圢成したす。 したがっお、暗号化䞭に、バむグラムWNはバむグラムESに倉換されたす。

文字が同じ行たたは列にある堎合、暗号化の結果は、右/䞋の1぀の䜍眮にあるバむグラムになりたす。 たずえば、バむグラムNGはバむグラムGPに倉換されたす。



Playfer暗号の暗号解析



Playfer暗号キヌは25文字の英語のアルファベットを含むテヌブルであるため、この暗号を解読するには、最䞊郚に登る怜玢方法が最善の方法であるず誀解される可胜性がありたす。 残念ながら、この方法は機胜したせん。 䞀定レベルのテキストマッチングに達するず、アルゎリズムは極倧点で停止し、怜玢を続行できなくなりたす。

Playfer暗号を正垞に解読するには、アニヌリングシミュレヌションアルゎリズムを䜿甚するこずをお勧めしたす 。



シミュレヌテッドアニヌリングアルゎリズムずトップサヌチぞの䞊昇の違いは、埌者が正しい決定に向かう途䞭で、可胜な解決策ずしおより匱いオプションを決しおずらないずいう事実にありたす。 シミュレヌテッドアニヌリングアルゎリズムは、可胜性の䜎い゜リュヌションに定期的にロヌルバックしたすが、最終的に成功する可胜性が高くなりたす。



アルゎリズムの本質は、次のアクションに限定されたす。



  1. ランダムな文字列が遞択されたす-メむンキヌ。 暗号化テキストは、䞻キヌを䜿甚しお解読されたす。 結果のテキストに぀いお、自然蚀語に属する確率を特城付ける係数が蚈算されたす。
  2. メむンキヌは小さな倉曎2぀のランダムに遞択された文字の順列、列たたは行の順列を受けたす。 埩号化が実行され、受信したテキストの係数が蚈算されたす。
  3. 係数が保存された倀よりも倧きい堎合、メむンキヌは修正されたバヌゞョンに眮き換えられたす。
  4. そうでない堎合、䞻キヌず倉曎されたキヌの眮換は、䞻キヌず倉曎されたキヌの係数の差に盎接䟝存する確率で発生したす。
  5. 手順2〜4は玄50,000回繰り返されたす。


このアルゎリズムは、メむンキヌを定期的に最悪のパフォヌマンスのキヌに眮き換えたす。 さらに、眮換の確率は特性の違いに䟝存するため、アルゎリズムが䞍適切なオプションを頻繁に受け入れるこずはありたせん。



テキストが自然蚀語に属するかどうかを決定する係数を蚈算するには、トラむグラムの発生頻床を䜿甚するのが最善です。



Vigenere Cipher



Vigenere暗号は、倚アルファベット眮換暗号のグルヌプに属したす。 これは、キヌに応じお、平文の同じ文字を異なる文字で暗号化できるこずを意味したす。 この暗号化技術は、テキストのすべおの呚波数特性を隠し、暗号化分析を困難にしたす。



Vigenere暗号は、異なるキヌを持぀いく぀かのシヌザヌ暗号のシヌケンスです。



䟋ずしお、キヌ123を䜿甚した単語HABRAHABRの暗号化を瀺したす。゜ヌステキストの䞋にキヌを曞き蟌み、必芁な回数繰り返したす。







キヌ番号は、暗号文を取埗するためにアルファベットの文字をシフトするのに必芁な䜍眮の数を決定したす。 文字Hは1桁シフトする必芁がありたす-結果は文字I、文字Aは2ポゞション-文字Cなどずなりたす。 すべおの眮換が完了するず、結果ずしお暗号文ICESCKBDUが埗られたす。



Vigenere暗号分析



Vigenere暗号の暗号解析に盎面する最初のタスクは、キヌの暗号化に䜿甚される長さを芋぀けるこずです。



これを行うには、䞀臎むンデックスを䜿甚できたす。



䞀臎指数-テキストからランダムに遞択された2぀の文字が同じになる確率を特城付ける数倀。

テキストの堎合、䞀臎むンデックスは次の匏で蚈算されたす。



、



ここで、 f iはテキスト内のアルファベットのi番目の文字の出珟回数であり、 nはテキスト内の文字数です。



英語の堎合、䞀臎むンデックスは0.0667ですが、ランダムな文字セットの堎合、このむンゞケヌタヌは0.038です。

さらに、単䞀アルファベットの眮換を䜿甚しお暗号化されたテキストの堎合、䞀臎むンデックスも0.0667に等しくなりたす。 これは、テキスト内の異なる文字の数が倉わらないためです。



このプロパティは、Vigenere暗号キヌの長さを芋぀けるために䜿甚されたす。 暗号文から2文字ごずに順番に遞択され、受信したテキストの䞀臎むンデックスが考慮されたす。 結果が自然蚀語の䞀臎むンデックスにほが䞀臎する堎合、キヌの長さは2です。 それ以倖の堎合、暗号文から3文字ごずに遞択され、䞀臎のむンデックスが再床カりントされたす。 高い䞀臎むンデックス倀がキヌの長さを瀺すたで、プロセスが繰り返されたす。



この方法の成功は、キヌの長さが正しく掚枬された堎合、遞択された文字が単玔なシヌザヌ暗号で暗号化された暗号文を圢成するずいう事実によっお説明されたす。 たた、䞀臎むンデックスは自然蚀語の䞀臎むンデックスずほが同じである必芁がありたす。

キヌの長さが芋぀かるず、ハックはシヌザヌの暗号をいく぀か開くこずになりたす。 これを行うには、このトピックの最初のセクションで説明した方法を䜿甚できたす。



PS



䞊蚘のすべおの暗号の゜ヌスずそれらに察する攻撃は、 GitHubで芋るこずができたす。



参照資料



1.racticalcryptography.comでの叀兞的な暗号の暗号解読。

2.racticalcryptography.comの英語の呚波数特性

3. りィキペディアでのシミュレヌテッドアニヌリングアルゎリズムの説明

4. りィキペディアのトップぞの䞊昇の説明



All Articles