JP3435473B2 - 暗号化・復号化方法及び装置 - Google Patents
暗号化・復号化方法及び装置Info
- Publication number
- JP3435473B2 JP3435473B2 JP01574197A JP1574197A JP3435473B2 JP 3435473 B2 JP3435473 B2 JP 3435473B2 JP 01574197 A JP01574197 A JP 01574197A JP 1574197 A JP1574197 A JP 1574197A JP 3435473 B2 JP3435473 B2 JP 3435473B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- input
- bit string
- exclusive
- calculated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
置に係り、特に、データを秘匿するための暗号化・復号
化装置に関する。
有効である。暗号化の方法は大きく分けて秘密鍵暗号と
公開鍵暗号がある。一般に公開鍵暗号技術の方が鍵配送
の面などで有利な点が多いが、速度の面で難点がある。
従って、現状ではそれぞれの暗号化技法のよい点を採り
入れ、組み合わせて使うことが多い。そこで、高速な秘
密鍵暗号の開発が望まれている。
に、暗号化するデータを適当な長さのブロックに分割
し、そのブロック毎に暗号化する方法をブロック暗号と
呼ぶ。通常ブロック暗号は暗号学的にあまり強くない関
数を平文に複数回繰り返して適用することにより安全性
を高めている。この、あまり強くない関数をF関数と呼
ぶ。
拠としては、暗号化したデータの各ビットの0,1の出
現確率が統計的に1/2となる程度のことしか考えられ
ておらず、ブロック暗号の理論的な安全性の定式化とし
て不十分であった。事実、上記の基準を満たすブロック
暗号に対する攻撃法として差分解読法が文献「E.Biham,
A.Shamir: "Differential Cryptanalysis of DES-like
Cryptosystems", Journal of Cryptology, Vol.4, No.
1, pp.3-72,1991」で、線形解読法が文献「M.Matsui:"
Linear Cryptanalysis Method for DES Cipher," Advan
ces in Cryptology-EUROCRYPT'93 (Lecture Notes in C
omputer Science 765), pp.386-397 Springer-Verlag,
1994」で提案され、多くのブロック暗号がこれらの解読
法により解読できることがわかり、安全性の基準の見直
しが必要となった。
ブロック暗号にはこれらの解読法に対して強いことが要
求されるようになった。そこで、これらの解読法に対し
て耐性があることを示す指標としてそれぞれ最大平均差
分確率や最大平均線形確率が文献「松井 充:『ブロッ
ク暗号の差分解読法と線形解読法に対する証明可能安全
性について』第18回情報理論とその応用シンポジウム
予稿集(C−2−5)、pp.175−178,1995 」
(以下「SITA95−C−2−5」と略す)で、提案
された。
法に対する耐性があることを示すが、一般のブロック暗
号に対してこの指標を求めることは現在のところ有効な
算法が発見されておらず、困難である。本発明ではこれ
らの指標が十分に小さいことを理論的に保証できる暗号
化および復号化装置の構成法を与える。
均線形確率の上限値が理論的に小さいことが保証される
暗号化装置の構成例はSITA95−C−2−5で発表
されている。そこで示されている方法は、 1.従来から知られているFeistel 構造ではなく、独自
構造を採用している: 2.暗号化装置中の並列処理が可能である: 3.暗号化装置を実現する算法が再帰的に構成されてお
り、最終的に呼び出される装置を表参照で実現している
(このことは再帰の深さを深くすることにより記憶領域
の必要量が少ない暗号化装置を構成できることを意味す
る): 4.最大平均差分確率および最大平均線形確率の上限値
が小さいことを保証できる: ことを特徴としている。
の方法では上記の特徴があるが、以下の問題点がある。 1.暗号化処理と復号化処理が大きく異なるので、復号
化装置を暗号化装置と別に構成する必要がある。
号化装置のように並列処理ができない。 3.暗号化および復号化処理で再帰の深さを深くする
と、暗号化および復号化速度の低下を代償として、暗号
化および復号化装置で必要な記憶領域の大きさを削減す
ることができる。しかしながら、再帰の深さが異なる暗
号化装置で暗号化処理を行うと同一の平文、鍵の組から
同一の暗号文が生成されない現象が生ずる。つまり暗号
化算法そのものが変わってしまう。
装置と復号化装置で同じ再帰の入れ子数の装置を使う必
要があることを意味している。つまり利用可能な記憶領
域の最も少ない暗号化および復号化装置に暗号文を交換
する系全体で再帰の深さを合わせる必要があり、装置に
よっては最大限の性能が発揮できないことになる。
再帰を深くすればするほど保証できる安全性は低下す
る。本発明は、上記の点に鑑みなされたもので、上記従
来の問題点を解決し、安全性が高く、より高速化が可能
な暗号化・復号化装置を提供することを目的とする。
明は、秘密鍵を用いて、秘密保持されるべき平文から、
暗号文を作成するための暗号化装置と、該暗号化装置と
同じ構造を用いて、当該秘密鍵を用いて暗号文から平文
に復号化する、復号化装置とを組み合わせた、暗号化・
復号化装置であって、平文Pに対しては、拡大鍵生成装
置9000により鍵Kから、拡大鍵Kr(1≦r≦N)
を生成し、ビット列分割装置を用いて該平文Pのビット
列を上位X0,下位X1と半分に分け、2≦r≦N+1
に対して、有限体上の冪乗演算を実現する装置を含む装
置F6000と、入力が2つあり、出力が1つで該入力
の片方の値を固定した時に置換になるような写像を実現
する装置G5000とを有し、 Xr=G(Xr−2,F(Xr−1,Kr−1)) を求め、ビット列結合装置1000を用いて、暗号文C
の上位半分をXN+1、下位半分をXNとし、該暗号文
Cに対しては、拡大鍵生成装置9000により、鍵Kか
ら、拡大鍵Kr(1≦r≦N)を生成し、ビット列分割
装置8000を用いて該暗号文Cのビット列を上位X
N+1,下位XNと半分に分け、2≦r≦N+1に対し
て、yを定数としたときにG(x,y)のxに関する逆
関数であるG −1 (但し、(∀x,y[G −1 (G
(x,y),y)=x])を満たす関数)を求める装置
を用いて、 Xr−2=G−1(Xr,F(Xr−1,Kr−1)) を求め、ビット列結合装置1000を用い、平文Pの上
位半分をX0、下位半分をX1とし、暗号化装置の装置
F6000に含まれる有限体F’2 f上の冪乗演算装置
6100を、乗算装置が、 f=2gh(hは奇数) とおいた時、fビットの乗算を2gビット乗算装置を用
いて求め、2gビットの乗算を2g−1ビット乗算装置
を用いて求め、iを1ずつ小さくするのに対応し、2i
ビットの乗算を該2i−1ビット乗算装置を用いて求
め、iが十分小さくなったら、記憶装置に記憶された値
を用いて直接
応じて適切なiの値を選んで、冪乗演算で実現できる。
F’2 n 上の乗算装置で求める乗算装置が、該装置F’
2 n 上の既約多項式、 X2 +X+a=0 の根αを用いて、被乗数m1 ,m2 が、 m1 =x1 α+y1 (α+1) m2 =x2 α+y2 (α+1) (但し、xi , yi ∈F’2 n ,i=1,2) と表されるとき、m1 ,m2 の積が式、 m0 =m1 m2 =(x1 x2 +a(x1 +y1 )(x2 +y2 ))α +(y1 y2 +a(x1 +y1 )(x2 +y2 ))(α+1) となるので、m1 をビット列分割装置を用いて、x1 と
y1 に分け、m2 をビット列分割により、x2 とy2 に
分け、ビット列複製装置を用いて入力x1 を複製し、t
1 とt2 とし、ビット列複製装置を用いて、入力y1 を
複製し、t3 とt4 とし、ビット列複製装置を用いて、
入力y2 を複製し、t5 とt6 とし、ビット列複製装置
を用いて、入力x2 を複製し、t7 とt8 とし、nビッ
ト排他的論理和装置を用いてt5 とt7 の排他的論理和
値t9 を計算し、nビット排他的論理和装置を用いてt
2 とt3 の排他的論理和値t10を計算し、nビット乗算
装置を用いて、t9 とt10の積t11を計算し、nビット
乗算装置を用いて、aとt11の積t12を計算し、nビッ
ト乗算装置を用いて、t1 とt8 の積t13を計算し、n
ビット乗算装置を用いて、t4 とt6 の積t14を計算
し、ビット列複製装置を用いて、t12をビット列複製
し、t15とt16とし、nビット排他的論理和装置を用い
て、t13とt15の排他的論理和値t17を計算し、nビッ
ト排他的論理和装置を用いて、t14とt16の排他的論理
和値t18を計算し、ビット列結合装置を用いて、t17と
t18のビット列を結合して、乗算装置の出力m0 とし、
有限体F’2 2n 上の1回の乗算を装置F’2 n 上の4回
の乗算を用いて実現するものとし、冪乗演算装置が3乗
演算を実行する時に、 有限体F’ 2 2n 上の演算の場合、
装置F’ 2 n 上の既約多項式 X 2 +X+a=0 の根αを用いて、式 (xα+y(α+1)) 3 =(x 3 +ay(x 2 +y 2 ))α +(y 3 +ax(x 2 +y 2 ))(α+1) が成立することを利用して、ビット列分割装置を用いて
入力をxとyに分割し、 ビット列複製装置を用いて、x
を複製し、t 1 とt 2 とし、 ビット列複製装置を用い
て、yを複製し、t 3 とt 4 とし、 ビット列複製装置を
用いて、入力t 2 を複製し、t 5 とt 6 とし、 ビット列
複製装置を用いて、入力t 4 を複製し、t 7 とt 8 と
し、 ビット列複製装置を用いて、入力t 1 を複製し、t
9 とt 10 とし、 ビット列複製装置を用いて、入力t 3 を
複製し、t 11 とt 12 とし、 nビット乗算装置を用いて、
入力t 5 とt 9 の積t 13 を計算し、 nビット乗算装置を
用いて、入力t 7 とt 11 の積t 14 を計算し、 ビット列複
製装置を用いて、入力t 13 を複製し、t 15 とt 16 とし、
ビット列複製装置を用いて、入力t 14 を複製し、t 17 と
t 18 とし、 nビット排他的論理和装置を用いて、入力t
16 と入力t 18 の排他的論理和値t 19 を計算し、 nビット
乗算装置を用いて、入力t 10 と入力t 15 の積t 20 を計算
し、 nビット乗算装置を用いて、入力t 12 と入力t 17 の
積t 21 を計算し、 nビット乗算装置を用いて、aと入力
t 19 の積t 22 を計算し、 nビット複製装置を用いて、入
力t 22 を複製し、t 23 とt 24 とし、 nビット乗算装置を
用いて、入力t 6 と入力t 23 の積t 25 を計算し、 nビッ
ト乗算装置を用いて、入力t 8 と入力t 24 の積t 26 を計
算し、 nビット排他的論理和装置を用いて、入力t 20 と
入力t 26 の排他的論理和値t 27 を計算し、 nビット排他
的論理和装置を用いて、入力t 21 と入力t 25 の排他的論
理和値t 28 を計算し、 ビット列結合装置を用いて、入力
t 27 と入力t 26 を結合し、 有限体F’ 2 2n 上の3乗演算
を装置F’ 2 n 上の7回の乗算を用いて実現する。
ている"Feistel" 構造の構成要素のF関数に新たに、有
限体上の冪乗演算を利用することにより、秘密鍵方式の
暗号化・復号化装置の安全性の向上を望むことができ
る。また、構成によっては、理論的に安全であるという
証明が可能である。
られる有限体上の冪乗演算で部分体を用いて、小さな計
算単位に演算を帰着させることにより、小さな単位で演
算を実行することが可能であるため、並列計算可能とな
る。また、コストに応じた装置構成が可能である。
られる部分体を用いた有限体上の冪乗演算で3乗演算を
利用するときに、新たに開発した計算法を用いて計算量
を削減される。また、上記の発明は、上記の発明におい
て用いる有限体上の冪乗演算で3乗演算を利用するとき
に、新たに開発した計算法により計算量が削減される。
を有する。 1.本発明は、暗号化装置に入力する鍵の順序を入れ換
えることで、暗号化装置で復号化できるFeistel 構造を
採用する。これにより、復号化装置を暗号化装置とは別
に構成する必要がなくなる。
る。F関数に冪乗演算を利用すると、文献「K.Nyberg:
"Differentially uniform mappings for cryptograph
y," Advances in Cryptology-EUROCRYPT'93 (Lecture N
otes in Computer Science 765),pp.55-64,Springer-Ve
rlag,1994 」と、文献「K.Nyberg, L.R.Knudsen: "Prov
able Security Against a Differential Attack," Jour
nal of Cryptology, Vol.8,27-37, Springer-Internati
onal, 1995」により最大平均差分確率が小さいことを保
証できる。
ion of highly nonlinear permutation,"Advances in C
ryptology-EUROCRYPT'92 (Lecture Notes in Computer
Science 658), pp.92-98, Springer-Verlag, 1994 」
と、文献「K.Nyberg: "LinearApproximation of Block
Ciphers," Advances in Cryptology-EUROCRYPT'94 (Lec
ture Notes in Computer Science 950), pp.439-444, S
pringer-Verlag, 1995」により、最大平均線形確率が小
さいことを保証できる。これらの文献で、冪乗演算の一
種である逆元演算を用いても最大平均差分確率および最
大平均線形確率を小さくできることが示されている。
なる乗算装置には部分体を用いた計算法(A.Pincin:"A
New Algorithm for Multiplication in Finite Fields,
"IEEE Transactions on computers, Vol.38, No.7, p
p.1045-1049, July, 1989、以下「IEEE−Pinc
in」と略す)の考え方をもとにした高速実装法を用い
る。逆元演算については逆元計算法(伊東利哉,辻井重
男:「正規規定を用いた有限体における高速逆元算出ア
ルゴリズム」電子情報通信学会論文誌A, Vol.J70-A, N
o.11, pp.1637-1635, 1987 年11月、以下「IEICE
−Itoh」と略す)により、冪乗演算を利用すること
で高速な実装が可能であることが示されているのでその
高速実装法を用いる。
できる。再帰の深さを深くすればするほど、暗号化およ
び復号化速度は遅くなるが、最終的な演算単位が小さく
できる。これにより、暗号化および復号化装置で必要な
記憶装置の容量を小さくすることが可能となる。ここ
で、このような再帰的な構成でも、暗号化算法そのもの
は変化しない。これにより、暗号化および復号化装置の
性能に応じた暗号化および復号化速度が期待できる。こ
れにより、SITA95−C−2−5の問題点を解決す
る。
均差分確率と最大平均線形確率とが小さいことが保証で
きるため、再帰構造を導入しても、保証されている安全
性についてその低下はない。
る。最初に、以下の説明で用いる用語及び記号等の説明
を行う。暗号化算法Eを実現する暗号化装置Eの処理を C=EN (K,P) と書く。ここでP,C,Kはそれぞれ平文、暗号文、鍵
を表すものとする。またNは段数と呼ばれる媒介変数で
ある。
る。 〈暗号化装置E〉図3は、本発明の一実施例の暗号化装
置Eの構成を示す。同図は、暗号化装置の大域的な構成
(Feistel構造)を示すものである。同図に示す
暗号化装置Eは、ビット列結合装置1000、排他的論
理和演算装置2000、装置F3000、ビット列複製
装置4000、排他的論理和演算装置5000、装置F
6000、ビット列複製装置7000、ビット列分割装
置8000及び拡大鍵生成装置9000より構成され
る。
Kから、拡大鍵Kr (1≦r≦N)を生成する。 ステップ102): ビット列分割装置8000を用い
て平文Pのビット列を上位X0 、下位X1 と半分に分け
る。
して、装置F3000,6000と排他的論理和演算装
置2000,5000を用い、 Xr =Xr-2 +F(Xr-1 ,Kr-1 ) を求める。ここで算法Fを実現する装置Fの構成は後述
する。
000を用い、暗号文Cの上位半分をXN+1 、下位半分
をXN とする。暗号化装置E中で、排他的論理和演算装
置2000,5000は、装置F3000,6000の
出力を固定したとき、もう一方の入力とそれに対する出
力が全単射となる算法Gを実現する装置に置き換えて
も、復号化が可能となる暗号化装置となる。
る代わりに暗号文Cを入力し、暗号化処理の場合に装置
Fの拡大鍵の入力がKr である場合に、代わりにK
N-r+1 を入力とすることにより、暗号化処理の場合の出
力Cの代わりに平文Pが得られる。
置F構成を示す。同図に示す装置F3000及び600
0は、冪乗演算装置3100、排他的論理和演算装置3
200、ビット置換装置L3300より構成される。
的論理和演算装置3200を用い、Z=L(X)+Kを
求める。
0を用いることによりY=Ze を求める。ここでeは定
数である。装置F3000,6000中で、ビット置換
装置L3300は任意の関数を実現する装置に置き換え
ても復号化が可能となる暗号化装置となる。また、同様
に排他的論理和演算装置3200も任意の関数を実現す
る装置に置き換えても復号化が可能となる暗号化装置と
なる。
00、6000は全て同一である必要はない。例えば、
Y=Ze1,Y=Ze2と段数毎に異なる寡指数を用いても
よい。 〈冪乗演算装置〉次に、上記の冪乗演算装置3100に
ついて説明する。
の構成を示す。冪乗演算装置3100は、乗算装置31
10を複数回呼び出すことにより実現される既知の算法
(例えば2進計算法)を利用することにより構成され
る。特に逆数演算のときは、IEICE−Itohの方
法を用いると効率がよい。また、冪指数eが3の場合
も、次節で説明する乗算装置の構成法を応用した方法で
効率的に構成される。詳しくは2nビット乗算装置31
20の構成の説明において後述する。
3110について説明する。 〈乗算装置〉図6は、本発明の一実施例の乗算装置の構
成を示す。要素2f 個の有限体(以下では要素n個の有
限体をF' n と表す)上の乗算装置は以下のように構成
される。
乗算を部分体
E−Pincinの方法で実現できる。
を用いて、
れを繰り返す。具体的な手順の一例は以下の通り。 ステップ301): fビットの乗算を2g ビット乗算
装置3111を用いて求める。
2g-1 ビット乗算装置3112を用いて求める。 ステップ303): ステップ302と同様にして、2
i ビットの乗算を2i- 1 ビット乗算装置3120(n=
2i-1 とする)を用いて求める。
が十分小さくなったら、
おいた値を記憶装置3113から読み出す。乗算の帰着
させる部分体はどのような順序で取ってもよい。 〈2nビット情報装置〉図7は、本発明の一実施例の2
nビット乗算装置3120の構成を示す。
を用いて、計算する算法を示す。有限体F’2 2n は、
F'2 n 上2次元のベクトル空間であるので、 α∈F’2 2n \F’2 n ,α2 +α+a=0,a∈F2
n を用いて(ここで「\」は差集合を表す)、要素m∈
F’2 2n は、 m=xα+y(α+1)(x,y∈F’2 n ) と表すことができる。
F’2 n ,i=1,2) と表すと、m1 ,m2 ∈F’2 2n 積m0 は、 m0 =m1 m2 =(x1 x2 +a(x1 +y1)(x2 +
y2)) α+(y1 y2 +a(x1 +y1)(x2 +y2))
(α+1) と表すことができる。このことからF’2 2n 要素の積は
F’2 n 上の乗算4回と加算4回で、計算できる。その
計算方法は図7に従う。ここで、記号“×”はnビット
乗算装置、記号“+”はnビット排他的論理和装置、記
号“D”はビット列複製装置を表す。
装置3134を用いて、x1 とy1に分ける。 ステップ402): m2 をビット列分割装置3135
を用いて、x2 とy2に分ける。
133を用いて、入力x1 を複製し、nビット乗算装置
3125と、nビット排他的論理和装置3131の入力
とする。 ステップ404): ビット列複製装置3132を用い
て、入力y1 を複製し、nビット排他的論理和装置31
31と、nビット乗算装置3123の入力とする。
130を用いて、入力y2 を複製し、nビット排他的論
理和装置3129と、nビット乗算装置3123の入力
とする。 ステップ406): ビット列複製装置3128を用い
て、入力x2 を複製し、nビット排他的論理和装置31
29と、nビット乗算装置3125の入力とする。
和装置3129を用いて、nビットの排他的論理和値を
計算し、nビット乗算装置3127の入力とする。 ステップ408): nビット排他的論理和装置313
1を用いて、nビットの排他的論理和値を計算し、nビ
ット乗算装置3127の入力とする。
127を用いて、入力の積を計算し、nビット乗算装置
3126の入力とする。 ステップ410): nビット乗算装置3126を用い
て、aとnビット乗算装置3127の出力の積を計算
し、ビット列複製装置3124の入力とする。
125を用いて、入力の積を求め、nビット排他的論理
和装置3122の入力とする。 ステップ412): nビット乗算装置3123を用い
て、入力の積を求め、nビット排他的論理和装置312
1の入力とする。
124を用いて、入力を複製し、nビット排他的論理和
装置3122とnビット排他的論理和装置3121の入
力とする。 ステップ414): nビット排他的論理和装置312
2を用いて、入力の排他的論理和値を計算し、ビット列
結合装置3136の入力とする。
和装置3121を用いて、入力の排他的論理和値を計算
し、ビット列結合装置3136の入力とする。 ステップ416): ビット列結合装置3136を用い
て、入力ビットを結合し、2nビット乗算装置3120
の出力m0 とする。
え方を用いているが、本発明で標数2の体の2次拡大に
計算対象を特化した結果、さらに演算回数の削減が可能
となった。例えばF’2 32 上の乗算に関しては従来法
(IEEE−Pincin)の約1/3の演算回数なの
で3倍の高速化が可能となる。
数を減らすことも可能である。例えばe=3の場合は以
下の式を実現する装置により、高速化が可能となる。 (xα+y(α+1))3 =(x3 +ay(x2 +y2))
α+(y3 +ax(x2 +y2))(α+1) 実際の装置の構成を図8に示す。図8は、本発明の一実
施例の2nビット3乗演算装置の構成を示す。
421を用いて、入力をxとyに分割する。 ステップ502): ビット列複製装置3148を用い
て、入力xを複製し、ビット列複製装置3412と、ビ
ット列複製装置3416の入力とする。
419を用いて、入力yを複製し、ビット列複製装置3
413と、ビット列複製装置3417の入力とする。 ステップ504): ビット列複製装置3416を用い
て、入力を複製し、nビット乗算装置3414と、nビ
ット乗算装置3403の入力とする。
417を用いて、入力を複製し、nビット乗算装置34
15と、nビット乗算装置3404の入力とする。 ステップ506): ビット列複製装置3412を用い
て、入力を複製し、nビット乗算装置3414と、nビ
ット乗算装置3406の入力とする。
413を用いて、入力を複製し、nビット乗算装置34
15と、nビット乗算装置3407の入力とする。 ステップ508): nビット乗算装置3414を用い
て、入力の積を計算し、ビット列複製装置3409の入
力とする。
415を用いて、入力の積を計算し、ビット列複製装置
3410の入力とする。 ステップ510): ビット列複製装置3409を用い
て、入力を複製し、nビット乗算装置3406と、nビ
ット排他的論理和装置3411の入力とする。
410を用いて、入力を複製し、nビット乗算装置34
07と、nビット排他的論理和装置3411の入力とす
る。 ステップ512): nビット排他的論理和装置341
1を用いて、入力の排他的論理和値を計算し、nビット
乗算装置3408の入力とする。
406を用いて、入力の積を計算し、nビット排他的論
理和装置3401の入力とする。 ステップ514): nビット乗算装置3407を用い
て、入力の積を計算し、nビット排他的論理和装置34
02の入力とする。
408を用いて、aとnビット排他的論理和装置341
1の出力の積を計算し、ビット列複製装置3405の入
力とする。 ステップ516): ビット列複製装置3405を用い
て、入力を複製し、nビット乗算装置3403と、nビ
ット乗算装置3404の入力とする。
403を用いて、入力の積を計算し、nビット排他的論
理和装置3402の入力とする。 ステップ518): nビット乗算装置3404を用い
て、入力の積を計算し、nビット排他的論理和装置34
01の入力とする。
和装置3401を用いて、入力の排他的論理和値を計算
し、ビット列結合装置3420の入力とする。 ステップ520): nビット排他的論理和装置340
2を用いて、入力の排他的論理和値を計算し、ビット列
結合装置3420の入力とする。
420を用いて、入力を結合し、2nビット3乗演算装
置3400の出力とする。具体的にはF’2 2n の要素m
に対してm3 =(m×m)×mとみなしてF'2 2nで乗算
装置を2回呼び出したときは、下の体の乗算8回、加算
8回必要であったのが、上記の構成法では乗算7回、加
算3回に削減される。
−2−5)に比べて以下の点が改善されている。 1.Feistel構造を用いているので、r(1≦r
≦N)に対して、拡大鍵Kr を入力に持つF関数を実現
する装置と、KN-r+1 を入力に持つF関数を実現する装
置の機能が同一であるように構成すると、Kr をK
N-r+1 と入れ換えることにより、暗号化装置を用いて復
号化できる。
00を排他的論理和を実現する装置に選び、ビット置換
装置L3300をビット置換を実現する装置に選び、排
他的論理和演算装置3200を排他的論理和を実現する
装置に選べば、最大平均差分確率および最大平均線形確
率の上限がさらに小さいことを保証できる。例えば、S
ITA95−C−2−5の方法で再帰を1回行なった場
合に比べ、本発明では、最大平均差分確率がSITA9
5−C−2−5の装置の1/2であることを保証できる
(文献“青木和麻呂、太田和夫「最大平均差分確率及び
最大平均線形確率のより厳密な評価」1996年暗号と
情報セキュリティシンポジウムSCIS‘96講演論文
集”を参照されたい)。
ができる記憶領域の大きさに応じて、最も適切な構成法
を選べる。ここで異なる構成法を選択しても機能的に等
価な暗号化装置となることに注意。 4.暗号化装置中の乗算が高速化されている。IEEE
−Pincinの方法ではF’2 2n 上の1回の乗算が
F'2 n 上5回の乗算を用いて実現されていたが、本発明
では4回で実現できるので、例えば、F’2 32 上の積は
IEEE−Pincinの方法では、F'2上の積312
5回であったが、本発明では1024回なので約3倍の
高速化を達成できる。
る。
る。
図である。
ある。
を示す図である。
構成図である。
他的論理和装置 3123,3125,3126,3127 nビット乗
算装置 3124,3128,3130,3132,3133
ビット列複製装置 3200 排他的論理和演算装置 3300 ビット置換装置L 3401,3402,3411 nビット排他的論理和
装置 3403,3404,3406,3407,3408,
3414,3415nビット乗算装置 3405,3409,3410,3412,3413,
3416,3417,3418,3419 ビット列複
製装置 4000 ビット列複製装置 5000 排他的論理和演算装置 6000 装置F 6100 冪乗演算装置 7000 ビット列複製装置 8000 ビット列分割装置 9000 拡大鍵生成装置
Claims (2)
- 【請求項1】 秘密鍵を用いて、秘密保持されるべき平
文から、暗号文を作成するための暗号化装置と、該暗号
化装置と同じ構造を用いて、当該秘密鍵を用いて暗号文
から平文に復号化する、復号化装置とを組み合わせた、
暗号化・復号化装置であって、 平文Pに対しては、拡大鍵生成装置により鍵Kから、拡
大鍵Kr(1≦r≦N)を生成し、ビット列分割装置を
用いて該平文Pのビット列を上位X0,下位X1と半分
に分け、2≦r≦N+1に対して、有限体上の冪乗演算
を実現する装置を含む装置Fと、 入力が2つあり、出力が1つで該入力の片方の値を固定
した時に置換になるような写像を実現する装置Gとを有
し、 Xr=G(Xr−2,F(Xr−1,Kr−1)) を求め、ビット列結合装置を用いて、暗号文Cの上位半
分をXN+1、下位半分をXNとし、該暗号文Cに対し
ては、前記拡大鍵生成装置により、鍵Kから、拡大鍵K
r(1≦r≦N)を生成し、ビット列分割装置を用いて
該暗号文Cのビット列を上位XN+1,下位XNと半分
に分け、2≦r≦N+1に対して、yを定数としたとき
にG(x,y)のxに関する逆関数であるG −1 (但
し、(∀x,y[G −1 (G(x,y),y)=x])
を満たす関数)を求める装置を用いて、 Xr−2=G−1(Xr,F(Xr−1,Kr−1)) を求め、ビット列結合装置を用い、平文Pの上位半分を
X0、下位半分をX1とするとき、 前記暗号化装置の前記装置Fに含まれる有限体F’2 f
上の冪乗演算装置を、乗算装置が、 f=2gh(hは奇数) とおいた時、fビットの乗算を2gビット乗算装置を用
いて求め、2gビットの乗算を2g−1ビット乗算装置
を用いて求め、iを1ずつ小さくするのに対応し、2i
ビットの乗算を該2i−1ビット乗算装置を用いて求
め、iが十分小さくなったら、記憶装置に記憶された値
を用いて直接 【数2】 の値を求めることにより、前記装置Fの記憶領域の大き
さに応じて適切なiの値を選んで、冪乗演算で実現する
ことを特徴とする暗号化・復号化装置。 - 【請求項2】 前記有限体F’2 2n上の乗算を前記装
置F’2 n上の乗算装置で求める乗算装置が、該装置
F’2 n上の既約多項式、 X2+X+a=0 の根αを用いて、被乗数m1,m2が、 m1=x1α+y1(α+1) m2=x2α+y2(α+1)(但し、xi,yi∈
F’2 n,i=1,2)と表されるとき、m1,m2の
積が式、 m0=m1m2=(x1x2+a(x1+y1)(x2+y2))α +(y1y2+a(x1+y1)(x2+y2))(α+1) となるので、m1をビット列分割装置を用いて、x1と
y1に分け、m2をビット列分割により、x2とy2に
分け、ビット列複製装置を用いて入力x1を複製し、t
1とt2とし、 ビット列複製装置を用いて、入力y1を複製し、t3と
t4とし、 ビット列複製装置を用いて、入力y2を複製し、t5と
t6とし、 ビット列複製装置を用いて、入力x2を複製し、t7と
t8とし、 nビット排他的論理和装置を用いて前記t5と前記t7
の排他的論理和値t9を計算し、 nビット排他的論理和装置を用いて前記t2と前記t3
の排他的論理和値t10を計算し、 nビット乗算装置を用いて、前記t9と前記t10の積
t11を計算し、 nビット乗算装置を用いて、aと前記t11の積t12
を計算し、 nビット乗算装置を用いて、前記t1と前記t8の積t
13を計算し、 nビット乗算装置を用いて、前記t4と前記t6の積t
14を計算し、 ビット列複製装置を用いて、前記t12をビット列複製
し、t15とt16とし、 nビット排他的論理和装置を用いて、前記t13と前記
t15の排他的論理和値t17を計算し、 nビット排他的論理和装置を用いて、前記t14と前記
t16の排他的論理和値t18を計算し、 ビット列結合装置を用いて、前記t17と前記t18の
ビット列を結合して、乗算装置の出力m0とし、 前記有限体F’2 2n上の1回の乗算を前記装置F’2
n上の4回の乗算を用いて実現するものとし、 前記冪乗演算装置が3乗演算を実行する時に、 前記有限体F’2 2n上の演算の場合、前記装置F’2
n上の既約多項式 X2+X+a=0 の根αを用いて、式 (xα+y(α+1))3=(x3+ay(x2+y2))α +(y3+ax(x2+y2))(α+1) が成立することを利用して、ビット列分割装置を用いて
入力をxとyに分割し、 ビット列複製装置を用いて、前記xを複製し、t1とt
2とし、 ビット列複製装置を用いて、前記yを複製し、t3とt
4とし、 ビット列複製装置を用いて、前記入力t2を複製し、t
5とt6とし、 ビット列複製装置を用いて、前記入力t4を複製し、t
7とt8とし、 ビット列複製装置を用いて、前記入力t1を複製し、t
9とt10とし、 ビット列複製装置を用いて、前記入力t3を複製し、t
11とt12とし、 nビット乗算装置を用いて、前記入力t5とt9の積t
13を計算し、 nビット乗算装置を用いて、前記入力t7とt11の積
t14を計算し、 ビット列複製装置を用いて、前記入力t13を複製し、
t15とt16とし、 ビット列複製装置を用いて、前記入力t14を複製し、
t17とt18とし、 nビット排他的論理和装置を用いて、前記入力t16と
前記入力t18の排他的論理和値t19を計算し、 nビット乗算装置を用いて、前記入力t10と前記入力
t15の積t20を計算し、 nビット乗算装置を用いて、前記入力t12と前記入力
t17の積t21を計算し、 nビット乗算装置を用いて、前記aと前記入力t19の
積t22を計算し、 nビット複製装置を用いて、前記入力t22を複製し、
t23とt24とし、 nビット乗算装置を用いて、前記入力t6と前記入力t
23の積t25を計算し、 nビット乗算装置を用いて、前記入力t8と入力t24
の積t26を計算し、 nビット排他的論理和装置を用いて、前記入力t20と
前記入力t26の排他的論理和値t27を計算し、 nビット排他的論理和装置を用いて、前記入力t21と
前記入力t25の排他的論理和値t28を計算し、 ビット列結合装置を用いて、前記入力t27と前記入力
t26を結合し、 前記有限体F’2 2n上の3乗演算を前記装置F’2 n
上の7回の乗算を用いて実現する請求項1記載の暗号化
・復号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01574197A JP3435473B2 (ja) | 1996-02-06 | 1997-01-29 | 暗号化・復号化方法及び装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017696 | 1996-02-06 | ||
JP8-20176 | 1996-02-06 | ||
JP01574197A JP3435473B2 (ja) | 1996-02-06 | 1997-01-29 | 暗号化・復号化方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09274430A JPH09274430A (ja) | 1997-10-21 |
JP3435473B2 true JP3435473B2 (ja) | 2003-08-11 |
Family
ID=26351944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01574197A Expired - Lifetime JP3435473B2 (ja) | 1996-02-06 | 1997-01-29 | 暗号化・復号化方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3435473B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100434558B1 (ko) * | 1997-12-09 | 2004-09-30 | 삼성전자주식회사 | 고속블록암호화방법및이를위한키스케쥴링방법 |
JP4612501B2 (ja) * | 2005-07-29 | 2011-01-12 | 日本電信電話株式会社 | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
-
1997
- 1997-01-29 JP JP01574197A patent/JP3435473B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
A New Algotithm for Multiplication in Finite Fields,IEEE Transactions on Computers,Vol.38,No.7 |
Provable Security Against a Differential Attack,ournal of CRYPTOLOGY,1995年 4月17日,Vol.8,No.1,p.27−37 |
Also Published As
Publication number | Publication date |
---|---|
JPH09274430A (ja) | 1997-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aslett et al. | A review of homomorphic encryption and software tools for encrypted statistical machine learning | |
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
CN109039640B (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
EP1081889A2 (en) | Extended key generator, encryption / decryption unit, extended key generation method, and storage medium | |
Bogos et al. | Cryptanalysis of a homomorphic encryption scheme | |
KR100442218B1 (ko) | 몽고메리의 알고리즘을 이용한 멱승 잉여 연산기 | |
Maximov et al. | Fast computation of large distributions and its cryptographic applications | |
Khoirom et al. | Audio encryption using ameliorated ElGamal public key encryption over finite field | |
Chung et al. | Encoding rational numbers for fhe-based applications | |
US6772184B2 (en) | Method for efficient modular division over prime integer fields | |
JP4177526B2 (ja) | 乗算剰余演算方法および乗算剰余回路 | |
JP2007041461A (ja) | 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置 | |
US11343070B2 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
WO2023074133A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP3435473B2 (ja) | 暗号化・復号化方法及び装置 | |
JP4423900B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム | |
Bansal et al. | Implementation of modular exponentiation using montgomery algorithms | |
JP2017223822A (ja) | 暗号文処理システム、暗号文処理サーバ、及び暗号文処理方法 | |
Haraty et al. | A comparitive study of elgamal based cryptographic algorithms | |
JP5354914B2 (ja) | 暗号処理装置及び復号処理装置及びプログラム | |
JP4692022B2 (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム | |
Abbas Fadhil Al-Husainy et al. | Image Encryption using a Binary Search Tree Structure-Based Key | |
KR100341507B1 (ko) | 빠른 유한체 연산을 이용한 타원곡선 암호화 방법 및 전자서명 방법 | |
JPH06282227A (ja) | 公開鍵暗号化装置及び公開鍵復号装置 | |
Jiang et al. | Two methods of directly constructing probabilistic public-key encryption primitives based on third-order LFSR sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090606 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090606 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100606 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100606 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140606 Year of fee payment: 11 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |