脆弱性攻撃による解読例


Invalid Curve Attack (ICA)


解読の入力データ

  • 先頭6個は係数p,r,a,b,Qx,Qyの順。Q=(Qx.Qy)
  • 7行目:rの因数の数(例は8)
  • 8行目:rの因数(因数の間は空白)
  • 9行目:R=n×Qでnを解読。解読する点Rの個数(例は100)
  • 以降: R=(Rx,Ry)のRxとRyを2行に入れる。
  • 5件の入力データ(各100個のECC解読)

ρ法による解読結果

  • 各100個のECC-256の解読結果。
  • Rho-xはin-xの入力に対する解読結果(x=1,2,3,4,5)。
  • 100個の解読が9000秒程度で、1個の解読は平均90秒。
  • 解読の詳細(rの因数の解読情報)を表示。
  • プログラムはC。pythonプログラムは約20倍遅い。

学習λ法による解読結果

  • 各100個のECC-256の解読結果。
  • Learn-xはin-xの入力に対する解読結果(x=1,2,3,4,5)。
  • 100個の解読が1秒程度で、1個の解読は平均0.01秒。
  • table=0.14(s),total=0.97(s)のtableは各因数への変換に要する時間、totalは解読合計時間。