GOST R 34.11-2012のハッシュ関数の暗号解析

2013幎の終わりに、暙準化のための技術委員䌚「暗号情報セキュリティ」TC 26、ロシア連邊暗号アカデミヌ、およびOJSC「InfoTeKS」は、GOST R 34.11-2012をハッシュするための囜家暙準の暗号解析の競争を発衚したした。 コンテストの条件の詳现な説明は、りェブサむトwww.streebog.infoで公開されおいたす。 したがっお、この暗号芏栌の分析に関する既存の研究は、暗号分析者がGOST R 34.11-2012アルゎリズムのさらなる研究の出発点であるため、暗号分析者の関心が高たっおいるず考えられたす。

珟圚、GOST R 34.11-2012の暗号解読に関するいく぀かの研究が知られおいたす。 しかし、このアルゎリズムに察する最も効果的な攻撃が提案されるのは、Zongyue Wang、Hongbo Yu、およびXiaoyun Wangの「 GOST Rハッシュ関数の暗号解読 」の仕事です。 したがっお、私の意芋では、この䜜品はこのトピックに関する䜜品の䞭で最も興味深いものです。 翻蚳を提䟛したす。

翻蚳では、ハッシュ暙準の元の名前が保持されたす。「GOST」ずいう名前は、1994幎の暙準GOST R 34.11-94を指し、「GOST R」は、研究で研究されたGOST R 34.11-2012アルゎリズムを瀺したす。

䜜品は、その著者の蚱可を埗おロシア語で翻蚳および出版されおいたす。



泚釈



GOST Rは、ロシアのハッシュ関数の暙準です。 この䜜品は、GOST Rのいく぀かの結果を瀺しおいたす。 攻撃は9.5ラりンドで提案され、 2,176操䜜の面倒さず2,128バむトのメモリ芁件がありたす。 この攻撃に基づいお、 ディスクリミネヌタヌが提案されおいたす transl。Discriminatorに泚意しおください -攻撃された機胜を、ランダムで同等の可胜性のある機胜ず区別できるアルゎリズムです。 さらに、GOST Rの512ビットバヌゞョンのk-衝突を構築する方法が提瀺されたす。これは、GOST Rで䜿甚される構造の匱点を瀺しおいたす。私たちの知る限り、これらはGOST Rの分析の最初の結果です。

キヌワヌド ハッシュ関数、GOST R、リバりンド攻撃、マルチコリゞョン。



1.はじめに



ハッシュ関数は暗号化で重芁な圹割を果たし、電子眲名、認蚌、デヌタ敎合性などの倚くのアプリケヌションで䜿甚されたす。 MD5およびSHA-1アルゎリズムのハッキング[1、2]以来、暗号䜜成者は氞続的で効率的なハッシュ関数を探し続けおきたした。 GOSTアルゎリズムの埌継であるGOST Rは、ロシアのハッシュ暙準です[3]。 Whirlpool [4]ず構造が䌌おいたすが、圧瞮機胜でAESのようなブロック暗号も䜿甚したす。

リバりンド攻撃は、順列ずブロック暗号の䞡方に基づいおハッシュアルゎリズムの衝突を芋぀けるために䜿甚できる自由床のある技術です。 この技術は、メンデルらによっお最初に提案され、切り捚おられたワヌルプヌルおよびグレストルアルゎリズムの衝突怜玢攻撃を生成したす[5]。 定矩枈みの切り捚おられた差分に䞀臎する倀のペアを効率的に怜玢するこずを目的ずしおいたす。 怜玢手順は、内郚むンバりンドフェヌズず倖郚アりトバりンドフェヌズの2぀のフェヌズに分かれおいたす。 内郚フェヌズでは、攻撃者は利甚可胜な自由床を最倧限に掻甚し、開始点ずしお䜿甚される内郚フェヌズの切り捚おられた差分のパスを満た​​す倀のペアを倚数生成したす。 その埌、倖郚フェヌズでは、これらの開始点がチェックされ、倖郚フェヌズの切り捚おられた埮分のパスを満た​​す倀のペアが芋぀かりたす。

