• 検索結果がありません。

A  Pi pel i ned  Ar chi t ect ur e  of  Hi gh‑Speed  RSA  Encr ypt i on Pr oces s or  Us i ng  Rot at i on    of  Res i due  Tabl e

N/A
N/A
Protected

Academic year: 2021

シェア "A  Pi pel i ned  Ar chi t ect ur e  of  Hi gh‑Speed  RSA  Encr ypt i on Pr oces s or  Us i ng  Rot at i on    of  Res i due  Tabl e"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

パイプラインアーキテクチャ

苫米地 宣 裕

A  Pi pel i ned  Ar chi t ect ur e  of  Hi gh‑Speed  RSA  Encr ypt i on Pr oces s or  Us i ng  Rot at i on    of  Res i due  Tabl e

Nobuhi r o  T

OMABECHI

 

Abs t r act  

I n t he pr ecedi ng s t udy,t he aut hor  pr es ent ed a des i gn of  a  hi gh‑s peed  RSA  encr ypt i on pr oces s or  us i ng r edundant  bi nar y number  ar i t hmet   i c  and t abl e‑l ook‑up. The  pur pos e  of  t hi s s t udy  i s  t o  i mpr ove  t he  encr ypt i on  r at e  of  t he  pr   oces s or  when  t he  pl ai nt ext  dat a  i s  cont i nuous l y i nput . Thi s  paper  newl y  pr es ent s  a  pi pel i ned  ar   chi t ect ur e  i n  whi ch  t he  t abl e  dat a  i s  ci r cul at ed over  al l  pi pel i ne  uni t s  i n or der  t o make  us e  of    a s i ngl e  r es i due  t abl e  f or  al l  t hes e  uni t s . I t  i s demons t r at ed t hat  t he  encr ypt i on r at e  f or  cont   i nuous  i nput  dat a of  t he  pr es ent ed pr oces s or  i s appr oxi mat el y  2. 4  t i mes  t hat  of  convent i onal  pr   oces s or s .

:RSA  cr ypt os ys t em,pr oces s or ,pi pel i ne,ar chi t ect ur e,r edundant  bi nar y  number s ys t em,r ot at i on,r es i due  t abl e  

  1.

ま え が き

近年のコンピュータネットワーク通信の発展 とともに,通信のセキュリティを確保する高速 暗号プロセッサの開発が期待されている。高速 RSA暗号プロセッサの構成に関しては,これま で多くの報告がなされているが[1]‑ [6],一層 の高速性を有するプロセッサの実現が望まれて いる。RSA暗号演算は,乗算と剰余演算から成 る。通常,剰余演算はモントゴメリのアルゴリ ズムによって行われているが[3],本方法は本 質的に逐次演算であり,この方法では高速性の 達成は困難と考えられる。

本研究者は,先に,冗長 2進演算とテーブル ルックアップに基づく高速 RSA暗号プロセッ サの構成法を提案した[7]。冗長 2進演算とテー ブルルックアップは,ともに本質的に並列演算

であり,高速 RSA暗号演算が可能となる。しか し,平文データが連続的に入力する場合,提案 したプロセッサの暗号処理速度は,通常のプロ セッサと比較してそれほど大きくはならない。

本論文では,先に提案したプロセッサのパイ プラン構成,とくに,テーブルデータをパイプ ラインユニット上に循環させるというパイプラ イン構成を提案している。提案したプロセッサ の連続入力データに対する暗号処理速度は,鍵 の長さが 1, 024ビットの場合,通常のプロセッ サの 2. 4倍となることが明らかとなった。

2.

高速

RSA暗号化アルゴリズム はじめに,冗長 2進演算とテーブ ル ルック アップに基づく高速 RSA暗号化アルゴリズム について概観する[7]。鍵を , ,鍵の長さを

>=1, 024 ビット,平文を ,暗号文を と 表すと,RSA暗号では, は次式で与えられ 平成 16年 12月 17日受理

システム情報工学科・教授

(2)

る。ただし, mod は, を で割った剰余 を表している。

= mod

1桁の冗長 2進数を のように表記する。

は,1,0,−1の 3つの値をとる。 桁の冗長 2進数 を次のように表す。

= 2 + 2 + …+

= , , …, .

鍵 を, = 2 + 2 + … + と 表すとき, の値は以下のように求められる。

[アルゴリズム 1 ]

高速

RSA暗号化アルゴリ

ズム

