Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rotational Cryptanalysis of Salsa Core Function

Ryoma Ito
December 18, 2020

Rotational Cryptanalysis of Salsa Core Function

招待講演 @ 第5回情報セキュリティフォーラム

Ryoma Ito

December 18, 2020
Tweet

More Decks by Ryoma Ito

Other Decks in Research

Transcript

  1. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    発表内容 2 1. 研究背景 2. 準備 n ストリーム暗号Salsa n Rotational Cryptanalysis 3. Salsaコア関数に対するRotational Cryptanalysis n 観測実験 n 補題,定理,予想 n 検証実験 4. Salsa Permutationに対するRotational Distinguisher 5. まとめ https://isc2020.petra.ac.id
  2. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    ストリーム暗号Salsa Salsa n ARXベースストリーム暗号 u ARX: Addition-Rotation-XOR構成 n 2005年:Bernsteinによる設計 n eSTREAM software portfolioの最終候補に選出 3 研究背景 (1/9)
  3. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Salsaコア関数 5 研究背景 (3/9) ⋘ 7 𝑎 𝑏 𝑐 𝑑 𝑎′ 𝑏′ 𝑐′ 𝑑′ ⋘ 18 ⋘ 13 ⋘ 9 Addition Rotation XOR Addition … 4 Additions 4 Rotations 4 XORs
  4. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysis Salsa n ARXベースストリーム暗号 u ARX: Addition-Rotation-XOR構成 n 2005年:Bernsteinによる設計 n eSTREAM software portfolioの最終候補に選出 6 研究背景 (4/9) Rotational Cryptanalysis [Daum05, KN10, KNP+15] n rotational pairをある関数や暗号⽅式に⼊⼒して得られる伝搬 特性 (rotational probability) に基づく確率的な攻撃 u Rotational pair: 𝑋, ⃖ 𝑋 = 𝑋, 𝑋 ⋘ 𝑟 , 𝑋, ⃗ 𝑋 = 𝑋, 𝑋 ⋙ 𝑟 u Rotational probability: Pr 𝐹(𝑋) = 𝐹 ⃖ 𝑋 , Pr 𝐹(𝑋) = 𝐹 ⃗ 𝑋 [Daum05] Magnus Daum. Cryptanalysis of Hash functions of the MD4-family. Ph.D. thesis. 2005. [KN10] Dmitry Khovratovich and Ivica Nikolic. Rotational Cryptanalysis of ARX. FSE 2010. [KNP+15] Dmitry Khovratovich et al. Rotational Cryptanalysis of ARX Revisited. FSE 2015.
  5. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysisに関する研究動向 7 研究背景 (5/9) ターゲット 学会名等 著者 ARX Ph.D. thesis 2005 Daum ブロック暗号 Threefish ARX FSE 2010 Khovratovich et al. ハッシュ関数 Skein ARX ASIACRYPT 2010 Khovratovich et al. ハッシュ関数 Keccak ARX FSE 2013 Morawiecki et al. ハッシュ関数 BLAKE2 ARX CT-RSA 2014 Guo et al. ハッシュ関数 Skein, BLAKE2 ARX FSE 2015 Khovratovich et al. ブロック暗号 Speck ARX-C ToSC 2016 Ashur et al. ブロック暗号 Speck ARX-C ToSC 2017 Liu et al. MAC Chaskey ARX ACNS 2020 Kraleva et al. ブロック暗号 Simon, Simeck AND-RX ACISP 2020 Lu et al. ストリーム暗号 Salsa ARX ISC 2020 Ito
  6. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    モチベーション Salsaに対する安全性評価 n 主に,差分攻撃を適⽤ u 20ラウンド中8ラウンドまで攻撃可能 n ARXベースストリーム暗号へのrotational cryptanalysisを適⽤し た研究が無い※ChaChaへの適⽤:https://eprint.iacr.org/2020/1049, received 31 Aug 2020 8 研究背景 (6/9)
  7. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    モチベーション Salsaに対する安全性評価 n 主に,差分攻撃を適⽤ u 20ラウンド中8ラウンドまで攻撃可能 n ARXベースストリーム暗号へのrotational cryptanalysisを適⽤し た研究が無い※ChaChaへの適⽤:https://eprint.iacr.org/2020/1049, received 31 Aug 2020 9 研究背景 (7/9) ARXベースストリーム暗号へのRotational Cryptanalysis n 全ての⼊⼒におけるrotational pairを⼊⼿することが不可能 u Salsa/ChaChaでは⼊⼒として定数値を利⽤ n 共通鍵暗号プリミティブの設計において,ある暗号⽅式のコ ア関数を別の暗号⽅式に組み込む例が多い u 例:SOSEMANUK ← Serpent, BLAKE2 ← ChaCha, SNOW-V ← AES n Salsaコア関数がrotational cryptanalysisに対して安全であるか 否かを明らかにすることは重要(差分攻撃には安全であるため)
  8. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    結果のまとめ 10 研究背景 (8/9) Table 1. A comparison between the previous and our results (r = 1). ※log2 # of modular additions 1 2 3 4 5 6 7 8 [KN10, Theorem 2] -1.4 -2.8 -4.2 -5.7 -7.1 -8.5 -9.9 -11.3 [KNP+15, Lemma 2] -1.4 -3.6 -6.3 -9.3 -12.7 -16.3 -20.1 -24.1 Experimental results -1.415 -2.263 -3.263 -4.206 -5.169 -6.126 -7.086 -8.043 Theoretical results -1.415 -2.263 -3.111 -3.959 -7.918 SalsaタイプのARX構成におけるRotational Probabilities
  9. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    結果のまとめ 11 研究背景 (9/9) Salsa/ChaCha Permutations*へのRotational Distinguisher** Table 1. A comparison between the previous and our results (r = 1). ※log2 # of modular additions 1 2 3 4 5 6 7 8 [KN10, Theorem 2] -1.4 -2.8 -4.2 -5.7 -7.1 -8.5 -9.9 -11.3 [KNP+15, Lemma 2] -1.4 -3.6 -6.3 -9.3 -12.7 -16.3 -20.1 -24.1 Experimental results -1.415 -2.263 -3.263 -4.206 -5.169 -6.126 -7.086 -8.043 Theoretical results -1.415 -2.263 -3.111 -3.959 -7.918 SalsaタイプのARX構成におけるRotational Probabilities *Permutations:任意の⼊⼒値を選択可能(定数値などを考慮しない.) **Distinguisher:ランダム関数/置換との識別 Table 2. A comparison of the rotational distinguisher for Salsa/ChaCha permutations. # of rounds Probability (log2 ) Ref Salsa permutation 32 -506.752 (< -512.0) ChaCha permutation 8 -489.6 (< -512.0) 17 -487.6 (< -512.0) [ePrint]
  10. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    発表内容 12 1. 研究背景 2. 準備 n ストリーム暗号Salsa n Rotational Cryptanalysis 3. Salsaコア関数に対するRotational Cryptanalysis n 観測実験 n 補題,定理,予想 n 検証実験 4. Salsa Permutationに対するRotational Distinguisher 5. まとめ
  11. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    ストリーム暗号Salsa 13 n 256-bit key: 𝑘!, … , 𝑘" n 64-bit nonce: 𝑣! , 𝑣# n 64-bit counter: 𝑡! , 𝑡# n 128-bit constant: 𝑐!, 𝑐#, 𝑐$, 𝑐% 準備 (1/7) 初期内部状態 𝑋 ! = 𝑥! ! 𝑥# ! 𝑥& ! 𝑥' ! 𝑥$ ! 𝑥% ! 𝑥( ! 𝑥" ! 𝑥) ! 𝑥* ! 𝑥#$ ! 𝑥#% ! 𝑥#! ! 𝑥## ! 𝑥#& ! 𝑥#' ! = 𝑐! 𝑘! 𝑘% 𝑐# 𝑘# 𝑘$ 𝑣! 𝑣# 𝑡! 𝑡# 𝑘' 𝑘( 𝑐$ 𝑘& 𝑘" 𝑐%
  12. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    ストリーム暗号Salsa 14 n columnrounds (in the odd number rounds): 𝑥! " , 𝑥# " , 𝑥$ " , 𝑥%& " , 𝑥' " , 𝑥( " , 𝑥%) " , 𝑥% " , 𝑥%! " , 𝑥%# " , 𝑥& " , 𝑥* " , 𝑥%' " , 𝑥) " , 𝑥+ " , 𝑥%% " n rowrounds (in the even number rounds): 𝑥! " , 𝑥% " , 𝑥& " , 𝑥) " , 𝑥' " , 𝑥* " , 𝑥+ " , 𝑥# " , 𝑥%! " , 𝑥%% " , 𝑥$ " , 𝑥( " , 𝑥%' " , 𝑥%& " , 𝑥%) " , 𝑥%# " n output 512-bit keystream block: 𝑍 = 𝑋 ! + 𝑋 + 準備 (2/7) Salsaコア関数 (The quarterround function) vector 𝑥, " , 𝑥- " , 𝑥. " , 𝑥/ " is updated as below: 𝑥- "0% = 𝑥, " + 𝑥/ " ⋘ 7 ⊕ 𝑥- " , 𝑥. "0% = 𝑥- "0% + 𝑥, " ⋘ 9 ⊕ 𝑥. " , 𝑥/ "0% = 𝑥. "0% + 𝑥- "0% ⋘ 13 ⊕ 𝑥/ " , 𝑥, "0% = 𝑥/ "0% + 𝑥. "0% ⋘ 18 ⊕ 𝑥, " .
  13. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysis 15 準備 (3/7) 補題1([Daum05, Corollary 4.12]) 1. If we suppose an 𝑛-bit word 𝐴 to be fixed and an 𝑛-bit word 𝐵 to be chosen uniformly at random, then we obtain Pr 𝐴 + 𝐵 ⋘ 𝑟 = 𝐴 ⋘ 𝑟 + 𝐵 ⋘ 𝑟 = 𝟐!𝒏 𝟐𝒏!𝒓 − 𝑨𝑹 𝟐𝒓 − 𝑨𝑳 , where 𝐴& = 𝑎'!(, … , 𝑎'!) and 𝐴* = 𝑎'!)!(, … , 𝑎+ for 𝐴. 2. If we suppose two 𝑛-bit words 𝐴 and 𝐵 to be chosen uniformly at random, then we obtain Pr 𝐴 + 𝐵 ⋘ 𝑟 = 𝐴 ⋘ 𝑟 + 𝐵 ⋘ 𝑟 = 𝟏 𝟒 𝟏 + 𝟐𝒓!𝒏 + 𝟐!𝒓 + 𝟐!𝒏 . 例:𝑛 = 32, 𝑟 = 1の場合,補題1におけるそれぞれのrotational probabilities 𝟐!𝟏.𝟐𝟒𝟓と𝟐!𝟏.𝟒𝟏𝟓である. rotationとXORにおけるrotational probabilitiesは次のとおり: Pr 𝐴 ⋘ 𝑟( ⋘ 𝑟1 = 𝐴 ⋘ 𝑟1 ⋘ 𝑟( = 𝟏 , Pr 𝐴 ⊕ 𝐵 ⋘ 𝑟 = 𝐴 ⋘ 𝑟 ⊕ 𝐵 ⋘ 𝑟 = 𝟏 .
  14. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysis 16 準備 (4/7) 定理1([KN10, Theorem 2]): Let 𝑞 be the number of modular additions in an ARX-based primitive that has an arbitrary number of rotations and XORs. Then, the rotational probability of the ARX- based primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of modular addition depending on the word size 𝑛 and the rotation amount 𝑟. 事実1:ARXベースプリミティブのrotational probabilityは算術加算の数を単純 に数え上げることで計算可能(補題1の2つ⽬の条件に従う.)
  15. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysis 17 準備 (5/7) 事実2:算術加算の出⼒が別の算術加算への⼊⼒となる場合(chained modular additionと呼ばれる),rotational probabilityは定理1には従わない. 定理1([KN10, Theorem 2]): Let 𝑞 be the number of modular additions in an ARX-based primitive that has an arbitrary number of rotations and XORs. Then, the rotational probability of the ARX- based primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of modular addition depending on the word size 𝑛 and the rotation amount 𝑟. 事実1:ARXベースプリミティブのrotational probabilityは算術加算の数を単純 に数え上げることで計算可能(補題1の2つ⽬の条件に従う.)
  16. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Rotational Cryptanalysis 19 準備 (7/7) 事実2:算術加算の出⼒が別の算術加算への⼊⼒となる場合(chained modular additionと呼ばれる),rotational probabilityは定理1には従わない. 定理1([KN10, Theorem 2]): Let 𝑞 be the number of modular additions in an ARX-based primitive that has an arbitrary number of rotations and XORs. Then, the rotational probability of the ARX- based primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of modular addition depending on the word size 𝑛 and the rotation amount 𝑟. 事実1:ARXベースプリミティブのrotational probabilityは算術加算の数を単純 に数え上げることで計算可能(補題1の2つ⽬の条件に従う.) 補題2([KNP+15, Lemma 2]) Let 𝑎(, … , 𝑎4 be 𝑛-bit words chosen at random and let 𝑟 be the rotation amount. Then Pr( 𝑎( + 𝑎1 ⋘ 𝑟 = 𝑎( ⋘ 𝑟 + 𝑎1 ⋘ 𝑟 ∧ ⋯ ∧ 𝑎( + ⋯ + 𝑎4 ⋘ 𝑟 = 𝑎( ⋘ 𝑟 + ⋯ + 𝑎4 ⋘ 𝑟 ) = 𝟏 𝟐𝒏𝒌 𝒌 + 𝟐𝒓 − 𝟏 𝟐𝒓 − 𝟏 𝒌 + 𝟐𝒏!𝒓 − 𝟏 𝟐𝒏!𝒓 − 𝟏 .
  17. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    発表内容 20 1. 研究背景 2. 準備 n ストリーム暗号Salsa n Rotational Cryptanalysis 3. Salsaコア関数に対するRotational Cryptanalysis n 観測実験 n 補題,定理,予想 n 検証実験 4. Salsa Permutationに対するRotational Distinguisher 5. まとめ
  18. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    観測実験 Salsaコア関数のToyモデルを構成 n ワードサイズを8 bitsに縮⼩(オリジナル:32 bits) u 232回の試⾏(全数探索可能)で正確なrotational probabilityを観測可能 21 Salsaコア関数に対するRotational Cryptanalysis (1/9) Salsaコア関数のToyモデル The function family 𝑓5 is defined by 𝑓5 𝑎, 𝑏, 𝑐, 𝑟 = 𝑎 + 𝑏 ⋘ 𝑟 ⊕ 𝑐. Then 𝑏 = 𝑓( 𝑎, 𝑑, 𝑏, 7 = 𝑎 + 𝑑 ⋘ 7 ⊕ 𝑏, 𝑐 = 𝑓1 𝑏, 𝑎, 𝑐, 5 = 𝑏 + 𝑎 ⋘ 5 ⊕ 𝑐, 𝑑 = 𝑓6 𝑐, 𝑏, 𝑑, 3 = 𝑐 + 𝑏 ⋘ 3 ⊕ 𝑑, 𝑎 = 𝑓7 𝑑, 𝑐, 𝑎, 1 = 𝑑 + 𝑐 ⋘ 1 ⊕ 𝑎. The function family 𝐹5 is defined as follows: 𝐹( = 𝑓(, 𝐹1 = 𝑓1 ∘ 𝑓(, 𝐹6 = 𝑓6 ∘ 𝑓1 ∘ 𝑓(, 𝐹7 = 𝑓7 ∘ 𝑓6 ∘ 𝑓1 ∘ 𝑓(
  19. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Salsaコア関数のToyモデル 22 Salsaコア関数に対するRotational Cryptanalysis (2/9) ⋘ 7 𝑎 𝑏 𝑐 𝑑 𝑎′ 𝑏′ 𝑐′ 𝑑′ ⋘ 1 ⋘ 3 ⋘ 5 𝑓( 𝑓1 𝑓6 𝑓7 𝐹( 𝐹1 𝐹6 𝐹7
  20. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    観測実験 関数𝑭𝟏 , 𝑭𝟐 , 𝑭𝟑 , 𝑭𝟒*のRotational Probabilities 23 Salsaコア関数に対するRotational Cryptanalysis (3/9) Pr 𝐹( 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹( ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 , Pr 𝐹1 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹1 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 , Pr 𝐹6 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹6 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 , Pr 𝐹7 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹7 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 . *記号‘←’:1ビット左ローテーション **Salsaコア関数はchained modular additionの構造ではないため,補題2には従わない. Table 3. A comparison between the previous and our observations (r = 1). ※log2 Rotational probabilities 𝐹! 𝐹" 𝐹# 𝐹$ 定理1** -1.404 -2.808 -4.212 -5.616 Experimental observations -1.404 -2.246 -3.241 -4.197 Our lemmas and theorem 補題3 補題4 定理2
  21. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    関数𝑭𝒊 のRotational Probability 24 Salsaコア関数に対するRotational Cryptanalysis (4/9) Salsaコア関数の性質 1. 連続する2つの算術加算への⼊⼒に対して1つは同じ値が再利 ⽤される. 2. 関数全体のrotational probabilityは最後の算術加算の出⼒にお けるrotational probabilityと⼀致する. ⋘ 7 𝑎 𝑏 𝑐 𝑑 𝑎′ 𝑏′ 𝑐′ 𝑑′ ⋘ 5
  22. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    補題3:関数𝑭𝟐 のRotational Probability 25 Salsaコア関数に対するRotational Cryptanalysis (5/9) 補題3 Let 𝑃 ⋅, 𝑛, 𝑟 be a rotational probability of the first type of modular addition in Lemma 1, that is, 𝑷 ⋅, 𝒏, 𝒓 = 𝟐%𝒏 𝟐𝒏%𝒓 − 𝑨𝑹 𝟐𝒓 − 𝑨𝑳 . Then, the rotational probability of function 𝐹" is given as follows: Pr 𝐹1 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹1 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 = 2!' K 8∈ +,( 3 𝑃 𝑎, 𝑛, 1 M 𝑃 𝑎, 𝑛, 1 , where Symbol ‘←’ represents the left rotation by one bit, and thus the rotation amount is r = 1. (Proof Sketch) Salsaコア関数における2つの性質を利⽤して証明 1. 連続する2つの算術加算への⼊⼒に対して1つは同じ値が再利⽤される. u 補題1の1つ⽬の条件に従う. l 既存の理論では補題1の2つ⽬の条件に従っていた. l 補題1の2つ⽬の条件よりも1つ⽬の条件の⽅が⾼いrotational probability 2. 関数全体のrotational probabilityは最後の算術加算の出⼒におけるrotational probabilityと⼀致する.□
  23. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    補題4と定理2: 関数𝑭𝟑 , 𝑭𝟒 のRotational Probability 26 Salsaコア関数に対するRotational Cryptanalysis (6/9) 補題4 The rotational probability of function 𝑭𝟑 is given by Pr 𝐄< = => 𝐄4 => 𝐄5 M Pr 𝐄@ , where Pr 𝐄@ is given by Lemma 3 and Pr 𝐄6 is given by Pr 𝐄( in the proof of Lemma 3. 𝐄6: 𝑓( 𝑎, 𝑑, 𝑏, 7 = 𝑓( ⃖ 𝑎, ⃖ 𝑑, 𝑏, 7 , 𝐄@: 𝐹1 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹1 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 , 𝐄<: 𝐹6 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹6 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 , 𝐄A: 𝐹7 𝑎, 𝑏, 𝑐, 𝑑 = 𝐹7 ⃖ 𝑎, 𝑏, ⃖ 𝑐, ⃖ 𝑑 . 定理2 The rotational probability of function 𝑭𝟒 is given by Pr 𝐄A = => 𝐄4 => 𝐄5 M Pr 𝐄< , where Pr 𝐄< is given by Lemma 4, Pr 𝐄@ is given by Lemma 3, and Pr 𝐄6 is given by Pr 𝐄( in the proof of Lemma 3.
  24. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    予想1:SalsaタイプのARX構成におけるRotational Probabilities 27 Salsaコア関数に対するRotational Cryptanalysis (7/9) 定理1([KN10, Theorem 2]): Let 𝑞 be the number of modular additions in an ARX-based primitive that has an arbitrary number of rotations and XORs. Then, the rotational probability of the ARX- based primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of modular addition depending on the word size 𝑛 and the rotation amount 𝑟. 事実1:ARXベースプリミティブのrotational probabilityは算術加算の数を単純 に数え上げることで計算可能(補題1の2つ⽬の条件に従う.)
  25. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    予想1:SalsaタイプのARX構成におけるRotational Probabilities 28 Salsaコア関数に対するRotational Cryptanalysis (8/9) 予想1 Let 𝑞 be the number of Salsa core functions that has four modular additions. Then, the rotational probability of the Salsa-type ARX primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of the Salsa core function depending on the word size 𝑛 and the rotation amount 𝑟. 事実3:この予想が正しい場合, SalsaタイプのARX構成におけるrotational probabilityはSalsaコア関数の数を単純に数え上げることで計算可能 定理1([KN10, Theorem 2]): Let 𝑞 be the number of modular additions in an ARX-based primitive that has an arbitrary number of rotations and XORs. Then, the rotational probability of the ARX- based primitive is 𝒑2 𝒒 , where 𝑝2 denotes the rotational probability of modular addition depending on the word size 𝑛 and the rotation amount 𝑟. 事実1:ARXベースプリミティブのrotational probabilityは算術加算の数を単純 に数え上げることで計算可能(補題1の2つ⽬の条件に従う.)
  26. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    検証実験 29 Salsaコア関数に対するRotational Cryptanalysis (9/9) Table 4. A comparison between the experimental and theoretical values (log2 ) for the original version of the Salsa core function when the rotation amount is r = 1. The value in parentheses is the predicted value based on Prediction 1. # of modular additions 1 2 3 4 5 6 7 8 Experimental value -1.415 -2.263 -3.263 -4.206 -5.169 -6.126 -7.086 -8.043 Theoretical value -1.415 -2.263 -3.111 -3.959 -- -- -- (-7.918) # of modular additions 9 10 11 12 13 14 15 16 Experimental value -9.000 -9.959 -10.918 -11.875 -12.831 -13.790 -14.753 -15.712 Theoretical value -- -- -- (-11.877) -- -- -- (-15.836) # of modular additions 17 18 19 20 21 22 23 24 Experimental value -16.669 -17.634 -18.580 -19.530 -20.495 -21.446 -22.417 -23.415 Theoretical value -- -- -- (-19.795) -- -- -- (-23.754)
  27. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    発表内容 30 1. 研究背景 2. 準備 n ストリーム暗号Salsa n Rotational Cryptanalysis 3. Salsaコア関数に対するRotational Cryptanalysis n 観測実験 n 補題,定理,予想 n 検証実験 4. Salsa Permutationに対するRotational Distinguisher 5. まとめ
  28. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    2ラウンドのストリーム暗号Salsa 32 Salsa Permutationに対するRotational Distinguisher (2/5) 予想1に従い,Salsa permutationのrotational probabilityはSalsaコア関数の数を単 純に数え上げることで計算可能 n 定理2:𝒑2 = 𝟐!𝟑.𝟗𝟓𝟗 Salsa permutationでは1ラウンド当たり4個のSalsaコア関数で構成 n 𝑅ラウンドのSalsaにおけるrotational probability:𝒑2 𝟒𝑹 = 𝟐!𝟑.𝟗𝟓𝟗 𝟒𝑹 .
  29. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    2ラウンドのストリーム暗号ChaCha 34 Salsa Permutationに対するRotational Distinguisher (4/5) ⽂献[KNP+15]に従うと,𝑅ラウンドのChaCha permutationはChained Modular Additionの構成で 8 chainsを有しており,各chain 2𝑹 個の算術加算を有する. n 𝑅ラウンドのChaCha permutationにおけるrotational probabilityは補題2に 従って計算可能
  30. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    Salsa/ChaCha Permutationsに対するRotational Distinguisher 35 Salsa Permutationに対するRotational Distinguisher (5/5) Table 5. A comparison of the rotational probabilities (log2 ) of the Salsa and ChaCha permutations when the rotation amount is r = 1. # of rounds 1 2 3 4 5 6 Salsa permutation -15.836 -31.672 -47.508 -63.344 -79.180 -95.016 ChaCha permutation -28.800 -74.400 -130.400 -192.800 -261.600 -333.600 # of rounds 7 8 9 10 11 12 Salsa permutation -110.852 -126.688 -142.524 -158.630 -174.196 -190.032 ChaCha permutation -410.400 -489.600 -571.200 -656.000 -743.200 -832.000 ChaCha Permutationsに対するRotational Distinguisher n 8 rounds (with 8 chains of 16 modular additions): 𝟐%𝟔𝟏.𝟐 𝟖 = 𝟐%𝟒𝟖𝟗.𝟔 > 2%1!".2 Salsa Permutationsに対するRotational Distinguisher n 32 rounds (with 128 Salsa core functions): 𝟐%𝟑.𝟗𝟓𝟗 𝟒×𝟑𝟐 = 𝟐%𝟓𝟎𝟔.𝟕𝟓𝟐 > 2%1!".2
  31. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    発表内容 36 1. 研究背景 2. 準備 n ストリーム暗号Salsa n Rotational Cryptanalysis 3. Salsaコア関数に対するRotational Cryptanalysis n 観測実験 n 補題,定理,予想 n 検証実験 4. Salsa Permutationに対するRotational Distinguisher 5. まとめ
  32. 伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function

    結果のまとめ 37 まとめ Salsa/ChaCha Permutations*へのRotational Distinguisher** Table 1. A comparison between the previous and our results (r = 1). ※log2 # of modular additions 1 2 3 4 5 6 7 8 [KN10, Theorem 2] -1.4 -2.8 -4.2 -5.7 -7.1 -8.5 -9.9 -11.3 [KNP+15, Lemma 2] -1.4 -3.6 -6.3 -9.3 -12.7 -16.3 -20.1 -24.1 Experimental results -1.415 -2.263 -3.263 -4.206 -5.169 -6.126 -7.086 -8.043 Theoretical results -1.415 -2.263 -3.111 -3.959 -7.918 Salsaコア関数におけるRotational Probabilities *Permutations:任意の⼊⼒値を選択可能(定数値などを考慮しない.) **Distinguisher:ランダム関数/置換との識別 Table 2. A comparison of the rotational distinguisher for Salsa/ChaCha permutations. # of rounds Probability (log2 ) Ref Salsa permutation 32 -506.752 (< -512.0) ChaCha permutation 8 -489.6 (< -512.0) 17 -487.6 (< -512.0) [ePrint]