Lamberger et al。[6]でこの技術を匷化し、ワヌルプヌルの改善された結果を埗たした。 キヌスキヌムで利甚可胜な自由床は、リバりンド攻撃の内郚フェヌズを最倧2ラりンドたで拡匵するために䜿甚されたす。 [6]の最良の結果は、耇雑床が2,176の 9.5ラりンドの圧瞮関数のほが衝突です。 次に、この結果を䜿甚しお、ワヌルプヌルアルゎリズムの完党な10ラりンド圧瞮関数の最初の識別アルゎリズムを構築したした。 同時に、Gilbert et al。は、[7]でリバりンド攻撃甚のSuper-Sboxテクノロゞヌを提案したした。そこでは、2ラりンドのAESのような倉換が拡匵眮換の1぀のレベルず芋なされたした。 さらに、リバりンド攻撃は、AESおよびAESに䌌たブロック暗号[8、9]、およびARX暗号を分析するためにも䜿甚できたす transl。ARXはAdd-Rotate-Xorの略で、これらの操䜜はARX暗号の基本。 [10]。 最近、Duc et al。は適応リバりンド攻撃技術を䜿甚しお、[11]でKeccakの埮分特性を構築したした。

ハッシュ関数の衝突を芋぀ける代わりに、Jouxは[12]で倚重衝突を構築する方法を提案したした。 圌は、反埩ハッシュ関数の堎合、マルチコリゞョンの怜玢は、単䞀のコリゞョンの怜玢よりも耇雑ではないこずを瀺したした。 ほずんどの堎合、この方法を䜿甚しお、ハッシュ関数の構造の安定性を分析できたす。



1.1。 私たちの貢献



GOST RずWhirlpool構造は類䌌しおいるため、[6]でWhirlpool分析に䜿甚されるリバりンド攻撃はGOST Rにも適甚できたす。ただし、GOST RはAESのような構造でShiftRows操䜜の代わりに行列眮換を䜿甚したす。 この違いがより倧きな脆匱性に぀ながるこずを瀺したす。

この論文では、GOST Rの分析の最初の結果を瀺したす。より正確には、[6]に瀺された方法ず同様のリバりンド攻撃方法を䜿甚しお、4.5、5.5、7.5、および9.5の衝突怜玢攻撃を取埗したしたGOST R圧瞮機胜ラりンドGOST R圧瞮機胜に察する衝突怜玢攻撃を衚に瀺したす。 1.さらに、9.5ラりンドの攻撃が10ラりンドの匁別噚に倉換できるこずを瀺したした。 さらに、GOST Rのフル512ビットバヌゞョンのマルチコリゞョンを構築する方法を提案したした。この結果は、GOST Rで䜿甚される構造が理想的ではないこずを瀺しおいたす。



タブ。 1. GOST Rの圧瞮機胜の芁玄結果。括匧内に瀺されおいるリ゜ヌスの匷床は、事前に蚈算されたテヌブルを䜿甚した倉曎された攻撃を指したす。

ラりンド 劎働投入/蚘憶 皮類 説明
4,5 2 64/2 16 衝突 セクション3.3
5.5 2 64/2 64 衝突 セクション3.4
7.5 2 128/2 16 衝突 セクション3.5
9.5 2 240/2 16 2 176/2 128  衝突 セクション3.6




1.2。 仕事内容



この䜜業の抂芁第2章でGOST Rのハッシュ関数に぀いお簡単に説明したす。次に、第3章でリバりンド攻撃の詳现を説明したす。 識別噚に぀いおは、第4章で説明したす。第5章では、マルチコリゞョンを構築する方法を玹介したす。 最埌に、第6章で䜜業をたずめたす。



2. GOST Rのハッシュ関数



GOST Rはロシアのハッシュ暙準です[3]。 512ビットのメッセヌゞブロックを凊理し、512たたは256ビットのハッシュ倀を蚈算したす。 lビットのメッセヌゞは、最初に512ビットの倍数にパディングされたす。 メッセヌゞの最埌に1ビットが远加されたす。 その埌に512-1- l mod 512れロビットが続きたす。 M = M t ||ずする M t -1 || ... || M 1は、远加埌のtブロックで構成されるメッセヌゞで、ビッグ゚ンディアン圢匏で衚瀺されたす。 次に、図に瀺すように。 1、 H  M の蚈算は次のように説明できたす。





図 1. GOST Rのハッシュ関数





ここで、 IVは事前に決定された初期倀です。 リングでの加算操䜜を瀺したす 。 g N  h 、 m は、GOST Rアルゎリズムの圧瞮関数であり、512ビットブロック暗号に基づいおおり、次のように蚈算されたす。



GOST Rで䜿甚されるブロック暗号Eは、64バむトの状態8 x 8配列ずしお衚されたす-GF 2フィヌルドでは64 x 64ずしお衚されるこずもありたすずラりンドキヌを曎新するAESバリアントで、12ラりンドを実行したす。 各ラりンドでは、次のようにラりンド倉換r iを実行するこずで状態が曎新されたす。



ラりンド倉換は以䞋で構成されたす



ラりンド鍵k iは次のように蚈算されたす。



ここで、 C iはGOST Rアルゎリズムの定数であり、初期倀k 1は次のように定矩されたす。

状態を曎新する倉換の最埌のラりンドの埌、ブロック暗号Eの出力倀、以前の状態倀h j -1およびメッセヌゞブロックM jは、圧瞮関数の出力倀ずしおXOR挔算によっお結合されたす。

ラりンド倉換r iの結果をR i +1ずしお、倉換埌の䞭間状態S 、 P 、およびLをそれぞれR i S 、 R i P 、およびR i Lずしお瀺したす。 初期状態 。



3. GOST R圧瞮機胜に察するリバりンド攻撃



リバりンド攻撃は、Mendel et al。[5]によっお最初に提案されたハッシュ関数解析技術で、切り捚おられたラりンドでGrÞstlずWhirlpoolを攻撃したす。 この技術の䞻なアむデアは、利甚可胜な自由床を䜿甚しお差分パスを構築し、䜎い確率でフラグメントを䞀臎させるこずです。 通垞、これは、䞭間䞀臎を含む内郚フェヌズず、その埌の確率論的な倖郚フェヌズで構成されたす。

リバりンドテクノロゞヌを䜿甚しお、4.5および5.5ラりンドのGOST R圧瞮関数の衝突を怜出し、さらに[6]のようにキヌ拡匵スキヌムの利甚可胜な自由床を䜿甚しお、7.5および9.5ラりンド。



3.1。 元のリバりンド攻撃



リバりンド攻撃では、圧瞮関数で䜿甚されるブロック暗号たたはハッシュ関数の䞊べ替えが3぀のコンポヌネントに分割されたす。 Eをブロック暗号ずするず、 。 リバりンド攻撃は2぀のフェヌズに分けられたす。





3.2。 リバりンド攻撃の予備蚈算



GOST Rアルゎリズムのリバりンド攻撃に぀いお説明する前に、線圢倉換Lのいく぀かのプロパティず圧瞮関数の衚圢匏の眮換に぀いお簡単に説明したす。





0、2、4、6、8、および256のみがあり、それぞれ38235、22454、4377、444、25、および1の頻床で発生したす。 平均しお、ランダムに遞択された差分 a 、 b に぀いおは、解ずしお1぀の倀を芋぀けるこずが期埅できたす。 たた、256 x 256の入出力の差の衚は、わずかな蚈算で解決策を芋぀けるのに圹立ちたす。



3.3。 GOST R 4.5ラりンド圧瞮機胜の衝突怜出



このセクションでは、4.5ラりンドに切り捚おられたGOST Rアルゎリズムの圧瞮機胜に察するリバりンド攻撃の䜿甚に぀いお説明したす。 攻撃の䞭心は、次の䞀連のアクティブなSボックスを持぀4ラりンドの差分パスです。







図 2. GOST Rの4.5ラりンドの圧瞮機胜に察する攻撃の抂略図。アクティブステヌタスバむトは黒で匷調衚瀺されたす。



リバりンド攻撃では、䞻にブロック暗号Eを3぀のサブ暗号に分割したす 。 図に瀺すように。 2、差動パスの最もリ゜ヌスを消費する郚分は、内郚フェヌズに隠されおいたす。 利甚可胜な自由床を䜿甚しお、 Eの差動経路を保存したす。



3.3.1。 内郚段階



内郚フェヌズの最初のステップでは、 R 2 PずR 3 Lのステヌゞで同時に8バむトの差から開始し、それぞれR 3ずR 3 Sに前埌に移動したす図2を参照。 セクション3.2で説明した操䜜Lの違いの䌝播特性に埓っお、 R 3ずR 3 Sの䞡方で完党にアクティブな状態を取埗したす。

内郚フェヌズの2番目のステップでは、入力/出力の差の適切な組み合わせを芋぀けるために、 r 3のレベルSでの䞀臎を怜玢したす。 セクション3.2に瀺すように、特定の差動経路に察しお平均で1぀の゜リュヌションが芋぀かるず予想されたす。 合蚈で2,128の異なる差動パスがあり、 R 3ずR 3 Sの実際の倀が2,128を超えないこずは泚目に倀したす。 k 3には任意の倀を蚭定できるため、開始点の最倧数は2 128 + 512 = 2 640です。



3.3.2。 倖盞



倖郚フェヌズでは、内郚フェヌズで開発された開始点を䜿甚し、それらの倀を順方向および逆方向に凊理したす。 図に瀺すように。 図2に瀺すように、 R 2 PずR 3 Lの違いは、それぞれR 1ずR 5 Pの最初の列の違いのみに぀ながりたす。

前の手順で生成された倀を䜿甚しお、4.5ラりンドに切り捚おられたGOST R圧瞮関数の衝突を簡単に構築できたす。 以来 、 hずkの倀が同じ堎合、 mずE  k 、 m の同じ差は垞に衝突に぀ながりたす。 倖郚フェヌズで生成された倀のペアの堎合、差は2 -64の確率でmずE  k 、 m で同等です。 したがっお、衝突を構築するために玄2 64の開始点を生成する必芁がありたす。 これの耇雑さは玄2 64です。 眮換テヌブルには256 x 256の入出力の差分テヌブルのみを保存する必芁があるため、メモリ芁件は2 16バむトのみです。



3.4。 5.5ラりンド圧瞮機胜GOST Rの衝突怜出



高床な亀換技術[7]を䜿甚しお、内郚フェヌズに1ラりンドを远加するこずで、4.5ラりンドの結果を匷化できたす。 これにより、GOST Rの5.5ラりンドの圧瞮機胜が攻撃されたす。この攻撃の倖郚フェヌズは、4.5ラりンドの攻撃ず同じであり、アクティブなSボックスの新しいシヌケンスは次のずおりです。







図 3. 5.5ラりンド圧瞮機胜GOST Rに察する攻撃の内郚フェヌズ



図に瀺すように。 図に瀺されるように、   の各行の倀は、  の察応する列のみに䟝存する。 ぀たり、 R 3の段階で列倀のペアを知っおいれば、 k 4がわかっおいるので、察応する行R 4 Sの倀を蚈算できたす。 したがっお、拡匵眮換ずしお、各列R 3ず察応する行R 4 Sの間の察応を考慮するこずができたす。 ランダムに指定された入力ず出力の差を持぀拡匵眮換ごずに、平均で1぀の実際の倀が芋぀かるず予想されたす。

次に、5.5ラりンドの攻撃に぀いお詳しく説明したす。



3.4.1。 内郚段階



5.5ラりンドのGOST Rに察するリバりンド攻撃の内郚フェヌズは、次のように説明できたす。

  1. R 2 Pの最初の列の8アクティブバむトの差から始めお、 R 3に進みたす。
  2. それぞれの独立した拡匵眮換に぀いお、その入力の違いを知っお、入力倀の2 64ペアすべおを凊理し、前方眮換を蚈算したす。 これにより、出力差の2 64個の倀が埗られたす。 埗られた各差に぀いお、それに぀ながる入力倀の察応するペアを保存したす。 このフェヌズには、玄2 64の操䜜ずメモリが必芁です。
  3. R 4 Lの 8バむトの差ごずに、 R 4 Sに戻りたす。 必芁な違いがあるかどうか、以前に保存した倀をすべおチェックしたす。


R 2 Pステヌゞで他の差異を遞択しお、差異を満たすより倚くの実際の倀を取埗できたす。 R 2 Pの入力の差に぀いおは、玄2 64の開始点が芋぀かるず予想されたす。



3.4.2。 倖盞



倖郚フェヌズは4.5ラりンド攻撃ず同じで、2 64の開始ポむントが必芁です。 したがっお、5.5ラりンドの衝突を怜玢するための耇雑さずメモリ芁件はそれぞれ 2 64です。



3.5。 7.5ラりンド圧瞮関数GOST Rの衝突怜出



[6]のように、キヌ拡匵スキヌムの自由床を䜿甚しお内郚ラりンドに3ラりンドを远加するこずにより、4.5ラりンドの結果を改善できたす。 䞻なアむデアは、内郚フェヌズを2぀のサブフェヌズに分離するこずです。 これらの2぀のサブフェヌズは、キヌ拡匵手順の自由床を最倧限に掻甚するこずで、埌で組み合わせるこずができたす。 その結果、7.5ラりンドに切り捚おられたGOST R圧瞮関数の衝突が発生したす。

拡匵内郚フェヌズでは、次のアクティブバむトのシヌケンスを䜿甚したす。



次に、内郚経路は、差動経路に察応する入力倀を芋぀けるために2぀のサブフェヌズに分割されたす図4。 最初のサブフェヌズでは、ラりンド1-2および4-5の䞀臎を怜玢したす。 そしお、2番目のサブフェヌズでは、ラりンドキヌの倀を遞択しお自由床を䜿甚し、 r 2ずr 4の間のアクティブ状態の倀を組み合わせたす。





図 4. 7.5ラりンド圧瞮関数GOST Rの衝突怜玢の内郚フェヌズ



3.5.1。 内郚サブフェヌズ1



このサブフェヌズでは、ラりンド1-2および4-5の䞀臎怜玢を実行したす。これは次のように説明できたす。

1.ラりンド1-2



2.ラりンド4-5ラりンド1-2ず同じこずを行いたす。

珟圚、玄2 9回のラりンド倉換ずいう面倒な攻撃の最初のサブフェヌズを実行した埌、 R 2 SずR 5の候補が2 64個ありたす。



3.5.2。 内郚サブフェヌズ2



2番目のサブフェヌズでは、キヌ拡匵スキヌムの自由床を䜿甚しお、 R 2 Sの違いずR 5の違い、および実際の倀を結合する必芁がありたす。 これは、次の方皋匏を解かなければならないこずを意味したす。



で



R 2 Sの 2 64個の候補ずR 5の 2 64個の候補に぀いお、 k 3 、 k 4 、およびk 5の倀の512自由床を考慮しお、2 64個の解が芋぀かるず予想されたす。 LP  R 2 S = R 2 Lおよび X [ k 5 ] -1 = X [ k 5 ]なので、次のように8を曞き換えるこずができたす。



PずSの順序はい぀でも倉曎できるため、



次の方皋匏が埗られたす。



衚蚘を玹介したす およびT = P -1 L -1  R 5 の堎合、䞊蚘の匏は次のように曞き換えるこずができたす。



この方皋匏の解は、 R 2 SずR 5の差ず倀を組み合わせるこずず同等です。 方皋匏を解くために䜿甚する方法を以䞋に説明したす。





図 5. 7.5ラりンド圧瞮機胜GOST Rの衝突を芋぀けるための内郚サブフェヌズ2攻撃



R 2 LずR 4 Sの差はサブフェヌズ1内で固定されるため、 R 2 *ずTの差も固定されたす。 たた、サブフェヌズ1で生成された状態R 2 SおよびR 5の 2 64倀は、それぞれR 2 *およびTの 2 64倀に盎接぀ながりたす。 これで、図15に瀺すように、各行に぀いお個別に15を解くこずができたす。 5、次のように説明できたす。

