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

Castryck-Decru Attack にちょっと触れてみる

Avatar for mitsu mitsu
March 20, 2025
6

Castryck-Decru Attack にちょっと触れてみる

魔女のお茶会#5 (https://witchskeyparty.connpass.com/event/308427/) で発表したスライド
CastryckとDecruによるSIKEの攻撃手法の概略を説明する

Avatar for mitsu

mitsu

March 20, 2025
Tweet

Transcript

  1. SIDH Alice 1. カーネルを 𝑚𝐴 𝜙𝐵 𝑃𝐴 + 𝑛𝐴 𝜙𝐵

    𝑄𝐴 とする 同種写像 𝜙𝐴 ′ : 𝐸𝐵 → 𝐸𝐵𝐴 を計算 2. 𝐸𝐵𝐴 の 𝑗-不変量 𝑗 𝐸𝐵𝐴 を計算 Bob 1. カーネルを 𝑚𝐵 𝜙𝐴 𝑃𝐵 + 𝑛𝐵 𝜙𝐴 𝑄𝐵 とする 同種写像 𝜙𝐵 ′ : 𝐸𝐴 → 𝐸𝐴𝐵 を計算 2. 𝐸𝐴𝐵 の 𝑗-不変量 𝑗 𝐸𝐴𝐵 を計算 𝜙𝐵 𝐸 𝐸𝐵 𝐸𝐴 𝐸𝐴𝐵 , 𝐸𝐵𝐴 Ker 𝜙𝐵 = 𝑚𝐵 𝑃𝐵 + 𝑛𝐵 𝑄𝐵 𝜙𝐴 𝜙𝐵 ′ 𝜙𝐴 ′ Ker 𝜙𝐴 = 𝑚𝐴 𝑃𝐴 + 𝑛𝐴 𝑄𝐴
  2. ➢ Microsoft & 各種大学の共同プロジェクト ➢ SIDH の Key Encapsulation ➢

    次の曲線を使用 (NIST Round 1) 𝑦2 = 𝑥3 + 𝑥 (NIST Round 2..) 𝑦2 = 𝑥3 + 6𝑥2 + 𝑥 SIKE 固定された曲線 曲線の準同型環が十分に解析されている 非自明な (2𝛼 − 3𝛽)-isogeny あるよ 十分に解析ペンギン
  3. ➢ 𝑏 :整数 ➢ 𝜑𝑖 : 次数 3 の同種写像 (𝑖

    = 1, 2, ⋯ , 𝑏) ➢ 𝑃0 , 𝑄0 = 𝐸0 2𝑎 ➢ 𝑃 ≔ 𝜑 𝑃0 , 𝑄 ≔ 𝜑(𝑄0 ) SIKE の BaseProblem (補助点付き同種写像問題) 同種写像グラフ 𝜑 𝜑1 , ⋯ , 𝜑𝑏 の情報無しで 𝜑 を復元するのは難しい 𝑃0 , 𝑄0 𝑃, 𝑄
  4. Castryck と Decru のアイデア 判定問題 (D) (D) が解ければ SIKE が解ける!

    つまり 𝜑 を構成的に求めずとも、存在の判定さえできればよい 3𝑏-同種写像 𝜑: 𝐸0 → 𝐸 で 𝜑 𝑃0 = 𝑃, 𝜑 𝑄0 = 𝑄 となるものは存在するか?
  5. 解法(Dが簡単に解けるとき) ➢ 𝐸0 を定義域とする 3-同種写像を適当に選び、𝜑1 を推定(これを 𝜅1 とする) ➢ この時の

    𝐸1 から、𝑃1 , 𝑄1 を 𝑃, 𝑄 に移すような 3𝑏−1-同種写像は存在する か? • 存在したら 𝜅1 は正解の同種写像 • 存在しなかったら、𝜅1 を選びなおす これを繰り返す 𝑃0 , 𝑄0 𝑃, 𝑄? 𝑃1 , 𝑄1
  6. PPAS (Principally Polarized Abelian Surface) supersingular な楕円曲線の直積 𝐸1 × 𝐸2

    , 𝜆𝐸1,𝐸2 種数 2 の超楕円曲線のヤコビアン 𝐽𝐻 , 𝜆𝐽 PPAS 識別子のようなもの あまり気にしなくていい どちらかと同型なやつら
  7. 超楕円曲線のヤコビアン??? 楕円曲線 ◼ 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏

    の解空間 ◼ 点で群になる 超楕円曲線 ◼ 楕円曲線の高次元バージョン ◼ 𝑥 の次数が増える ◼ 点の重み付きの組の集合に 細工をして群を作る(ヤコビアン)
  8. (D) を解いていくぜ!! 3𝑏-同種写像 𝜑: 𝐸0 → 𝐸 s. t. 𝜑

    𝑃0 = 𝑃 ∧ 𝜑 𝑄0 = 𝑄 が存在する 前提 ✓ 𝑝 = 2𝑎3𝑏 − 1, 2𝑎 > 3𝑏 ✓ 𝑐 ≔ 2𝑎 − 3𝑏 ✓ 𝐸0 /𝔽𝑝 を定義域とする、適当な曲線 𝐶 への 𝑐-同種写像 𝛾 ✓ 𝑃𝑐 ≔ 𝛾 𝑃0 , Qc ≔ 𝛾 𝑄0 ✓ 𝑥 ≔ 3−𝑏 mod 2𝑎 = −𝑐−1 mod 2𝑎
  9. D が真の場合 ➢ 𝜓 ≔ −1 ∘ 𝜑 ∘ ො

    𝛾: 𝐶 → 𝐸 について考える ➢ 𝑐3𝑏-同種写像 𝑥𝜓 ≔ 𝑥 ∘ 𝜓 は次を満たす 𝐻 ≔ 𝑃𝑐 , 𝑥𝜓 𝑃𝑐 , 𝑄𝑐 , 𝑥𝜓 𝑄𝑐 は 2𝑎-Weil pairing について maximally isotropic 𝐴 ∈ PPAS と maximally isotropic 𝐺 ⊆ 𝐴 について 𝐴/𝐺 ∈ PPAS であることが知られている 𝐶 × 𝐸 /𝐻 は PPAS
  10. diamond configuration • 同種写像 𝜓: 𝐶 → 𝐸 • 部分群

    𝐻1 , 𝐻2 ⊆ Ker 𝜓 • 𝐻1 ∩ 𝐻2 = 0 かつ #𝐻1 ⋅ #𝐻2 = deg 𝜓 組 𝜓, 𝐻1 , 𝐻2 を 𝐶 から 𝐸 の 次数 𝑁 ≔ #𝐻1 + #𝐻2 の diamond configuration という D が真の場合
  11. D が真の場合 • 𝐻1 ≔ Ker ො γ , #𝐻1

    = 𝑐 • 𝐻2 ≔ 𝛾 Ker 𝜑 , #𝐻2 = 3𝑏 𝜓, 𝐻1 , 𝐻2 は、𝐶 から 𝐸 への 𝑁 ≔ 2𝑎 次の diamond configuration このとき、準同型 𝜌: 𝐶/𝐻1 × 𝐶/𝐻2 → 𝐶 × 𝐸 で Ker 𝜌 = 𝑃𝐶 , 𝑃 , 𝑄𝐶 , 𝑄 となるものが存在する 𝐶 𝐶/𝐻1 ⊆ 𝐸0 𝐸 𝐶/𝐻2 ො 𝛾 𝜑
  12. Kani の定理 • 楕円曲線 𝐶, 𝐸 • 次数 𝑁 ≥

    2 の 𝐶 から 𝐸 への diamond configuration 𝜓, 𝐻1 , 𝐻2 • 𝑑 ≔ gcd #𝐻1 , #𝐻2 • 𝑛 ≔ 𝑁/𝑑, 𝑘𝑖 ≔ #𝐻𝑖 /𝑑 𝜓 = 𝜓′ ∘ 𝑑 となる同種写像 𝜓′ が存在する さらに、一意な reducible anti-isometry 𝜄: 𝐶 𝑁 → 𝐸 𝑁 が存在し、 ∀𝑅𝑖 ∈ 𝑛 −1𝐻𝑖 . 𝜄 𝑘1 𝑅1 + 𝑘2 𝑅2 = 𝜓′ 𝑅2 − 𝑅1 D が真の場合
  13. Kani の定理を適用 𝑥𝜓ȁ𝐶 2𝑎 は reducible な anti-isometry (Kani の定理)

    𝑥𝜓 について 𝐻 ≔ 𝑃𝑐 , 𝑥𝜓 𝑃𝑐 , 𝑄𝑐 , 𝑥𝜓 𝑄𝑐 = 𝑃𝑐 , 𝑃 , 𝑄𝑐 , 𝑄 による剰余群 𝐶 × 𝐸 /𝐻 は supersingular な楕円曲線の直積と同型 D が真の場合
  14. D が偽の場合 ➢ ほとんどの PPAS は、超楕円曲線のヤコビアンと同型 ➢ PPAS 𝐶 ×

    𝐸 /𝐻 は非常に高い確率で supersingular な楕円曲線の直積と同型でない PPAS のうち 楕円曲線の直積の割合は 10/𝑝 程度だよ
  15. つまり? これらを逆に考えると ➢ 𝐶 × 𝐸 /𝐻 が supersingular な楕円曲線の直積と同型

    => 1 − 10/𝑝 の確率で D は真 ➢ 𝐶 × 𝐸 /𝐻 が supersingular な楕円曲線の直積と同型でない => 100% D は偽 デ カ 過 ぎ ん だ ろ ・ ・ ・ 𝑝
  16. (D) の解法 ➢ (D) が真かつ判定が正しい: 100% ➢ (D) が真かつ判定が誤り: 0%

    ➢ (D) が偽かつ判定が正しい: 1 − 10/𝑝 ➢ (D) が偽かつ判定が誤り: 10/𝑝 つまり?
  17. (D) の解法 ➢ (D) が真かつ判定が正しい: 100% ➢ (D) が真かつ判定が誤り: 0%

    ➢ (D) が偽かつ判定が正しい: 1 − 10/𝑝 ➢ (D) が偽かつ判定が誤り: 10/𝑝 つまり? セキュリティパラメータ 𝑝 が大 攻撃の成功確率が大 クリティカルな攻撃手法
  18. 𝑁, 𝑁 -同種写像 PPAS 間の同種写像 𝜑 で ➢ Ker 𝜑

    ≃ ℤ/𝑁ℤ × ℤ/𝑁ℤ ➢ Ker 𝜑 は 𝑁-Weil pairing について maximally isotropic 𝐶 × 𝐸 /𝐻 の形状の判定
  19. Richelot isogeny ➢ PPAS 間の 2, 2 -同種写像 [Richelot Correspondence

    (𝜑: 𝐽𝐸 → 𝐽𝐸′)] カーネルの Mumford表現 𝑔1 𝑥 , 𝑔2 𝑥 からある曲線 𝑅 ⊂ 𝐸 × 𝐸′ が定まり、𝐸 の点と 𝐸′ の点の間である連立方程式が成り立つ Richelot isogeny の像は この連立方程式を解けば計算できる 𝐶 × 𝐸 /𝐻 の形状の判定
  20. 𝐶 × 𝐸 /𝐻 の形状の判定 𝐻 = 𝑃𝑐 , 𝑃

    , 𝑄𝑐 , 𝑄 は 2𝑎-Weil pairing について maximally isotropic ➢ 同種写像 𝜑: 𝐶 × 𝐸 → 𝐶 × 𝐸 /𝐻 は 2𝑎, 2𝑎 -同種写像 ➢ 𝜑 は 𝑎 個の 2, 2 -同種写像の鎖になる (isogeny decomposition)
  21. 𝐶 × 𝐸 /𝐻 の形状の判定 𝐶 × 𝐸 を Richelot

    isogeny で 𝑎 回移せばいい! 𝐶 × 𝐸 𝐴1 → 𝐴2 𝐴𝑎−1 𝐶 × 𝐸 /𝐻 → ⋯ → → → ? ? first step middle step last step 𝑗𝑢𝑑𝑔𝑒
  22. middle step での計算 Richelot correspondence から導かれる連立方程式 ➔ 多変数かつ非線形 ➔ グレブナー基底を使って計算

    SageMath のグレブナー基底計算は遅いので、別のアルゴリズムを 使いましょう “Efficient Computation of 2𝑛, 2𝑛 -Isogenies”. Sabrina Kunzweiler 𝐶 × 𝐸 /𝐻 の形状の判定
  23. 𝐶 × 𝐸 /𝐻 の形状の判定 Richelot Correspondence の 𝑋 を曲線とみて、

    𝐸 の元に対応する 𝑋 の因子群 Div(𝑋) の元を具体的に記述 𝜓: 𝐸 → Div 𝑋 → Div 𝐸′ → 𝐽𝐸′ を用いると 𝜑: 𝐽𝐸 ∋ 𝑃 + 𝑄 − 𝐷∞ ↦ 𝜓 𝑃 + 𝜓 𝑄 − 2𝜓 ∞ ∈ 𝐽𝐸′ で 𝜑: 𝐽𝐸 → 𝐽𝐸′ が構成できる 高速(連立方程式を解く必要がない) 𝑋 ⊂ 𝐸 × 𝐸′ 𝐸 𝐸′ 𝜋 𝜋′
  24. 説明しきれていないところ ➢ PPAS や superspecial ➢ anti-isometry や maximally isotropic

    の性質、嬉しさ ➢ 判定問題 (D) を解くための曲線 𝐶 と 𝑐-同種写像の構成 ➢ first step での Richelot isogeny の計算 ➢ 𝛿 = 0 test ➢ 正解の同種写像 𝜑 を求めるときの、構成要素 𝜅𝑖 の推定法 ➢ 実は 𝜅𝑖 は 3-同種写像ではなく 3𝛽-同種写像で、複数の構成要素をま とめて求める話(3-同種写像だとうまくいかなことがある) etc