(St ep  1‑1) =1

(St ep  1‑2)St ep  1‑3か ら St ep  1‑7ま で を = 1,2, …, の間くり返す。

(St ep  1‑3) = × (St ep  1‑4) = mod

(St ep  1‑5) =0 な ら ば,St ep  1‑2に 戻 る。

≠0 ならば,St ep  1‑6と St ep 1‑7を実行する。  

(St ep  1‑6) = × (St ep  1‑7) = mod . (St ep  1‑8) =

剰余計算はテーブルルックアップによって,

以下のように行われる。

[剰余テーブルの構成]

[構成 1]テーブルは H 個の RAM で構成され る。RAM を RAM ( i =0,1,2,. . . , H −1)と表 す。

[構成 2]RAM のアドレスは L 桁の冗長 2進 数で表される。ただし,L=N / H とする。

[構成 3]RAM ( i =0,1,2,. . . , H −1)のアドレ ス , ,. . . , に,次のデータ を ストアする。

= 2 + 2

+,. . . ,+ 2 mod

[アルゴリズム 2 ]剰余計算

入力データを = , ,. . . , と 表すと, mod は以下のように計算される。

(St ep  2‑1)以下の s t epを j =1,2,3,. . . , R の間 くり返す。

(St ep  2‑2)RAM ( i =0,1,2,. . . , H −1)にアド レ ス , ,. . . , を 与 え,出力 を得る。

(St ep  2‑3) = ∑ + , ,. . . ,

ただし,C (1)=H ,C ( j )=l og( C ( j −1)+

1)/ L,( j =2,3,4,. . . , R )である。

St ep  2‑2と St ep  2‑3の く り 返 し の 数 R は,

N と L の値に依存する。例として, N =1, 024,

L=2とすると,R =5となる。

3.

剰余テーブルを循環するパイプライン構成

アルゴリズム 1では,乗算と剰余計算が 2 N 回くり返される。 (St ep  1‑3および St ep  1‑4)ま たは(St ep  1‑6および St ep  1‑7)を実行する 1 組の乗算回路と剰余計算回路をユニットセルと 呼ぶこととする。

連続データ入力に適したパイプラインアーキ テクチャとして,次のような構成を提案する。

① 2 N 個のユニットセルをパイプライン形 式に直列接続する。

② 剰余テーブルデータを 2 N 個のユニット セル上で循環させる。これによって,単一 の剰余テーブルを 2 N 個のユニットセル で共用する。

3. 1

乗算回路の構成

[構 成 4]ユ ニット セ ル 内 の 乗 算 回 路 は,N ビット 1×ビット 冗 長 2進 乗 算 回 路 1個,2 N ビット冗長 2進加算回路 1個,2 N ビットラッ チ,および,シフトレジスタで構成される。シ フトレジスタは,被乗数と乗数をストアする。

[構成 5]乗算と加算を,演算数,被演算数をシ

(3)

フトしながら N 回くり返す。

3. 2

パイプライン化剰余計算アルゴリズム

RAM のアドレスの ビット 数 L=2と と る。

アルゴリズム 2を以下のように修正する。

[アルゴリズム 3 ]修正剰余計算アルゴリズ

入力データを = , ,. . . , と 表し, mod を求める。

(St ep  3‑1)RAM ( i =0,1,2,. . . , N /2−1)にア ドレスデータ , を与え,出力

を得る。

(St ep  3‑2) = ∑ + , ,. . . , (St ep  3‑3)St ep  3‑4から St ep  3‑6までを 4回 くり返す。

(St ep  3‑4) = , ,. . . , ,. . . , . (St ep  3‑5)RAM ( i =0,1,2,. . . , N /2−1)にア ドレスデータ , を与え,出力

を得る。

(St ep  3‑6) =∑ + , ,. . . ,

3. 3

剰余計算回路の構成

アルゴリズム 3に基づき,剰余計算回路を次 のように構成する。

[構成 6]ユニットセル内の剰余計算回路は,

RAM,2 N ビット冗長 2進加算回路,ラッチ,お よび,被乗数をストアするシフトレジスタから 成る。RAM は剰余テーブルの 1部をストアす る。

[構 成 7]RAM の ア ド レ ス は 冗 長 2進 2ビッ ト,出力は N ビットとする。

[構成 8]2 N 個のユニットセルに対して,剰余 テーブルは 1個だけ用意する。すなわち,剰余 テーブルは,各ユニットセルに分散された形式 でストアされる。

[構成 9]各ユニットセルでは,テーブルルック アップは,N /2+20回くり返される。

[構 成 10]St ep  3‑1か ら St ep  3‑2ま で の 演 算

をプロセス 1,St ep  3‑3から St ep  3‑6までの演 算をプロセス 2と呼ぶ。

( 1 )

プロセス

1

[構成 11]各ユニットセルは 1個の RAM を含 み,プロセス 1に対応する剰余テーブルの 1部 をストアする。

[構成 12]最初のタイミングにおいて, i 番目の ユ ニット セ ル(i =0,1,2,…,(2 N −1))は,

( 2 + 2 mod )の値をストア する。ただし,k=(2 i  mod  N )とし, およ び は任意の冗長 2進数とする。

[構 成 13]テーブ ル データ は,タ イ ミ ン グ ク ロックに同期しながら,2 N 個のユニットセル 上を循環する。すなわち, j 番目のタイミングに おいて(j =0,1,2,…, N /2),i 番目のユニット セルに,( 2 + 2 mod )の値を ストアする。ただし,k =(( i +j )mod  N )とす る。

[構成 14]i 番目のユニットセルは, j 番目の タイミングにおいて,剰余計算を被演算数シフ トレジスタから , をシフトアウ ト し,こ れ を テーブ ル データ を ス ト ア す る RAM のアドレスに与えることによって実行す る。ただし,k=(( i +j )mod  N )とする。

( 2 ) Proces s   2

プロセス 2に対応する剰余テーブルは,プロ セス 1と同様に構成する。ただし,テーブルは 5個の RAM で構成される。

[構成 15]各ユニットセルは,プロセス 1とは 別のプロセス 2に対応する 1個の RAM を有 する。

[構成 16]最初のタイミングにおいて, i 番目の ユ ニット セ ル(i =0,1,2,…,(2 N −1))は,

( 2 + 2 mod )を ス ト ア す る。ただし,k=(2 i  mod  5)とする。

[構 成 17]テーブ ル データ は,タ イ ミ ン グ ク

ロックに同期して,2 N 個のユニットセル上を

循環する。すなわち,j 番目のタイミング(j =

0,1,2,…,19)において,i 番目のユニットセル

は, ( 2 + 2 mod )をストアす

(4)

る。ただし,k =(( i +j )mod  5)とする。

[構成 18]i 番目にユニットセルは, j 番目のタ イミングにおいて,剰余計算は,被演算数シフ トレジスタから , をシフトアウ ト し,こ れ を テーブ ル データ を ス ト ア す る RAM のアドレスに与えることによって実行す る。ただし,k =( (i +j )mod  5)とする。

[構成 19]剰余計算回路の演算時間を乗算回路 の演算時間と等しくするために,プロセス 2の 後に,遅延素子を挿入する。

図 1に,プロセッサのブロック図を示してい る。

提案したプロセッサはパイプライン動作をと るので,その暗号処理速度は,ユニットセル 1個 の処理速度と等しくなる。

4.

暗号化速度

4. 1

提案したプロセッサの暗号化速度

連続暗号化速度 を,平文データが連続的 に入力された場合の 1秒当たりの処理可能デー タ量と定義する。

ゲート 1個の遅延時間を ,1ビット冗長 2

進乗算回路の遅延を ,1ビット冗長 2進加算 回路の遅延を ,RAM の遅延を ,ラッチの 遅延を ,パイプライン動作のクロック間隔を

,乗算回路または剰余計算回路で処理される データ量を と表す。

なので,次のようにとる。

= + + .

= なので, は次のようになる。

= = =1 .

文献[7]より 10 が得られるので, は 次となる。

1 10 よって,次の結果が得られる。

[結果 1]提案したプロセッサの暗号化速度は,

連続データ入力の場合,約 1 10 (bi t s /s )と なる。ただし, はゲート 1個の遅延時間を表 している。

今,典型的な値として, =0. 1ns を用いると,

=1 (Gbi t s /s )となる。

図 1 プロセッサのブロック図

Fi g.1  Ci r cui t  di agr am  of  t he  pr oces s or 図 2 剰余計算回路のブロック図 Fi g.2  Bl ock di agr am  of  a  r es i due  cal cul at i on

ci r cui t  

(5)

4. 2

従来の方法との比較