1. R 2 SからR 2 *の8バむトの差ず2 64倀を蚈算し、 R 5からTの8バむトの差ず察応する2 64倀を蚈算したす。 方皋匏を1行ず぀解くこずができるため、 R 2 *ずTの倀の文字列を蚈算しお保存するだけです。このステップの耇雑さずメモリ芁件は、2 65ではなく2 9です。2. 最初の行R 3 *の 2 64個の倀すべおに぀いお、次の手順を繰り返したす。





3.このステップでは、前のステップで取埗した察応するR 2 *ずTの 2〜8行目の倀を組み合わせたす。行ごずに、キヌk 3 *の察応する行の2 64個の倀すべおに察しお個別に培底的な怜玢が実行されたす。 64ビット倀を接続し、2 64個のキヌ倀をチェックするこずにより、垞に解決策を芋぀けるこずができるこずに泚意しおください。すべおのこれらのステップの埌、我々は2぀のを埗る64のリンク、察応する倀をR 2 *及びTを。぀たり、2 64

倖郚フェヌズの開始点。耇雑さは玄2 128 2に぀いおのメモリ芁件を持぀ラりンドの倉換の16バむト。平均しお、2 64の耇雑さを持぀出発点を芋぀けるこずが期埅されたす。サむズ2 128のルックアップテヌブルを適甚するこずで、ステップ3をスキップできたす。ルックアップテヌブルを䜿甚するず、平均耇雑床1の開始点を芋぀けるこずができたす。ただし、ルックアップテヌブルの構築の耇雑さは2,128であり、メモリ芁件は2,128バむトです。R 3には2 64の違いがあり、R 4 Sには2 64の違いがあるこずに泚意しおください。 。R 3ずR 4 Sの差の固定ペアに぀いおは、2 64の開始点が芋぀かるず予想されたす。したがっお、合蚈で、倖郚フェヌズの開始点を生成する必芁があるのは2 192以䞋です。



3.5.3。倖盞



7.5ラりンド攻撃の倖郚フェヌズは、4.5ラりンド攻撃に䌌おいたす。7.5ラりンドで衝突を怜玢する攻撃は、次のアクティブバむトのシヌケンスを䜿甚したす



GOST Rの圧瞮機胜の7.5ラりンドの衝突を怜玢する耇雑さは、2 16バむトのメモリ芁件で玄2 64 + 64 = 2 128です。



3.6。 9.5ラりンド圧瞮機胜GOST Rの衝突怜出



2 192を超える開始点を取埗できたすが、7.5ラりンド攻撃の倖郚フェヌズに必芁なのは2 64だけです。9.5ラりンドの衝突を芋぀ける攻撃を構築するために、最初に1ラりンド、最埌に1ラりンドを远加するこずにより、倖郚フェヌズを拡匵できたす。このような攻撃は、次の䞀連のアクティブバむトを䜿甚したす。



次に、9.5ラりンド攻撃の倖郚フェヌズに぀いお詳しく説明したす。





図 6. 9.5ラりンドの圧瞮関数GOST Rに察する攻撃の抂略図



3.6.1。倖盞



7.5ラりンドの倖郚攻撃フェヌズずは異なり、ここでは切り捚おられた差分を䜿甚したす。内郚フェヌズの実行埌、生成された倀により、図3に瀺すように、R 3ずR 8に8バむトの差が生じたす。 6.䞡方向で切り捚おられた差動経路8→1ぞの察応を芋぀けたい。この切り捚おられた差分パスの確率は2 -56です。R 2ずR 9の1バむトの違いにより、R 1ずR 10のアクティブバむトは垞に8バむトになりたす。したがっお、倖郚フェヌズの確率は2 -112です。したがっお、2で生成する必芁がありたす112倍の出発点。

9.5ラりンドに切り捚おられた圧瞮関数の衝突では、mずR 10 Pに同じ差が必芁なので、合蚈2 112 + 64 = 2 176の開始点を生成する必芁がありたす。セクション3.5で説明したように、劎働投入量が2 64である出発点を1぀芋぀けるこずが期埅されたす。したがっお、9.5ラりンドの衝突を怜出する耇雑さは玄2 64 + 176 = 2 240であり、メモリ芁件は2 16バむトです。2,128個の倀を持぀ルックアップテヌブルを䜿甚する堎合、耇雑床は2,176です2 128バむトのメモリ芁件。



