Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 3

Slide 3 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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)

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 6

Slide 6 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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.

Slide 7

Slide 7 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 8

Slide 8 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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)

Slide 9

Slide 9 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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に対して安全であるか 否かを明らかにすることは重要(差分攻撃には安全であるため)

Slide 10

Slide 10 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 11

Slide 11 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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]

Slide 12

Slide 12 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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. まとめ

Slide 13

Slide 13 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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) 初期内部状態 𝑋 ! = 𝑥! ! 𝑥# ! 𝑥& ! 𝑥' ! 𝑥$ ! 𝑥% ! 𝑥( ! 𝑥" ! 𝑥) ! 𝑥* ! 𝑥#$ ! 𝑥#% ! 𝑥#! ! 𝑥## ! 𝑥#& ! 𝑥#' ! = 𝑐! 𝑘! 𝑘% 𝑐# 𝑘# 𝑘$ 𝑣! 𝑣# 𝑡! 𝑡# 𝑘' 𝑘( 𝑐$ 𝑘& 𝑘" 𝑐%

Slide 14

Slide 14 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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 ⊕ 𝑥, " .

Slide 15

Slide 15 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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 𝐴 ⊕ 𝐵 ⋘ 𝑟 = 𝐴 ⋘ 𝑟 ⊕ 𝐵 ⋘ 𝑟 = 𝟏 .

Slide 16

Slide 16 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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つ⽬の条件に従う.)

Slide 17

Slide 17 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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つ⽬の条件に従う.)

Slide 18

Slide 18 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function 例:chained modular addition 18 準備 (6/7)

Slide 19

Slide 19 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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 ⋘ 𝑟 ) = 𝟏 𝟐𝒏𝒌 𝒌 + 𝟐𝒓 − 𝟏 𝟐𝒓 − 𝟏 𝒌 + 𝟐𝒏!𝒓 − 𝟏 𝟐𝒏!𝒓 − 𝟏 .

Slide 20

Slide 20 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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. まとめ

Slide 21

Slide 21 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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 ∘ 𝑓(

Slide 22

Slide 22 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 23

Slide 23 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 24

Slide 24 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 25

Slide 25 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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と⼀致する.□

Slide 26

Slide 26 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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.

Slide 27

Slide 27 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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つ⽬の条件に従う.)

Slide 28

Slide 28 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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つ⽬の条件に従う.)

Slide 29

Slide 29 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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)

Slide 30

Slide 30 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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. まとめ

Slide 31

Slide 31 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function 2ラウンドのストリーム暗号Salsa 31 Salsa Permutationに対するRotational Distinguisher (1/5)

Slide 32

Slide 32 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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 𝟒𝑹 = 𝟐!𝟑.𝟗𝟓𝟗 𝟒𝑹 .

Slide 33

Slide 33 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 2020年12⽉18⽇ @ 第5回情報セキュリティフォーラム Rotational Cryptanalysis of Salsa Core Function 2ラウンドのストリーム暗号ChaCha 33 Salsa Permutationに対するRotational Distinguisher (3/5)

Slide 34

Slide 34 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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に 従って計算可能

Slide 35

Slide 35 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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

Slide 36

Slide 36 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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. まとめ

Slide 37

Slide 37 text

伊藤⻯⾺(国⽴研究開発法⼈情報通信研究機構) 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]