RSA暗号プロセッサの構成に関しては,これ まで多くの報告がなされている。典型的なプロ セッサとして,ここでは文献[3]に記載された プロセッサをとる。文献[3]のプロセッサは,

本研究と同じ種類のデバイスを用いており,か つ,処理速度を支配するクリティカルパスに含 まれるゲートの数が,本質的に,最小であると 考えられる。

文献[3]のプロセッサの連続データに対する 暗号化速度は,1/(24 )とすることができる。

従って,次の結果が得られる。

[結果 2]提案したプロセッサの連続データに 対する暗号化速度は,従来のプロセッサの約 2. 4 倍である。

5.

ま と め

本論文では,剰余テーブルデータをパイプラ インユニット上に循環させるという高速 RSA 暗号プロセッサの構成法を提案した。

本プロセッサの連続データに対する暗号化速 度は,鍵の長さを 1, 024ビットとすると,従来の プロセッサの約 2. 4倍となることが明らかと なった。

提 案 し た アーキ テ ク チャの 特 長 は,VLSI チップの集積度が許容できるならば,ユニット セルをより小さなパイプライン構造に容易に分 割できる点にある。このことは,連続データに 対する高い暗号化速度の実現可能性を示してい

る。今後,プロセッサ VLSIチップの試作を行 う予定である。

本研究は,平成 16年度文部科学省科学技術研 究費基盤研究(C)(2)の補助を受けたことを付 記する。

参 考 文 献

[1] Br i ckel l  E. F.“A  s ur vey of  har dwar e i mpl e- ment at i ons of  RSA  encr ypt i on  pr oces s or s , ” Advances  i n  Cr ypt ol ogy‑CRYPTOʼ 89,Spr i n- ger ‑Ver l ag,pp.368‑370,1990.

[2] Kameyama M. ,Wei  S. ,Hi guchi  T.“Des i gn of a  RSA  encr ypt i on  pr   oces s or  bas ed  on s i gned‑di gi t  mul t i val ued    ar i t hmet i c  ci r cui t s , ” Sys t ems  and  Comput er s Japan,Vol .21,pp.

21‑31,1990.

[3] El dr i dge  S. E. ,Wal t er  C. D.“Har dwar e  i mpl e- ment at i on of  Mont gomer yʼ s  modul ar  mul t i - pl i cat i on al gor i t hm, ”I EEE  Tr ans .on  Com- put er s ,Vol .42,No.6,pp.693‑699,June,1993.

[4] Chen  P. S. ,Hwang  S. A. ,Wu  C. W.“A  s ys t ol i c RSA  publ i c  key  cr ypt os   ys t em, ”Pr oc.I SCAS, Vol .4,pp.408‑411,1996.

[5] I s hi i  S. ,Oyama  K. ,Yamanaka  K.“Hi gh‑

s peed  publ i c  key  encr ypt i on  pr oces s or , ” I EI CE Japan  Tr ans .(D‑I ),Vol .J80‑D‑I ,No.

8,pp.725‑735,Aug. ,1997.

[6] Yang  C. C. ,Chang  T. S. ,Jen  C. W.“A  new RSA  cr ypt os ys t em  har   dwar e  des i gn  bas ed  on Mont gomer yʼ s  al gor i t   hm, ”I EEE  Tr ans .Ci r - cui t s  and  Sys t ems ,Vol .45,No.7,pp.908‑913, Jul y  1998.

[7] Tomabechi N. ,I t o  T.“Des i gn  of a  hi gh‑

s peed  RSA  encr ypt i on  pr oces s or  bas ed  on  t he

r es i due  t abl e  f or  r edundant    bi nar y  number s , ”

Sys t ems and  Comput er s i n  Japan,Vol .33,

No.5,pp.1‑10,May  2002.

参照

関連したドキュメント

 112 彦根論叢(第257号) 示す。

要 旨

• 各ステップで行われるのは,100 桁程度の数の掛け算と mod の計算だけであり,それを 1000

避難所開設・運営の状況(担当業務),震災前後で

1200 倍程度の計算量を要する. ­•­ RSA-768 分解に用いた技術から,若干の数体篩 法の改良がある.

はじめに

今回 モンゴメリ乗算回路をハードウェアとソフトウェア両方により実装してきた その 結果 本研究で実装したハードウェアは 暗号で実用的であるとされている = の剰余演算を

状態「 OP_MOD 」に遷移する.この状態では,14 回の減算を行 うことによってmod 演算を行い,すべての計算が終了すると