4. 10ラりンドの匁別噚



この章では、10ラりンドに切り捚おられたGOST R圧瞮関数の識別噚を瀺したす。

。次のように提案されたギルバヌトら[7]皮類刀別を説明するこずができる行うランダム関数のためにBのビット順列マッピング入力郚分空間のサむズ差Iを郚分空間の倧きさの出力差にJのみ{maxの必芁、2 bは / IJ}関数呌び出しは、䞀般性を倱うこずなく、我々は仮定するI ≀ J。

適甚するこずによっおLずX [ K 11] 9.5ラりンドの前の結果に、差動経路を10ラりンドに拡匵したす。にもかかわらず、R 11は、切り捚お差の点で完党に掻性であり、差R 11は、䟝然ずしお2の郚分空間サむズに属する入力差分圧瞮機胜のでせいぜい64の郚分空間の次元にある64、郚分空間サむズ2の出力差嘘128。ランダム関数の堎合、この皮の入力ず出力の差の察応を完党に決定するには、2 512-64 + 128 = 2 320の蚈算が必芁です。ただし、10ラりンドに切り捚おられた圧瞮関数の堎合、耇雑さはわずか2,176ですメモリ芁件2 16たたは2 128のメモリ芁件2 128。圧瞮関数に必芁な耇雑さは、ランダム関数の堎合よりもはるかに少ないです。このプロパティを䜿甚しお、GOST Rの圧瞮関数ずランダム関数を区別できたす。



5. GOST Rハッシュ関数の倚重衝突



ここで、GOST Rハッシュ関数の構造的安定性に぀いお怜蚎し、このタむプの構造に぀いお、k-衝突を構築する方法を提案したす。この堎合の耇雑さは、理想的な構造のk-衝突を構築する耇雑さよりも倧幅に小さくなりたす。぀たり、このタむプの構造は理想的ではないこずを蚌明しおいたす。nビットの出力倀を

持぀理想的なハッシュ関数の堎合、衝突を䞎えるペアの怜玢の耇雑さは玄2 n / 2であり、k-衝突マルチコリゞョンの怜玢では2 nk -1/ kです。。しかし、ペアワむズ衝突に基づいお、Zhua on Crypto'04 [12]は、t x 2 n / 2のみの耇雑さを持぀反埩構造に察しお2 t-衝突を構築する方法を提案したした。図に瀺すように。図7に瀺すように、攻撃者は最初にt個の異なるペアワむズ衝突{B 1、B 1 *、B 2、B 2 *、...、B t、B t *}を生成したす。その埌、攻撃者は、盎ちに2受信するこずができるT -kolliziyuタむプB 1、Bを 2、...、b t、ここでb iは2぀のブロックB iおよびB i *のいずれかです。





図 7. ゞョむスのt衝突の スキヌム2 。2 tメッセヌゞの圢匏は b 1、 b 2、...、 b tです。ここで、 b iは2぀のブロック B iおよび B iの 1぀です*



GOST R構造は反埩的ではないずいう事実にもかかわらず、そのために構築するこずもできたすk衝突。この方法は、次の芁玠で構成されおいたす

。1.図に瀺すように 8、h tの同じ倀に぀ながる2 tメッセヌゞを生成したす。



2. 手順1で生成された2 tのメッセヌゞの䞭から、inでk個の衝突を芋぀けようずし、結果ずしおk個のメッセヌゞを取埗したす。すべおの2 tメッセヌゞは同じ倀Nを持ち、これらのkメッセヌゞは垞にGOST Rハッシュ関数のk-衝突に぀ながるこずに泚意しおください。





図 8. GOST Rのk衝突 の構築の抂略図



ステップ1のすべおのメッセヌゞブロックは0 256 || ずいう圢匏を持っおいるため {0、1} 256および∑ = b 1 b 2 ... B トン、Σ䞊䜍ビットにはより倚くのログよりも2 トン + 256ステップ2が必芁ずする理想的なモデルの構築物ぞの蚪問者k個の衝突以䞋の䞍平等を遵守し、これに必芁ずΣ、



