Communication by public key cipher and authentication method as well as apparatus therefor
Abstract
[Task] An object of the present invention is to provide a communication and authentication method using public key cryptography, which is faster and stronger against broadcast communication attacks, and a device thereof.
Solution.When encrypting plaintext, prime ideal P and prime ideal Q in the integer ring O on the algebra are generated, these are used as the private key, and the product N of these is generated as the public key, and these are used when decrypting. The gist is to use the Chinese Remainder Theorem for the remainder operation using the private key as the method and the remainder operation using the public key as the method based on the result of the remainder operation.
Term
Term ended
Projected expiry passed 20 July 2016, 10.2 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
44 claims: 36 independent, 8 dependent
- 1【特許請求の範囲】 【請求項1】 公開鍵暗号方式を用いた通信または認証に使用される公開鍵暗号の鍵生成方法であって、 代数体上の整数環における2つの素イデアルをそれぞれ秘密鍵として生成すると共に、これら2つの素イデアルの積を公開鍵として生成することを特徴とする公開鍵暗号の鍵生成方法。
- 2【請求項2】 前記代数体は円分体、2次体、アイゼンシュタイン体若しくはガウス体の内のいずれかを利用したものであることを特徴とする請求項1記載の公開鍵暗号の鍵生成方法。
- 3【請求項3】 公開鍵暗号方式を用いた通信または認証を伴う通信を行う通信装置であって、 暗号化または復号化に際して、有理数体に平方因子を持たない有利整数の平方根を添加した体(2次体)において、平方剰余記号の演算を行うことを特徴とする通信装置。
- 4【請求項4】 公開鍵暗号方式を用いた通信または認証を伴う通信を行う通信装置であって、 暗号化または復号化に際して、有理数体に1の原始三乗根を添加した体(アイゼンシュタイン体)において三乗剰余記号の演算を行うことを特徴とする通信装置。
- 5【請求項5】 公開鍵暗号方式を用いた通信または認証を伴う通信を行う通信装置であって、 暗号化または復号化に際して、有理数体に1の原始四乗根を添加した体(第1のガウス体)において四乗剰余記号の演算を行うことを特徴とする通信装置。
- 6【請求項6】 公開鍵暗号方式を用いた通信または認証を伴う通信を行う通信装置であって、 暗号化または復号化に際して、有理数体に-1の平方根を添加した体(第2のガウス体)において平方剰余記号の演算を行うことを特徴とする通信装置。
- 7【請求項7】 公開鍵暗号方式を用いた通信または認証を伴う通信を行う通信装置であって、 暗号化または復号化に際して、有限体上の多項式環の最大公約数を求めることを特徴とする通信装置。
- 8【請求項8】 入力される平文を暗号化して送信する送信装置と、この送信装置から送信された暗号文を復号化して平文を出力する受信装置とを有する暗号通信装置であって、 前記送信装置は、暗号化に際し、受信装置側の公開鍵を法として、代数体の剰余類の範囲内の平文に対する剰余演算を伴う暗号化を行い、 前記受信装置は、受信暗号文に対して前記2つの秘密鍵を法とする剰余演算およびこの剰余演算の結果をもとに前記公開鍵を法とする剰余演算を中国人の剰余定理を用いて、復号化を行うことを特徴とする暗号通信装置。
- 9【請求項9】 公開鍵暗号方式を用いて認証を伴う通信を行うとき、送信に際して、送信者は代数体上の整数環における2つの素イデアルをそれぞれ秘密鍵として生成し、これら秘密鍵で自ら暗号化した後に、ハッシュ化処理を行い生成した認証子と平文の認証文とを対にして受信者に送信し、受信者はこの受信した認証子を自らの公開鍵で復号化したものと、認証文をハッシュ化処理したものとを照合することにより、送信者が受信者に対して個人認証を行うことを特徴とする通信装置。
- 10【請求項10】 円分体において、任意の自然数データm c についてオイラー関数値データφ(m c )を演算するオイラー関数値演算手段と、 任意のデータを入力とし、この入力データを基に素数データp c を生成する素数生成手段と、 前記オイラー関数値データφ(m c )を用いて前記素数データp c の素イデアル性を判定し、素イデアルであると判定されたときには当該値p c を第1の秘密鍵データとし、素イデアルではないと判定されたときには再度前記素数生成手段で素数データを生成し判定を繰り返す判定手段と、 この判定手段で素数データの値p c と異なる値q c が得られたときには当該値q c を第2の秘密鍵データとする秘密鍵生成手段と、 前記値p c と値q c との積を演算して得られた値n c を第1の公開鍵データとする公開鍵生成手段と、を有することを特徴とする公開鍵暗号の鍵生成装置。
- 11【請求項11】 2次体において、二乗因子を持たない任意の有理整数データm s について4を法とする剰余を計算し、計算値が1となる場合は値m s を書き込み、計算値が1以外の場合は値m s を4倍した値を書き込んだ判別式の値Dを得る判別値獲得手段と、 任意のデータを入力とし、この入力データを基に素数データp s を生成する素数生成手段と、 前記判別式の値Dの素数データp s に対する平方剰余記号の計算値が-1となるか否かを判定し、-1となった場合は当該値p s を第1の秘密鍵データとし、-1とならない場合には再度前記素数生成手段で素数データを生成し判定を繰り返す判定手段と、 この判定手段で前記値p s と異なる値q s が得られたときには当該値q s を第2の秘密鍵データとする秘密鍵生成手段と、 前記値p s と値q s とを乗じた値n s を計算して第1の公開鍵データとする公開鍵生成手段と、を有することを特徴とする公開鍵暗号の鍵生成装置。
- 12【請求項12】 アイゼンシュタイン体において、惰性もしくは分解する有理素数の組である値p e と値q e とを入力する入力手段と、 惰性する素数の場合はP e =p e 、Q e =q e とし、分解する素数のばあいはρを1の原始3乗根として、 値p e に対して、p e =a 2 -ab+b 2 を満たす有理整数の組(a,b)をa≡1(mod 3),b≡0(mod 3)の条件のもとで求め、P e =(a+ρb)を第1の秘密鍵とする第1の秘密鍵生成手段と、 値q e に対して、q e =c 2 -cd+d 2 を満たす有理整数の組(c,d)をc≡1(mod 3), d≡0(mod 3)の条件のもとで求め、Q e =(c+ρd)を第2の秘密鍵とする第2の秘密鍵生成手段と、 前記P e とQ e との積を求め第1の公開鍵とする公開鍵生成手段と、を有することを特徴とする公開鍵暗号の鍵生成装置。
- 13【請求項13】 ガウス体において、惰性もしくは分解する有理素数の組である値p g と値q g とを入力する入力手段と、 惰性する素数の場合はP g =p g 、Q g =q g とし、分解する素数のばあいはiを1の原始4乗根として、 値p g に対して、p g =a 2 +b 2 を満たす有理整数の組(a,b)を、a≡1(mod 4),b≡0(mod 4)、あるいはa≡3(mod 4),b≡2 (mod4)のいずれかの条件のもとで求め、P g =(a+ib)を求め第1の秘密鍵とする第1の秘密鍵生成手段と、 値q g に対して、q g =c 2 +d 2 を満たす有理整数の組(c,d)を、c≡1(mod 4),d≡0(mod 4)、あるいはc≡3(mod 4),d≡2 (mod4)のいずれかの条件のもとで求め、Q g =(c+id)を求め第2の秘密鍵とする第2の秘密鍵生成手段と、 前記P g とQ g との積を求め第1の公開鍵とする公開鍵生成手段と、を有することを特徴とする公開鍵暗号の鍵生成装置。
- 14【請求項14】 代数体上の整数環のイデアルに対して、その剰余類を一意的に決定するに際して、 m次円分体の場合は、公開鍵を素数イデアルの積Nとし、ζを1の原始m乗根とすると、φ(m)次元Z平面において原点とベクトル N,ζN,5 2 N,...,ζφ(m)-1N で張られる超平行体の内部と境界上の整数点を取り、 2次体の場合は、公開鍵を素数イデアルの積Nとし、ωを2次体の整数の基底とすると、2次元Z平面において原点とベクトル N,ωN で張られる平行四辺形の内部と境界上の整数点を取り、 アイゼンシュタイン体の場合は、公開鍵を素数イデアルの積N=(a+ρb)とすると、4点(0.0),(a,b),(-b,a-b),(a-b,a)で張られる平行四辺形の内部と境界上の整数点を取り、 第1のガウス体および第2のガウス体の場合は、公開鍵を素数イデアルの積N=(a+ib)とすると、4点(0.0),(a,b),(-b,a),(a-b,a+b)で張られる平行四辺形の内部と境界上の整数点を取ることを特徴とする請求項8に記載の暗号通信装置。
- 15【請求項15】 代数体上の整数環のイデアルに対して、所定の剰余類に対して剰余演算を行うに際して、 m次円分体の場合は、公開鍵を惰性する素数の積nとすると、φ(m)次元Z平面において、ベクトル各成分の成分で有理整数nによる剰余演算を行い、 2次体の場合は、公開鍵を惰性する素数の積nとすると、2次元Z平面において、ベクトル各成分の成分で有理整数nによる剰余演算を行い、 アイゼンシュタイン体の場合は、公開鍵を惰性する素数の積nとすると、2次元Z平面において、ベクトル各成分の成分で有理整数nによる剰余演算を行い、公開鍵を分解する素イデアルの積N=(a+ρb)とすると、2次元Z平面において、点(x,y)はガウス記号を[ ]とし,n e =a 2 -ab+b 2 とすると式 【数1】 による剰余演算を行い、第1のガウス体および第2のガウス体の場合は、公開鍵を惰性する素数の積nとすると、2次元Z平面において、ベクトル各成分の成分で有理整数nによる剰余演算を行い、公開鍵を分解する素イデアルの積N=(a+ρb)とすると、2次元Z平面において、点(x,y)は、ガウス記号[ ]とし、n g =a 2 +b 2 とすると式 【数2】 による剰余演算を行うことを特徴とする請求項8記載の暗号通信装置。
- 16【請求項16】 アイゼンシュタイン体においては、ユークリッドの互除演算とpおよび1-pによる除算を反復することにより3乗剰余記号を計算し、第1のガウス体においては、ユークリッドの互除演算と1+i,-1およびiによる除算を反復することにより4乗剰余記号を計算し、第2のガウス体においては、ユークリッドの互除演算と1+i,-1およびiによる除算を反復することにより平方剰余記号を計算することを特徴とするアイゼンシュタイン体,第1のガウス体,および第2のガウス体におけるべき乗剰余記号を用いることを特徴とする請求項8記載の暗号通信装置。
- 17【請求項17】 円分体において、値がMである平文データ、値がn c である第1の公開鍵データおよび任意の自然数データm c である第2の公開鍵データに対し、これらから前記平文データに該当する値がM c である暗号文データを生成する暗号化装置であって、 利用する体の次数に係り第2の公開鍵データのオイラー関数値r c を求めるオイラー関数値演算手段と、 前記平文データを値n c の剰余類の範囲に収まるように、この元に対応付け各次元に対応するr c 個の成分をメモリに順次格納する格納手段と、 これらメモリに順次格納された各次元を成分とする元に対して法n c のもとでm c 乗演算を施す演算手段と、 この演算手段の各演算結果をまとめて全体を元の値がM c である暗号文データとする統合手段と、を有することを特徴とする公開鍵暗号による暗号化装置。
- 18【請求項18】 2次体において、値がMである平文データ、値がN s である第1の公開鍵データおよび値がm s である第2の公開鍵データに対し、これらから前記平文データに該当する値がM s である暗号文データを生成する暗号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対して、2次体の元a+b√m s を(a,b)とベクトル表現するとき、式(C 0 ,C 1 )≡(M 0 ,M 1 )(M 0 +2B 0 ,M 1 +2B 1 )mod N(ただし(B 0 ,B 1 )はある整数の組)によって暗号化することを特徴とする公開鍵暗号による暗号化方法。
- 19【請求項19】 アイゼンシュタイン体において、値がMである平文データ、値がN e である第1の公開鍵データおよび値が3 e である第2の公開鍵データに対し、これらから前記平文データに該当する値がM s である暗号文データを生成する暗号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対して、アイゼンシュタイン体の元a+bρを(a,b)とベクトル表現するとき、式(C 0 ,C 1 )≡(M 0 ,M 1 )(M 0 +2B 0 -B 1 ,M 1 +B 0 +B 1 ) (M 0 +B 0 -B 1 ,M 1 +B 0 ) mod N e (ただし(B 0 ,B 1 )はある整数の組)によって暗号化を行うことを特徴とする公開鍵暗号による暗号化方法。
- 20【請求項20】 第1のガウス体において、前記暗号化は、暗号化処理の後に、三乗剰余記号 【数3】 を計算することを特徴とする請求項19記載の公開鍵暗号による暗号化方法。
- 21【請求項21】 値がMである平文データ、値がN g である第1の公開鍵データおよび値が3 g である第2の公開鍵データに対し、これらから前記平文データに該当する値がM g である暗号文データを生成する暗号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対して、第1のガウス体の元a+biを(a,b)とベクトル表現するとき、式 (C 0 ,C 1 )≡(M 0 ,M 1 )(M 0 +2B 0 ,M 1 +2B 1 )(M 0 +B 0 -B 1 ,M 1 +B 0 +B 1 )(M 0 +B 0 +B 1 ,M 1 -B 0 +B 1 ) mod N g (ただし(B 0 ,B 1 )はある整数の組)によって暗号化を行うことを特徴とする公開鍵暗号による暗号化方法。
- 22【請求項22】 前記暗号化は、暗号化処理の後に、四剰余記号 【数4】 を計算することを特徴とする請求項18記載の公開鍵暗号による暗号化方法。
- 23【請求項23】 第2のガウス体において、値がMである平文データ、値がN G である第1の公開鍵データおよび値が-4 G である第2の公開鍵データに対し、これらから前記平文データに該当する値がM G である暗号文データを生成する暗号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対して、第2のガウス体の元a+biを(a,b)とベクトル表現するとき、式 (C 0 ,C 1 )≡(M 0 ,M 1 )(M 0 +2B 0 ,M 1 +2B 1 ) mod N G によって暗号化を行うことを特徴とする公開鍵暗号による暗号化方法。
- 24【請求項24】 前記暗号化は、暗号化処理の後に、平方剰余記号 【数5】 ならびに、平文Mと(C+B 2 )/Bの各成分の大小関係δを計算することを特徴とする請求項23記載の公開鍵暗号による暗号化方法。
- 25【請求項25】 暗号文データと体の次元値のデータと第1の秘密鍵データ、第2の秘密鍵データおよび第1の公開鍵データとを入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化方法であって、 前記暗号文データに対して、前記第1の秘密鍵データを法とする剰余演算と、前記第2の秘密鍵データを法とする剰余演算とをそれぞれ別個に実施し、これら2つの実施結果に対して前記第1の公開鍵データを法とする剰余演算を中国人の剰余定理を用いて、それぞれ実施することにより利用した体の元を求め、前記値がMである平文データを得ることを特徴とする公開鍵暗号による復号化方法。
- 26【請求項26】 円分体において、値がM c である暗号文データと、代数体の次元の値を示す数値データと、値がp c である第1の秘密鍵データと、値がq c である第2の秘密鍵データと、値がn c である第1の公開鍵データと、値がm c である任意の自然数データを第2の公開鍵データとして入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化装置であって、 前記暗号文データに対し前記体の各次元値を構成するデータブロック毎に順次メモリに格納する格納手段と、 第1の体の元の値X c1 をm c 乗した値からM c を減じた値に対して、値p c を法とする剰余が0となるようなX c1 の値を求める第1の演算手段と、 第2の体の元の値X c2 をm c 乗した値からM c を減じた値に対して、値q c を法とする剰余が0となるようなX c2 の値を求める第2の演算手段と、 中国人の剰余定理に基づき前記第1の演算手段および第2の演算手段で演算された前記データ群を成分とする2つの体の元に対してイデアルn c を法とする体の元を求める第3の演算手段と、 この第3の演算手段で求められた拡大体の各成分データを順次連結し、値がMである平文データとする連結手段と、を有することを特徴とする公開鍵暗号による復号化装置。
- 27【請求項27】 2次体において、値がCである暗号文データ、値がP s である第1の秘密鍵データ、値がQ s である第2の秘密鍵データ、値がN s である第1の公開鍵データおよび値がm s である第2の公開鍵データとを入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対応する暗号文ブロックC 0 ,C 1 およびB 0 ,B 1 に対して、EをC 0 +(√m s )C 1 を意味するものとするとき、それぞれ、式x 2 +2Bx-E≡0 mod P s の解M Ps =(M 0P ,M 1P )と、式x 2 +2Bx-E≡0 mod Q s の解M Qs =(M 0Q ,M 1Q )とを求め、さらにM Ps ,M Qs からイデアルN s を法とする数Mを中国人剰余の定理により求め、当該Mを平文データとして得ることを特徴とする公開鍵暗号による復号化方法。
- 28【請求項28】 アイゼンシュタイン体において、値がCである暗号文データ、値がP e である第1の秘密鍵データ、値がQ e である第2の秘密鍵データ、値がN e である第1の公開鍵データおよび値が3 e である第2の公開鍵データとを入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対応する暗号文ブロックC 0 ,C 1 およびB 0 ,B 1 に対して、それぞれ、式x 3 +3Bx 2 +3B 2 x-E≡0 mod P e の解M Pe =(M 0P ,M 1P )と、式x 3 +3Bx 2 +3B 2 x-E≡0 mod Q e の解M Qe =(M 0Q ,M 1Q )とを求め、さらにM Pe ,M Qe からイデアルN e を法とする数Mを中国人剰余の定理により求め、当該Mを平文データとして得ることを特徴とする公開鍵暗号による復号化方法。
- 29【請求項29】 前記復号化は、復号化処理の途中において、三乗剰余記号(M Pe /N) 3 、(M Qe /N) 3 の値を計算し、所定の対応表に従ってCに対応する暗号文の候補を絞り、さらにイデアルNを法とする数Mを求め、このMについて解の正当性を検証することを特徴とする請求項28記載の公開鍵暗号による復号化方法。
- 30【請求項30】 第1のガウス体において、値がCである暗号文データ、値がP g である第1の秘密鍵データ、値がQ g である第2の秘密鍵データ、値がN g である第1の公開鍵データおよび値が4 g である第2の公開鍵データとを入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対応する暗号文ブロックC 0 ,C 1 およびB 0 ,B 1 に対して、それぞれ、式x 4 +4Bx 3 +6B 2 x 2 +4B 3 x-E≡0 mod P g の解M Pg =(M 0P ,M 1P )と、式x 4 +4Bx 3 +6B 2 x 2 +4B 3 x-E≡0 mod Q g の解M Qg =(M 0Q ,M 1Q )とを求め、さらにM Pg ,M Qg からイデアルN g を法とする数Mを中国人剰余の定理により求め、当該Mを平文データとして得ることを特徴とする公開鍵暗号による復号化方法。
- 31【請求項31】 前記復号化は、復号化処理の途中において、四乗剰余記号(M Pg /N) 4 、(M Qg /N) 4 の値を計算し、所定の対応表に従ってCに対応する暗号文の候補を絞り、さらにイデアルNを法とする数Mを求め、このMについて解の正当性を検証することを特徴とする請求項30記載の公開鍵暗号による復号化方法。
- 32【請求項32】 第2のガウス体において、値がCである暗号文データ、値がP G である第1の秘密鍵データ、値がQ G である第2の秘密鍵データ、値がN G である第1の公開鍵データおよび値が3 G である第2の公開鍵データとを入力し、前記暗号文データに対応する値がMである平文データを生成する公開鍵暗号における復号化方法であって、 前記平文データを切り出して得られる平文ブロックM 0 ,M 1 に対応する暗号文ブロックC 0 ,C 1 およびB 0 ,B 1 に対して、それぞれ、式x 2 +2Bx-E≡0 mod P G の解M PG =(M 0P ,M 1P )と、式x 2 +2Bx-E≡0 mod Q G の解M QG =(M 0Q ,M 1Q )とを求め、さらにM PG ,M QG からイデアルN G を法とする数Mを中国人剰余の定理により求め、当該Mを平文データとして得ることを特徴とする公開鍵暗号による復号化方法。
- 33【請求項33】 前記復号化は、復号化処理の途中において、平方剰余記号(M PG /N) 2 、(M QG /N) 2 の値を計算し、所定の対応表に従ってCに対応する暗号文の候補を絞り、さらにイデアルNを法とする数Mを求め、このMと(C+B 2 )/Mの各成分の大小関係がδと一致することを検証することを特徴とする請求項32記載の公開鍵暗号による復号化方法。
- 34【請求項34】 認証文データ、第1の秘密鍵データ、第2の秘密鍵データ、第1の公開鍵データおよび第2の公開鍵データとから認証文データに該当する暗号化認証文データを生成する公開鍵暗号における認証文生成装置であって、 前記認証文データをハッシュ関数を用いてハッシュ化するハッシュ化手段と、 このハッシュ化手段でハッシュ化したハッシュ化データに対し、第1の公開鍵の値である剰余類の範囲に収まるように、拡大体の元に対応付け、各次元成分に対応する成分をメモリに順次格納する格納手段と、 拡大体の元に対して、前記第1の秘密鍵データを法とする剰余演算と、前記第2の秘密鍵データを法とする剰余演算とを、それぞれ別個に実施し、これら2つの実施結果に対して、第1の公開鍵データを法とする剰余演算を中国人の剰余定理を用いて、それぞれ実施することにより拡大体の元を求める演算手段と、 この演算手段で求めた各次元成分を順次読み出すことにより、前記暗号化認証文データを生成する暗号化認証文生成手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成装置。
- 35【請求項35】 円分体において、値がTである認証文データ、値がr c である拡大体の次数データ、値がp c である第1の秘密鍵データ、値がq c である第2の秘密鍵データと、値がn c である第1の公開鍵データおよび値がm c である任意の素数データまたは任意の素数が自然数べき乗されたデータを第2の公開鍵データとから、認証文データに該当する値がT c である暗号化認証文データを生成する公開鍵暗号における認証文生成装置であって、 前記認証文データをハッシュ関数を用いてハッシュ化するハッシュ化手段と、 このハッシュ化手段でハッシュ化された認証文データを、各ブロックがn c の値である剰余類の範囲に収まるように拡大体の元に対応付け、各次元成分に対応するr c 個の成分をメモリに順次格納する格納手段と、 ある未知の拡大体の元の値X c1 をm c 乗した値からT c を減じた値に対して、値p c を法とする剰余が0となるようなX c1 の値を求める第1の演算手段と、 ある未知の拡大体の元の値X c2 をm c 乗した値からT c を減じた値に対して、値q c を法とする剰余が0となるようなX c2 の値を求める第2の演算手段と、 中国人の剰余定理に基づき、前記第1の演算手段および第2の演算手段で演算されたデータ群を成分とする2つの拡大体の元に対して、イデアルn c を法とする拡大体の元をそれぞれ求める第3の演算手段と、 この第3の演算手段で求められた拡大体の各成分データを順次連結し値がT c である暗号化認証文データとする連結手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成装置。
- 36【請求項36】 2次体において、値がMである認証文データ、値がP s である第1の秘密鍵データ、値がQ s である第2の秘密鍵データと、値がN s である第1の公開鍵データおよび値がm s である第2の公開鍵データとから、認証文データに該当する値がM s である暗号化認証文データを生成する公開鍵暗号における認証文生成装置であって、 認証文をハッシュ関数hでハッシュ化し、その結果をハッシュ化認証子h(M)とする認証文ハッシュ化手段と、 前記認証子h(M)の先頭から、剰余類の範囲内の2次体の元の2つの次元成分に対応する2個のブロックを切り出す認証子分割手段と、 秘密鍵P s ,Q s を用い、式x 2 -h(M)≡0 (mod N s )の解の1個h(C)=(h(C) 0 ,h(C) 1 )を求める認証子暗号化手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成方法。
- 37【請求項37】 アイゼンシュタイン体において、値がMである認証文データ、値がp e である第1の秘密鍵データ、値がq e である第2の秘密鍵データと、値がn e である第1の公開鍵データおよび値がm e である第2の公開鍵データとから、認証文データに該当する値がM e である暗号化認証文データを生成する公開鍵暗号における認証文生成方法であって、 認証文をハッシュ関数hでハッシュ化し、その結果をハッシュ化認証子h(M)とする認証文ハッシュ化手段と、 認証子h(M)の先頭から剰余類の範囲内の2次体の元の2つの次元成分に対応する2個のブロックを切り出す出認証子分割手段と、 秘密鍵P e ,Q e を用い、式x 3 -h(M)≡0(mod N e )の解の1個h(C)=(h(C) 0 ,h(C) 1 )を求める認証子暗号化手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成装置。
- 38【請求項38】 第1のガウス体において、値がMである認証文データ、値がp g である第1の秘密鍵データ、値がq g である第2の秘密鍵データと、値がn g である第1の公開鍵データおよび値がm g である第2の公開鍵データとから、認証文データに該当する値がM g である暗号化認証文データを生成する公開鍵暗号における認証文生成装置であって、 認証文をハッシュ関数hでハッシュ化し、その結果をハッシュ化認証子h(M)とする認証文ハッシュ化手段と、 認証子h(M)の先頭から剰余類の範囲内の2次体の元の2つの次元成分に対応する2個のブロックを切り出す認証子分割手段と、 秘密鍵P g ,Q g を用い式x 4 -h(M)≡0(mod N g )の解の1個h(C)=(h(C) 0 ,h(C) 1 )を求める認証子暗号化手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成装置。
- 39【請求項39】 第2のガウス体において、値がMである認証文データ、値がP G である第1の秘密鍵データ、値がQ G である第2の秘密鍵データと、値がN G である第1の公開鍵データおよび値が-4 G である任意の素数データまたは任意の素数が自然数べき乗されたデータを第2の公開鍵データとから、認証文データに該当する値がM G である暗号化認証文データを生成する公開鍵暗号における認証文生成装置であって、 認証文をハッシュ関数hでハッシュ化し、その結果をハッシュ化認証子h(M)とする認証文ハッシュ化手段と、 認証子h(M)の先頭から剰余類の範囲内の2次体の元の2つの次元成分に対応する2個のブロックを切り出す認証子分割手段と、 秘密鍵P G ,Q G を用い式x 2 -h(M)≡0 (mod N G )の解の1個h(C)=(h(C) 0 ,h(C) 1 )求める認証子暗号化手段と、を有することを特徴とする公開鍵暗号による暗号化認証文生成装置。
- 40【請求項40】 円分体において、値がTである認証文データ、値がT c である認証文データから生成した暗号化認証文データ、値がr c である認証文データのブロックの数、値がn c である第1の公開鍵データおよび値がm c である任意の素数データまたは任意の素数が自然数べき乗されたデータを第2の公開鍵データとから、認証文データが暗号化され再び復号化される過程が正常か否かを判定する公開鍵暗号における認証文検証装置であって、 前記認証文データを切り出して得られたr c 個のブロックの各ブロックのデータを各成分とする拡大体の元に対して法n c のもとでm c 乗演算を施す演算手段と、 この演算結果である拡大体の元の各次元成分を順次連結しハッシュ化された暗号文データを得る連結手段と、 前記認証文データおよびハッシュ関数を用いてハッシュ化するハッシュ化手段と、 前記連結手段で得られたデータとハッシュ化手段で得られたデータとを比較し一致した場合は、一連の認証文作成ないし検証過程が正常であったと判定し、不一致である場合は一連の認証文作成ないし検証過程のいずれかに異常があったと判定する判定手段と、を有することを特徴とする公開鍵暗号による認証文検証装置。
- 41【請求項41】 2次体において、値がMである認証文データ、値がM s である認証文データから生成した暗号化認証文データ、値が2である認証文データのブロックの数、値がN s である第1の公開鍵データおよび値がm s である第2の公開鍵データとから、認証文データが暗号化され再び復号化される過程が正常か否かを判定する公開鍵暗号における認証文検証装置であって、 2個のブロック暗号化認証子に対して、式(h(C) 0 ,h(C) 1 ) 2 ≡(h(M) 0 ,h(M) 1 ) mod N s の2乗演算による復号化処理を行う認証子復号化手段と、 復号された2個の認証子ブロックを暗号化認証子がある限り、復号化および統合処理を反復して連接する認証子統合手段と、 認証文に対してハッシュ関数hでハッシュ化を行う認証文ハッシュ化手段と、 前記認証子統合手段で統合された認証子と認証文ハッシュ化手段で得られたハッシュ化認証文が一致すれば認証成功を出力し、一致しなければ認証失敗を出力する認証確認手段と、を有することを特徴とする公開鍵暗号による認証文検証装置。
- 42【請求項42】 アイゼンシュタイン体において、値がMである認証文データ、値がM e である認証文データから生成した暗号化認証文データ、値が2である認証文データのブロックの数、値がN e である第1の公開鍵データおよび値が3 e である第2の公開鍵データとから、認証文データが暗号化され再び復号化される過程が正常か否かを判定する公開鍵暗号における認証文検証装置であって、 2個のブロック暗号化認証子に対して、式(h(C) 0 ,h(C) 1 ) 3 ≡(h(M) 0 ,h(M) 1 ) mod N e の3乗演算による復号化処理を行う認証子復号化手段と、 復号された2個の認証子ブロックを暗号化認証子がある限り復号化および統合処理を反復して連接する認証子統合手段と、 認証文に対してハッシュ関数hでハッシュ化を行う認証文ハッシュ化手段と、 前記認証子統合手段で統合された認証子と認証文ハッシュ化手段で得られたハッシュ化認証文が一致すれば認証成功を出力し、一致しなければ認証失敗を出力する認証確認手段と、を有することを特徴とする公開鍵暗号による認証文検証装置。
- 43【請求項43】 第1のガウス体において、値がMである認証文データ、値がM g である認証文データから生成した暗号化認証文データ、値が2である認証文データのブロックの数、値がN g である第1の公開鍵データおよび値が4 g である第2の公開鍵データとから、認証文データが暗号化され再び復号化される過程が正常か否かを判定する公開鍵暗号における認証文検証装置であって、 2個のブロック暗号化認証子に対して、式(h(C) 0 ,h(C) 1 ) 4 ≡(h(M) 0 ,h(M) 1 ) mod N g の2乗演算による復号化処理を行う認証子復号化手段と、 復号された2個の認証子ブロックを暗号化認証子がある限り、復号化および統合処理を反復して連接する認証子統合手段と、 認証文に対してハッシュ関数hでハッシュ化を行う認証文ハッシュ化手段と、 前記認証子統合手段で統合された認証子と認証文ハッシュ化手段で得られたハッシュ化認証文が一致すれば認証成功を出力し、一致しなければ認証失敗を出力する認証確認手段と、を有することを特徴とする公開鍵暗号による認証文検証装置。
- 44【請求項44】 第2のガウス体において、値がMである認証文データ、値がM G である認証文データから生成した暗号化認証文データ、値が2である認証文データのブロックの数、値がN G である第1の公開鍵データおよび値が-4 G である第2の公開鍵データとから、認証文データが暗号化され再び復号化される過程が正常か否かを判定する公開鍵暗号における認証文検証装置であって、 2個のブロック暗号化認証子に対して、式(h(C) 0 ,h(C) 1 ) 2 ≡(h(M) 0 ,h(M) 1 ) mod N G の2乗演算による復号化処理を行う認証子復号化手段と、 復号された2個の認証子ブロックを暗号化認証子がある限り、復号化および統合処理を反復して連接する認証子統合手段と、 認証文に対してハッシュ関数hでハッシュ化を行う認証文ハッシュ化手段と、 前記認証子統合手段で統合された認証子と認証文ハッシュ化手段で得られたハッシュ化認証文が一致すれば認証成功を出力し、一致しなければ認証失敗を出力する認証確認手段と、を有することを特徴とする公開鍵暗号による認証文検証装置。
Independent claims44
870 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to, for example, a communication and authentication method by public key cryptography for ensuring the confidentiality of data exchanged via communication and authenticating an individual of a communicator, and devices thereof.
【0002】
[Conventional technology]
In recent years, encryption technology has attracted attention as a technology for ensuring the confidentiality of these data and realizing a secure authentication function when transmitting and receiving data via communication, especially in electronic commerce via communication. Encryption technology has come to be provided. The points for evaluating the performance of such cryptographic technology are the strength of security and the speed of encryption / decryption. That is, a cipher with high security and high speed is an excellent cipher.
【0003】
Further, among such encryption techniques, Rabin cryptosystem, which is a type of public key cryptosystem that uses power (exponentiation) modulo operation, is known. Public key cryptography such as Rabin cryptosystem is based on the fact that it is computationally difficult to obtain a private key from a public key that is public information.
【0004】
In this Rabin cryptosystem, it is found in the document "MORabin;" Digital Signatures and Public-Key Encryptions as Intractable as Factorization that obtaining the original plaintext from only the ciphertext is computationally equivalent to being able to factor the public key into prime factors. It is shown in ", MIT, Technical Report, MIT / LCS / TR-212 (1979)". These security assessments are intended for complete decryption, in which case the sufficiency or computational equivalence of the public key's prime factorization is shown.
【0005】
J.Hastad has published the literature "J.Hastad;" On using RSA with low exponent in a publickey network ", Proceeding of CRYPTO.<sup> ,</sup>In "85, Springer-Verlag (1986)", we proposed a method for decrypting RSA-type public key cryptography called a broadcast communication attack. As a result, it became clear that in RSA-type public key cryptography, plaintext can be obtained without factoring the public key into prime factors, and it has become necessary to review the security evaluation criteria. In addition, since Rabin cryptosystem is an RSA type public key cryptosystem, according to the above-mentioned J. Hastad literature, general Rabin cryptosystem is extremely vulnerable to broadcast communication attacks, and a method for directly avoiding it is known. It is said that it is not.
【0006】
Currently, Rabin cryptosystems using elliptic curves are known as Rabin cryptosystems that are resistant to broadcast communication attacks, and the document "Hidenori Kuwamon, Kenji Koyama;" RSA cryptosystems on cubic curves. Security in broadcast communication ", Shingaku Giho ISEC94-10, (1994)" evaluates the security strength against broadcast communication attacks, but at the same time, the encryption / decryption speed is original. It also shows the drawback that it is more than five times slower than Rabin cryptosystem and is not suitable for practical use.
【0007】
[Problems to be Solved by the Invention]
As described above, each of the conventional Rabin cryptosystems has drawbacks. Therefore, it is an object of the present invention to provide a communication and authentication method by public key cryptography capable of solving these problems, and a device thereof. To do.
【0008】
The issues to be solved are raised below.
【0009】
1. Compared to a rational integer ring on the Rabin cryptosystem is conventional, fully decrypt the pair to have a strength of more than conventional level, Design of strong cryptography and apparatus than against broadcast attack To give.
【0010】
2. To provide a cryptosystem and device configuration that is faster to encrypt compared to Rabin cryptosystems on elliptic curves.
【0011】
3. Provide an encryption and authentication method and device configuration method that can be used as an authentication device and enable both encrypted communication and authentication with one device.
【0012】
[Means for solving problems]
In order to achieve the above-mentioned object, the invention according to claim 1 in the present invention is a key generation method of public key cryptography used for communication or authentication using a public key cryptosystem, and is a prime ideal. The gist is to generate each of the two prime ideals in the integer ring of the above as a private key, and to generate the product of these two prime ideals as a public key.
【0013】
That is, the present invention is realized as a cryptographic communication device and an authentication communication device by extending the conventional Rabin cryptosystem on the rational ring of integers onto the ring of integers O of the algebraic number field and giving a concrete configuration method. is there.
【0014】
Thereby, in the present invention, the encryption / decryption method can be concretely constructed by giving the method of constructing the coset of the algebraic number field and the calculation algorithm of the power. As a result, it is possible to construct a Rabin-type cipher with improved security for broadcast communication. In addition, the encryption speed can be faster than the Rabin cryptosystem on the elliptic curve.
【0015】
The method and device can also be applied to authentication and can be used for both encryption and authentication.
【0016】
The gist of the invention according to claim 2 is that the algebraic number field uses any of a cyclotomic field, a quadratic field, an Eisenstein field, and a Gauss field.
【0017】
The invention according to claim 3 is a communication device that performs communication using a public key cryptosystem or communication accompanied by authentication, and is a square root of an advantageous integer that does not have a square factor in a rational number field at the time of encryption or decryption. The gist is to perform the quadratic reciprocity symbol in the field (quadratic field) to which is added.
【0018】
Further, the invention according to claim 4 is a communication device that performs communication using a public key cryptosystem or communication accompanied by authentication, and a primitive cube root of 1 is added to a rational number at the time of encryption or decryption. The gist is to perform the calculation of the cube root cryptography in the field (Eisenstein field).
【0019】
Further, the invention according to claim 5 is a communication device that performs communication using a public key cryptosystem or communication accompanied by authentication, and a primitive fourth root of 1 is added to a rational number at the time of encryption or decryption. The gist is to perform the calculation of the fourth root modulo symbol in the field (first Gaussian field).
【0020】
The invention according to claim 6 is a communication device that performs communication using public key cryptography or communication accompanied by authentication, and is a body in which a square root of -1 is added to a rational number field at the time of encryption or decryption. The gist is to calculate the quadratic reciprocity symbol in the second Gaussian form).
【0021】
The invention according to claim 7 is a communication device that performs communication using public key cryptography or communication accompanied by authentication, and obtains the greatest common divisor of a polynomial ring on a finite field at the time of encryption or decryption. The gist is that.
【0022】
The invention according to claim 8 is a cryptographic communication device having a transmitting device that encrypts and transmits the input plaintext and a receiving device that decrypts the plaintext transmitted from the transmitting device and outputs the plaintext. Therefore, when encrypting, the transmitting device uses the public key on the receiving device side as a method to perform encryption involving a modulo operation on the plaintext within the range of the modulo surplus of the algebra, and the receiving device performs the receiving cryptography. On the other hand, the gist is that the modulo operation using the two private keys as the method and the remainder operation using the public key as the method are decrypted based on the result of the remainder operation using the Chinese modulo theorem. And.
【0023】
Further, according to the invention of claim 9, when performing communication with authentication using public key cryptography, the sender generates two elementary ideals in an integer ring on an algebra as private keys at the time of transmission. After encrypting itself with these private keys, the authenticated authenticator generated by hashing and the plain text authenticator are paired and sent to the recipient, and the recipient decrypts the received authenticator with their public key. The gist is that the sender performs personal authentication on the recipient by collating the encrypted version with the hashed version of the authentication statement.
【0024】
Further, the invention according to claim 10 is an arbitrary natural number data m in a cyclotomic field.<sub>c </sub>About Euler's function value data φ (m<sub>c </sub>) Is an Euler function value calculation means and arbitrary data is input, and prime number data p is based on this input data.<sub>c </sub>And the Euler function value data φ (m)<sub>c </sub>) To the prime data p<sub>c</sub>When the prime ideality of is determined and it is determined that it is a prime ideal, the value p<sub>c </sub>Is used as the first secret key data, and when it is determined that the data is not a prime ideal, the prime number data is generated again by the prime number generation means and the determination is repeated, and the value p of the prime number data by this determination means.<sub>c </sub>Different value q<sub>c </sub>When is obtained, the value q<sub>c </sub>The secret key generation means using the second secret key data and the above-mentioned value p<sub>c </sub>And value q<sub>c </sub>Value n obtained by calculating the product of<sub>c </sub>The gist is to have a public key generation means that uses the above as the first public key data.
【0025】
Further, the invention according to claim 11 is an arbitrary rational integer data m having no square factor in a quadratic field.<sub>s </sub>Calculate the remainder modulo 4 for, and if the calculated value is 1, the value m<sub>s </sub>If the calculated value is other than 1, the value m<sub>s </sub>A discriminant value acquisition means for obtaining the value D of the discriminant in which the value obtained by multiplying is 4 is used, and arbitrary data is input, and the prime number data p is based on this input data.<sub>s </sub>And the prime number data p of the value D of the discriminant<sub>s </sub>It is determined whether or not the calculated value of the quadratic reciprocity symbol for is -1, and if it is -1, the value p.<sub>s </sub>Is the first secret key data, and if it does not become -1, the prime number data is generated again by the prime number generation means and the determination is repeated, and the value p by this determination means.<sub>s </sub>Different value q<sub>s </sub>When is obtained, the value q<sub>s </sub>The secret key generation means using the second secret key data and the above-mentioned value p<sub>s </sub>And value q<sub>s </sub>Value multiplied by and n<sub>s </sub>The gist is to have a public key generation means that calculates the above and uses it as the first public key data.
【0026】
Further, the invention according to claim 12 is a value p which is a set of rational prime numbers that inertial or decompose in the Eisenstein field.<sub>e </sub>And value q<sub>e </sub>Input means to input and P in the case of inertial prime number<sub>e </sub>= p<sub>e </sub>, Q<sub>e </sub>= q<sub>e </sub>In the case of a prime number to be decomposed, ρ is the primitive cube root of 1 and the value p<sub>e </sub>Against p<sub>e </sub>= a<sup>2 </sup>-ab + b<sup>2 </sup>Find a set of rational integers (a, b) that satisfies the condition under the conditions of a 1 (mod 3) and b 0 (mod 3), and P<sub>e</sub>The first secret key generation means with = (a + ρb) as the first secret key, and the value q<sub>e </sub>Against q<sub>e </sub>= c<sup>2 </sup>-cd + d<sup>2 </sup>Find a set of rational integers (c, d) that satisfies the condition under the conditions of c 1 (mod 3) and d 0 (mod 3), and Q<sub>e </sub>A second secret key generation means using = (c + ρd) as the second secret key, and the above P<sub>e </sub>And Q<sub>e </sub>The gist is to have a public key generation means that obtains the product of and is used as the first public key.
【0027】
Further, the invention according to claim 13 is a value p which is a set of rational prime numbers that inertial or decompose in a Gaussian field.<sub>g </sub>And value q<sub>g </sub>Input means to input and P in the case of inertial prime number<sub>g </sub>= p<sub>g </sub>, Q<sub>g </sub>= q<sub>g </sub>In the case of a prime number to be decomposed, i is the primitive 4th root of 1 and the value p<sub>g </sub>Against p<sub>g </sub>= a<sup>2 </sup>+ b<sup>2 </sup>A set of rational integers (a, b) that satisfies the condition of either a 1 (mod 4), b 0 (mod 4), or a 3 (mod 4), b 2 (mod 4). Asked under, P<sub>g </sub>The first secret key generation means that obtains = (a + ib) and uses it as the first secret key, and the value q<sub>g </sub>Against q<sub>g </sub>= c<sup>2 </sup>+ d<sup>2 </sup>A set of rational integers (c, d) that satisfies the condition of c 1 (mod 4), d 0 (mod 4), or c 3 (mod 4), d 2 (mod 4). Asked under, Q<sub>g </sub>The second secret key generation means for obtaining = (c + id) and using it as the second secret key, and the above P<sub>g </sub>And Q<sub>g</sub>The gist is to have a public key generation means that obtains the product of and is used as the first public key.
【0028】
Further, the invention according to claim 17 is plaintext data having a value of M and a value of n in a cyclotomic field.<sub>c </sub>The first public key data and any natural number data m<sub>c </sub>For the second public key data, the value corresponding to the plaintext data is M.<sub>c </sub>It is an encryption device that generates ciphertext data, and the Euler function value r of the second public key data depends on the order of the body to be used.<sub>c </sub>Euler's function to find the value of the value n<sub>c </sub>Corresponds to each dimension associated with this element so that it falls within the coset range of<sub>c </sub>A method n for a storage means for sequentially storing individual components in memory and an element whose component is each dimension sequentially stored in these memories.<sub>c </sub>Under m<sub>c </sub>The original value is M for the calculation means that performs the multiplication operation and the calculation results of each calculation means.<sub>c </sub>The gist is to have an integration means for converting ciphertext data.
【0029】
Further, the invention according to claim 18 is a plaintext data having a value of M and a value of N in a quadratic field.<sub>s </sub>The first public key data and value is m<sub>s </sub>For the second public key data, the value corresponding to the plaintext data is M.<sub>s </sub>This is an encryption method for generating ciphertext data, which is a plaintext block M obtained by cutting out the plaintext data.<sub>0 </sub>, M<sub>1 </sub>On the other hand, the element a + bm of the quadratic field<sub>s </sub>When the vector representation of (a, b), the equation (C)<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) mod N (but (B)<sub>0 </sub>, B<sub>1 </sub>) Is encrypted by a certain set of integers).
【0030】
Further, the invention according to claim 19 is a plaintext data having a value of M and a value of N in the Eisenstein form.<sub>e </sub>The first public key data and value is 3<sub>e </sub>For the second public key data, the value corresponding to the plaintext data is M.<sub>s </sub>This is an encryption method for generating ciphertext data, which is a plaintext block M obtained by cutting out the plaintext data.<sub>0 </sub>, M<sub>1 </sub>On the other hand, when the element a + bρ of the Eisenstein field is vectorically expressed as (a, b), the equation (C)<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>) mod N<sub>e </sub>(However, (B<sub>0 </sub>, B<sub>1 </sub>) Is the gist of performing encryption by a certain set of integers).
【0031】
Further, the invention according to claim 21 has plaintext data having a value of M and a value of N.<sub>g </sub>The first public key data and value is 3<sub>g </sub>For the second public key data, the value corresponding to the plaintext data is M.<sub>g </sub>This is an encryption method for generating ciphertext data, which is a plaintext block M obtained by cutting out the plaintext data.<sub>0 </sub>, M<sub>1 </sub>On the other hand, when the element a + bi of the first Gaussian field is vectorically expressed as (a, b), the equation (C)<sub>0</sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1</sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>, M<sub>1 </sub>-B<sub>0 </sub>+ B<sub>1 </sub>) mod N<sub>g </sub>(However, (B<sub>0 </sub>, B<sub>1 </sub>) Is the gist of performing encryption by a certain set of integers).
【0032】
Further, the invention according to claim 23 is plaintext data having a value of M and a value of N in the second Gaussian body.<sub>G </sub>The first public key data and value is -4<sub>G </sub>For the second public key data, the value corresponding to the plaintext data is M.<sub>G </sub>This is an encryption method for generating ciphertext data, which is a plaintext block M obtained by cutting out the plaintext data.<sub>0 </sub>, M<sub>1 </sub>On the other hand, when the element a + bi of the second Gaussian field is vectorically expressed as (a, b), the equation (C)<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) mod N<sub>G </sub>The gist is to perform encryption by.
【0033】
Further, in the invention according to claim 25, the cryptographic text data, the data of the dimension value of the body, the first private key data, the second private key data and the first public key data are input, and the cryptographic text data is described. This is a decryption method in public key cryptography that generates plain text data in which the value corresponding to is M, and is a remainder calculation using the first secret key data as a method for the crypto text data, and the second The remainder operation using the secret key data of is performed separately, and the remainder operation using the first public key data as the method is performed for each of these two execution results using the Chinese remainder theorem. The gist is to obtain the source of the body used by carrying out and obtain plain text data whose value is M.
【0034】
Further, the invention according to claim 26 has a value of M in the cyclotomic field.<sub>c </sub>Ciphertext data that is, numerical data that indicates the value of the dimension of the algebraic number field, and the value is p<sub>c </sub>The first private key data that is, and the value is q<sub>c </sub>The second private key data that is, and the value is n<sub>c </sub>The first public key data that is, and the value is m<sub>c </sub>It is a decryption device in public key cryptography that inputs arbitrary natural number data, which is, as the second public key data, and generates plain text data in which the value corresponding to the ciphertext data is M, and is used in the ciphertext data. On the other hand, a storage means for sequentially storing each data block constituting each dimension value of the body in the memory, and an original value X of the first body.<sub>c1</sub>M<sub>c </sub>M from the multiplied value<sub>c </sub>For the value obtained by subtracting<sub>c </sub>X such that the remainder modulo is 0<sub>c1</sub>The first arithmetic means for finding the value of and the original value X of the second field<sub>c2</sub>M<sub>c </sub>M from the multiplied value<sub>c </sub>For the value obtained by subtracting<sub>c </sub>X such that the remainder modulo is 0<sub>c2</sub>An ideal for a second arithmetic means for obtaining the value of, and two field elements whose components are the data group calculated by the first arithmetic means and the second arithmetic means based on the Chinese Remainder Theorem. n<sub>c </sub>A third arithmetic means for obtaining the element of the field modulo is and a concatenation means for sequentially concatenating each component data of the extension field obtained by the third arithmetic means to obtain plaintext data having a value of M. The gist is to have.
【0035】
Further, the invention according to claim 27 is a quadratic field in which the ciphertext data has a value of C and the value is P.<sub>s </sub>The first private key data that is, the value is Q<sub>s </sub>Second private key data, the value is N<sub>s </sub>The first public key data and value is m<sub>s </sub>This is a decryption method in public key cryptography that generates plaintext data in which the value corresponding to the ciphertext data is M by inputting the second public key data, which is obtained by cutting out the plaintext data. Block M<sub>0 </sub>, M<sub>1 </sub>Ciphertext block C corresponding to<sub>0 </sub>, C<sub>1 </sub>And B<sub>0 </sub>, B<sub>1 </sub>E to C<sub>0 </sub>+ (m<sub>s </sub>) C<sub>1 </sub>When we mean, each expression x<sup>2 </sup>+ 2Bx-E 0 mod P<sub>s </sub>Solution M<sub>Ps</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And the expression x<sup>2 </sup>+ 2Bx-E 0 mod Q<sub>s </sub>Solution M<sub>Qs</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And then M<sub>Ps</sub>, M<sub>Qs</sub>From ideal N<sub>s </sub>The gist is to obtain the number M modulo the Chinese Remainder Theorem and obtain the M as plaintext data.
【0036】
Further, the invention according to claim 28 is a ciphertext data having a value of C and a value of P in the Eisenstein body.<sub>e </sub>The first private key data that is, the value is Q<sub>e </sub>Second private key data, the value is N<sub>e </sub>The first public key data and value is 3<sub>e </sub>This is a decryption method in public key cryptography that generates plaintext data in which the value corresponding to the ciphertext data is M by inputting the second public key data, which is obtained by cutting out the plaintext data. Block M<sub>0 </sub>, M<sub>1 </sub>Ciphertext block C corresponding to<sub>0 </sub>, C<sub>1 </sub>And B<sub>0 </sub>, B<sub>1 </sub>For each expression x<sup>3 </sup>+ 3Bx<sup>2 </sup>+ 3B<sup>2 </sup>xE 0 mod P<sub>e</sub>Solution M<sub>Pe</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And the expression x<sup>3 </sup>+ 3Bx<sup>2 </sup>+ 3B<sup>2 </sup>xE 0 mod Q<sub>e</sub>Solution M<sub>Qe</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And then M<sub>Pe</sub>, M<sub>Qe</sub>From ideal N<sub>e </sub>The gist is to obtain the number M modulo the Chinese Remainder Theorem and obtain the M as plaintext data.
【0037】
Further, the invention according to claim 30 is a ciphertext data having a value of C and a value of P in the first Gaussian body.<sub>g </sub>The first private key data that is, the value is Q<sub>g </sub>Second private key data, the value is N<sub>g </sub>The first public key data and value is 4<sub>g </sub>This is a decryption method in public key cryptography that generates plaintext data in which the value corresponding to the ciphertext data is M by inputting the second public key data, which is obtained by cutting out the plaintext data. Block M<sub>0 </sub>, M<sub>1 </sub>Ciphertext block C corresponding to<sub>0 </sub>, C<sub>1 </sub>And B<sub>0 </sub>, B<sub>1 </sub>For each expression x<sup>4 </sup>+ 4Bx<sup>3 </sup>+ 6B<sup>2 </sup>x<sup>2 </sup>+ 4B<sup>3 </sup>xE 0 mod P<sub>g </sub>Solution M<sub>Pg</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And the expression x<sup>4 </sup>+ 4Bx<sup>3 </sup>+ 6B<sup>2 </sup>x<sup>2 </sup>+ 4B<sup>3 </sup>xE 0 mod Q<sub>g </sub>Solution M<sub>Qg</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And then M<sub>Pg</sub>, M<sub>Qg</sub>From ideal N<sub>g </sub>The gist is to obtain the number M modulo the Chinese Remainder Theorem and obtain the M as plaintext data.
【0038】
Further, the invention according to claim 32 is a ciphertext data having a value of C and a value of P in the second Gaussian body.<sub>G </sub>The first private key data that is, the value is Q<sub>G </sub>Second private key data, the value is N<sub>G </sub>The first public key data and value is 3<sub>G </sub>This is a decryption method in public key cryptography that generates plaintext data in which the value corresponding to the ciphertext data is M by inputting the second public key data, which is obtained by cutting out the plaintext data. Block M<sub>0 </sub>, M<sub>1 </sub>Ciphertext block C corresponding to<sub>0 </sub>, C<sub>1 </sub>And B<sub>0 </sub>, B<sub></sub><sub>1 </sub>For each expression x<sup>2 </sup>+ 2Bx-E 0 mod P<sub>G </sub>Solution M<sub>PG</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And the expression x<sup>2 </sup>+ 2Bx-E 0 mod Q<sub>G </sub>Solution M<sub>QG</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And then M<sub>PG</sub>, M<sub>QG</sub>From ideal N<sub>G </sub>The gist is to obtain the number M modulo the Chinese Remainder Theorem and obtain the M as plaintext data.
【0039】
Further, the invention according to claim 34 is a hash corresponding to the certificate data from the certificate data, the first private key data, the second private key data, the first public key data and the second public key data. An authentication statement generator in public key encryption that generates authentication statement data, for a hashing means that hashes the certificate statement data using a hash function, and for the hashed data that has been hashed by this hashing means. , A storage means that associates with the element of the expander so that it falls within the range of the remainder class, which is the value of the first public key, and sequentially stores the components corresponding to each dimension component in the memory, and the element of the expander. Therefore, the remainder operation using the first secret key data as the method and the remainder operation using the second secret key data as the method are separately performed, and the first is obtained for these two execution results. By using the Chinese remainder theorem to perform the remainder calculation using the public key data of The gist is to have an encrypted certificate statement generating means for generating the encrypted certificate statement data.
【0040】
Further, the invention according to claim 35 is a cyclotomic field in which the value is T and the value is r.<sub>c </sub>The order data of the extension field, the value is p<sub>c </sub>The first private key data that is, the value is q<sub>c </sub>The second private key data that is, and the value is n<sub>c </sub>The first public key data and value is m<sub>c </sub>The value corresponding to the certificate data is T from the second public key data and the data obtained by multiplying any prime number data or any prime number to a natural number power.<sub>c </sub>An authentication statement generator in public key encryption that generates encrypted authentication statement data, which is a hashing means for hashing the authentication statement data using a hash function, and an authentication hashed by this hashing means. Statement data, each block is n<sub>c </sub>Corresponds to the field of the extension field so that it falls within the range of cosets, which is the value of, and corresponds to each dimensional component.<sub>c </sub>A storage means for sequentially storing individual components in memory, and the original value X of an unknown extension field.<sub>c1</sub>M<sub>c </sub>T from the multiplied value<sub>c </sub>For the value obtained by subtracting<sub>c </sub>X such that the remainder modulo is 0<sub>c1</sub>The first arithmetic means for finding the value of, and the original value X of an unknown extension field<sub>c2</sub>M<sub>c </sub>T from the multiplied value<sub>c </sub>For the value obtained by subtracting<sub>c </sub>X such that the remainder modulo is 0<sub>c2</sub>For the elements of the second extension field whose components are the second arithmetic means for obtaining the value of and the data group calculated by the first arithmetic means and the second arithmetic means based on the Chinese Remainder Theorem. , Ideal n<sub>c </sub>The value is T by sequentially concatenating the third calculation means for finding the elements of the extension field obtained by the method and each component data of the extension field obtained by this third calculation means.<sub>c</sub>The gist is to have a concatenation means to use the encrypted authentication text data.
【0041】
Further, the invention according to claim 36 is a quadratic field in which the value is M and the value is P.<sub>s </sub>The first private key data that is, the value is Q<sub>s </sub>The second private key data that is, and the value is N<sub>s </sub>The first public key data and value is m<sub>s </sub>From the second public key data that is, the value corresponding to the authentication statement data is M<sub>s </sub>This is an authentication statement generator in public key cryptography that generates encrypted authentication statement data, and is an authentication statement hashing means that hashes the authentication statement with the hash function h and uses the result as the hashing authenticator h (M). And the authenticator dividing means for cutting out two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder class from the beginning of the authenticator h (M), and the private key P.<sub>s </sub>, Q<sub>s </sub>Using the formula x<sup>2 </sup>-h (M) 0 (mod N<sub>s </sub>One of the solutions of) h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>The gist is to have an authenticator encryption means that requires).
【0042】
Further, the invention according to claim 37 is the authentication statement data having a value of M and a value of p in the Eisenstein form.<sub>e </sub>The first private key data that is, the value is q<sub>e </sub>The second private key data that is, and the value is n<sub>e </sub>The first public key data and value is m<sub>e </sub>From the second public key data that is, the value corresponding to the authentication statement data is M<sub>e </sub>This is a method of generating an authentication statement in public key cryptography that generates encrypted authentication statement data, which is a means of hashing an authentication statement by hashing the authentication statement with a hash function h and using the result as a hashing authenticator h (M). And the output authenticator dividing means that cuts out two blocks corresponding to the original two dimensional components of the quadratic body within the range of the remainder class from the beginning of the authenticator h (M), and the private key P.<sub>e </sub>, Q<sub>e </sub>Using the formula x<sup>3 </sup>-h (M) 0 (mod N)<sub>e </sub>One of the solutions of) h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>The gist is to have an authenticator encryption means that requires).
【0043】
Further, the invention according to claim 38 is the first Gaussian body, in which the value is M, the authentication statement data, and the value is p.<sub>g </sub>The first private key data that is, the value is q<sub>g </sub>The second private key data that is, and the value is n<sub>g </sub>The first public key data and value is m<sub>g </sub>From the second public key data that is, the value corresponding to the authentication statement data is M<sub>g </sub>This is an authentication statement generator in public key cryptography that generates encrypted authentication statement data, and is an authentication statement hashing means that hashes the authentication statement with the hash function h and uses the result as the hashing authenticator h (M). And the authenticator dividing means that cuts out two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder from the beginning of the authenticator h (M), and the private key P.<sub>g </sub>, Q<sub>g </sub>Equation x using<sup>4 </sup>-h (M) 0 (mod N)<sub>g </sub>One of the solutions of) h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>The gist is to have an authenticator encryption means that requires).
【0044】
Further, the invention according to claim 39 is the second Gaussian body, in which the value is M, the authentication statement data, and the value is P.<sub>G </sub>The first private key data that is, the value is Q<sub>G </sub>The second private key data that is, and the value is N<sub>G </sub>The first public key data and value is -4<sub>G </sub>The value corresponding to the certificate data is M from the second public key data and the data obtained by multiplying any prime number data or any prime number to a natural number power.<sub>G </sub>This is an authentication statement generator in public key cryptography that generates encrypted authentication statement data, and is an authentication statement hashing means that hashes the authentication statement with the hash function h and uses the result as the hashing authenticator h (M). And the authenticator dividing means that cuts out two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder from the beginning of the authenticator h (M), and the private key P.<sub>G </sub>, Q<sub>G </sub>Equation x using<sup>2 </sup>-h (M) 0 (mod N<sub>G </sub>One of the solutions of) h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>) The gist is to have the required authenticator encryption means.
【0045】
Further, the invention according to claim 40 is a cyclotomic field in which the value is T and the value is T.<sub>c </sub>Encrypted certificate data generated from the certificate data, the value is r<sub>c </sub>The number of blocks of authentication statement data that is, the value is n<sub>c </sub>The first public key data and value is m<sub>c </sub>Public key cryptography that determines whether the process of encrypting the certificate data and decrypting it again from the second public key data is the data obtained by multiplying the arbitrary prime number data or the data obtained by multiplying the arbitrary prime number by the natural number. This is the certificate verification device in the above, and r obtained by cutting out the certificate data.<sub>c </sub>Method n for an extension field element whose components are the data of each block of blocks<sub>c </sub>Under m<sub>c </sub>Hashing using the authentication statement data and the hash function, the arithmetic means for performing the multiplication operation, the concatenation means for sequentially concatenating the original dimension components of the enlarged body that is the result of the operation, and obtaining the hashed cryptographic text data. If the hashing means to be used is compared with the data obtained by the concatenation means and the data obtained by the hashing means and they match, it is determined that the series of authentication statement creation or verification process was normal, and there is a mismatch. In some cases, the gist is to have a determination means for determining that there is an abnormality in any of a series of certificate creation or verification processes.
【0046】
Further, the invention according to claim 41 is a quadratic field in which the value is M and the value is M.<sub>s </sub>Encrypted certificate data generated from the certificate data that is, the number of blocks of the certificate data that has a value of 2, and the value is N.<sub>s </sub>The first public key data and value is m<sub>s </sub>It is a certificate verification device in public key cryptography that determines whether the process of encrypting and decrypting the certificate data from the second public key data is normal, and two block ciphers. For the authenticator, the expression (h (C))<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>2 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>s </sub>An authenticator decryption means that performs decryption processing by the square operation of, and an authenticator integration means that repeatedly decrypts and integrates the two decrypted authenticator blocks as long as there is an authenticator. And the authentication statement hashing means that hashes the authentication statement with the hash function h, and the hashed authentication statement obtained by the authenticator integrated by the authenticator integration means and the authentication statement hashing means match. For example, the gist is to have an authentication confirmation means that outputs the authentication success and outputs the authentication failure if they do not match.
【0047】
Further, the invention according to claim 42 is an authentication statement data having a value of M and a value of M in the Eisenstein form.<sub>e </sub>Encrypted certificate data generated from the certificate data that is, the number of blocks of the certificate data that has a value of 2, and the value is N.<sub>e </sub>The first public key data and value is 3<sub>e </sub>It is a certificate verification device in public key cryptography that determines whether the process of encrypting and decrypting the certificate data from the second public key data is normal, and two block ciphers. For the authenticator, the expression (h (C))<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>3 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>e </sub>An authenticator decryption means that performs decryption processing by the cube calculation of, and an authenticator integration means that repeatedly decrypts and integrates the two decrypted authenticator blocks as long as there is an encryption authenticator. If the authentication statement hashing means that hashes the authentication statement with the hash function h and the hashed authentication statement obtained by the authenticator integrated by the authenticator integration means and the authentication statement hashing means match. The gist is to have an authentication confirmation means that outputs authentication success and outputs authentication failure if they do not match.
【0048】
Further, the invention according to claim 43 is the authentication statement data having a value of M and a value of M in the first Gaussian body.<sub>g </sub>Encrypted certificate data generated from the certificate data that is, the number of blocks of the certificate data that has a value of 2, and the value is N.<sub>g </sub>The first public key data and value is 4<sub>g </sub>It is a certificate verification device in public key cryptography that determines whether the process of encrypting and decrypting the certificate data from the second public key data is normal, and two block ciphers. For the authenticator, the expression (h (C))<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>4</sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>g </sub>An authenticator decryption means that performs decryption processing by the square operation of, and an authenticator integration means that repeatedly decrypts and integrates the two decrypted authenticator blocks as long as there is an authenticator. And the authentication statement hashing means that hashes the authentication statement with the hash function h, and the hashed authentication statement obtained by the authenticator integrated by the authenticator integration means and the authentication statement hashing means match. For example, the gist is to have an authentication confirmation means that outputs the authentication success and outputs the authentication failure if they do not match.
【0049】
Further, the invention according to claim 44 is the authentication statement data having a value of M and a value of M in the second Gaussian body.<sub>G </sub>Encrypted certificate data generated from the certificate data that is, the number of blocks of the certificate data that has a value of 2, and the value is N.<sub>G </sub>The first public key data and value is -4<sub>G </sub>It is a certificate verification device in public key cryptography that determines whether the process of encrypting and decrypting the certificate data from the second public key data is normal, and two block ciphers. For the authenticator, the expression (h (C))<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>2 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>G </sub>An authenticator decryption means that performs decryption processing by the square operation of, and an authenticator integration means that repeatedly decrypts and integrates the two decrypted authenticator blocks as long as there is an authenticator. And the authentication statement hashing means that hashes the authentication statement with the hash function h, and the hashed authentication statement obtained by the authenticator integrated by the authenticator integration means and the authentication statement hashing means match. For example, the gist is to have an authentication confirmation means that outputs the authentication success and outputs the authentication failure if they do not match.
【0050】
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
【0051】
First, the principle of the encryption / decryption and authentication method of the present invention and the details of the encryption / decryption and authentication device will be described. FIG. 1 shows an overall configuration diagram of the system including the encryption / decryption processing unit and the key generation processing unit, and FIG. 2 shows an overall configuration diagram of the authentication system.
【0052】
Here, the principle of public key cryptography of the present invention will be described.
【0053】
Let N be the product of two prime ideals P and Q in the ring of integers O of any algebraic number field. At this time, the power α of any element α of O as a modulo<sup>k </sup>Finding α from (k is a natural number of 2 or more) is equivalent to being able to prime N decompose. Also, if prime ideal decomposition of N is possible, α can be obtained by finding the greatest common divisor of a polynomial on a finite field.
【0054】
Here, the ideal N of the ring of integers O is n N, r 0 nr N It satisfies. However, n represents an arbitrary element.
【0055】
Therefore, by setting N as the public key and P and Q as the private key, the plaintext α can be further changed to α.<sup>k </sup>The ciphertext can be obtained by encrypting with mod N. Then, this ciphertext is decrypted by finding the solution of the polynomial on the finite field, and the plaintext α can be obtained.
【0056】
Next, an outline of the functions of the communication system including the encryption / decryption processing unit and the key generation processing unit will be described with reference to FIG.
【0057】
The communication system of the present embodiment is composed of a key generation processing unit 1, a transmitting device 2, and a receiving device 3, and the transmitting device 2 includes a data input unit 21, a plaintext division processing unit 23, and an encryption processing unit, and receives. The device 3 includes a decoding processing unit 31 and a plaintext integration processing unit 33. Hereinafter, the key generation process, encryption process, and decryption process are performed in a cyclotomic field, a quadratic field, an Eisenstein field (when m = 3 in a cyclotomic field), and a Gauss field (first Gauss field (cyclotomic field). (In the case of m = 4) and the second Gaussian field (in the case of D = -4 in the quadratic field) will be described respectively.
【0058】
Stage 1 [Processing in key generation processing unit 1] Generate two prime ideals P and Q (private key) and determine the coset (public key) of the product N = PQ.
【0059】
Stage 1-1 [Cyclotomic field] In the case of cyclotomic field, enter the order m of the primitive root as input. [Number 6]
<img file="JPH1039751A_D0001.tif" />Outputs prime ideals P and Q that satisfy the conditions and uses them as secret keys.
【0060】
Stage 1-2 [quadratic field] In the case of a quadratic field, the discriminant D is used as an input. [Number 7]
<img file="JPH1039751A_D0002.tif" />Outputs prime ideals P and Q that satisfy the conditions and uses them as secret keys.
【0061】
Stage 1-3 [Eisenstein body] Quadratic reciprocity symbol [Number 8]
<img file="JPH1039751A_D0003.tif" />If is 1, p is inertial and becomes the private key (p), and if -1, p is decomposed and p = a<sup>2 </sup>-ab + b<sup>2 </sup>Satisfying (a, b) becomes a prime ideal and is used as a secret key.
【0062】
Stage 1-4 [Gaussian body] Quadratic reciprocity symbol [Number 9]
<img file="JPH1039751A_D0004.tif" />If is 1, p is inertial and becomes the private key (p), and if -1, p is decomposed and p = a<sup>2 </sup>+ b<sup>2 </sup>Satisfying (a, b) becomes a prime ideal and is used as a secret key.
【0063】
Stage 2 [Processing in plaintext division processing unit 23] For the plaintext M input via the data input unit 21, the divided plaintext (M) within the range of cosets.<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>) Is generated. Let r be the dimension of the ring of integers O on Z.
【0064】
Stage 3 [Processing in encryption processing unit 25] Perform one of the following processes according to the cyclotomic field, quadratic field, Eisenstein field, first Gauss field, and second Gauss field.
【0065】
Stage 3-1 [Cyclotomic field] For the order m of the primitive root of the cyclotomic field, the equation (C)<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>) (M<sub>0</sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>)<sup>m </sup>Encrypt with mod N and send to the recipient.
【0066】
Stage 3-2 [quadratic field] Expression (C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) mod N Encrypted by (C<sub>0 </sub>, C<sub>1 </sub>) And (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. Here, (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers.
【0067】
Stage 3-3 [Eisenstein body] [Number 10]
Expression (C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>) mod N Encrypt by. Also, the cubic modulo symbol [Number 11]
<img file="JPH1039751A_D0005.tif" />And (C<sub>0 </sub>, C<sub>1 </sub>), C and (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. Here, (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers.
【0068】
Stage 3-4 [First Gaussian field (when m = 4 in cyclotomic field)] [Number 12]
Expression (C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>, M<sub>1 </sub>-B<sub>0 </sub>+ B<sub>1 </sub>) mod N Encrypt by. Also, the fourth power modulo symbol [Number 13]
<img file="JPH1039751A_D0006.tif" />And (C<sub>0 </sub>, C<sub>1 </sub>), C and (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. Here, (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers.
【0069】
Stage 3-5 [Second Gaussian field (when D = -4 in the quadratic field)] [Number 14]
formula (C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) mod N Encrypt by. Also, the quadratic reciprocity symbol [Number 15]
<img file="JPH1039751A_D0007.tif" />Calculate the magnitude relation information δ of each component of, and (C<sub>0 </sub>, C<sub>1 </sub>), C, δ and (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. Here, (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers.
【0070】
Stage 4 [Processing in Decryption Processing Unit 31] Perform one of the following processes according to the cyclotomic field, quadratic field, Eisenstein field, first Gauss field, and second Gauss field.
【0071】
Stage 4-1 [Cyclotomic field] Equation x<sup>m </sup>-E 0 is solved by mod P and mod Q, and the division plaintext (M) is used from the solution using the Chinese Remainder Theorem.<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>).
【0072】
Stage 4-2 [quadratic field] Equation x<sup>2 </sup>Solve + 2Bx-E0 with mod P and mod Q, and use the Chinese Remainder Theorem from the solution to divide the plaintext (M).<sub>0 </sub>, M<sub>1 </sub>).
【0073】
Stage 4-3 [Eisenstein body] Equation x<sup>3 </sup>+ 3Bx<sup>2 </sup>+ 3B<sup>2 </sup>Solve xE 0 with mod P and mod Q. Also, calculate the cube remainder symbol, narrow down the solution from the sent c, and use the Chinese Remainder Theorem to divide the plaintext (M).<sub>0 </sub>, M<sub>1 </sub>).
【0074】
Stage 4-4 [1st Gaussian body] Equation x<sup>4 </sup>+ 4Bx<sup>3 </sup>+ 6B<sup>2 </sup>x<sup>2 </sup>+ 4B<sup>3 </sup>Solve xE 0 with mod P and mod Q. Also, the 4th power remainder symbol is calculated, the solution is narrowed down from the sent c, and the division plaintext (M) is used using the Chinese Remainder Theorem.<sub>0 </sub>, M<sub>1 </sub>).
【0075】
Stage 4-5 [Second Gaussian body] Equation x<sup>2 </sup>Solve + 2Bx-E 0 with mod P and mod Q. Also, calculate the quadratic reciprocity symbol, narrow down the solution from the sent c, and use the Chinese Remainder Theorem to divide the plaintext (M).<sub>0 </sub>, M<sub>1 </sub>). Furthermore, the plaintext M is uniquely determined by δ.
【0076】
Stage 5 [Processing in plaintext integrated processing unit 33] Decrypted split plaintext (M)<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>) Is integrated and restored to the original plain text M.
【0077】
Next, the method of generating the encryption key and the decryption key in the key generation processing unit 1 described above will be described. The functional diagrams of the devices that generate prime ideals (private keys) are shown in Fig. 4 for the cyclotomic field, Fig. 5 for the quadratic field, Fig. 6 for the Eisenstein field, and Fig. 7 for the Gaussian field.
【0078】
[Cyclotomic field] Primitive m root ζ of 1 in rational number field Q<sub>m </sub>Body Q (ζ)<sub>m </sub>) Is called the m-th order cyclotomic field. The ring of integers is written as O. When m = 3,5,7,11,13 etc., it was an Euclidean ring. Also, the ring of integers O of this cyclotomic field is Zφ<sup>(m) </sup>Can be embedded in, and is the source of O thereafter [Number 16]
<img file="JPH1039751A_D0008.tif" />Zφ<sup>(m) </sup>Source (a<sub>0 </sub>, a<sub>1 </sub>, a<sub>2 </sub>, ..., aφ<sub>(m) -1 </sub>). However, a<sub>0 </sub>, a<sub>1 </sub>, a<sub>2 </sub>, ..., aφ<sub>(m) -1 </sub> Z, and φ (m) is a natural number greater than or equal to 0 (m-1) and relatively prime to m. Therefore, the ring of integers O in the cyclotomic field is φ (m) dimension on Z.
【0079】
From this, in the ring of integers O in the cyclotomic field, the rational prime number p is [Number 17]
<img file="JPH1039751A_D0009.tif" />When is O, it is also a prime number.
【0080】
In other words, if a prime number p that satisfies the above conditions is selected, the prime number will not be decomposed even in the ring of integers in the cyclotomic field, and will be the generator p of the prime ideal (p). This is called an inertial prime number and is used as the private key of the cryptographic device.
【0081】
As a specific example, in the case of m = 3,5,7,11,13, as a prime number p, [Number 18]
m = 3 p 2 mod 3 m = 5 p 2,3 mod 5 m = 7 p 3,5 mod 7 m = 11 p 2,6,7,8 mod 11 m = 13 p 2,6,7,9,11 mod 13 Just choose. The cyclotomic field is determined to be given the natural number m corresponding to the primitive m root of 1.
【0082】
[Quadratic field] The field Q (m) obtained by adding the square root of a rational integer m that does not have a square factor is called a quadratic field. All elements α of the ring of integers O of the quadratic field are [Number 19]
<img file="JPH1039751A_D0010.tif" />When, using arbitrary integers a and b, α = a + bω Can be written.
【0083】
Therefore, the elements of the ring of integers of the quadratic field and the two-dimensional plane Z<sup>2 </sup>To equate. Therefore, the ring of integers O in the quadratic field is two-dimensional on Z.
【0084】
Also, the discriminant D of the quadratic field D = m 1 (mod 4) D = 4m 2,3 (mod 4) Is defined as. At this time, for a prime number p that is not even and is not divisible by the discriminant, [Number 20]
<img file="JPH1039751A_D0011.tif" />The prime number p that satisfies the condition is the generator of the prime ideal (p) without being decomposed even on the ring of integers O of the quadratic field. here, [Number 21]
<img file="JPH1039751A_D0012.tif" />Is a quadratic reciprocity symbol and can be calculated using the Euclidean algorithm. Here, it is said that when the quadratic reciprocity symbol is 1, it decomposes, and when it is -1, it coasts. In the present invention, a prime number having the above properties is used as a secret key. Note that the quadratic field determines that the discriminant D is given.
【0085】
For both cyclotomic field and quadratic field, the prime ideal (p) generated by the above method is equated with the generator below, and is sometimes described as p.
【0086】
[Eisenstein field] The body with m = 3 in the cyclotomic field and D = -3 in the quadratic field is the Eisenstein field. From the above consideration, if we take a rational prime number such that p2 (mod 3), it is also a prime number in the Eisenstein field. Also, the rational prime number such that p1 (mod 3) is the prime number to be decomposed.
【0087】
For prime numbers to decompose p = a<sup>2 </sup>-ab + b<sup>2</sup>A set of rational prime numbers (a, b) that satisfies a1 (mod 3), b0 (mod 3) When calculated by, P = (a + ρb) is a prime number in the Eisenstein field and can be used as a secret key. Note that the set of secret keys must be selected as a set of inertial prime numbers or a set of decomposing prime numbers.
【0088】
[Gaussian field] The body with m = 4 in the cyclotomic field and D = -4 in the quadratic field is the Gaussian field. From the above consideration, if we take a rational prime number such that p2 (mod 4), it is also a prime number in Gaussian form. A rational prime number such that p1 (mod 4) is called a decomposing prime number. For prime numbers to decompose p = a<sup>2 </sup>+ b<sup>2</sup>A set of rational prime numbers (a, b) that satisfies a1 (mod 4), b0 (mod 4) a3 (mod 4), b2 (mod 4) P = (a + ib) is a Gaussian prime number and can be used as a secret key.
【0089】
Note that the set of secret keys must be selected as a set of inertial prime numbers or a set of decomposing prime numbers.
【0090】
Next, the plaintext division and cutout processing in the plaintext division processing unit 23 described above will be described. FIG. 8 shows a flowchart of the function in the plaintext division processing unit 23. The plaintext M to be encrypted is cut out into divided plaintext by the plaintext division processing unit 23 and transferred to the encryption processing unit 25. The number of divided plaintexts subject to one encryption process is φ (m) in the case of the m-th order cyclotomic field, and two in the case of the quadratic field, Eisenstein field, and Gauss field.
【0091】
Next, the encryption processing in the encryption processing unit 25 described above will be described.
【0092】
Split plaintext (M) input from the plaintext split processing unit<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>), The following exponentiation operation modulo ideal N is performed.
【0093】
[Number 22]
(C<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>)<sup>k </sup> mod N Then (C<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>) Is a split ciphertext and is sent to the recipient. However, r is the dimension on Z of the ring of integers O, and k is the exponent to be encrypted, which depends on the field. In the following, the power arithmetic processing, which is based on the ideal N, the determination of cosets, and the ideal N, will be described in detail. First, the determination of cosets by the ideal will be described.
【0094】
In the present invention, in order to perform encryption / decryption, how to take cosets using ideal N as a method is determined as follows.
【0095】
[Cyclotomic field] Zφ as a transversal system of cosets by ideal N that is not 0 in the Euclidean m-th order cyclotomic field<sup>(m) </sup>Vector from origin N, ζ N, ζ<sup>2 </sup>N, ..., ζφ<sup>(m) -1 </sup>N The grid points on the boundary and the inside of the super-parallel quadrilateral stretched by can be taken. However, the grid points on the boundary exclude points on the hyperplane that do not face the origin.
【0096】
Also, in any cyclotomic field, Z as a transversal system of cosets by the ideal (n) generated by the product of inertial prime numbers.<sup>φ (m) </sup>In, with the origin n, ζ n, ζ<sup>2 </sup>n, ..., ζ<sup>φ (m) -1 </sup>n The lattice points on the boundary and the inside of the hypercube with the apex can be taken. However, points on the surface that do not have each axis as one side are excluded.
【0097】
Here, the calculation of cosets by the ideal (n) generated by the product of coasting prime numbers is to calculate (mod n) in the sense of a rational integer for each component.
【0098】
[Quadratic field] Z as a transversal system of cosets by ideal N that is not 0 in Euclidean quadratic field<sup>2 </sup>Vector from origin N, ωN The inside of the parallelogram stretched by and the grid points on the boundary can be taken. However, the grid points on the boundary include only the points on the hyperplane facing the origin.
【0099】
Also, in any quadratic field, the two-dimensional plane Z as a transversal system of cosets by the ideal (n) generated by the product of inertial prime numbers.<sup>2 </sup>Lattice inside and on the boundary of a square whose vertices are the origin (0,0) and (n, 0), (n, n), (0, n) at (each axis is called dimension 1 and dimension 2 respectively) You can take points (points where each coordinate takes an integer value). However, points on the surface that do not have each axis as one side are excluded. This is shown in Fig. 3.
【0100】
Here, the calculation of cosets by the ideal (n) generated by the product of coasting prime numbers is to calculate (mod n) in the sense of a rational integer for each component.
【0101】
[Eisenstein field] The method of taking cosets is the same as that of the quadratic field. The ideal calculation method for cosets is the same as for the quadratic field in terms of the product of inertial prime numbers. The calculation method of cosets by the product of the prime numbers to be decomposed is described. Let N = (a, b) be the public key based on the product of the prime numbers to be decomposed. Given an arbitrary element (x, y) of the ring of integers of the Eisenstein field, the representative system of cosets (x', y') by the ideal (a, b) is [Number 23]
<img file="JPH1039751A_D0013.tif" />Calculated by. However, n is the norm of ideal N, and [] is the Gauss symbol.
【0102】
[Gaussian field] The method of taking cosets is the same as that of the quadratic field. The ideal calculation method for cosets is the same as for the quadratic field in terms of the product of inertial prime numbers. The calculation method of cosets by the product of the prime numbers to be decomposed is described. Let N = (a, b) be the public key based on the product of the prime numbers to be decomposed. Given an arbitrary element (x, y) of the Gaussian ring of integers, the representative system of cosets (x', y') by the ideal (a, b) is [Number 24]
<img file="JPH1039751A_D0014.tif" />Calculated by. However, n is the norm of ideal N, and [] is the Gauss symbol.
【0103】
Next, a power operation that should be based on ideal N will be described.
【0104】
In the public key cryptosystem of the present invention, a unique exponentiation operation is performed according to the underlying body. For exponentiation, known methods such as binary calculation can be used. The methods of multiplication and square operation, which are the basic operations for that purpose, are described below.
【0105】
[Cyclotomic field] Describe the algorithm when the extension field is low and prime in the cyclotomic field. For multiplication, 2 elements x = (x<sub>0 </sub>, x<sub>1 </sub>, ..., x<sub>φ (m) -1 </sub>) And y = (y<sub>0 </sub>, y<sub>1 </sub>, ..., x<sub>φ (m) -1 </sub>) Product x (×) y = (x (×) y<sub>0 </sub>, x (×) y<sub>1 </sub>, ..., x (×) y<sub>φ (m) -1 </sub>) And x = (x<sub>0 </sub>, x<sub>1 </sub>, ..., x<sub>φ (m) -1 </sub>) Square operation x (×) x = (x (×) x<sub>0 </sub>, x (×) x<sub>1 </sub>, ..., x (×) x<sub>φ (m) -1 </sub>) Is described.
【0106】
Here, the method of taking the remainder of the ideal N = (n) is to calculate the equations of all the components by (mod n). This makes it possible to construct a power arithmetic unit whose method is N. In particular, Fig. 9 shows the multiplication and square arithmetic units for performing exponentiation operations when m = 3.
【0107】
Multiplication and square operation when m = 3 x (×) y<sub>0 </sub>= x<sub>0 </sub>y<sub>0 </sub>-x<sub>1 </sub>y<sub>1</sub>x (×) y<sub>1 </sub>= x<sub>1 </sub>y<sub>0 </sub>+ (x<sub>0 </sub>-x<sub>1 </sub>) y<sub>1</sub>x (×) x<sub>0 </sub>= (x<sub>0 </sub>+ x<sub>1 </sub>) (X<sub>0 </sub>-x<sub>1 </sub>) x (×) x<sub>1 </sub>= 2x<sub>0 </sub>x<sub>1</sub>Multiplication and square operation when m = 5 [Number 25]
x (×) y<sub>0 </sub>= x<sub>3 </sub>(y<sub>2 </sub>-y<sub>1 </sub>) + x<sub>2 </sub>(y<sub>3 </sub>-y<sub>2 </sub>) + x<sub>0 </sub>y<sub>0 </sub>-x<sub>1 </sub>y<sub>3</sub>x (×) y<sub>1 </sub>= x<sub>1 </sub>(y<sub>0 </sub>-y<sub>3 </sub>) + (X<sub>0 </sub>+ x<sub>3 </sub>) y<sub>1 </sub>-x<sub>2 </sub>y<sub>2 </sub>-x<sub>3 </sub>y<sub>3</sub>x (×) y<sub>0 </sub>= x<sub>2 </sub>(y<sub>0 </sub>-y<sub>2 </sub>) + x<sub>1 </sub>(y<sub>1 </sub>-y<sub>3 </sub>) + x<sub>0 </sub>y<sub>2 </sub>-x<sub>3 </sub>y<sub>1</sub>x (×) y<sub>0 </sub>= x<sub>3 </sub>(y<sub>0 </sub>-y<sub>1 </sub>) + x<sub>2 </sub>(y<sub>1 </sub>-y<sub>2 </sub>) + x<sub>2 </sub>y<sub>1 </sub>-x<sub>1 </sub>y<sub>3</sub>x (×) x<sub>0 </sub>= (x<sub>0 </sub>+ x<sub>2 </sub>) (X<sub>0 </sub>-x<sub>2 </sub>) + 2x<sub>3 </sub>(x<sub>2 </sub>-x<sub>1 </sub>) x (×) x<sub>1 </sub>= 2x<sub>1 </sub>(x<sub>0 </sub>-x<sub>3 </sub>) + (X<sub>3 </sub>+ x<sub>2 </sub>) (X<sub>3 </sub>-x<sub>2 </sub>) x (×) x<sub>2 </sub>= x<sub>1 </sub>(x<sub>1 </sub>-2x<sub>3 </sub>) + x<sub>2 </sub>(2x<sub>0 </sub>-x<sub>2 </sub>) x (×) x<sub>3 </sub>= x<sub>2 </sub>(2x<sub>1 </sub>-x<sub>2 </sub>) + 2x<sub>3 </sub>(x<sub>0 </sub>-x<sub>1 </sub>) Multiplication and square operation when m = 7 [Number 26]
x (×) y<sub>0 </sub>= x<sub>0 </sub>y<sub>0 </sub>-x<sub>5 </sub>y<sub>1</sub>+ (-x<sub>4 </sub>+ x<sub>5 </sub>) y<sub>2 </sub>+ (-x<sub>3 </sub>+ x<sub>4 </sub>) y<sub>3</sub>+ (-x<sub>2 </sub>+ x<sub>3 </sub>) y<sub>4 </sub>+ (-x<sub>1 </sub>+ x<sub>2 </sub>) y<sub>5</sub>x (×) y<sub>1 </sub>= x<sub>1 </sub>y<sub>0 </sub>-x<sub>4 </sub>y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>5 </sub>) y<sub>1 </sub>+ (-x<sub>3 </sub>+ x<sub>5 </sub>) y<sub>3</sub>+ (-x<sub>2 </sub>+ x<sub>4 </sub>) y<sub>4 </sub>+ (-x<sub>1 </sub>+ x<sub>3 </sub>) y<sub>5</sub>x (×) y<sub>2 </sub>= x<sub>2 </sub>y<sub>0 </sub>-x<sub>3 </sub>y<sub>3</sub>+ (x<sub>1 </sub>-x<sub>5 </sub>) y<sub>1 </sub>+ (x<sub>0 </sub>-x<sub>4 </sub>) y<sub>2</sub>+ (-x<sub>2 </sub>+ x<sub>5 </sub>) y<sub>4 </sub>+ (-x<sub>1 </sub>+ 2x<sub>4 </sub>) y<sub>5</sub>x (×) y<sub>3 </sub>= x<sub>3 </sub>y<sub>0 </sub>-3x<sub>2 </sub>y<sub>4</sub>+ (x<sub>2 </sub>-x<sub>5 </sub>) y<sub>1 </sub>+ (x<sub>1 </sub>-x<sub>4 </sub>) y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>3 </sub>) y<sub>3 </sub>+ (-x<sub>1 </sub>+ x<sub>5 </sub>) y<sub>5</sub>x (×) y<sub>4 </sub>= x<sub>4 </sub>y<sub>0 </sub>-4x<sub>1 </sub>y<sub>5</sub>+ (x<sub>3 </sub>-x<sub>5 </sub>) y<sub>1 </sub>+ (x<sub>2 </sub>-x<sub>4 </sub>) y<sub>2</sub>+ (x<sub>1 </sub>-x<sub>3 </sub>) y<sub>3 </sub>+ (x<sub>0 </sub>-x<sub>2 </sub>) y<sub>4</sub>x (×) y<sub>5 </sub>= x<sub>5 </sub>y<sub>0 </sub>+ (x<sub>4 </sub>-x<sub>5 </sub>) y<sub>1</sub>+ (x<sub>3 </sub>-x<sub>4 </sub>) y<sub>2 </sub>+ (x<sub>2 </sub>-x<sub>3 </sub>) y<sub>3</sub>+ (5x<sub>1 </sub>-x<sub>2 </sub>) y<sub>4 </sub>+ (x<sub>0 </sub>-x<sub>1 </sub>) y<sub>5</sub>x (×) x<sub>0 </sub>= (x<sub>0 </sub>+ x<sub>3 </sub>) (X<sub>1 </sub>-x<sub>3 </sub>) + 2x<sub>4 </sub>(x<sub>3 </sub>+ x<sub>2 </sub>) + 2x<sub>5 </sub>(x<sub>2 </sub>-x<sub>1 </sub>) x (×) x<sub>1 </sub>= 2x<sub>1 </sub>(x<sub>0 </sub>-x<sub>5 </sub>) + x<sub>3 </sub>(2x<sub>5 </sub>-x<sub>3 </sub>) + x<sub>4 </sub>(x<sub>4 </sub>-2x<sub>2 </sub>) x (×) x<sub>2 </sub>= (x<sub>1 </sub>+ x<sub>3 </sub>) (X<sub>1 </sub>-x<sub>3 </sub>) + 2x<sub>5 </sub>(x<sub>4 </sub>-x<sub>1 </sub>) + x<sub>2 </sub>(x<sub>0 </sub>-x<sub>4 </sub>) x (×) x<sub>3 </sub>= x<sub>5 </sub>(x<sub>5 </sub>-2x<sub>1 </sub>) + x<sub>3 </sub>(2x<sub>0 </sub>-x<sub>3 </sub>) + 2x<sub>2 </sub>(x<sub>1 </sub>-x<sub>4 </sub>) x (×) x<sub>4 </sub>= x<sub>2 </sub>(x<sub>2 </sub>-2x<sub>4 </sub>) + x<sub>3 </sub>(2x<sub>1 </sub>-x<sub>3 </sub>) + 2x<sub>1 </sub>(x<sub>0 </sub>-x<sub>5 </sub>) x (×) x<sub>5 </sub>= x<sub>3 </sub>(2x<sub>2 </sub>-x<sub>3 </sub>) + 2x<sub>0 </sub>(x<sub>1 </sub>-x<sub>2 </sub>) + 2x<sub>5 </sub>(x<sub>0 </sub>-x<sub>1 </sub>) Multiplication and square operation when m = 11 [Number 27]
x (×) y<sub>0 </sub>= x<sub>0 </sub>y<sub>0 </sub>-x<sub>9 </sub>y<sub>1</sub>+ (-x<sub>8 </sub>+ x<sub>9 </sub>) y<sub>2 </sub>+ (-x<sub>7 </sub>+ x<sub>8 </sub>) y<sub>3</sub>+ (-x<sub>6 </sub>+ x<sub>7 </sub>) y<sub>4 </sub>+ (-x<sub>5 </sub>+ x<sub>6 </sub>) y<sub>5</sub>+ (-x<sub>4 </sub>+ x<sub>5 </sub>) y<sub>6 </sub>+ (-x<sub>3 </sub>+ x<sub>4 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>3 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>2 </sub>) y<sub>9</sub>x (×) y<sub>1 </sub>= x<sub>1 </sub>y<sub>0 </sub>-x<sub>8 </sub>y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (-x<sub>7 </sub>+ x<sub>9 </sub>) y<sub>3</sub>+ (-x<sub>6 </sub>+ x<sub>8 </sub>) y<sub>4 </sub>+ (-x<sub>5 </sub>+ x<sub>7 </sub>) y<sub>5</sub>+ (-x<sub>4 </sub>+ x<sub>6 </sub>) y<sub>6 </sub>+ (-x<sub>3 </sub>+ x<sub>5 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>4 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>3 </sub>) y<sub>9</sub>x (×) y<sub>2 </sub>= x<sub>2 </sub>y<sub>0 </sub>-x<sub>7 </sub>y<sub>3</sub>+ (x<sub>1 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>0 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (-x<sub>6 </sub>+ x<sub>9 </sub>) y<sub>4 </sub>+ (-x<sub>5 </sub>+ x<sub>8 </sub>) y<sub>5</sub>+ (-x<sub>4 </sub>+ x<sub>7 </sub>) y<sub>6 </sub>+ (-x<sub>3 </sub>+ x<sub>6 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>5 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>4 </sub>) y<sub>9</sub>x (×) y<sub>3 </sub>= x<sub>3 </sub>y<sub>0 </sub>-x<sub>6 </sub>y<sub>4</sub>+ (x<sub>2 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>1 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (-x<sub>5 </sub>+ x<sub>9 </sub>) y<sub>5</sub>+ (-x<sub>4 </sub>+ x<sub>8 </sub>) y<sub>6 </sub>+ (-x<sub>3 </sub>+ x<sub>7 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>6 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>5 </sub>) y<sub>9</sub>x (×) y<sub>4 </sub>= x<sub>4 </sub>y<sub>0 </sub>-x<sub>5 </sub>y<sub>5</sub>+ (x<sub>3 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>2 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (-x<sub>1 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (x<sub>0 </sub>-x<sub>6 </sub>) y<sub>4</sub>+ (-x<sub>4 </sub>+ x<sub>9 </sub>) y<sub>6 </sub>+ (-x<sub>3 </sub>+ x<sub>8 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>7 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>6 </sub>) y<sub>9</sub>x (×) y<sub>5 </sub>= x<sub>5 </sub>y<sub>0 </sub>-x<sub>4 </sub>y<sub>6</sub>+ (x<sub>4 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>3 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (x<sub>2 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (x<sub>1 </sub>+ x<sub>6 </sub>) y<sub>4</sub>+ (x<sub>0 </sub>-x<sub>5 </sub>) y<sub>5 </sub>+ (-x<sub>3 </sub>+ x<sub>9 </sub>) y<sub>7</sub>+ (-x<sub>2 </sub>+ x<sub>8 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>7 </sub>) y<sub>9</sub>x (×) y<sub>6 </sub>= x<sub>6 </sub>y<sub>0 </sub>-x<sub>3 </sub>y<sub>7</sub>+ (x<sub>5 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>4 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (x<sub>3 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (x<sub>2 </sub>-x<sub>6 </sub>) y<sub>4</sub>+ (x<sub>1 </sub>-x<sub>5 </sub>) y<sub>5 </sub>+ (x<sub>0 </sub>-x<sub>4 </sub>) y<sub>6</sub>+ (-x<sub>2 </sub>+ x<sub>9 </sub>) y<sub>8 </sub>+ (-x<sub>1 </sub>+ x<sub>8 </sub>) y<sub>9</sub>x (×) y<sub>7 </sub>= x<sub>7 </sub>y<sub>0 </sub>-x<sub>2 </sub>y<sub>8</sub>+ (x<sub>6 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>5 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (x<sub>4 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (x<sub>3 </sub>-x<sub>6 </sub>) y<sub>4</sub>+ (x<sub>2 </sub>-x<sub>5 </sub>) y<sub>5 </sub>+ (x<sub>1 </sub>-x<sub>4 </sub>) y<sub>6</sub>+ (x<sub>0 </sub>-x<sub>3 </sub>) y<sub>7 </sub>+ (-x<sub>1 </sub>+ x<sub>9 </sub>) y<sub>9</sub>x (×) y<sub>8 </sub>= x<sub>8 </sub>y<sub>0 </sub>-x<sub>1 </sub>y<sub>9</sub>+ (x<sub>7 </sub>-x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>6 </sub>-x<sub>8 </sub>) y<sub>2</sub>+ (x<sub>5 </sub>-x<sub>7 </sub>) y<sub>3 </sub>+ (x<sub>4 </sub>-x<sub>6 </sub>) y<sub>4</sub>+ (x<sub>3 </sub>-x<sub>5 </sub>) y<sub>5 </sub>+ (x<sub>2 </sub>-x<sub>4 </sub>) y<sub>6</sub>+ (x<sub>1 </sub>-x<sub>3 </sub>) y<sub>7 </sub>+ (x<sub>0 </sub>-x<sub>2 </sub>) y<sub>8</sub>x (×) y<sub>9 </sub>= x<sub>9 </sub>y<sub>0 </sub>+ (x<sub>8 </sub>-x<sub>9 </sub>) y<sub>1</sub>+ (x<sub>7 </sub>-x<sub>8 </sub>) y<sub>2 </sub>+ (x<sub>6 </sub>-x<sub>7 </sub>) y<sub>3</sub>+ (x<sub>5 </sub>-x<sub>6 </sub>) y<sub>4 </sub>+ (x<sub>4 </sub>-x<sub>5 </sub>) y<sub>5</sub>+ (x<sub>3 </sub>-x<sub>4 </sub>) y<sub>6 </sub>+ (x<sub>2 </sub>-x<sub>3 </sub>) y<sub>7</sub>+ (x<sub>1 </sub>-x<sub>2 </sub>) y<sub>8 </sub>+ (x<sub>0 </sub>-x<sub>1 </sub>) y<sub>9</sub>x (×) x<sub>0 </sub>= (x<sub>0 </sub>+ x<sub>5 </sub>) (X<sub>0 </sub>-x<sub>5 </sub>) + 2x<sub>9 </sub>(x<sub>2 </sub>-x<sub>1 </sub>) + 2x<sub>8 </sub>(x<sub>3 </sub>-x<sub>2 </sub>) + 2x<sub>7 </sub>(x<sub>4 </sub>-x<sub>3 </sub>) + 2x<sub>7 </sub>(x<sub>5 </sub>-x<sub>4 </sub>) x (×) x<sub>1 </sub>= 2x<sub>1 </sub>(x<sub>0 </sub>-x<sub>9 </sub>) + 2x<sub>3 </sub>(x<sub>9 </sub>-x<sub>7 </sub>) + 2x<sub>8 </sub>(x<sub>4 </sub>-x<sub>2 </sub>) + x<sub>6 </sub>(x<sub>6 </sub>-2x<sub>4 </sub>) + x<sub>5 </sub>(2x<sub>7 </sub>-x<sub>5 </sub>) x (×) x<sub>2 </sub>= 2x<sub>2 </sub>(x<sub>0 </sub>-x<sub>8 </sub>) + 2x<sub>4 </sub>(x<sub>9 </sub>-x<sub>6 </sub>) + x<sub>1 </sub>(x<sub>1 </sub>-2x<sub>8 </sub>) + x<sub>5 </sub>(2x<sub>8 </sub>-x<sub>5 </sub>) + 2x<sub>7 </sub>(x<sub>6 </sub>-x<sub>3 </sub>) x (×) x<sub>3 </sub>= 2x<sub>3 </sub>(x<sub>0 </sub>-x<sub>7 </sub>) + 2x<sub>2 </sub>(x<sub>1 </sub>-x<sub>8 </sub>) + 2x<sub>9 </sub>(x<sub>5 </sub>-x<sub>1 </sub>) + 2x<sub>6 </sub>(x<sub>8 </sub>-x<sub>4 </sub>) + (X<sub>9 </sub>+ x<sub>5 </sub>) (X<sub>9 </sub>-x<sub>5 </sub>) x (×) x<sub>4 </sub>= 2x<sub>4 </sub>(x<sub>0 </sub>-x<sub>6 </sub>) + 2x<sub>3 </sub>(x<sub>1 </sub>-x<sub>7 </sub>) + 2x<sub>9 </sub>(x<sub>6 </sub>-x<sub>1 </sub>) + 2x<sub>8 </sub>(x<sub>7 </sub>-x<sub>2 </sub>) + (X<sub>2 </sub>+ x<sub>5 </sub>) (X<sub>2 </sub>-x<sub>5 </sub>) x (×) x<sub>5 </sub>= 2x<sub>5 </sub>(x<sub>0 </sub>-x<sub>5 </sub>) + 2x<sub>1 </sub>(x<sub>4 </sub>-x<sub>6 </sub>) + 2x<sub>2 </sub>(x<sub>3 </sub>-x<sub>8 </sub>) + 2x<sub>9 </sub>(x<sub>7 </sub>-x<sub>1 </sub>) + 2x<sub>8 </sub>(x<sub>5 </sub>-x<sub>2 </sub>) x (×) x<sub>6 </sub>= 2x<sub>6 </sub>(x<sub>0 </sub>-x<sub>4 </sub>) + 2x<sub>1 </sub>(x<sub>5 </sub>-x<sub>4 </sub>) + 2x<sub>2 </sub>(x<sub>4 </sub>-x<sub>8 </sub>) + x<sub>3 </sub>(x<sub>3 </sub>-2x<sub>7 </sub>) + x<sub>5 </sub>(2x<sub>1 </sub>-x<sub>5 </sub>) x (×) x<sub>7 </sub>= 2x<sub>7 </sub>(x<sub>0 </sub>-x<sub>3 </sub>) + 2x<sub>1 </sub>(x<sub>6 </sub>-x<sub>8 </sub>) + x<sub>5 </sub>(2x<sub>2 </sub>-x<sub>5 </sub>) + 2x<sub>3 </sub>(x<sub>3 </sub>-x<sub>7 </sub>) + 2x<sub>9 </sub>(x<sub>6 </sub>-x<sub>1 </sub>) x (×) x<sub>8 </sub>= 2x<sub>8 </sub>(x<sub>0 </sub>-x<sub>3 </sub>) + 2x<sub>1 </sub>(x<sub>7 </sub>-x<sub>9 </sub>) + 2x<sub>2 </sub>(x<sub>6 </sub>-x<sub>8 </sub>) + 2x<sub>3 </sub>(x<sub>5 </sub>-x<sub>3 </sub>) + 2x<sub>4 </sub>(x<sub>4 </sub>-x<sub>6 </sub>) x (×) x<sub>9 </sub>= 2x<sub>9 </sub>(x<sub>0 </sub>-x<sub>1 </sub>) + 2x<sub>8 </sub>(x<sub>1 </sub>-x<sub>2 </sub>) + 2x<sub>7 </sub>(x<sub>2 </sub>-x<sub>3 </sub>) + 2x<sub>6 </sub>(x<sub>3 </sub>-x<sub>4 </sub>) + 2x<sub>5 </sub>(x<sub>4 </sub>-x<sub>5 </sub>) Multiplication and square operation when m = 13 [Number 28]
x (×) y<sub>0 </sub>= x<sub>0 </sub>y<sub>0 </sub>-x<sub>11</sub>y<sub>1</sub>+ (-x<sub>2 </sub>+ x<sub>3 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>2 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>11</sub>) y<sub>2 </sub>+ (x<sub>10</sub>-x<sub>9 </sub>) y<sub>3</sub>+ (-x<sub>8 </sub>+ x<sub>9 </sub>) y<sub>4 </sub>+ (-x<sub>7 </sub>+ x<sub>8 </sub>) y<sub>5</sub>+ (-x<sub>6 </sub>+ x<sub>7 </sub>) y<sub>6 </sub>+ (-x<sub>5 </sub>+ x<sub>6 </sub>) y<sub>7</sub>+ (-x<sub>4 </sub>+ x<sub>5 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>4 </sub>) y<sub>9</sub>x (×) y<sub>1 </sub>= x<sub>1 </sub>y<sub>0 </sub>-x<sub>10</sub>y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>11</sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>4 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>3 </sub>) y<sub>11</sub>+ (x<sub>11</sub>-x<sub>9 </sub>) y<sub>3</sub>+ (x<sub>10</sub>-x<sub>8 </sub>) y<sub>4 </sub>+ (-x<sub>7 </sub>+ x<sub>9 </sub>) y<sub>5</sub>+ (-x<sub>6 </sub>+ x<sub>8 </sub>) y<sub>6 </sub>+ (-x<sub>5 </sub>+ x<sub>7 </sub>) y<sub>7</sub>+ (-x<sub>4 </sub>+ x<sub>6 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>5 </sub>) y<sub>9</sub>x (×) y<sub>2 </sub>= x<sub>2 </sub>y<sub>0 </sub>-x<sub>9 </sub>y<sub>3</sub>+ (x<sub>1 </sub>-x<sub>11</sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>5 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>4 </sub>) y<sub>11</sub>+ (x<sub>0 </sub>-x<sub>10</sub>) y<sub>2</sub>+ (x<sub>11</sub>-x<sub>8 </sub>) y<sub>4 </sub>+ (x<sub>10</sub>-x<sub>7 </sub>) y<sub>5</sub>+ (-x<sub>6 </sub>+ x<sub>9 </sub>) y<sub>6 </sub>+ (-x<sub>5 </sub>+ x<sub>8 </sub>) y<sub>7</sub>+ (-x<sub>4 </sub>+ x<sub>7 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>6 </sub>) y<sub>9</sub>x (×) y<sub>3 </sub>= x<sub>3 </sub>y<sub>0 </sub>-x<sub>8 </sub>y<sub>4</sub>+ (-x<sub>11</sub>+ x<sub>2 </sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>6 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>5 </sub>) y<sub>11</sub>+ (x<sub>1 </sub>-x<sub>10</sub>) y<sub>2</sub>+ (x<sub>0 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>11</sub>-x<sub>7 </sub>) y<sub>5</sub>+ (x<sub>10</sub>-x<sub>6 </sub>) y<sub>6 </sub>+ (-x<sub>5 </sub>+ x<sub>9 </sub>) y<sub>7</sub>+ (-x<sub>4 </sub>+ x<sub>8 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>7 </sub>) y<sub>9</sub>x (×) y<sub>4 </sub>= x<sub>4 </sub>y<sub>0 </sub>-x<sub>7 </sub>y<sub>5</sub>+ (-x<sub>11</sub>+ x<sub>3 </sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>7 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>6 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>2 </sub>) y<sub>2</sub>+ (x<sub>1 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>0 </sub>-x<sub>8 </sub>) y<sub>4</sub>+ (x<sub>11</sub>-x<sub>6 </sub>) y<sub>6 </sub>+ (x<sub>10</sub>-x<sub>5 </sub>) y<sub>7</sub>+ (-x<sub>4 </sub>+ x<sub>9 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>8 </sub>) y<sub>9</sub>x (×) y<sub>5 </sub>= x<sub>5 </sub>y<sub>0 </sub>-x<sub>6 </sub>y<sub>6</sub>+ (-x<sub>11</sub>+ x<sub>4 </sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>8 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>7 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>3 </sub>) y<sub>2</sub>+ (x<sub>2 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>1 </sub>-x<sub>8 </sub>) y<sub>4</sub>+ (x<sub>0 </sub>-x<sub>7 </sub>) y<sub>5 </sub>+ (x<sub>11</sub>-x<sub>5 </sub>) y<sub>7</sub>+ (x<sub>10</sub>-x<sub>4 </sub>) y<sub>8 </sub>+ (-x<sub>3 </sub>+ x<sub>9 </sub>) y<sub>9</sub>x (×) y<sub>6 </sub>= x<sub>6 </sub>y<sub>0 </sub>-x<sub>5 </sub>y<sub>7</sub>+ (-x<sub>11</sub>+ x<sub>5 </sub>) y<sub>1 </sub>+ (-x<sub>2 </sub>+ x<sub>9 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>8 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>4 </sub>) y<sub>2</sub>+ (x<sub>3 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>2 </sub>-x<sub>8 </sub>) y<sub>4</sub>+ (x<sub>1 </sub>-x<sub>7 </sub>) y<sub>5 </sub>+ (x<sub>0 </sub>-x<sub>6 </sub>) y<sub>6</sub>+ (x<sub>11</sub>-x<sub>4 </sub>) y<sub>8 </sub>+ (x<sub>10</sub>-x<sub>3 </sub>) y<sub>9</sub>x (×) y<sub>7 </sub>= x<sub>7 </sub>y<sub>0 </sub>-x<sub>4 </sub>y<sub>8</sub>+ (-x<sub>11</sub>+ x<sub>6 </sub>) y<sub>1 </sub>+ (x<sub>10</sub>-x<sub>2 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>9 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>5 </sub>) y<sub>2</sub>+ (x<sub>4 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>3 </sub>-x<sub>8 </sub>) y<sub>4</sub>+ (x<sub>2 </sub>-x<sub>7 </sub>) y<sub>5 </sub>+ (x<sub>1 </sub>-x<sub>6 </sub>) y<sub>6</sub>+ (x<sub>0 </sub>-x<sub>5 </sub>) y<sub>7 </sub>+ (x<sub>11</sub>-x<sub>3 </sub>) y<sub>9</sub>x (×) y<sub>8 </sub>= x<sub>8 </sub>y<sub>0 </sub>-x<sub>3 </sub>y<sub>9</sub>+ (-x<sub>11</sub>+ x<sub>7 </sub>) y<sub>1 </sub>+ (x<sub>11</sub>-x<sub>2 </sub>) y<sub>10</sub>+ (-x<sub>1 </sub>+ x<sub>10</sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>6 </sub>) y<sub>2</sub>+ (x<sub>5 </sub>-x<sub>9 </sub>) y<sub>3 </sub>+ (x<sub>4 </sub>-x<sub>8 </sub>) y<sub>4</sub>+ (x<sub>3 </sub>-x<sub>7 </sub>) y<sub>5 </sub>+ (x<sub>2 </sub>-x<sub>6 </sub>) y<sub>6</sub>+ (x<sub>1 </sub>-x<sub>5 </sub>) y<sub>7 </sub>+ (x<sub>0 </sub>-x<sub>4 </sub>) y<sub>8</sub>x (×) y<sub>9 </sub>= x<sub>9 </sub>y<sub>0 </sub>-x<sub>2 </sub>y<sub>10</sub>+ (-x<sub>11</sub>+ x<sub>8 </sub>) y<sub>1 </sub>+ (-x<sub>1 </sub>+ x<sub>11</sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>7 </sub>) y<sub>2 </sub>+ (x<sub>6 </sub>-x<sub>9 </sub>) y<sub>3</sub>+ (x<sub>5 </sub>-x<sub>8 </sub>) y<sub>4 </sub>+ (x<sub>4 </sub>-x<sub>7 </sub>) y<sub>5</sub>+ (x<sub>3 </sub>-x<sub>6 </sub>) y<sub>6 </sub>+ (x<sub>2 </sub>-x<sub>5 </sub>) y<sub>7</sub>+ (x<sub>1 </sub>-x<sub>4 </sub>) y<sub>8 </sub>+ (x<sub>0 </sub>-x<sub>3 </sub>) y<sub>9</sub>x (×) y<sub>10</sub>= x<sub>10</sub>y<sub>0 </sub>-x<sub>1 </sub>y<sub>11</sub>+ (-x<sub>11</sub>+ x<sub>9 </sub>) y<sub>1 </sub>+ (x<sub>0 </sub>-x<sub>2 </sub>) y<sub>10</sub>+ (-x<sub>10</sub>+ x<sub>8 </sub>) y<sub>2 </sub>+ (x<sub>7 </sub>-x<sub>9 </sub>) y<sub>3</sub>+ (x<sub>6 </sub>-x<sub>8 </sub>) y<sub>4 </sub>+ (x<sub>5 </sub>-x<sub>7 </sub>) y<sub>5</sub>+ (x<sub>4 </sub>-x<sub>6 </sub>) y<sub>6 </sub>+ (x<sub>3 </sub>-x<sub>5 </sub>) y<sub>7</sub>+ (x<sub>2 </sub>-x<sub>4 </sub>) y<sub>8 </sub>+ (x<sub>1 </sub>-x<sub>3 </sub>) y<sub>9</sub>x (×) y<sub>11</sub>= x<sub>11</sub>y<sub>0 </sub>+ (x<sub>10</sub>-x<sub>11</sub>) y<sub>1</sub>+ (x<sub>1 </sub>-x<sub>2 </sub>) y<sub>10</sub>+ (x<sub>0 </sub>-x<sub>1 </sub>) y<sub>11</sub>+ (-x<sub>10</sub>+ x<sub>9 </sub>) y<sub>2 </sub>+ (x<sub>8 </sub>-x<sub>9 </sub>) y<sub>3</sub>+ (x<sub>7 </sub>-x<sub>8 </sub>) y<sub>4 </sub>+ (x<sub>6 </sub>-x<sub>7 </sub>) y<sub>5</sub>+ (x<sub>5 </sub>-x<sub>6 </sub>) y<sub>6 </sub>+ (x<sub>4 </sub>-x<sub>5 </sub>) y<sub>7</sub>+ (x<sub>3 </sub>-x<sub>4 </sub>) y<sub>8 </sub>+ (x<sub>2 </sub>-x<sub>3 </sub>) y<sub>9</sub>x (×) x<sub>0 </sub>= (x<sub>0 </sub>+ x<sub>6 </sub>) (X<sub>0 </sub>-x<sub>6 </sub>) + 2x<sub>11</sub>(x<sub>2 </sub>-x<sub>1 </sub>) + 2x<sub>10</sub>(x<sub>3 </sub>-x<sub>2 </sub>) + 2x<sub>9 </sub>(x<sub>4 </sub>-x<sub>3 </sub>) + 2x<sub>5 </sub>(x<sub>8 </sub>-x<sub>7 </sub>) + 2x<sub>7 </sub>(x<sub>6 </sub>-x<sub>5 </sub>) x (×) x<sub>1 </sub>= 2x<sub>1 </sub>(x<sub>0 </sub>-x<sub>11</sub>) + 2x<sub>3 </sub>(x11-x<sub>9 </sub>) + 2x<sub>4 </sub>(x<sub>10</sub>-x<sub>8 </sub>) + 2x<sub>5 </sub>(x<sub>9 </sub>-x<sub>3 </sub>) + x<sub>6 </sub>(2x<sub>8 </sub>-x<sub>6 </sub>) + x<sub>7 </sub>(x<sub>7 </sub>-2x<sub>5 </sub>) x (×) x<sub>2 </sub>= 2x<sub>2 </sub>(x<sub>0 </sub>-x<sub>10</sub>) + x<sub>1 </sub>(x<sub>1 </sub>-2x<sub>11</sub>) + 2x<sub>4 </sub>(x<sub>11</sub>-x<sub>8 </sub>) + 2x<sub>5 </sub>(x<sub>10</sub>-x<sub>7 </sub>) + 2x<sub>6 </sub>(x<sub>9 </sub>-x<sub>6 </sub>) + 2x<sub>7 </sub>(x<sub>8 </sub>-x<sub>5 </sub>) x (×) x<sub>3 </sub>= 2x<sub>3 </sub>(x<sub>0 </sub>-x<sub>9 </sub>) + 2x<sub>11</sub>(x<sub>5 </sub>-x<sub>1 </sub>) + 2x<sub>2 </sub>(x<sub>1 </sub>-x<sub>10</sub>) + x<sub>6 </sub>(2x<sub>10</sub>-x<sub>6 </sub>) + 2x<sub>7 </sub>(x<sub>9 </sub>-x<sub>5 </sub>) + x<sub>8 </sub>(x<sub>8 </sub>-2x<sub>4 </sub>) x (×) x<sub>4 </sub>= (x<sub>2 </sub>+ x<sub>6 </sub>) (X<sub>2 </sub>-x<sub>6 </sub>) + 2x<sub>7 </sub>(x<sub>10</sub>-x<sub>5 </sub>) + 2x<sub>11</sub>(x<sub>6 </sub>-x<sub>1 </sub>) + x<sub>2 </sub>(x<sub>2 </sub>-2x<sub>10</sub>) + 2x<sub>3 </sub>(x<sub>1 </sub>-x<sub>9 </sub>) + 2x<sub>4 </sub>(x<sub>0 </sub>-x<sub>8 </sub>) x (×) x<sub>5 </sub>= 2x<sub>5 </sub>(x<sub>0 </sub>-x<sub>7 </sub>) + 2x<sub>1 </sub>(x<sub>4 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>3 </sub>-x<sub>4 </sub>) + 2x<sub>7 </sub>(x<sub>11</sub>-x<sub>5 </sub>) + 2x<sub>10</sub>(x<sub>8 </sub>-x<sub>2 </sub>) + x<sub>9 </sub>(x<sub>9 </sub>-2x<sub>3 </sub>) x (×) x<sub>6 </sub>= x<sub>6 </sub>(2x<sub>0 </sub>-x<sub>6 </sub>) + 2x<sub>1 </sub>(x<sub>5 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>4 </sub>-x<sub>10</sub>) + x<sub>3 </sub>(x<sub>3 </sub>-2x<sub>9 </sub>) + 2x<sub>8 </sub>(x<sub>11</sub>-x<sub>4 </sub>) + 2x<sub>9 </sub>(x<sub>10</sub>-x<sub>3 </sub>) x (×) x<sub>7 </sub>= 2x<sub>7 </sub>(x<sub>0 </sub>-x<sub>5 </sub>) + 2x<sub>1 </sub>(x<sub>6 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>5 </sub>-x<sub>10</sub>) + 2x<sub>3 </sub>(x<sub>4 </sub>-x<sub>9 </sub>) + 2x<sub>9 </sub>(x<sub>11</sub>-x<sub>3 </sub>) + x<sub>10</sub>(x<sub>10</sub>-2x<sub>2 </sub>) x (×) x<sub>8 </sub>= 2x<sub>8 </sub>(x<sub>0 </sub>-x<sub>4 </sub>) + 2x<sub>3 </sub>(x<sub>7 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>6 </sub>-x<sub>10</sub>) + 2x<sub>3 </sub>(x<sub>5 </sub>-x<sub>9 </sub>) + x<sub>4 </sub>(x<sub>4 </sub>-2x<sub>8 </sub>) + 2x<sub>10</sub>(x<sub>11</sub>-x<sub>2 </sub>) x (×) x<sub>9 </sub>= 2x<sub>9 </sub>(x<sub>0 </sub>-x<sub>3 </sub>) + 2x<sub>1 </sub>(x<sub>8 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>7 </sub>-x<sub>10</sub>) + 2x<sub>3 </sub>(x<sub>6 </sub>-x<sub>9 </sub>) + 2x<sub>4 </sub>(x<sub>5 </sub>-x<sub>8 </sub>) + x<sub>11</sub>(x<sub>11</sub>-2x<sub>1 </sub>) x (×) x<sub>10</sub>= 2x<sub>10</sub>(x<sub>0 </sub>-x<sub>2 </sub>) + 2x<sub>1 </sub>(x<sub>9 </sub>-x<sub>11</sub>) + 2x<sub>2 </sub>(x<sub>8 </sub>-x<sub>10</sub>) + 2x<sub>3 </sub>(x<sub>7 </sub>-x<sub>9 </sub>) + 2x<sub>4 </sub>(x<sub>6 </sub>-x<sub>8 </sub>) + x<sub>5 </sub>(x<sub>5 </sub>-2x<sub>7 </sub>) x (×) x<sub>11</sub>= 2x<sub>11</sub>(x<sub>0 </sub>-x<sub>1 </sub>) + 2x<sub>10</sub>(x<sub>1 </sub>-x<sub>2 </sub>) + 2x<sub>9 </sub>(x<sub>2 </sub>-x<sub>3 </sub>) + 2x<sub>3 </sub>(x<sub>8 </sub>-x<sub>9 </sub>) + 2x<sub>7 </sub>(x<sub>4 </sub>-x<sub>5 </sub>) + x<sub>6 </sub>(2x<sub>5 </sub>-x<sub>6 </sub>) [Quadratic field / Eisenstein field / Gauss field] Any quadratic field x = (x) whose discriminant is D<sub>0 </sub>, x<sub>1 </sub>), Y = (y<sub>0 </sub>, y<sub>1 </sub>Multiplication for) x (×) y = (x (×) y<sub>0 </sub>, x (×) y<sub>1 </sub>) And any original x = (x<sub>0 </sub>, x<sub>1 </sub>) Square operation x (×) x = (x (×) x<sub>0 </sub>, x (×) x<sub>1 </sub>) Is described. Here, how to take the remainder of the ideal N is as described above. This makes it possible to construct a power arithmetic unit whose method is N.
【0108】
For m1 (mod 4) [Number 29]
<img file="JPH1039751A_D0015.tif" />For m2,3 (mod 4) [Number 30]
<img file="JPH1039751A_D0016.tif" />In particular, the encryption circuit diagram in the case of the Eisenstein body is specifically shown in FIGS. 10 and 11.
【0109】
Next, the calculation of the modular exponentiation symbol will be described.
【0110】
When the cyclotomic field is a quadratic field, that is, when m = 3,4, the calculation method of each modulo symbol is described.
【0111】
[Eisenstein field] When ρ is the primitive cube root of 1, the ring Z [ρ] is the ring of integers O of the cubic cyclotomic field. A cubic modulo symbol for an element that satisfies (α, β) = (β, 1-ρ) = 1 with the binary α, β of O. [Number 31]
<img file="JPH1039751A_D0017.tif" />Is {1, ρ, ρ<sup>2 </sup>} Is a symbol that takes a value and is determined by the coset of mod (β).
【0112】
First, the product and quotient of the two elements α and β are described. When α = a + bρ and β = c + dρ, the product is αβ = (ac-bd) + (ad + bc-bd) ρ Can be calculated with. On the other hand, the calculation of quotient [Number 32]
<img file="JPH1039751A_D0018.tif" />When rationalizing the denominator, let κ be the integer whose norm is closest to α / β, and set α-βκ = γ. α = βκ + γ st Nβ> Nγ Will be. This means that when α is divided by β, κ is the quotient and γ is the remainder.
【0113】
The calculation method of the cubic modulo symbol is as follows. Divide as long as it is divisible by (1-ρ) given any element α. Make it α = (1-ρ)<sup>g </sup>Let it be α'.
【0114】
Then divide by ρ until either a 1, b 0 mod 3 or a 2, b 0 mod 3. It, α'= ρ<sup>f </sup>Let α . Then [Number 33]
<img file="JPH1039751A_D0019.tif" />Can be calculated. Here, for ρ and 1-ρ, [Number 34]
<img file="JPH1039751A_D0020.tif" />Can be calculated by. Then, let c1 = (f + 2g) (Nα-1) / 3. Next, the above calculation is repeated with α = β and β = α , the value of c1 is calculated in the same manner, and the number obtained by sequentially adding them is defined as c. In this repetition, if α = (-ρ)<sup>f0</sup>It will stop when it becomes. c + f0 (Nα-1) / 3 is the value of the cubic modulo symbol.
【0115】
Figure 14 shows the specific configuration of the arithmetic unit for the cubic modulo symbol.
【0116】
When [Gaussian] i is the primitive fourth root of 1, the ring Z [i] is the ring of integers O of the fourth cyclotomic field. The calculation method of the product of the binary α and β of O and the quotient is described. When α = a + bi and β = c + di, the product is αβ = (ac-bd) + (ad + bc) i Can be calculated with. On the other hand, the calculation of quotient [Number 35]
<img file="JPH1039751A_D0021.tif" />When rationalizing the denominator, let κ be the integer whose norm is closest to α / β, and set α-βκ = γ. α = βκ + γ stNβ> Nγ Will be. This means that when α is divided by β, κ is the quotient and γ is the remainder. The calculation method of the quadratic reciprocity symbol and the quadratic reciprocity symbol at O is described below.
【0117】
Next, the fourth power modulo symbol will be described.
【0118】
Imaginary modulo symbol for an element that satisfies (α, β) = (β, 1 + i) = 1 with the binary α, β of O [Number 36]
<img file="JPH1039751A_D0022.tif" />Is a symbol that takes a value in {1, -1, i, -i} and is determined by the coset of mod (β).
【0119】
Hereinafter, the calculation method of the fourth power remainder symbol will be described. Divide as long as it is divisible by (1 + i) given any element α. Make it α = (1 + i)<sup>g </sup>Let it be α'.
【0120】
Then divide by i, -1 until either a 1, b 0 mod 4 or a 3, b 2 mod 4. It is α'= (-1)<sup>e </sup>i<sup>f </sup>Let α . Then [Number 37]
<img file="JPH1039751A_D0023.tif" />Can be calculated. Here, for -1, i, 1 + i, [Number 38]
<img file="JPH1039751A_D0024.tif" />Can be calculated by. And c1 = e (a-1) / 4 + f (Nα-1) / 4 + g (abb)<sup>2 </sup>-1) / 2. Next, α = β and β = α , the above calculation is repeated, the value of c1 is calculated in the same manner, and the number obtained by sequentially adding them is defined as c. In this repetition, if α = (-1)<sup>e0</sup>i<sup>f0</sup>It will stop when it becomes. c + e0 (a-1) / 4 + f0 (Nα-1) / 4 is the value of the fourth power remainder symbol.
【0121】
FIG. 15 shows the specific configuration of the arithmetic unit for the fourth power remainder symbol. Next, the quadratic reciprocity symbol will be described. Quadratic reciprocity symbol for an element that satisfies (α, β) = (β, 1 + i) = 1 with the binary α, β of O [Number 39]
<img file="JPH1039751A_D0025.tif" />Is a symbol that takes a value in {1, -1,} and is determined by the coset of mod (β).
【0122】
The calculation method of the quadratic reciprocity symbol is described. Divide as long as it is divisible by 1 + i given any element α. Make it α = (1 + i)<sup>g </sup>Let it be α'.
【0123】
Then divide by i, -1 until either a 1, b 0 mod 4 or a 3, b 2 mod 4. It is α = (-1)<sup>e </sup>i<sup>f </sup>Let α'. Then [Number 40]
<img file="JPH1039751A_D0026.tif" />Can be calculated. Here, for -1, i, 1 + i, [Number 41]
<img file="JPH1039751A_D0027.tif" />Can be calculated by. And c1 = f (Nα-1) / 4 + g (abb)<sup>2 </sup>-1) / 2. Next, α = β and β = α , the above calculation is repeated, the value of c1 is calculated in the same manner, and the number obtained by sequentially adding them is defined as c. In this repetition, if α = (-1)<sup>f0</sup>It will stop when it becomes. c + f0 (Nα-1) / 4 is the value of the quadratic reciprocity symbol.
【0124】
Figure 16 shows the configuration of a specific arithmetic unit for the quadratic reciprocity symbol.
【0125】
Next, the decoding process in the decoding processing unit 31 will be described.
【0126】
For the split code sent via the communication path, in the decoding process, the remainder ring by the prime ideal of the ring of integers, that is, the calculation of the solution of the polynomial on the finite field, and the calculation using the Chinese Remainder Theorem. Need to be done. The calculation method is described below. In addition, the algorithm of the decoding process is described using them.
【0127】
First, a method of finding a solution of a polynomial on a quotient ring by a prime ideal of an integer ring will be described.
【0128】
Below, the polynomial x is on the quotient ring of the prime ideal P of the ring of integers O.<sup>k </sup>Describe how to find the solution for -C = 0. However, C is the element of the finite field obtained by taking the remainder of the divided ciphertext with the prime ideal P, and k is the exponent to be encrypted.
【0129】
The quotient ring of the prime ideal P of the ring of integers O is a finite field whose order is NP. The solution of the polynomial calculation performed by encryption is equated with the problem of finding the solution of the polynomial on this finite field, and the solution method is described. Therefore, first the greatest common divisor of the polynomial on the finite field GCD (x<sup>(NP-1) / k</sup>-1,x<sup>k </sup>-C) Describes how to calculate. Here, GCD (f (x), g (x)) is the greatest common divisor of f (x) and g (x).
【0130】
Finite field F<sub>NP</sub>Starting from x in the operation of, the square operation and the multiplication operation are repeated by a known binary calculation method that uses the binary representation for (NP-1) / k, and x<sup>(NP-1) / k</sup>To ask. However, when the order is k or higher, x<sup>k </sup>Take the remainder of -C and always keep it below order k-1. The -1 from this result is the remainder obtained in the first step of Euclid's mutual division method. This remainder is less than or equal to k-1 order, so x<sup>k </sup>By continuing the mutual division method with -C, the desired GCD can be obtained. This GCD is always a linear equation and its constant term is M.
【0131】
Next, if the dimension on Z of the ring of integers is r, the above solution is M = (M).<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>) Can be written. Here, if the map ψ is a cyclotomic field, [Number 42]
ψ (a<sub>0 </sub>, a<sub>1 </sub>, ..., a<sub>r-1 </sub>) = (-a<sub>r-1 </sub>, a<sub>0 </sub>-a<sub>r-1 </sub>, a<sub>1 </sub>-a<sub>r-1 </sub>, ..., a<sub>r-2 </sub>-a<sub>r-1 </sub>) In the case of a quadratic field, for m m that produces a quadratic field, [Number 43]
<img file="JPH1039751A_D0028.tif" />Is defined as. Then, M, ψM, ψ<sup>2 </sup>M, ..., ψ<sup>k-1 </sup>M is the equation x<sup>k </sup>The solution is -C = 0. FIG. 13 shows the processing procedure for solving the polynomial on the finite field described above.
【0132】
Here, the Chinese Remainder Theorem will be described with reference to FIG.
【0133】
In the ring of integers O, for the element C, a set of values modulo two different prime ideals P and Q [C<sub>1 </sub>, C<sub>2 </sub>] Is known. That is, C<sub>1 </sub> C mod P C<sub>2 </sub> C mod Q And. At this time, the method of finding the value modulo the ideal N = PQ of C is the Chinese Remainder Theorem. Actually describe the method.
【0134】
First, L<sub>1 </sub>P1 mod Q L<sub>2 </sub>Q1 mod P To ask. next, CC<sub>1 </sub>L<sub>2 </sub>Q + C<sub>2 </sub>L<sub>1 </sub>Pmod N Is the value that C finds.
【0135】
[Cyclotomic field] The split ciphertext sent C = (C<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>), The equation x<sup>m </sup>-C 0 mod P Solution ψ<sup>i </sup>M<sub>P </sub>, (I = 0,1, ..., m-1) and x<sup>m </sup>-C0 mod Q Solution ψ<sup>j </sup>M<sub>Q </sub>, (J = 0,1, ..., m-1) is calculated by the above method. Next, the set [ψ] is based on the Chinese Remainder Theorem.<sup>i </sup>M<sub>P </sub>, ψ<sup>j </sup>M<sub>Q </sub>], Find the number M modulo ideal N. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>).
【0136】
[Quadratic field] The split ciphertext sent C = (C<sub>0 </sub>, C<sub>1 </sub>) And B = (B<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>2 </sup>-CB<sup>2 </sup> 0 mod P Solution ψ<sup>i </sup>M<sub>P </sub>, (I = 0,1) and x<sup>2 </sup>-CB<sup>2 </sup> 0 mod Q Solution ψ<sup>j </sup>M<sub>Q </sub>, (J = 0,1) is calculated by the above method. Next, the set [ψ] is based on the Chinese Remainder Theorem.<sup>i </sup>M<sub>P </sub>+ B, ψ<sup>j </sup>M<sub>Q </sub>From + B], find the number M modulo ideal N. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1 </sub>).
【0137】
[Eisenstein field (when m = 3 in cyclotomic field)] The split ciphertext sent C = (C<sub>0 </sub>, C<sub>1 </sub>), B = (B<sub>0 </sub>, B<sub>1 </sub>) And c, the equation x<sup>3 </sup>-CB<sup>3 </sup> 0 mod P Solution ψ<sup>i </sup>M<sub>P </sub>, (I = 0,1,2) and x<sup>3 </sup>-CB<sup>3 </sup> 0 mod Q Solution ψ<sup>j </sup>M<sub>Q </sub>, (J = 0,1,2) is calculated by the above method. here, [Number 44]
<img file="JPH1039751A_D0029.tif" />Is calculated, and the candidates for the ciphertext corresponding to the sent c are narrowed down according to FIG. Next, the set [ψ] is based on the Chinese Remainder Theorem.<sup>i </sup>M<sub>P </sub>+ B, ψ<sup>j </sup>M<sub>Q </sub>From + B], find the number M modulo ideal N. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1 </sub>).
【0138】
[Gaussian field (when m = 4 in cyclotomic field)] The split ciphertext sent C = (C)<sub>0 </sub>, C<sub>1 </sub>), B = (B<sub>0 </sub>, B<sub>1 </sub>) And c, the equation x<sup>4 </sup>-CB<sup>4 </sup> 0 mod P Solution ψ<sup>i </sup>M<sub>P </sub>, (I = 0,1,2,3) and x<sup>4 </sup>-CB<sup>4 </sup> 0 mod Q Solution ψ<sup>j </sup>M<sub>Q </sub>, (J = 0,1,2,3) is calculated by the above method. here, [Number 45]
<img file="JPH1039751A_D0030.tif" />Is calculated, and the candidates for the ciphertext corresponding to the sent c are narrowed down according to FIG. Next, from the Chinese Remainder Theorem [ψ]<sup>i </sup>M<sub>P </sub>+ B, ψ<sup>j </sup>M<sub>Q </sub>From + B], find the number M modulo ideal N. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1</sub>).
【0139】
Gaussian body (when D = -4 in the quadratic field) The split ciphertext sent C = (C<sub>0 </sub>, C<sub>1 </sub>), B = (B<sub>0 </sub>, B<sub>1 </sub>), C and δ x<sup>2 </sup>-CB<sup>2 </sup> 0 mod P Solution ψ<sup>i </sup>M<sub>P </sub>, (I = 0,1) and x<sup>2 </sup>-CB<sup>2 </sup> 0 mod Q Solution ψ<sup>j </sup>M<sub>Q </sub>, (J = 0,1) is calculated by the above method. here, [Number 46]
<img file="JPH1039751A_D0031.tif" />Is calculated, and the candidates for the ciphertext corresponding to the sent c are narrowed down according to FIG. Next, from the Chinese Remainder Theorem [ψ]<sup>i </sup>M<sub>P </sub>+ B, ψ<sup>j </sup>M<sub>Q </sub>From + B], find the number M modulo ideal N. This M and (C + B<sup>2 </sup>The split plaintext M = (M) in which each component of) / M is decoded to match δ<sub>0 </sub>, M<sub>1 </sub>).
【0140】
Next, the uniqueness of decoding will be described.
【0141】
Except for the Gaussian field (when D = -4 in the quadratic field), multiple Ms are obtained during decoding, but semantic consistency is the key to eliminating the ambiguity that remains in this M. You can select the one that corresponds to the original plain text. That is, regarding the text, whether or not it makes sense, and when it is used for delivery of the private key, by adding a meaningful text to the header part, it is possible to use the selection key as well.
【0142】
Next, the plaintext integration processing in the plaintext integration processing unit 33 described above will be described. Split plaintext (M) obtained by decryption processing unit 31<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>) Are connected in order to obtain the original plain sentence M.
【0143】
Next, the cipher in the present embodiment using the cubic cyclotomic field (Eisenstein field) will be described with a specific example.
【0144】
Stage 1 [Processing in key generation processing unit 1] Generate two prime ideals P = (-11, -9), Q = (-8,3) (private key) and determine the coset (public key) of the product N = (115,66). ..
【0145】
Stage 2 [Processing in plaintext division processing unit 23] For plaintext M = 7777, split plaintext within the coset range (M)<sub>0 </sub>, M<sub>1 </sub>) = (77,77) is generated.
【0146】
Stage 3 [Processing in encryption processing unit 25] Expression (C<sub>0 </sub>, C<sub>1 </sub>)≡(77,77)<sup>3 </sup> (57,105) Encrypts with mod (115,66) and sends to the recipient.
【0147】
Stage 4 [Processing in Decryption Processing Unit 31] equation [Number 47]
x<sup>3 </sup>-(115 + ρ66) = 0 mod (-11, -9) x<sup>3 </sup>-(115 + ρ66) = 0 mod (-8,3) Is solved and divided from the Chinese Remainder Theorem (M)<sub>0 </sub>, M<sub>1 </sub>) = (77,77).
【0148】
Stage 5 [Processing in plaintext integrated processing unit 33] Decrypted split plaintext (M)<sub>0 </sub>, M<sub>1 </sub>) = (77,77) is integrated and restored to the original plain text M = 7777.
【0149】
Next, the authentication method in the present invention will be described. FIG. 2 shows an outline of the configuration of a communication system using the authentication method in the present invention.
【0150】
The communication system of this embodiment is composed of a key generation processing unit 4, a transmitting device 5, and a receiving device 6, and the transmitting device 5 includes a data input unit 51, an authentication statement hashing processing unit 53, and an authenticator division processing unit 55. And the authenticator encryption processing unit 57, and the receiving device 6 includes an authenticator decryption processing unit 61, an authenticator integrated processing unit 63, an authentication statement hashing processing unit 65, and an authentication confirmation processing unit 67.
【0151】
Hereinafter, a person who wants to perform authentication using the above-mentioned encryption method using the algebraic number field of the present invention receives an authenticator generated by encrypting an authentication statement with his / her own private key using the transmission device 5. An authentication system will be described by taking the case of sending to (receiver 6) as an example.
【0152】
Stage 1 [Processing in key generation processing unit 4] Generate two prime ideals P and Q (private key) and determine the coset (public key) of the product N = PQ.
【0153】
Stage 2 [Processing in authentication statement hashing processing unit 53] The authentication statement M input via the data input unit 51 is hashed by the hash function h and used as the authenticator h (M).
【0154】
Stage 3 [Processing in the authenticator division processing unit 55] Let r be the dimension of the ring of integers O on Z. For the authenticator h (M), the split authenticator h (M) = (h (M) within the coset range<sub>0 </sub>, h (M)<sub>1 </sub>, ..., h (M)<sub>r-1 </sub>) Is generated.
【0155】
Stage 4 [Processing in the authenticator encryption processing unit 57] Equation using the sender's secret keys P and Q x<sup>k </sup>-h (M) = 0 One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>) To encrypt. However, k is an exponent that should be encrypted. Here, if there is no solution to the equation, set M = M + γ, (γ is a certain number) and return to [Step 2].
【0156】
The split authenticator obtained from the above h (C) = (h (C))<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>) And the pair of certificate M are sent to the recipient.
【0157】
Stage 5 [Processing in the authenticator decryption processing unit 61] The recipient uses the sender's power index k to [Number 48]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>)<sup>k</sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>, ..., h (M)<sub>r-1 </sub>) mod N Decrypt the split authenticator by calculating.
【0158】
Stage 6 [Processing in Authenticator Integration Processing Unit 63] Decrypted split authenticator (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>, ..., h (M)<sub>r-1 </sub>) Is integrated to generate the authenticator h (M).
【0159】
Stage 7 [Processing in authentication statement hashing processing unit 65] The sent authentication statement M is hashed by a hash function and used as the authenticator h (M)'.
【0160】
Stage 8 [Processing in Authentication Confirmation Processing Unit 67] The validity of the certificate is judged by whether or not the authenticator h (M) and h (M)'match.
【0161】
Next, the memory operation in the key generation process of the cyclotomic field will be described with reference to the flowchart shown in FIG.
【0162】
First, the data input section is the input data (the order m of the primitive root of the cyclotomic field).<sub>c </sub>) Is stored in the storage area of memory data number 1 (memory data MK<sub>c </sub>1). Order m at this time<sub>c </sub>Is an arbitrary prime number or a power value of a prime number.
【0163】
[table 1]
<img file="JPH1039751A_D0032.tif" />Then, in the Euler function value calculation unit, the order m given to the data number 1.<sub>c </sub>Against the order m<sub>c </sub>Smaller natural number, order m<sub>c </sub>And the number of things that are relatively prime (Euler's function value φ (m)<sub>c </sub>)) And store it in data number 2 (memory data MK<sub>c</sub>2)。
【0164】
[Table 2]
<img file="JPH1039751A_D0033.tif" />Next, the rational prime number random generation processing unit randomly generates a rational prime number of a predetermined size selected by the strength of security and stores it in data number 3 (memory data MK).<sub>c </sub>3)。
【0165】
[Table 3]
<img file="JPH1039751A_D0034.tif" />Next, from 1 to φ (m) in the prime ideality judgment processing unit.<sub>c </sub>For all power indices i up to) [Number 49]
<img file="JPH1039751A_D0035.tif" />Is verified, and if it passes, it is regarded as a prime ideal and stored in data number 4. If it does not pass, it returns to the rational prime number random generation process (memory data MK).<sub>c</sub>4)。
【0166】
[Table 4]
<img file="JPH1039751A_D0036.tif" />Next, the second prime ideal generation processing unit performs prime number random generation and prime ideality determination processing again to generate the second prime ideal and store it in data number 5 (memory data MK).<sub>c </sub>5)。
【0167】
[Table 5]
<img file="JPH1039751A_D0037.tif" />Furthermore, the generation processing unit of public key 1 calculates the product of two prime ideals of data number 4 and data number 5, sets the value as public key 1, and stores it in data number 6 (memory data MK).<sub>c </sub>6)。
【0168】
[Table 6]
<img file="JPH1039751A_D0038.tif" />Next, the memory operation in the cyclotomic field encryption process will be described with reference to the flowchart shown in FIG.
【0169】
First, the data input unit is the input data (public key 1 (n).<sub>c </sub>), Public key 2k<sub>c </sub>, Number of blocks r, Split plaintext length [log<sub>2 </sub>n] and plaintext M) are stored in the storage areas of memory data numbers 1 to 5 (memory data MC).<sub>c </sub>1).
【0170】
[Table 7]
<img file="JPH1039751A_D0039.tif" />Next, in the plaintext division processing section, from the beginning of message M, [log<sub>2 </sub>n] length r blocks are cut out and stored in data numbers 6 to (5 + r), and the remaining cut out message M'is stored in data number 4 (memory data MC).<sub>c</sub>2).
【0171】
[Table 8]
<img file="JPH1039751A_D0040.tif" />Next, in the encryption processing unit, for r block plaintexts from data number 6 to (5 + r), k under the law n<sub>c </sub>Performs encryption processing by multiplication operation and stores the result in data numbers (5 + r + 1) to (5 + 2r) (memory data MC<sub>c </sub>3).
【0172】
[Table 9]
<img file="JPH1039751A_D0041.tif" />Further, the ciphertext transmission unit transmits the ciphertexts from the data numbers (5 + r + 1) to (5 + 2r). If no message M'remains in data number 5, the process ends. If there are still messages left, return to the plaintext division processing section and repeat until there are no more messages.
【0173】
Next, the memory operation in the decryption process of the cyclotomic field will be described with reference to the flowchart shown in FIG.
【0174】
First, the data input unit is the input data (public key 1 (n).<sub>c </sub>), Public key 2k<sub>c </sub>, Private key 1 (1) P<sub>c </sub>, Private key 1 (2) Q<sub>c </sub>, Number of blocks r, Split plaintext length [log<sub>2 </sub>n], ciphertext block C<sub>0 </sub>, ..., ciphertext block C<sub>r-1 </sub>) Are stored in the storage areas of memory data numbers 1 to (6 + r) (memory data MD).<sub>c </sub>1)。
【0175】
[Table 10]
<img file="JPH1039751A_D0042.tif" />Subsequently, the first decoding processing unit performs the decoding process (1). That is, r block ciphertexts C = (C) from data number 7 to (6 + r)<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>), The equation x<sup>m </sup>-C<sub>c </sub> 0 mod P<sub>c</sub>Solution M<sub>Pc</sub>= (M<sub>0P</sub>, M<sub>1P</sub>, ..., M<sub>r-1P</sub>) $ Is calculated and stored in (6 + 2r) from the data number (6 + r + 1) (memory data MD<sub>c </sub>2)。
【0176】
[Table 11]
<img file="JPH1039751A_D0043.tif" />Further, the decoding process (2) is performed in the second decoding processing unit. That is, r block ciphertexts C from data number 7 to (6 + r)<sub>c </sub>= (C<sub>0 </sub>, C<sub>1 </sub>, ..., C<sub>r-1 </sub>), The equation x<sub>m </sub>-C<sub>c </sub> 0 mod Q<sub>c</sub>Solution M<sub>Qc</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>, ..., M<sub>r-1Q</sub>) $ Is calculated and stored in (6 + 3r) from the data number (6 + 2r + 1) (memory data MD<sub>c </sub>3)。
【0177】
[Table 12]
<img file="JPH1039751A_D0044.tif" />Further, the decoding process (3) is further performed in the third decoding processing unit. That is, according to the Chinese Remainder Theorem, the set [M] from the data numbers (6 + r + 1) to (6 + 2r) and the data numbers (6 + 2r + 1) to (6 + 3r).<sub>Pc</sub>, M<sub>Qc</sub>] From Ideal N<sub>c </sub>Find the number M modulo. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1 </sub>, ..., M<sub>r-1 </sub>), And stores data numbers (6 + 3r + 1) to (6 + 4r) (memory data MD<sub>c </sub>4)。
【0178】
[Table 13]
<img file="JPH1039751A_D0045.tif" />Next, the plaintext integration processing unit performs the plaintext integration processing. That is, r decrypted plaintext blocks from the data number (6 + 3r + 1) to (6 + 4r) are concatenated, and the bit string is concatenated at the end of the data number (6 + 4r + 1) for decoding. End the conversion process.
【0179】
[Table 14]
<img file="JPH1039751A_D0046.tif" />Next, the memory operation in the cyclotomic field authentication statement generation process will be described with reference to the flowchart shown in FIG.
【0180】
First, the data input section is the input data (public key 1 (n)<sub>c </sub>), Public key 2k<sub>c </sub>, Private key 1p<sub>c </sub>, Private key 1q<sub>c </sub>, Number of blocks r, Split plaintext length [log<sub>2 </sub>n] and authentication statement M) are stored in the storage areas of memory data numbers 1 to 7 (memory data MA).<sub>c </sub>1)。
【0181】
[Table 15]
<img file="JPH1039751A_D0047.tif" />Subsequently, the authentication statement hashing processing unit performs the authentication statement hashing process. That is, the authentication statement is hashed by the hash function h, and the result is used as the hashing authenticator h (M) and stored in data number 8 (memory data MA).<sub>c </sub>2)。
【0182】
[Table 16]
<img file="JPH1039751A_D0048.tif" />Next, the authenticator division processing unit performs the authenticator division processing. That is, from the beginning of the authenticator h (M) with data number 8, [log<sub>2 </sub>n] length r blocks are cut out and stored in data numbers 9 to (8 + r), and the remaining cut out authenticator h (M)'is stored in data number 8 (memory data MA).<sub>c </sub>3)。
【0183】
[Table 17]
<img file="JPH1039751A_D0049.tif" />Next, the authenticator encryption processing unit performs the authenticator encryption processing. That is, the sender's private key P<sub>c </sub>, Q<sub>c </sub>Using the equation x<sup>k </sup>-h (M) 0 (mod n) One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>). However, k is an exponent that should be encrypted. (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>) Is stored in the data numbers (8 + r + 17) to (8 + 2r).
【0184】
Here, if the solution of the equation does not exist, M = M + γ, (γ is a certain number), stores it in data number 7, and returns to the authentication statement hashing process (memory data MA).<sub>c </sub>4)。
【0185】
[Table 18]
<img file="JPH1039751A_D0050.tif" />Further, the ciphertext transmission unit transmits the ciphertext. That is, the encryption authenticator from the data number (8 + r + 1) to (8 + 2r) is transmitted. If there is no certifier remaining in data number 8, the authentication statement of data number 7 is finally sent to end the process. If there are still authenticators, the process returns to the authenticator division process and the certificate statement generation process ends.
【0186】
Next, the memory operation in the cyclotomic field authentication statement decryption process will be described with reference to the flowchart shown in FIG. 24.
【0187】
First, the data input unit is the input data (public key 1 (n).<sub>c </sub>), Public key 2k<sub>c </sub>, Number of blocks r, Split plaintext length [log<sub>2 </sub>n], Certificate M, Cryptographic Authentic Block h (C)<sub>0 </sub>, ..., Cryptographic authenticator block h (C)<sub>r-1 </sub>) Is stored in the storage area of the memory data numbers 1, ~, 6, ~, (5 + r) (memory data MAD).<sub>c </sub>1)。
【0188】
[Table 19]
<img file="JPH1039751A_D0051.tif" />Subsequently, the authenticator decryption processing unit performs the authenticator decryption process. That is, r block ciphers from data number 6 to (5 + r) are decrypted by the following k-th power operation, and the result is obtained from the data number (5 + r + 1). Store in (5 + 2r) (Memory data MAD<sub>c </sub>2)。
【0189】
[Number 50]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>, ..., h (C)<sub>r-1 </sub>)<sup>k</sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>, ..., h (M)<sub>r-1 </sub>) mod N<sub>c</sub>[Table 20]
<img file="JPH1039751A_D0052.tif" />Next, the authenticator integration processing unit performs the authenticator integration processing. That is, the decrypted r authenticator blocks from the data number (5 + r + 1) to (5 + 2r) are concatenated, and the bit string is concatenated at the end of the data number (5 + 2r + 1). Repeat the decryption and integration process as long as there is an encryption authenticator (memory data MAD)<sub>c </sub>3)。
【0190】
[Table 21]
<img file="JPH1039751A_D0053.tif" />Further, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement of data number 5 is hashed by the hash function h, and as a result h (M)'is stored in the data number (5 + 2r + 2) (memory data MAC).<sub>c </sub>4)。
【0191】
[Table 22]
<img file="JPH1039751A_D0054.tif" />In addition, the authentication confirmation processing unit further performs the authentication confirmation processing. That is, if the integrated authenticator of the data number (5 + 2r + 1) and the hashed authentication statement h (M)'of the data number (5 + 2r + 2) match, the authentication success is output, and if they do not match, the authentication success is output. , Outputs authentication failure and ends the authentication statement decryption process.
【0192】
Next, the memory operation in the key generation process using the quadratic field will be described with reference to the flowchart shown in FIG.
【0193】
First, the data input unit is the input data (rational integer m that does not have a square factor).<sub>s </sub>) Is stored in the storage area of memory data number 1 (memory data MK<sub>s </sub>1)。
【0194】
[Table 23]
<img file="JPH1039751A_D0055.tif" />Next, the discriminant calculation unit calculates the discriminant. That is, the rational integer m given to data number 1.<sub>s </sub>Against m<sub>s </sub>For 1 (mod 4), D = m<sub>s </sub>And m<sub>s </sub>For 2,3 (mod 4), D = 4m<sub>s </sub>And store the value D of this discriminant in data number 2 (memory data MK<sub>s </sub>2)。
【0195】
[Table 24]
<img file="JPH1039751A_D0056.tif" />Next, the rational prime number random generation processing unit randomly generates a rational prime number. That is, a rational prime number that is not divisible by the discriminant D is randomly generated and stored in data number 3 (memory data MK).<sub>s </sub>3)。
【0196】
[Table 25]
<img file="JPH1039751A_D0057.tif" />Further, the prime ideality determination processing unit performs prime ideality determination processing. That is, the Euclidean algorithm is performed to verify the establishment of the following quadratic residue.
【0197】
[Number 51]
<img file="JPH1039751A_D0058.tif" />If it passes, it is considered as a prime ideal and stored in data number 4. If it does not pass, it returns to the rational prime number random generation process (memory data MK).<sub>s </sub>4)。
【0198】
[Table 26]
<img file="JPH1039751A_D0059.tif" />Further, in the prime ideal generation processing unit, the prime number random generation and the prime ideality determination process are performed again to generate the second prime ideal and store it in the data number 5 (memory data MK).<sub>s </sub>5)。
【0199】
[Table 27]
<img file="JPH1039751A_D0060.tif" />After that, p<sub>s </sub>× q<sub>s </sub>= n<sub>s </sub>And n<sub>s </sub>Is the public key.
【0200】
Next, the memory operation in the encryption process using the quadratic field will be described with reference to the flowchart shown in FIG.
【0201】
First, the data input section is the input data (public key 1 N)<sub>s </sub>, Public key 2 m<sub>s </sub>, Number of blocks 2, Coset, Plaintext M) are stored in the storage areas of memory data numbers 1, ~, 5 (memory data MC).<sub>s </sub>1)。
【0202】
[Table 28]
<img file="JPH1039751A_D0061.tif" />Subsequently, the plaintext division processing unit performs the plaintext division processing. That is, two blocks corresponding to the original two dimensional components of the quadratic field within the coset range of data number 4 are cut out from the beginning of the message M of data number 5 and stored in data numbers 6 and 7. , Data number 4 stores the remaining message M'that was cut out (memory data MC).<sub>s </sub>2)。
【0203】
[Table 29]
<img file="JPH1039751A_D0062.tif" />Next, the encryption processing unit encrypts the plaintext block created by dividing the plaintext M. That is, the plaintext blocks of data numbers 6 and 7 are expressed in the equation (C).<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) Encrypt with mod N and store the result in data numbers 8 and 9. (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers stored in data numbers 10 and 11 (memory data MC<sub>s </sub>3)。
【0204】
[Table 30]
<img file="JPH1039751A_D0063.tif" />Then, the created ciphertext is transmitted in the ciphertext transmission unit. That is, data numbers 8, 9 and 10, 11 (C)<sub>0 </sub>, C<sub>1 </sub>) And (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. If no message remains in data number 5, the process ends. If there are still messages left, the process returns to the plaintext division process and the encryption process ends.
【0205】
Next, the memory operation in the decryption process of the ciphertext using the quadratic field will be described with reference to the flowchart shown in FIG. 27.
【0206】
First, the data input section is the input data (public key 1 N)<sub>s </sub>, Public key 2 m<sub>s </sub>, Private key 1 (1) P<sub>s </sub>, Private key 1 (2) Q<sub>s </sub>, Number of blocks 2, Cosets, Ciphertext block C<sub>0 </sub>, C<sub>1 </sub>, B<sub>0 </sub>, B<sub>1 </sub>(However, B<sub>0 </sub>, B<sub>1 </sub>Is a set of integers)) is stored in the storage areas of memory data numbers 1, ~ and 10 (memory data MD).<sub>s </sub>1)。
【0207】
[Table 31]
<img file="JPH1039751A_D0064.tif" />Subsequently, the first decoding processing unit performs the decoding process (1). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 9,10<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>2 </sup>+ 2Bx-E 0 mod P<sub>s</sub>Solution M<sub>Ps</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And store it in data numbers 11 and 12 (memory data MD<sub>s </sub>2)。
【0208】
[Table 32]
<img file="JPH1039751A_D0065.tif" />Subsequently, the second decoding processing unit performs the decoding process (2). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 9,10<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>2 </sup>+ 2Bx-E 0 mod Q<sub>s</sub>Solution M<sub>Qs</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And store it in data numbers 13 and 14 (memory data MD<sub>s </sub>3)。
【0209】
[Table 33]
<img file="JPH1039751A_D0066.tif" />Then, the decoding process (3) is subsequently performed in the third decoding processing unit. That is, according to the Chinese Remainder Theorem, sets up to data numbers 11, 12 and 13, 14 [M<sub>Ps</sub>, M<sub>Qs</sub>] From Ideal N<sub>s </sub>Find the number M modulo. This M is the decrypted split plaintext M = (M<sub>0 </sub>, M<sub>1 </sub>) And is stored in data numbers 15 and 16 (memory data MD<sub>s </sub>4)。
【0210】
[Table 34]
<img file="JPH1039751A_D0067.tif" />Next, the plaintext integration processing unit performs the plaintext integration processing. That is, two decrypted plaintext blocks of data numbers 15 and 16 are concatenated, the bit string is concatenated at the end of data number 17, and the decoding process is completed (memory data MD).<sub>s </sub>5)。
【0211】
[Table 35]
<img file="JPH1039751A_D0068.tif" />Next, the memory operation in the authentication statement generation process using the quadratic field will be described with reference to the flowchart shown in FIG. 28.
【0212】
First, the data input section is the input data (public key 1 N)<sub>s </sub>, Public key 2 m<sub>s </sub>, Private key 1 (1) P<sub>s </sub>, Private key 1 (2) Q<sub>s </sub>, Number of blocks 2, Coset, Authentication statement M) are stored in the storage areas of memory data numbers 1, ~, 7 (memory data MA).<sub>s </sub>1)。
【0213】
[Table 36]
<img file="JPH1039751A_D0069.tif" />Subsequently, the authentication statement hashing processing unit performs hashing of the authentication statement. That is, the authentication statement is hashed by the hash function h, and the result is used as the hashing authenticator h (M) and stored in data number 8 (memory data MA).<sub>s </sub>2)。
【0214】
[Table 37]
<img file="JPH1039751A_D0070.tif" />Next, the authenticator division processing unit performs the authenticator division processing. That is, from the beginning of the authenticator h (M) of data number 8, two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder of data number 6 are cut out, and data number 9, Store in 10 and store the remaining excised authenticator h (M)'in data number 8 (memory data MA).<sub>s </sub>3)。
【0215】
[Table 38]
<img file="JPH1039751A_D0071.tif" />Further, the authenticator encryption processing unit performs encryption processing of the authenticator. That is, the sender's private key P<sub>s </sub>, Q<sub>s </sub>Using the equation x<sup>2 </sup>-h (M) 0 (mod N<sub>s </sub>) One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>) Is obtained and stored in data numbers 11 and 12.
【0216】
Here, if the solution of the equation does not exist, M = M + γ, (γ is a certain number), stores it in data number 7, and returns to the authentication statement hashing process (memory data MA).<sub>s </sub>4)。
【0217】
[Table 39]
<img file="JPH1039751A_D0072.tif" />Then, the created encryption authenticator is transmitted by the ciphertext transmission unit. That is, the encryption authenticator with data numbers 11 and 12 is transmitted. If there is no certifier remaining in data number 8, the authentication statement of data number 7 is finally sent to end the process. If there are still authenticators, the process returns to the authenticator division process and the certificate statement generation process ends.
【0218】
Next, the memory operation in the authentication statement decryption process using the quadratic field will be described with reference to the flowchart shown in FIG.
【0219】
First, the data input section is the input data (public key 1 N)<sub>s </sub>, Public key 2 m<sub>s </sub>, Number of blocks 2, Coset, Certificate M, Encrypted authenticator block h (C)<sub>0 </sub>, Cryptographic authenticator block h (C)<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 7 (memory data MAD).<sub>s </sub>1)。
【0220】
[Table 40]
<img file="JPH1039751A_D0073.tif" />Subsequently, the authenticator decryption processing unit performs decryption processing of the encrypted authenticator. That is, the two block ciphers of data numbers 6 and 7 are decrypted by the following square operation, and the result is stored in data numbers 8 to 9 (memory data MAD).<sub>s </sub>2)。
【0221】
[Number 52]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>2 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>s</sub>[Table 41]
<img file="JPH1039751A_D0074.tif" />Next, the authenticator integration processing unit performs the authenticator integration processing. That is, the two decrypted authenticator blocks of data numbers 8 and 9 are concatenated, and the bit string thereof is concatenated at the end of data number 10. Repeat the decryption and integration process as long as there is an encryption authenticator (memory data MAD)<sub>s </sub>3)。
【0222】
[Table 42]
<img file="JPH1039751A_D0075.tif" />Further, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement of data number 5 is hashed by the hash function h, and the result h (M)'is stored in data number 11 (memory data MAD).<sub>s </sub>4)。
[Table 43]
<img file="JPH1039751A_D0076.tif" />Furthermore, the authentication confirmation processing unit performs the authentication confirmation processing. That is, if the integrated authenticator of data number 10 and the hashed authentication statement h (M)'of data number 11 match, the authentication success is output, and if they do not match, the authentication failure is output and the authentication statement decryption process is performed. To finish.
【0223】
Next, the memory operation in the key generation process using the Eisenstein body will be described with reference to the flowchart shown in FIG.
【0224】
First, the data input section is the input data (rational prime number p<sub>e </sub>However, p<sub>e </sub> 1 (mod 3), rational prime q<sub>e </sub>However, q<sub>e </sub> 1 (mod 3)) is stored in the storage areas of memory data numbers 1 and 2 (memory data MK).<sub>e </sub>1)。
【0225】
[Table 44]
<img file="JPH1039751A_D0077.tif" />Subsequently, the decomposition prime number calculation unit calculates the decomposition prime number. That is, the prime number p given to data number 1.<sub>e </sub>Against p<sub>e </sub>= a<sup>2 </sup>-ab + b<sup>2</sup>A set of rational prime numbers (a, b) that satisfies a1 (mod 3), b0 (mod 3) Obtained under the conditions of. P<sub>e </sub>= (a + ρb) is a prime number in the Eisenstein field and is the secret key 1. Store it in data number 3. Data number 2 q<sub>e</sub>Similarly for Q<sub>e </sub>Find = (c + ρd) and store it in data number 4 (memory data MK<sub>e </sub>2)。
【0226】
[Table 45]
<img file="JPH1039751A_D0078.tif" />Next, the public key 1 generation processing unit performs the public key 1 generation processing. That is, the product of the two prime numbers of data numbers 3 and 4 is taken, used as the public key 1, stored in the data number 5, and the key generation process is completed (memory data MK).<sub>e </sub>3)。
【0227】
[Table 46]
<img file="JPH1039751A_D0079.tif" />Next, the memory operation in the encryption process using the Eisenstein font will be described with reference to the flowchart shown in FIG.
【0228】
First, the data input section is the input data (public key 1 N)<sub>e </sub>, Public key 2 3<sub>e </sub>, Number of blocks 2, Coset, Plaintext M) are stored in the storage areas of memory data numbers 1 to 5 (memory data MC).<sub>e </sub>1)。
【0229】
[Table 47]
<img file="JPH1039751A_D0080.tif" />Subsequently, the plaintext division processing unit performs the division processing of the plaintext M. That is, from the beginning of the plaintext message M of data number 5, two blocks corresponding to the original two dimensional components of the Eisenstein field within the coset range of data number 4 are cut out and converted to data numbers 6 and 7. Store and store the remaining cut out message M'in data number 4 (memory data MC<sub>e </sub>2)。
【0230】
[Table 48]
<img file="JPH1039751A_D0081.tif" />Next, the encryption processing unit performs encryption processing of the plaintext block. That is, [Number 53]
(C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>) mod N<sub>e </sub>Encrypt by. (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers. Also, the cubic modulo symbol [Number 54]
<img file="JPH1039751A_D0082.tif" />Is calculated and stored in data numbers 8, 9, 10, 11 and 12 respectively (memory data MC<sub>e </sub>3)。
【0231】
[Table 49]
<img file="JPH1039751A_D0083.tif" />Then, the created ciphertext is transmitted in the ciphertext transmission unit. That is, data numbers 8, 9, 10, 11 and 12 (C)<sub>0 </sub>, C<sub>1 </sub>), C and (B<sub>0</sub>, B<sub>1 </sub>) To the recipient. If no message remains in data number 5, the process ends. If there are still messages left, the process returns to the plaintext division process and the encryption process ends.
【0232】
Next, the memory operation in the decoding process using the Eisenstein field will be described with reference to the flowchart shown in FIG.
【0233】
First, the data input section is the input data (public key 1 N)<sub>e </sub>, Public key 2 3<sub>e </sub>, Private key 1 (1) P<sub>e </sub>, Private key 1 (2) Q<sub>e </sub>, Number of blocks 2, Cosets, Ciphertext block C<sub>0 </sub>, Ciphertext block C<sub>1 </sub>, Third-order modulo symbols c, B<sub>0 </sub>, B<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 11 (memory data MD).<sub>e </sub>1)。
【0234】
[Table 50]
<img file="JPH1039751A_D0084.tif" />Subsequently, the first decoding processing unit performs the decoding process (1). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>3 </sup>+ 3Bx<sup>2 </sup>+ 3B<sup>2 </sup>xE 0 mod P<sub>e</sub>Solution M<sub>Pe</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And store it in data numbers 12 and 13 (memory data MD<sub>e </sub>2)。
【0235】
[Table 51]
<img file="JPH1039751A_D0085.tif" />Further, the decoding process (2) is performed in the second decoding processing unit. That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>3 </sup>+ 3Bx<sup>2 </sup>+ 3B<sup>2 </sup>xE 0 mod Q<sub>e</sub>Solution M<sub>Qe</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And store it in data numbers 14 and 15 (memory data MD<sub>e </sub>3)。
【0236】
[Table 52]
<img file="JPH1039751A_D0086.tif" />Further, the decoding process (3) is further performed in the third decoding processing unit. That is, for the plaintexts of data numbers 12, 13 and 14,15, the divided plaintexts (M) using the Chinese Remainder Theorem.<sub>0 </sub>, M<sub>1 </sub>). The cubic modulo symbol is calculated for the result and collated with c of data number 9 to verify the validity of the solution. If the validity is satisfied, it is stored in data numbers 16 and 17. If the legitimacy is not satisfied, the decryption process (3) is performed on other candidates (memory data MD).<sub>e </sub>4)。
【0237】
[Table 53]
<img file="JPH1039751A_D0087.tif" />Subsequently, the plaintext integration processing unit performs the plaintext integration processing. That is, two decrypted plaintext blocks of data numbers 16 and 17 are concatenated, and the bit string thereof is concatenated at the end of data number 18 to end the decoding process (memory data MD).<sub>e </sub>5)。
【0238】
[Table 54]
<img file="JPH1039751A_D0088.tif" />Next, the memory operation in the authentication statement generation process using the Eisenstein font will be described with reference to the flowchart shown in FIG. 33.
【0239】
First, the data input section is the input data (public key 1 N)<sub>e </sub>, Public key 2 3<sub>e </sub>, Private key 1 (1) P<sub>e </sub>, Private key 1 (2) Q<sub>e </sub>, Number of blocks 2, Coset, Authentication statement M) are stored in the storage areas of memory data numbers 1, ~, 7 (memory data MA).<sub>e </sub>1)。
【0240】
[Table 55]
<img file="JPH1039751A_D0089.tif" />Subsequently, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement is hashed by the hash function h, and the result is used as the hashing authenticator h (M) and stored in data number 8 (memory data MA).<sub>e </sub>2)。
【0241】
[Table 56]
<img file="JPH1039751A_D0090.tif" />Next, the authenticator division processing unit performs the authenticator division processing. That is, from the beginning of the authenticator h (M) of data number 8, two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder of data number 6 are cut out, and data number 9, Store in 10 and store the remaining excised authenticator h (M)'in data number 8 (memory data MA).<sub>e </sub>3)。
【0242】
[Table 57]
<img file="JPH1039751A_D0091.tif" />Further, the authenticator encryption processing unit performs encryption processing of the divided authenticator block. That is, the sender's private key P<sub>e </sub>, Q<sub>e </sub>Using the equation x<sup>2 </sup>-h (M) 0 (mod N)<sub>e </sub>) One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>) Is obtained and stored in data numbers 11 and 12.
【0243】
Here, if the solution of the equation does not exist, M = M + γ, (γ is a certain number), stores it in data number 7, and returns to the authentication statement hashing process (memory data MA).<sub>e </sub>4)。
【0244】
[Table 58]
<img file="JPH1039751A_D0092.tif" />Then, the created ciphertext is transmitted in the ciphertext transmission unit. That is, the encryption authenticator with data numbers 11 and 12 is transmitted. If there is no certifier remaining in data number 8, the authentication statement of data number 7 is finally sent to end the process. If there are still authenticators, the process returns to the authenticator division process and the certificate statement generation process ends.
【0245】
Next, the authentication text decoding process using the Eisenstein font will be described with reference to the flowchart shown in FIG. 34.
【0246】
First, the data input section is the input data (public key 1 N)<sub>e </sub>, Public key 2 3<sub>e </sub>, Number of blocks 2, Coset, Certificate M, Encrypted authenticator block h (C)<sub>0 </sub>, Cryptographic authenticator block h (C)<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 7 (memory data MAD).<sub>e </sub>1)。
【0247】
[Table 59]
<img file="JPH1039751A_D0093.tif" />Subsequently, the authenticator decryption processing unit performs decryption processing of the encrypted authenticator. That is, the two block ciphers of data numbers 6 and 7 are decrypted by the following cube operation, and the result is stored in data numbers 8 to 9 (memory data MAD).<sub>e </sub>2)。
【0248】
[Number 55]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>3 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>e</sub>[Table 60]
<img file="JPH1039751A_D0094.tif" />Next, the authenticator integration processing unit performs the authenticator integration processing. That is, the two decrypted authenticator blocks of data numbers 8 and 9 are concatenated, and the bit string thereof is concatenated at the end of data number 10. As long as there is an encryption authenticator, the decryption and integration process is repeated (memory data MD).<sub>e </sub>3)。
【0249】
[Table 61]
<img file="JPH1039751A_D0095.tif" />Further, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement of data number 5 is hashed by the hash function h, and the result h (M)'is stored in data number 11 (memory data MAD).<sub>e </sub>4)。
[Table 62]
<img file="JPH1039751A_D0096.tif" />Furthermore, the authentication confirmation processing unit performs the authentication confirmation processing. That is, if the integrated authenticator of data number 10 and the hashed authentication statement h (M)'of data number 11 match, the authentication success is output, and if they do not match, the authentication failure is output and the authentication statement decryption process is performed. To finish.
【0250】
Next, the memory operation in the key generation process using the Gaussian body will be described with reference to the flowchart shown in FIG. 35.
【0251】
First, the input part is the input data (reasonable prime number p<sub>g </sub>However, p<sub>g </sub> 1 (mod 4), rational prime q<sub>g </sub>However, q<sub>g </sub> 1 (mod 4)) is stored in the storage areas of memory data numbers 1 and 2, respectively (memory data MK).<sub>g </sub>1)。
【0252】
[Table 63]
<img file="JPH1039751A_D0097.tif" />Subsequently, the decomposition prime number calculation unit calculates the decomposition prime number. That is, the order p given to data number 1.<sub>g </sub>Against p<sub>g </sub>= a<sup>2 </sup>+ b<sup>2</sup>Find a set of rational prime numbers (a, b) that satisfies the condition under any of the following conditions.
【0253】
a1 (mod 4), b0 (mod 4) a 3 (mod 4), b 2 (mod 4) P<sub>g </sub>= (a + ρb) is a prime number in Gaussian field and is the secret key 1. Store it in data number 3. Data number 2 q<sub>g </sub>Similarly for Q<sub>g </sub>Find = (c + ρd) and store it in data number 4 (memory data MK<sub>g </sub>2)。
【0254】
[Table 64]
<img file="JPH1039751A_D0098.tif" />Further, the public key 1 generation processing unit performs the public key 1 generation processing. That is, the product of two prime numbers of data numbers 3 and 4 is taken, used as public key 1, and stored in data number 5 (memory data MK).<sub>g </sub>3)。
【0255】
[Table 65]
<img file="JPH1039751A_D0099.tif" />Next, the memory operation in the encryption process using the first Gaussian body will be described with reference to the flowchart shown in FIG.
【0256】
First, the input section is the input data (public key 1 N)<sub>g </sub>, Public key 1 4<sub>g </sub>, Number of blocks 2, Coset, Plaintext M) are stored in the storage areas of memory data numbers 1, ~, 5 (memory data MC).<sub>g </sub>1)。
【0257】
[Table 66]
<img file="JPH1039751A_D0100.tif" />Subsequently, the plaintext division processing unit performs the division processing of the plaintext M. That is, two blocks corresponding to the original two dimensional components of the Gaussian body within the coset range of data number 4 are cut out from the beginning of the plaintext message M of data number 5 and stored in data numbers 6 and 7. Then, in the data number 4, the remaining message M'that has been cut out is stored (memory data MC).<sub>g </sub>2)。
【0258】
[Table 67]
<img file="JPH1039751A_D0101.tif" />Next, the encryption processing unit performs encryption processing of the plaintext block. That is, the plaintext blocks of data numbers 6 and 7 are expressed in the expression. [Number 56]
(C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>-B<sub>1 </sub>, M<sub>1 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>) (M<sub>0 </sub>+ B<sub>0 </sub>+ B<sub>1 </sub>, M<sub>1 </sub>-B<sub>0 </sub>+ B<sub>1 </sub>) mod N<sub>g </sub>Encrypt by. (B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers. Also, the fourth power modulo symbol [Number 57]
<img file="JPH1039751A_D0102.tif" />Is calculated and stored in data numbers 8, 9, 10, 11 and 12 respectively (memory data MC<sub>g </sub>3)。
【0259】
[Table 68]
<img file="JPH1039751A_D0103.tif" />Then, the created ciphertext is transmitted in the ciphertext transmission unit. That is, data numbers 8, 9, 10, 11 and 12 (C)<sub>0 </sub>, C<sub>1 </sub>), C and (B<sub>0</sub>, B<sub>1 </sub>) To the recipient. If no message remains in data number 5, the process ends. If there are still messages left, the process returns to the plaintext division process and the encryption process ends.
【0260】
Next, the memory operation in the decryption process of the ciphertext using the first Gaussian body will be described with reference to the flowchart shown in FIG. 37. First, the data input section is the input data (public key 1 N)<sub>g </sub>, Public key 2 3<sub>g </sub>, Private key 1 (1) P<sub>g </sub>, Private key 1 (2) Q<sub>g </sub>, Number of blocks 2, Cosets, Ciphertext block C<sub>0 </sub>, Ciphertext block C<sub>1 </sub>, 4th power modulo symbols c, B<sub>0 </sub>, B<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 11 (memory data MD).<sub>g </sub>1)。
【0261】
[Table 69]
<img file="JPH1039751A_D0104.tif" />Subsequently, the first decoding processing unit performs the decoding process (1). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation [Number 58]
x<sup>4 </sup>+ 4Bx<sup>3 </sup>+ 6B<sup>2 </sup>x<sup>2 </sup>+ 4B<sup>3 </sup>xE 0 mod P<sub>g</sub>Solution M<sub>Pg</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And store it in data numbers 12 and 13 (memory data MD<sub>g </sub>2)。
【0262】
[Table 70]
<img file="JPH1039751A_D0105.tif" />Subsequently, the second decoding processing unit performs the decoding process (2). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation [Number 59]
x<sup>4 </sup>+ 4Bx<sup>3 </sup>+ 6B<sup>2 </sup>x<sup>2 </sup>+ 4B<sup>3 </sup>xE 0 mod Q<sub>g</sub>Solution M<sub>Qg</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And store it in data numbers 14 and 15 (memory data MD<sub>g </sub>3)。
【0263】
[Table 71]
<img file="JPH1039751A_D0106.tif" />Further, the third decoding processing unit performs the decoding process (3). That is, for the plaintexts of data numbers 12, 13 and 14,15, the divided plaintexts (M) using the Chinese Remainder Theorem.<sub>0 </sub>, M<sub>1 </sub>). The fourth-order modulo symbol is calculated for the result and collated with c of data number 9 to verify the validity of the solution. If the validity is satisfied, it is stored in data numbers 16 and 17. If the legitimacy is not satisfied, the decryption process (3) is performed on other candidates (memory data MD).<sub>g </sub>4)。
【0264】
[Table 72]
<img file="JPH1039751A_D0107.tif" />Next, the plaintext integration processing unit performs the plaintext integration processing. That is, two decrypted plaintext blocks of data numbers 16 and 17 are concatenated, the bit string is concatenated at the end of data number 18, and the decoding process is completed (memory data MD).<sub>g </sub>5)。
【0265】
[Table 73]
<img file="JPH1039751A_D0108.tif" />Next, the memory operation in the authentication statement generation process using the first Gaussian body will be described with reference to the flowchart shown in FIG. 38.
【0266】
First, the data input section is the input data (public key 1 N)<sub>g </sub>, Public key 2 4<sub>g </sub>, Private key 1 (1) P<sub>g </sub>, Private key 1 (2) Q<sub>g </sub>, Number of blocks 2, Coset, Authentication statement M) are stored in the storage areas of memory data numbers 1, ~, 7 (memory data MA).<sub>g </sub>1)。
【0267】
[Table 74]
<img file="JPH1039751A_D0109.tif" />Subsequently, the authentication statement hashing processing unit performs hashing of the authentication statement. That is, the authentication statement is hashed by the hash function h, and the result is used as the hashing authenticator h (M) and stored in data number 8 (memory data MA).<sub>g </sub>2)。
【0268】
[Table 75]
<img file="JPH1039751A_D0110.tif" />Next, the authenticator division processing unit performs the authenticator division processing. That is, from the beginning of the authenticator h (M) of data number 8, two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder of data number 6 are cut out, and data number 9, Store in 10 and store the remaining excised authenticator h (M)'in data number 8 (memory data MA).<sub>g </sub>3)。
【0269】
[Table 76]
<img file="JPH1039751A_D0111.tif" />Further, the authenticator encryption processing unit performs encryption processing of the authenticator. That is, the sender's private key P<sub>g </sub>, Q<sub>g </sub>Using the equation x<sup>4 </sup>-h (M) 0 (mod N)<sub>g </sub>) One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>) Is obtained and stored in data numbers 11 and 12.
【0270】
Here, if the solution of the equation does not exist, M = M + γ, (γ is a certain number), stores it in data number 7, and returns to the authentication statement hashing process (memory data MA).<sub>g </sub>4)。
【0271】
[Table 77]
<img file="JPH1039751A_D0112.tif" />Then, the created encryption authenticator is transmitted by the ciphertext transmission unit. That is, the encryption authenticator with data numbers 11 and 12 is transmitted. If there is no certifier remaining in data number 8, the authentication statement of data number 7 is finally sent to end the process. If there are still authenticators, the process returns to the authenticator division process and the certificate statement generation process is repeated.
【0272】
Next, the memory operation in the authentication statement decryption process using the first Gaussian body will be described with reference to the flowchart shown in FIG. 39.
【0273】
First, the data input section is the input data (public key 1 N)<sub>g </sub>, Public key 2 4<sub>g </sub>, Number of blocks 2, Coset, Certificate M, Encrypted authenticator block h (C)<sub>0 </sub>, Cryptographic authenticator block h (C)<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 7 (memory data MAD).<sub>g </sub>1)。
【0274】
[Table 78]
<img file="JPH1039751A_D0113.tif" />Subsequently, the authenticator decryption processing unit performs decryption processing of the encrypted authenticator. That is, the two block ciphers of data numbers 6 and 7 are decrypted by the following square operation, and the result is stored in data numbers 8 to 9 (memory data MAD).<sub>g </sub>2)。
【0275】
[Number 60]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>4 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>g</sub>[Table 79]
<img file="JPH1039751A_D0114.tif" />Next, the authenticator integration processing unit performs the authenticator integration processing. That is, the two decrypted authenticator blocks of data numbers 8 and 9 are concatenated, and the bit string thereof is concatenated at the end of data number 10. Repeat the decryption and integration process as long as there is an encryption authenticator (memory data MAD)<sub>g </sub>3)。
【0276】
[Table 80]
<img file="JPH1039751A_D0115.tif" />Further, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement of data number 5 is hashed by the hash function h, and the result h (M)'is stored in data number 11 (memory data MAD).<sub>g </sub>4)。
[Table 81]
<img file="JPH1039751A_D0116.tif" />Furthermore, the authentication confirmation processing unit performs the authentication confirmation processing. That is, if the integrated authenticator of data number 10 and the hashed authentication statement h (M)'of data number 11 match, the authentication success is output, and if they do not match, the authentication failure is output and the authentication statement decryption process is performed. To finish.
【0277】
Next, the memory operation in the encryption process using the second Gaussian body will be described with reference to the flowchart shown in FIG. 40.
【0278】
First, the data input section is the input data (public key 1N)<sub>G </sub>, Public key 1-4<sub>G </sub>, Number of blocks 2, Coset, Plaintext M) are stored in the storage areas of memory data numbers 1, ~, 5 (memory data MC).<sub>G </sub>1)。
【0279】
[Table 82]
<img file="JPH1039751A_D0117.tif" />Subsequently, the plaintext division processing unit performs the plaintext division processing. That is, two blocks corresponding to the original two dimensional components of the Gaussian body within the coset range of data number 4 are cut out from the beginning of the message M of data number 5 and stored in data numbers 6 and 7. Data number 4 stores the remaining message M'that has been cut out (memory data MC).<sub>G </sub>2)。
【0280】
[Table 83]
<img file="JPH1039751A_D0118.tif" />Next, the encryption processing unit encrypts the plaintext block created by dividing the plaintext M. That is, the plaintext blocks of data numbers 6 and 7 are expressed in the expression. [Number 61]
(C<sub>0 </sub>, C<sub>1 </sub>) (M<sub>0 </sub>, M<sub>1 </sub>) (M<sub>0 </sub>+ 2B<sub>0 </sub>, M<sub>1 </sub>+ 2B<sub>1 </sub>) mod N<sub>G</sub>Encrypt by.
【0281】
(B<sub>0 </sub>, B<sub>1 </sub>) Is a set of integers. Also, the quadratic reciprocity symbol [Number 62]
<img file="JPH1039751A_D0119.tif" />The information δ of the magnitude relation of each component of is calculated and stored in the data numbers 8, 9, 10, 11, 12 and 13 (memory data MC).<sub>G </sub>3)。
【0282】
[Table 84]
<img file="JPH1039751A_D0120.tif" />Then, the created ciphertext is transmitted in the ciphertext transmission unit. That is, the (C) of data numbers 8,9,10,11,12 and 13.<sub>0 </sub>, C<sub>1 </sub>), C, δ and (B<sub>0 </sub>, B<sub>1 </sub>) To the recipient. If no message remains in data number 5, the process ends. If there are still messages left, the process returns to the plaintext division process and the encryption process ends.
【0283】
Next, the memory operation in the decryption process of the ciphertext using the second Gaussian body will be described with reference to the flowchart shown in FIG. 41. First, the data input section is the input data (public key 1 N)<sub>G </sub>, Public key 2 3<sub>G </sub>, Private key 1 (1) P<sub>G </sub>, Private key 1 (2) Q<sub>G </sub>, Number of blocks 2, Cosets, Ciphertext block C<sub>0 </sub>, Ciphertext block C<sub>1 </sub>, Quadratic reciprocity symbols c, B<sub>0 </sub>, B<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 11 (memory data MD).<sub>G </sub>1)。
【0284】
[Table 85]
<img file="JPH1039751A_D0121.tif" />Subsequently, the first decoding processing unit performs the decoding process (1). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>2 </sup>+ 2Bx-E 0 mod P<sub>G</sub>Solution M<sub>PG</sub>= (M<sub>0P</sub>, M<sub>1P</sub>) And store it in data numbers 12 and 13 (memory data MD<sub>G </sub>2)。
【0285】
[Table 86]
<img file="JPH1039751A_D0122.tif" />Subsequently, the second decoding processing unit performs the decoding process (2). That is, the block ciphertext C = (C) with data numbers 7 and 8.<sub>0 </sub>, C<sub>1 </sub>) And B = (B) with data numbers 10,11<sub>0 </sub>, B<sub>1 </sub>), The equation x<sup>2 </sup>+ 2Bx-E 0 mod Q<sub>G</sub>Solution M<sub>QG</sub>= (M<sub>0Q</sub>, M<sub>1Q</sub>) And store it in data numbers 14 and 15 (memory data MD<sub>G </sub>3)。
【0286】
[Table 87]
<img file="JPH1039751A_D0123.tif" />Further, the third decoding processing unit subsequently performs the decoding process (3). That is, for the plaintexts of data numbers 12, 13 and 14,15, the divided plaintexts (M) using the Chinese Remainder Theorem.<sub>0 </sub>, M<sub>1 </sub>). The quadratic reciprocity symbol is calculated for the result and collated with c of data number 9 to verify the validity of the solution. If the validity is satisfied, it is stored in data numbers 16 and 17. If the legitimacy is not satisfied, the decryption process (3) is performed on other candidates (memory data MD).<sub>G </sub>4)。
【0287】
[Table 88]
<img file="JPH1039751A_D0124.tif" />Next, the plaintext integration processing unit performs the plaintext integration processing. That is, two decrypted plaintext blocks of data numbers 16 and 17 are concatenated, and the bit string thereof is concatenated at the end of data number 18 to end the decoding process (memory data MD).<sub>G </sub>5)。
【0288】
[Table 89]
<img file="JPH1039751A_D0125.tif" />Next, the memory operation in the authentication statement generation process using the second Gaussian body will be described with reference to the flowchart shown in FIG. 42.
【0289】
First, the data input section is the input data (public key 1 N)<sub>G </sub>, Public key 2 -4<sub>G </sub>, Private key 1 (1) P<sub>G </sub>, Private key 1 (2) Q<sub>G </sub>, Number of blocks 2, Coset, Authentication statement M) are stored in the storage areas of memory data numbers 1, ~, 7 (memory data MA).<sub>G </sub>1)。
【0290】
[Table 90]
<img file="JPH1039751A_D0126.tif" />Subsequently, the authentication statement hashing processing unit performs hashing of the authentication statement. That is, the authentication statement is hashed by the hash function h, and the result is used as the hashing authenticator h (M) and stored in data number 8 (memory data MA).<sub>G </sub>2)。
【0291】
[Table 91]
<img file="JPH1039751A_D0127.tif" />Next, the authenticator division processing unit performs the authenticator division processing. That is, from the beginning of the authenticator h (M) of data number 8, two blocks corresponding to the original two dimensional components of the secondary body within the range of the remainder of data number 6 are cut out, and data number 9, Store in 10 and store the remaining excised authenticator h (M)'in data number 8 (memory data MA).<sub>G </sub>3)。
【0292】
[Table 92]
<img file="JPH1039751A_D0128.tif" />Further, the authenticator encryption processing unit performs encryption processing of the authenticator. That is, the sender's private key P<sub>G </sub>, Q<sub>G </sub>Using the equation x<sup>2 </sup>-h (M) 0 (mod N<sub>G </sub>) One of the solutions of h (C) = (h (C)<sub>0 </sub>, h (C)<sub>1 </sub>) Obtained and stored in data numbers 11 and 12.
【0293】
Here, if the solution of the equation does not exist, M = M + γ, (γ is a certain number), stores it in data number 7, and returns to the authentication statement hashing process (memory data MA).<sub>G </sub>4)。
【0294】
[Table 93]
<img file="JPH1039751A_D0129.tif" />Then, the created encryption authenticator is transmitted by the ciphertext transmission unit. That is, the encryption authenticator with data numbers 11 and 12 is transmitted. If there is no certifier remaining in data number 8, the authentication statement of data number 7 is finally sent to end the process. If there are still authenticators, the process returns to the authenticator division process and the certificate statement generation process is repeated.
【0295】
Next, the memory operation in the authentication statement decryption process using the second Gaussian body will be described with reference to the flowchart shown in FIG. 43.
【0296】
First, the data input section is the input data (public key 1 N)<sub>G </sub>, Public key 2 -4<sub>G </sub>, Number of blocks 2, Coset, Certificate M, Encrypted authenticator block h (C)<sub>0 </sub>, Cryptographic authenticator block h (C)<sub>1 </sub>) Is stored in the storage areas of memory data numbers 1, ~, and 7 (memory data MAD).<sub>G </sub>1)。
【0297】
[Table 94]
<img file="JPH1039751A_D0130.tif" />Subsequently, the authenticator decryption processing unit performs decryption processing of the encrypted authenticator. That is, the two block ciphers of data numbers 6 and 7 are decrypted by the following square operation, and the result is stored in data numbers 8 to 9 (memory data MAD).<sub>G </sub>2)。
【0298】
[Number 63]
(h (C)<sub>0 </sub>, h (C)<sub>1 </sub>)<sup>2 </sup> (h (M)<sub>0 </sub>, h (M)<sub>1 </sub>) mod N<sub>G</sub>[Table 95]
<img file="JPH1039751A_D0131.tif" />Next, the authenticator integration processing unit performs the authenticator integration processing. That is, the two decrypted authenticator blocks of data numbers 8 and 9 are concatenated, and the bit string thereof is concatenated at the end of data number 10. Repeat the decryption and integration process as long as there is an encryption authenticator (memory data MAD)<sub>G </sub>3)。
【0299】
[Table 96]
<img file="JPH1039751A_D0132.tif" />Further, the authentication statement hashing processing unit performs hashing processing of the authentication statement. That is, the authentication statement of data number 5 is hashed by the hash function h, and the result h (M)'is stored in data number 11 (memory data MAD).<sub>G </sub>4)。
[Table 97]
<img file="JPH1039751A_D0133.tif" />Furthermore, the authentication confirmation processing unit performs the authentication confirmation processing. That is, if the integrated authenticator of data number 10 and the hashed authentication statement h (M)'of data number 11 match, the authentication success is output, and if they do not match, the authentication failure is output and the authentication statement decryption process is performed. To finish.
【0300】
[Effect of the invention]
As described above, according to the present invention, the following effects can be obtained.
【0301】
1. Rabin cryptosystem is weak against broadcast communication attack, which is one of the most powerful cryptographic attacks at present. On the other hand, since the broadcast communication attack cannot be applied to the encryption on the extension field of the present invention, sufficient security strength can be obtained.
【0302】
2. Since the public key cryptography of the present invention can be seen as an extension of the Rabin type cryptography, it is expected to be applied as an elemental technology of electronic money. In particular, it can be applied to fraud detection technology for electronic money.
【0303】
3. The number of multiplications in the encryption algorithm specifically shown in the present invention can be calculated. As a result, the encryption speed is higher than that of the Rabin cryptosystem on the elliptic curve, and when the extension field is quadratic, the encryption speed is about the same as that of the conventional Rabin cryptosystem.
【0304】
4. By using an encryption device having the above-mentioned advantages as an authentication device, the device configuration can be simplified because it can be used symmetrically for both encryption and authentication.
【0305】
5. Use this method to increase the confidentiality of data, images, and audio in broadcast data communication from the head office to multiple branch offices, video conferencing between multiple points, and communication by wire or wireless telephone. By performing encryption, it is possible to perform communication with increased strength against broadcast communication attacks as compared with the conventional method.
【0306】
6. Security used in networks such as the Internet In encrypted communication such as electronic mail, the strength against broadcast communication attacks can be increased by replacing the encrypted part with this device.
【0307】
7. In network management, by using this encryption and authentication device, it is possible to design a network management protocol that is resistant to broadcast communication attacks.
【0308】
8. By using this encryption device and authentication device in electronic transactions conducted using a network, it is possible to improve the security in the encryption of transaction data and the personal authentication of the transaction person.
[Simple explanation of drawings]
[Figure 1]
It is a block diagram which shows the structure of the system including the encryption / decryption processing part and the key generation processing part which concerns on this invention.
[Figure 2]
It is a block diagram which shows the structure of the authentication system which concerns on this invention.
[Fig. 3]
It is a figure for demonstrating the outline of this invention.
[Fig. 4]
It is a flowchart which shows the function of the prime ideal (secret key) generation processing part of the cyclotomic field which concerns on this invention.
[Fig. 5]
It is a flowchart which shows the function of the prime ideal (secret key) generation processing part of the quadratic field which concerns on this invention.
[Fig. 6]
It is a flowchart which shows the function of the prime ideal generation processing part of the Eisenstein body which concerns on this invention.
[Fig. 7]
It is a flowchart which shows the function of the element ideal generation processing part of the Gauss body which concerns on this invention.
[Fig. 8]
It is a flowchart which shows the function of the plaintext division processing part which concerns on this invention.
[Fig. 9]
It is a figure which shows the structure of the encryption / decryption processing part (multiplication / square operation) which concerns on this invention.
[Fig. 10]
It is a figure which shows the encryption circuit (the 1) of the Eisenstein body which concerns on this invention.
[Fig. 11]
It is a figure which shows the encryption circuit (2) of the Eisenstein body which concerns on this invention.
[Fig. 12]
It is a flowchart for demonstrating the Chinese remainder theorem which concerns on this invention.
[Fig. 13]
It is a flowchart which shows the solution procedure of the polynomial on the finite field which concerns on this invention.
[Fig. 14]
It is a flowchart which shows the calculation procedure of the cube residue symbol which concerns on this invention.
[Fig. 15]
It is a flowchart which shows the calculation procedure of the 4th power residue symbol which concerns on this invention.
[Fig. 16]
It is a flowchart which shows the calculation procedure of the quadratic reciprocity symbol which concerns on this invention.
[Fig. 17]
It is a selection table of the plain text decoded by the cubic remainder symbol which concerns on this invention.
[Fig. 18]
It is a selection table of plaintext decoded from the fourth power residue symbol which concerns on this invention.
[Fig. 19]
It is a plaintext selection table decoded by the quadratic reciprocity symbol according to the present invention.
[Fig. 20]
It is a flowchart explaining the memory operation in the key generation processing (cyclotomic field) which concerns on this invention together with the structure.
[Fig. 21]
It is a flowchart explaining the memory operation in the encryption process (cyclotomic field) which concerns on this invention together with the structure.
[Fig. 22]
It is a flowchart explaining the memory operation in the decoding process (cyclotomic field) which concerns on this invention together with the structure.
[Fig. 23]
It is a flowchart explaining the memory operation in the authentication sentence generation process (cyclotomic field) which concerns on this invention together with the structure.
[Fig. 24]
It is a flowchart explaining the memory operation in the authentication sentence decoding process (cyclotomic field) which concerns on this invention together with the structure.
[Fig. 25]
It is a flowchart explaining the memory operation in the key generation processing (quadratic field) which concerns on this invention together with the structure.
[Fig. 26]
It is a flowchart explaining the memory operation in the encryption process (quadratic field) which concerns on this invention together with the structure.
[Fig. 27]
It is a flowchart explaining the memory operation in the decoding process (quadratic field) which concerns on this invention together with the structure.
[Fig. 28]
It is a flowchart explaining the memory operation in the authentication statement generation processing (quadratic field) which concerns on this invention together with the structure.
[Fig. 29]
It is a flowchart explaining the memory operation in the authentication sentence decoding process (quadratic field) which concerns on this invention together with the structure.
[Fig. 30]
It is a flowchart explaining the memory operation in the key generation processing (Eisenstein body) which concerns on this invention together with the structure.
[Fig. 31]
It is a flowchart explaining the memory operation in the encryption process (Eisenstein body) which concerns on this invention together with the structure.
[Fig. 32]
It is a flowchart explaining the memory operation in the decoding process (Eisenstein body) which concerns on this invention together with the structure.
[Fig. 33]
It is a flowchart explaining the memory operation in the authentication statement generation processing (Eisenstein body) which concerns on this invention together with the structure.
[Fig. 34]
It is a flowchart explaining the memory operation in the authentication sentence decoding process (Eisenstein body) which concerns on this invention together with the structure.
[Fig. 35]
It is a flowchart explaining the memory operation in the key generation processing (Gauss body) which concerns on this invention together with the structure.
[Fig. 36]
It is a flowchart explaining the memory operation in the encryption process (1st Gauss body) which concerns on this invention together with the structure.
[Fig. 37]
It is a flowchart explaining the memory operation in the decoding process (1st Gauss body) which concerns on this invention together with the structure.
[Fig. 38]
It is a flowchart explaining the memory operation in the authentication statement generation process (the first Gauss body) which concerns on this invention together with the structure.
[Fig. 39]
It is a flowchart explaining the memory operation in the authentication sentence decoding process (1st Gauss body) which concerns on this invention together with the structure.
[Fig. 40]
It is a flowchart explaining the memory operation in the encryption process (second Gauss body) which concerns on this invention together with the structure.
[Fig. 41]
It is a flowchart explaining the memory operation in the decoding process (second Gauss body) which concerns on this invention together with the structure.
[Fig. 42]
It is a flowchart explaining the memory operation in the authentication statement generation processing (second Gauss body) which concerns on this invention together with the structure.
[Fig. 43]
It is a flowchart explaining the memory operation in the authentication sentence decoding process (second Gauss body) which concerns on this invention together with the structure.
[Explanation of symbols]
1,4 Key generation processing unit 2,5 transmitter 3,6 Receiver 21 Data entry section 23 Plaintext division processing unit 25 Encryption processing unit 31 Decryption processing unit 33 Plaintext Integrated Processing Department 51 Data entry section 53 Authentication statement hashing processing unit 55 Authenticator split processing unit 57 Authenticator encryption processing unit 61 Authenticator decryption processing unit 63 Authenticator integrated processing unit 65 Authentication statement hashing processing unit 67 Authentication Confirmation Processing Department
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2022407719A1 | Cited by | United States of America | Search report |
| US12149606B2 | Cited by | United States of America | Search report |
| CN114978603A | Cited by | China | Search report |
| CN106936563A | Cited by | China | Search report |
| CN117873120A | Cited by | China | Search report |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 20925396 | Japan | A | |
| JP19960209253 | – | – | – |
Numbers
- Publication
- 10-39751
- Publication, DOCDB
- H1039751
- Publication, EPODOC
- JPH1039751
- Application
- 8209253
- Application, DOCDB
- 20925396
- Application, EPODOC
- JP19960209253
Titles2
- Japanese
- 【発明の名称】公開鍵暗号による通信および認証方法、ならびにそれらの装置
- English
- [Title of the Invention] Communication and authentication methods using public key cryptography, and their devices.
Classification
- IPC, 4
- H04L9 08
- G09C1 00
- H04L9 30
- H04L9 32