倉本 将吾
近年,IoTデバイスは現代の情報化社会を支えている.一方で,セキュリティの脆弱性によって深刻な被 害にあう可能性がある.特に演算中の処理時間の差を利用して暗号を解読し,情報を取得するサイドチャネ ル攻撃が発展しており,IoTデバイスのセキュリティはますます重要となっている.逆元計算は,多くの暗 号方式で使用されている演算であり,拡張ユークリッドの互除法やフェルマーの小定理などを用いて求める ことができる.逆元アルゴリズムはある主要アルゴリズムを複数回繰り返す.このため,アルゴリズムの 性能は主要アルゴリズムの計算量とアルゴリズムの反復回数で決定する.サイドチャネル攻撃耐性を持つ ためには,反復回数が入力に依存せず一定であることが必要である.JIN-Miyajiにより,任意の素体上で, 反復回数が一定で,一回の反復で有限体Fp上の計算量が2回の減算,2回のシフト,10回の乗算,6回の xor,1回の比較,ワードサイズの計算量が3回のand演算,1回のor演算,1回のnot演算,4回の配列選 択となるアルゴリズムが提案されている.ここで主要アルゴリズムでは,条件分岐をなくすために,論理 和の演算で構成し,演算結果を配列で保存し,その結果を選択するアルゴリズムが導入されいる.配列選 択とは,結果選択にかかる計算量を表す.また,porninにより,レジスタ容量2kを考慮した逆元アルゴリ ズムが提案されている.本研究では,JIN-Miyajiのアルゴリズムのワードサイズの計算量に対して,and ,not,select をそれぞれ1,2,4回ずつ減らして動作するように改良し,さらに反復回数を2回減少させること に成功した.実験環境として,11thGenIntel(R) Core(TM) i5-1135G7 @ 2.40GHzを用いて,JIN-Miyaji の逆元計算アルゴリズムよりも8.5%の高速化が実現できることを確認した.