䞊蚘の䞍平等を解決するには、我々は持っおいる

176≀ T ≀2 256ん

そしお



換蚀すれば、Tは 176≀ポスト-blochnogo T ≀2 256は、私たちが芋぀けるこずができるKのみ行うこずにより-kolliziyuハッシュ関数GOST Rを蚈算したす。この耇雑さは、理想的な構造のハッシュ関数のk-衝突を芋぀けるこずの耇雑さよりもはるかに小さいです。



6.結論



このホワむトペヌパヌでは、GOST Rの暗号解析結果を瀺したした。最初に、リバりンド攻撃技術を䜿甚した4.5ラりンドのGOST R圧瞮機胜に察する攻撃に぀いお説明したした。さらに、この結果は、高床な亀換技術を䜿甚しお5.5ラりンドに匷化されたした。次に、7.5ラりンドず9.5ラりンドの攻撃を達成するために、キヌ拡匵スキヌムの自由床が䜿甚されたした。さらに、9.5ラりンドの攻撃の結果を䜿甚しお、GOST R圧瞮関数の10ラりンド識別噚を提瀺し、䜜業の最埌に、GOST Rハッシュ関数のk-衝突を構築する方法を提瀺したした。。



文孊



  1. X. Wang、H。Yu、MD5およびその他のハッシュ関数を砎る方法、暗号化の進歩– EUROCRYPT 2005、Springer、2005、pp。19–35。
  2. X. Wang, YL Yin, H. Yu, Finding Collisions in the Full SHA-1, in: Advances in Cryptology–CRYPTO 2005, Springer, 2005, pp. 17–36.
  3. V. Dolmatov, Gost R 34.11-94: Hash function algorithm.
  4. P. Barreto, V. Rijmen, The Whirlpool Hashing Function, in: First open NESSIE Workshop, Leuven, Belgium, Vol. 13, 2000, p. 14。
  5. F. Mendel, C. Rechberger, M. SchlÀffer, SS Thomsen, The Rebound Attack: Cryptanalysis of Reduced Whirlpool and GrÞstl, in: Fast Software Encryption, Springer, 2009, pp. 260–276.
  6. M. Lamberger, F. Mendel, C. Rechberger, V. Rijmen, M. SchlÀffer, Rebound Distinguishers: Results on the Full Whirlpool Compression Function, in: Advances in Cryptology–ASIACRYPT 2009, Springer, 2009, pp. 126–143.
  7. H. Gilbert, T. Peyrin, Super-sbox Cryptanalysis: Improved Attacks for AES-like Permutations, in: Fast Software Encryption, Springer, 2010, pp. 365–383.
  8. O. Dunkelman, N. Keller, A. Shamir, Improved Single-Key Attacks on 8-Round AES-192 and AES-256, in: Advances in Cryptology-ASIACRYPT 2010, Springer, 2010, pp. 158–176.
  9. F. Mendel, T. Peyrin, C. Rechberger, M. SchlÀffer, Improved Cryptanalysis of the Reduced GrÞstl Compression Function, Echo Permutation and AES Block Cipher, in: Selected Areas in Cryptography, Springer, 2009, pp. 16–35.
  10. D. Khovratovich, I. Nikolić, C. Rechberger, Rotational Rebound Attacks on Reduced Skein, in: Advances in Cryptology-ASIACRYPT 2010, Springer, 2010, pp. 1–19.
  11. A. Duc, J. Guo, T. Peyrin, L. Wei, Unaligned Rebound Attack: Application to Keccak, in: Fast Software Encryption, Springer, 2012, pp. 402–421.
  12. A. Joux, Multicollisions in Iterated Hash Functions: Application to Cascaded Constructions, in: Advances in Cryptology–CRYPTO 2004, Springer, 2004, pp. 306–316.
  13. D.ワグナヌ、䞀般化された誕生日の問題、暗号孊の進歩– CRYPTO 2002、Springer、2002、pp。288-304。



All Articles