単純電力解析とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 単純電力解析の意味・解説 

単純電力解析

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/10/12 15:10 UTC 版)

単純電力解析(たんじゅんでんりょくかいせき、英語: simple powering analysis)は、暗号ハードウェアICカードなど)に対するサイドチャネル攻撃の1つで、1個の電力波形をモニタリングすることで暗号解読を行う攻撃である。SPA(エスピーエイ)とも呼ばれる。1990年代中盤に提案された。

SPAの例

RSA暗号復号過程において、以下のアルゴリズムが実行されたとする。秘密鍵に相当するdはバイナリ演算を行っていて、nビットの数値であるとする。すなわちd[i]は0or1である。

Calculate M=Cd mod N
INPUT: d,C
OUTPUT: M

int i;
int T=C;
for(i=n;i=>0;i--)
{
   T=T*T; // ①
   if(d[i]==1){
    T=T*C; // ②
   }
}
  return T;

この場合d[i]=0の場合は①の自乗算の処理のみが行われるが、d[i]=1の場合は①に加え②の掛算の処理も行われる。自乗算と掛算の消費電力が異なることを利用すれば1個の消費電力波形から秘密鍵を導出できてしまう。SPAから秘密鍵を守るには以下の2種類のアルゴリズムが利用される。

Calculate M=Cd mod N
INPUT: d,C
OUTPUT: M

int i;
int T[];
T[0]=C;
for(i=n;i=>0;i--)
{
   T[0]=T[0]*T[0]; // ①
   T[1]=T[0]*C; // ②
   T[0]=T[d[i]]; // ③
}
  return T[0];

Calculate M=Cd mod N
INPUT: d,C
OUTPUT: M

int i;
int T[];
T[0]=C; T[1]= C*C;
for(i=n;i=>0;i--)
{
   T[2] = T[d[i]]*T[d[i]]; // ①
   T[1] = T[0]*T[1]; // ②
   T[0] = T[2-d[i]]; // ③
   T[1] = T[1+d[i]]; // ③
}
  return T[0];

上記のアルゴリズムは上から"Add-and-double-always method","Montgomery Ladder"(論文[IIT03]の呼び名)と呼ばれ、d[i]の値に関わらず①と②の演算を行い、③でd[i]の値に即した処理を行うのが特徴である。これにより理論上[1]1個の消費電力波形から秘密鍵を導出することはできない。これら3つの暗号アルゴリズムはRSAのみにかかわらず、ElGamal暗号楕円曲線暗号など公開鍵暗号全般に適用できる。

脚注

  1. ^ ただしハードウェアの回路構成によってはSPAに防御できないことがある(論文[ISO09]より)

参考文献

  • [IIT03]:K. Itoh,T. Izu and M. Takenaka, "A Practical Countermeasure against Address-bit Differential Power Analysis", CHES 2003, LNCS 2779, pp. 382-396, 2003.
  • [ISO09]:M. Izumi, K. Sakiyama, K. Ohta, "A New Approach for Implementing the MPL Method toward higher SPA Resistance", ARES 2009, pp.181-186, IEEE Computer Society, 2009

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「単純電力解析」の関連用語

単純電力解析のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



単純電力解析のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの単純電力解析 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS