JP3292107B2 - 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置 - Google Patents

2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置

Info

Publication number
JP3292107B2
JP3292107B2 JP23252897A JP23252897A JP3292107B2 JP 3292107 B2 JP3292107 B2 JP 3292107B2 JP 23252897 A JP23252897 A JP 23252897A JP 23252897 A JP23252897 A JP 23252897A JP 3292107 B2 JP3292107 B2 JP 3292107B2
Authority
JP
Japan
Prior art keywords
double vector
storage means
parameter
double
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP23252897A
Other languages
English (en)
Other versions
JPH1173105A (ja
Inventor
正剛 有田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP23252897A priority Critical patent/JP3292107B2/ja
Priority to CA002246421A priority patent/CA2246421C/en
Priority to DE69833352T priority patent/DE69833352T2/de
Priority to EP98250304A priority patent/EP0899907B1/en
Priority to US09/143,578 priority patent/US6560336B1/en
Publication of JPH1173105A publication Critical patent/JPH1173105A/ja
Application granted granted Critical
Publication of JP3292107B2 publication Critical patent/JP3292107B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術の分野】本発明は、情報セキュリテ
ィ技術としての暗号技術に関し、特に、通信網の利用者
が公開鍵を用いて秘密鍵を共有する方法である公開鍵配
送法、通信網の利用者が公開鍵を用いて相互に秘密通信
を行なう方法であるエルガマル型暗号および通信網の利
用者が通信文の内容や作成者を認証する方法である電子
署名の一方式であるエルガマル型認証等の公開鍵暗号シ
ステム及びこれに用いられる2重ベクトル整数倍装置等
に関する。
【0002】
【従来の技術】公開された通信網において秘密情報をや
りとりする公開鍵暗号方式に属する種々の技術では、有
限体GF(p)上での離散対数問題が難しいことに、そ
の安全性の根拠をおいているものが多い。
【0003】例えば、ディフィ(Diffie)とヘル
マン(Hellman)が1976年にダブリュ・ディ
フィ、エム・ヘルマン、ニュウ・ディレクションズ・イ
ン・クリプトグラフィ、アイイーイー・トランス・イン
フ・セオリ,IT−22,6,644−654頁(W.
Diffie,M.Hellman,New dire
ctions in cryptography,IE
EE Trans.Inf.Theory,IT−2
2,6,pp.644−654)において提案したDH
型公開鍵配送法や、エルガマル(El−Gamal)
が、ティー・イー・エルガマル、ア・パブリック・キィ
ー・クリプトシステム・アンド・ア・シグナチャー・ス
キーム・ベイスド・オン・ディスクリート・ロガリズ
ム、プロック・クリプト84、1984(T.E.El
Gamal,A Public key crypto
system and a signature sc
heme based on dis−crete l
ogarithm,Proc.Crypto 84,1
984)において提案したエルガマル暗号およびエルガ
マル署名は、有限体GF(p)上での離散対数問題が難
しいことに安全性の根拠をおいている。
【0004】有限体GF(p)上での離散対数問題を説
明する。pを素数とし、0以上でpより小さい整数
{0,1,…,p−1}をpを法として演算する体系G
F(p)を考える。いま、Y=αX mod p(1≦
X≦p−1)とする。ここで、αはGF(p)のある固
定された原始根である。すなわち、αの巾乗でGF
(p)の零でない元すべて1,2,…,p−1を表すこ
とができる。このとき、Xを、GF(p)上の、αを底
とするYの対数と呼ぶ。XからYを計算するのは容易で
あり、2log2X 回の乗算で済む。逆に、YからX
を計算するのは、現在知られている最良のアルゴリズム
を用いても、非常に難しい。その計算量はpと同程度の
大きさの合成数を素因数分解する計算量とほぼ同じであ
る。YからXを計算する問題を離散対数問題と呼ぶ。
【0005】DH型公開鍵配送法では、上記離散対数問
題を解くことが困難であることを利用して、つぎのよう
にして、利用者Aと利用者Bの間で、公開された通信網
を利用しながらも第3者に知られることなく秘密情報で
ある共有鍵Kを共有することができる。まず、素数pと
原始根αの値は公開情報として前もって全員に知らせて
おく。まずAは[0,p−1]間の整数XA をランダム
に選び、秘密に保持しておく。Bも[0,p−1]間の
整数XB をランダムに選び、秘密に保持しておく。そし
て、AはYA =αXAmod p(1≦YA ≦p−1)を
計算し、YA をBに送る。BはYB =αXBmod p
(1≦YB ≦p−1)を計算し、YB をAに送る。この
ようにYA とYB を交換してから、Aは共有鍵Kを次の
ように計算する。
【0006】 K=YB XA mod p=(αXBmod p)XA mod p =αXAXB mod p(1≦K≦p−1) Bも同様にして共有鍵Kを次のように計算する。
【0007】 K=YA XB mod p=(αXAmod p)XB mod p =αXAXB mod p(1≦K≦p−1) 以上の方法でAとBは鍵K=αXAXBmod pを秘密に
共有できた。
【0008】以後、利用者Aと利用者Bは共有鍵Kによ
って秘密通信を行なうことができる。上記の手順におい
て、公開された通信網を流れる情報はYA とYB のみで
あり、これらから秘密情報であるXA やXB を求めるに
は離散対数問題を解く必要があるので、離散対数問題が
困難であるという前提においては、共有鍵Kが第3者に
知られることはない。
【0009】また、エルガマル暗号では、離散対数問題
を解くことが困難であることを利用して、つぎのように
して、公開された通信網において秘密通信を行なうこと
ができる。素数pと原始根αの値は公開情報として前も
って全員に知らせておく。各利用者Uは整数XU を任意
に選び秘密に保持しておく。さらに、各利用者UはYU
=αXUmod p(1≦YU ≦p−1)を計算し、公開
鍵として各利用者に通知する。利用者Aが利用者Bに平
文Mを秘密通信する場合を考える。まず、利用者Aは自
分だけが知っている乱数kと利用者Bの公開鍵YB を用
いて次の2組の暗号文C1 ,C2 を作成する。
【0010】C1 =αk mod p C2 =M・YB k mod p つぎに、利用者Aは利用者Bに暗号文C1 ,C2 を送
る。暗号文を受信した利用者Bは、自分だけが知ってい
る整数XB を用いて次式を計算して平文Mを得る。
【0011】M=C1 -XB・C2 mod p このように、エルガマル暗号においては、公開された通
信網を流れる情報はC1 とC2 のみであり、これらから
秘密情報であるkやMを求めるには離散対数問題を解く
必要があるので、離散対数問題が困難であるという前提
において、秘密通信が実現される。
【0012】また、エルガマル署名では、離散対数問題
を解くことが困難であることを利用して、つぎのように
して、電子署名を実現することができる。素数pと原始
根αの値は公開情報として前もって全員に知らせてお
く。証明者Uは署名鍵として整数XU を任意に選び秘密
に保持しておく。さらに、証明者UはYU =αXUmod
p(1≦YU ≦p−1)を計算し、検証鍵として公開す
る。証明者Uの平文Mに対する署名を検証者Vが検証す
る場合を考える。まず、証明者Uは自分だけが知ってい
る乱数kと自身の署名鍵XU を用いて次の2組の署名文
R,Sを作成する。
【0013】R=αk mod p S=(M−XU ・R)k-1 mod p つぎに、証明者Uは検証者Vに平文Mと共に署名文R,
Sを送る。署名文を受信した検証者Vは、証明者Uの検
証鍵YU を用いて次式が成立するか否かを検証する。
【0014】αM =YU R・RS mod p このように、エルガマル署名においては、公開された通
信網を流れる情報はM、RおよびSのみであり、これら
から秘密情報であるXU を求めるには離散対数問題を解
く必要があるので、離散対数問題が困難であるという前
提において、証明者U以外の人物が証明者Uになりすま
すことは困難であり、電子署名が実現される。
【0015】
【本発明が解決しようとする課題】上にみたように、公
開された通信網において秘密情報をやりとりする公開鍵
暗号方式に属する種々の技術には、有限体GF(p)上
での離散対数問題が難しいことにその安全性の根拠をお
いているものが多い。ところが、近年の大型計算機の発
達や各種数学アルゴリズムの発展は、上記有限体GF
(p)上での離散対数問題を比較的少い計算量で解く方
法を種々開発しつつある。その対策として、1024ビ
ット、すなわち10進法で約300桁以上の大きな素数
pを用いることが推奨されているが、約300桁の大き
な素数pに対して有限体GF(p)上での演算を行うた
めには、有限体演算用の大規模な演算回路が必要とな
り、公開鍵暗号方式に属する種々の技術の実用化を妨げ
る要因となっている。
【0016】本発明は、暗号システムを提供するための
演算装置として、有限体の代わりに、有限体の2つの元
の組を複数個並べて得られる2重ベクトルを演算する装
置等を提供し、さらに、より小規模で装置化の容易な公
開鍵暗号方式に属する種々の技術を提供することを目的
とする。
【0017】
【課題を解決するための手段】すでに見たように、公開
鍵暗号方式に属する種々の技術は、有限体、より正確に
は有限体の乗法群の離散対数問題に基づいている。本発
明の原理は、公開鍵暗号方式に属する種々の技術を実現
するために、有限体の乗法群の代りに、有限体上の代数
曲線(以後、単に曲線と呼ぶ)のヤコビアン群を用いる
ことである。
【0018】曲線のヤコビアン群について説明する。任
意の曲線は、種数と呼ばれる、正の整数に値をもつ属性
をもつ。いま、対象とする曲線Cの種数をgとおくと、
曲線C上の勝手なg個の点の集合の間に以下のようにし
て加算を定義することができる。曲線C上のg個の点か
らなる2つの集合X1 ={P11,P12,…,P1g}とX
2 ={P21,P22,…,P2g}をとる。X1 ,X2 に対
して、X1 とX2 に属する全ての点を通る曲線のうち次
数が最小の曲線を曲線Bとする。曲線Bは曲線Cと、X
1 ,X2 に属する点以外にもうg個の点で交わる。その
g個の点をQ1,…,Qg とおく。さらに、g個の点Q
1 ,…,Qg の全てを通る曲線のうち次数が最小の曲線
を曲線Aとすると、曲線Aは、曲線Cとg個の点Q1
…,Qg以外に、もうg個の点R1 ,…,Rg で交わ
る。X1 とX2 の加算結果はY={R1 ,…,Rg }な
る。このようにして加算の定義された、曲線C上の勝手
なg個の点の集合の集合は、有限体GF(p)上の曲線
Cのヤコビアン群と呼ばれ、その要素数、すなわち曲線
C上の勝手なg個の点の集合の個数は、約pg 個であ
る。より数学的に詳細で厳密な説明については、例え
ば、1986年、ジェイ・エイチ・シルバーマン著、デ
ィ・アリスメティック・オブ・エリプティック・カー
ブ、シュプリンガー・フェアラーク(J.H.Silv
erman, TheArithmetic of E
lliptic Curves,Springer−V
erlag,1986)にある。
【0019】暗号学的に十分な強度をもつ、公開鍵暗号
方式に属する種々の技術を実現するには、有限体の乗法
群を用いるにせよ、上記曲線のヤコビアン群を用いるに
せよ、十分な要素数を持つ群を使用しなければならな
い。一般に、有限体GF(p)の乗法群の要素数はp−
1個であるのに対し、有限体GF(p)上の種数gの曲
線のヤコビアン群の要素数は約pg 個である。したがっ
て、有限体の乗法群の代りに、有限体上の種数gの曲線
のヤコビアン群を用いると、暗号学的な強度を同程度の
水準におくとき、すなわち用いる群の要素数を同程度に
設定するとき、用いる有限体GF(p)のpの桁数を、
有限体の乗法群を用いる場合にくらべて、約1/g程度
に小さくすることが可能である。すなわち、本発明によ
る、公開鍵暗号方式に属する種々の技術は、暗号学的な
強度を損なうことなく、より小さな有限体を用いること
ができるので、より安価で小規模な装置によって暗号学
的に十分な強度を達成することができる。
【0020】
【発明の実施の形態】本発明は、有限体の乗法群の代わ
りに、有限体GF(p)上の、種数gの曲線のヤコビア
ン群をもちいる。上に見たように、有限体GF(p)上
の種数gの曲線のヤコビアン群の要素は、曲線上のg個
の点からなる点集合{Q1 ,…,Qg}であり、各点の
座標値を並べた列 ((x(Q1),y(Q1)),(x(Q2),y(Q2)),…,(x(Qg),
y(Qg))) として表現される(ただし、ここでx(Qi )は点Qi
のx座標を表し、y(Qi )は点Qi のy座標を表
す。)。したがって、有限体の2つの元の組を複数個並
べて得られるベクトルを2重ベクトルと呼ぶとき、ヤコ
ビアン群の要素は2重ベクトルによって表され、本発明
による公開鍵暗号方式に属する種々の技術は、有限体上
の2重ベクトルの演算装置によって構成される。
【0021】[2重ベクトル加算装置]本発明の2重ベ
クトル加算装置の実施の形態について説明する。
【0022】本発明の2重ベクトル加算装置は、予め定
められた有限体の2つの元の組を複数個並べて得られる
2重ベクトル2重ベクトルX1 ,X2 をそれぞれ、パラ
メータAが定める曲線上の点の集まりQ1 ,Q2 の座標
値列と見なしたときの、当該点の集まりQ1 ,Q2 の、
パラメータAが定める曲線のヤコビアン群における加算
結果である点の集まりQ3 の座標値列である2重ベクト
ルX3 を演算し、出力するものであり、コンピュータ上
に実現することができる。
【0023】図1に、本発明の2重ベクトル加算装置の
実施の形態を示す。図2に、2重ベクトル加算装置の処
理の流れを示す。図3に、2重ベクトル加算装置におけ
る点集合変換装置の実施の形態を示す。図4に、点集合
変換装置の処理の流れを示す。
【0024】図1の2重ベクトル加算装置は、和集合計
算装置11、点集合変換装置12、メモリ13、入力装
置14、出力装置15、中央処理装置16から構成され
る。
【0025】入力手段14は、2重ベクトルX1 および
2 と一つの曲線を定めるパラメータAを入力する。
【0026】メモリ13は、入力されたX1 を記憶する
1 記憶ファイルと、入力されたX2 を記憶するX2
憶ファイルと、入力されたAを記憶するA記憶ファイル
と、演算されたT1 を記憶するT1 記憶ファイルと、演
算されたT2 を記憶するT2記憶ファイルと有する。
【0027】和集合計算装置11は、X1 記憶ファイル
からX1 を、X2 記憶ファイルからX2 を、A記憶ファ
イルからAを取得し、2重ベクトルX1 、X2 をそれぞ
れ、パラメータAが定める曲線上の点の集まりの座標値
列と見なすとき、上記2つの点の集まりの和集合の座標
値列である2重ベクトルT1 を演算する。
【0028】点集合変換装置12は、T1 記憶ファイル
からT1 を、A記憶ファイルからAを取得し、2重ベク
トルT1 を、パラメータAが定める曲線上の点の集まり
の座標値列と見なすとき、上記点の集まりの、パラメー
タAが定める曲線のヤコビアン群における逆元を表す点
の集まりの座標値列である2重ベクトルT2 を演算す
る。さらに点集合変換装置12は、T2 記憶ファイルか
らT2 を、A記憶ファイルからAを取得し、2重ベクト
ルT2 を、パラメータAが定める曲線上の点の集まりの
座標値列と見なすとき、上記点の集まりの、パラメータ
Aが定める曲線のヤコビアン群における逆元を表す点の
集まりの座標値列である2重ベクトルX3を演算する。
【0029】出力手段15は、演算されたX3 を出力す
る。
【0030】中央処理装置16は、和集合計算装置1
1、点集合変換装置12、メモリ13、入力手段14、
出力手段15を制御する。
【0031】図3に示す点集合変換装置は、共通曲線演
算装置21と、交点集合演算装置22と、差集合演算装
置23と、メモリ24と、入力装置25と、出力装置2
6と、中央処理装置27とから構成される。入力装置2
5は、2重ベクトルT1 と一つの曲線を定めるパラメー
タAを入力する。
【0032】メモリ24は、入力されたT1 を記憶する
1 記憶ファイルと、入力されたAを記憶するA記憶フ
ァイルと、演算されたBを記憶するB記憶ファイルと、
演算されたS1 を記憶するS1 記憶ファイルとを有す
る。
【0033】共通曲線演算装置21は、T1 記憶ファイ
ルからT1 を、A記憶手段からAを取得し、2重ベクト
ルT1 を、パラメータAが定める曲線上の点の集まりの
座標値列と見なすとき、上記点の集まりに含まれる全て
の点を通る曲線のパラメータBを演算する。
【0034】交点集合演算装置22は、B記憶ファイル
からBを、A記憶ファイルからAを取得し、パラメータ
Aの定める曲線とパラメータBの定める曲線との全ての
交点の座標値列である2重ベクトルS1 を演算する。
【0035】差集合演算装置23は、T1 記憶ファイル
からT1 を、S1 記憶ファイルからS1 を取得し、2重
ベクトルT1 およびS1 をそれぞれ、パラメータAが定
める曲線上の点の集まりの座標値列と見なすとき、2重
ベクトルS1 の表す点の集まりから2重ベクトルT1
表す点の集まりに属する点を全て取り除いた点の集まり
の座標値列である2重ベクトルT2 を演算する。
【0036】出力装置26は、演算されたT2 を出力す
る。
【0037】中央処理装置27は、共通曲線演算装置2
1と、交点集合演算装置22と、差集合演算装置23
と、メモリ24と、入力装置25と、出力装置26とを
制御する。
【0038】なお、ここで、中央処理装置27、入力装
置25、出力装置26、メモリ24は、図1の中央処理
装置16、入力装置14、出力装置15、メモリ13を
用いることができる。また、入力装置から入力されたT
1 、Aを用いずに図1のメモリに記憶されているT1
Aを用いることもできる。
【0039】次に図1および図3の2重ベクトル加算装
置の動作を、有限体GF(17)上の曲線y3 =x4
1を用いた場合を例として説明する。
【0040】図1の2重ベクトル加算装置において、位
数17の有限体GF(17)上の2つの2重ベクトルX
1 =((0,1),(1,8),(2,0)),X2
((3,10),(4,8),(5,10))とGF
(17)上の曲線y3 = F(x)=x4 +1を定める
パラメータA=(3,4,−1,0,0,0,0,0,
0,0,0,1,−1)とが入力装置から入力されたと
する。ここで、パラメータAのデータフォーマットは図
5の通りとする。
【0041】まず、中央処理装置は、入力された2重ベ
クトルX1 ,X2 およびパラメータAをメモリ13に一
時的に記憶する。つぎに、中央処理装置16は、X1
憶ファイル、X2 記憶ファイルから、それぞれ2重ベク
トルX1 ,X2 を取得し、和集合計算装置11に入力す
る。和集合計算装置11は2重ベクトルX1 、X2 をそ
れぞれ点の集まりの座標値列とみなし、それらの和集合
を計算する。すなわち、2重ベクトルX1 を点(0,
1),点(1,8),および点(2,0)の3点からな
る集合と見做し、2重ベクトルX2 を点(3,10),
点(4,8),および点(5,10)の3点からなる集
合と見做した上で、その和集合を計算すると、{(0,
1),(1,8),(2,0),(3,10),(4,
8),(5,10)}が得られるので、対応する2重ベ
クトルT1 =((0,1),(1,8),(2,0),
(3,10),(4,8),(5,10))を出力す
る。
【0042】次に、中央処理装置16は、和集合計算装
置11の出力である前記2重ベクトルT1 をメモリ13
に一時的に記憶する。
【0043】次に、中央処理装置は、T1 記憶ファイル
から2重ベクトルT1 を、A記憶ファイルからパラメー
タAを取得し、それらを点集合変換装置12に入力す
る。点集合変換装置12は、以下に示す演算処理によっ
て、前記2重ベクトルT1 をパラメータAが定める曲線
上の点の集まりの座標値列と見なしたとき、対応する点
集合の、パラメータAが定める曲線のヤコビアン群にお
ける逆元に相当する点集合の座標値列である2重ベクト
ルT2 を出力する。
【0044】点集合変換装置12の行なう演算処理を図
3を参照しながら説明する。
【0045】まず、図3において、2重ベクトルT1
パラメータAが入力装置より入力される。つぎに、中央
処理装置27は、入力された2重ベクトルT1 とパラメ
ータAをメモリ24に一時的に記憶する。和集合計算装
置11による演算の結果がメモリ13に記憶されている
場合、これを読み出しても良い。
【0046】つぎに、中央処理装置27は、T1 記憶フ
ァイルからT1 を、A記憶ファイルからAを取得し、共
通曲線演算装置21に入力する。共通曲線演算装置21
は、以下に示す演算処理によって、2重ベクトルT1
表す点集合に含まれる全ての点を重複度を含めて通る曲
線を定めるパラメータBを、図5に示すデータフォーマ
ットで出力する。
【0047】共通曲線演算装置21の行なう演算処理の
流れを図6を参照しながら説明する。図6のステップ6
1において、共通曲線演算装置21は、まず、入力され
たパラメータA=(3,4,−1,0,0,0,0,
0,0,0,0,1,−1)からyの次数3とxの次数
4を読み出し、iを0以上の任意の整数、jを0以上2
以下の任意の整数とするとき、不定元xとyからなる単
項式xi j に対して、その重みを3i+4jと設定す
る。
【0048】次に、共通曲線演算装置21は、図6のス
テップ62において、入力された前記2重ベクトルT1
の表す点集合{(0,1),(1,8),(2,0),
(3,10),(4,8),(5,10)}の要素数を
計算し、要素数6を得て、前記単項式xi j (i≧
0,0≦j≦2)からその重みが小さい方から6+1=
7個まで選択し、{1,x,y,x2 ,xy,y2 ,x
3 }を得て、選択した単項式{1,x,y,x2 ,x
y,y2 ,x3 }の未定係数{a,b,c,d,e,
f,g}による線形結合a+bx+cy+dx2 +ex
y+fy2 +gx3 を構成する。
【0049】次に、共通曲線演算装置21は、図6のス
テップ63において、該線形結合a+bx+cy+dx
2 +exy+fy2 +gx3 に、前記2重ベクトルT1
の表す点集合{(0,1),(1,8),(2,0),
(3,10),(4,8),(5,10)}に含まれる
各点の座標を代入して、連立一次方程式a+c+f=0 a+b+8c+d+8e+13f+g=0 a+2b+4d+8g=0 a+3b+10c+ 9d+13e+15f+10g=0 a+4b+ 8c+16d+15e+13f+13g=0 a+5b+10c+ 8d+16e+15f+ 6g=0 を得る。
【0050】次に、共通曲線演算装置21は、図6のス
テップ64において、上記連立一次方程式を解くことに
より、前記未定係数をa=8,b=4,c=14,d=
4,e=16,f=12,g=13と決定する。
【0051】最後に、共通曲線演算装置21は、図6の
ステップ65において、上記決定された係数(8,4,
14,4,16,12,13)にy,xの次数の情報
(2,3)を前置きしてパラメータB=(2,3,8,
4,14,4,16,12,13)を構成し、出力す
る。共通曲線演算装置21の行なう演算処理の流れの説
明を終える。
【0052】つぎに、図3において、中央処理装置27
は、共通曲線演算装置21の出力であるパラメータBを
メモリ24に一時的に記憶する。つぎに、中央処理装置
27は、B記憶ファイルからパラメータBを、A記憶フ
ァイルからパラメータAを取得し、それらを交点集合演
算装置22に入力する。
【0053】交点集合演算装置22は、以下に示す演算
処理によって、パラメータAが表す曲線とパラメータB
が表す曲線との全ての交点からなる点集合の座標値列で
ある2重ベクトルT2 を出力する。
【0054】交点集合演算装置22の行なう演算処理の
流れを図7を参照しながら説明する。図7のステップ7
1において、交点集合演算装置22は、入力されたパラ
メータA=(3,4,−1,0,0,0,0,0,0,
0,0,1,−1)から曲線の定義方程式f(x,y)
=y3 −x4 −1=0を構成し、入力されたパラメータ
B=(2,3,8,4,14,4,16,12,13)
から曲線の定義方程式g(x,y)=8+4x+14y
+4x2 +16xy+12y2 +13x3 =0を構成
し、f(x,y)とg(x,y)のyに関する終結式を
行列式
【0055】
【数1】
【0056】を展開することによって計算し、多項式s
(x)=16x+2x2 +13x3 +13x4 +10x
5 +2x6 +8x8 +4x9 を得る(終結式の詳細につ
いては、例えば、ファン・デル・ヴェルデン,代数幾何
学入門,シュプリンガー・フェアラーク東京、にあ
る。)。
【0057】次に、交点集合演算装置22は、図7のス
テップ72において、s(x)=0の解x1 =0,x2
=13,x3 =5,x4 =4,x5 =3,x6 =2,x
7 =1,x8 =α1 ,x9 =α2 を全て求める。ただ
し、α1 ,α 2 は2次の既約式16+13x+x2
解である。
【0058】次に、交点集合演算装置22は、図7のス
テップ73において、得られた各解xi に対し、f(x
i ,y)とg(xi ,y)の最大公約式ti (y)を計
算し、方程式ti (y)=0の解y=yi,1 ,… ,y
i,miを全て求める。
【0059】すなわち、i=1のとき、x1 =0なの
で、f(0,y)とg(0,y)の最大公約式を計算
し、16+yを得て、16+y=0の解としてy1,1
=1を得る。i=2のとき、x2 =13なので、f(1
3,y)とg(13,y)の最大公約式を計算し、9+
yを得て、9+y=0の解としてy2,1 =8を得る。i
=3のとき、x3 =5 なので、f(5,y)とg
(5,y)の最大公約式を計算し、7+yを得て、7+
y=0の解としてy3,1 =10を得る。i=4のとき、
4 =4なので、f(4,y)とg(4,y)の最大公
約式を計算し、9+yを得て、9+y=0の解としてy
4,1=8を得る。i=5のとき、x5 =3なので、f
(3,y)とg(3,y)の最大公約式を計算し、7+
yを得て、7+y=0の解としてy5,1 =10を得る。
i=6のとき、x6 =2なので、f(2,y)とg
(2,y)の最大公約式を計算し、yを得て、y=0の
解としてy6,1=0を得る。i=7のとき、x7 =1な
ので、f(1,y)とg(1,y)の最大公約式を計算
し、9+yを得て、9+y=0の解としてy7,1 =8を
得る。i=8のとき、x8 =α1 なので、f(α1
y)とg(α1 ,y)の最大公約式を計算し、8+8α
1 +yを得て、8+8α1 +y=0の解としてy8,1
9+9α1 を得る。i=9のとき、x9 =α2 なので、
f(α2 ,y)とg(α2 ,y)の最大公約式を計算
し、8+8α2 +yを得て、8+8α2 +y=0の解と
してy9,1 =9+9α2 を得る。
【0060】最後に、交点集合演算装置22は、図7の
ステップ74において、点集合{(xi ,yi j
|1≦i≦n,1≦j≦mi }の座標値列である2重ベ
クトルS1 =((0,1),(13,8),(5,1
0),(4,8),(3,10),(2,0),(1,
8),(α1 ,9+9α1 ),(α2 ,9+9α2 ))
を出力する。交点集合演算装置22の行なう演算処理の
説明を終える。
【0061】つぎに、図3において、中央処理装置27
は、交点集合演算装置22の出力である2重ベクトルS
1 をメモリ24に一時的に記憶する。つぎに、中央処理
装置27は、T1 記憶ファイルから2重ベクトルT
1 を、S1 記憶ファイルから2重ベクトルS1 を取得
し、それらを差集合演算装置23に入力する。
【0062】差集合演算装置23は、2重ベクトルS1
の表す点集合{(0,1),(13,8),(5,1
0),(4,8),(3,10),(2,0),(1,
8),(α1 ,9+9α1 ),(α2 ,9+9α2 )}
と2重ベクトルT1 の表す点集合{(0,1),(1,
8),(2,0),(3,10),(4,8),(5,
10)}との差集合{(13,8),(α1 ,9+9α
1 ),(α2 ,9+9α2 )}を計算し、その座標値列
である2重ベクトルT2 =((13,8),(α1 ,9
+9α1 ),(α2 ,9+9α2 ))を出力する。
【0063】最後に、中央処理装置27は、2重ベクト
ルT2 を出力装置へ出力する。点集合変換装置12の行
なう演算処理の説明を終える。
【0064】次に、図1において、中央処理装置は、点
集合変換装置12の出力である前記2重ベクトルT2
メモリ24に一時的に記憶する。次に、中央処理装置
は、T2 記憶ファイルから2重ベクトルT2 を、A記憶
ファイルからパラメータAを取得し、それらを再び点集
合変換装置12に入力する。点集合変換装置12は、先
に見たのと全く同様の演算処理によって、前記2重ベク
トルT2 をパラメータAが定める曲線上の点の集まりの
座標値列と見なしたとき、対応する点集合の、パラメー
タAが定める曲線のヤコビアン群における逆元に相当す
る点集合の座標値列である2重ベクトルX3 =((1,
8),(β1 ,14+8β1 ),(β2 ,14+8
β2 ))を出力する。ただし、β1 ,β 2 は2次の既
約式 14+10x+x2 の解である。
【0065】最後に、中央処理装置は、2重ベクトルX
3 を出力装置へ出力する。以上で、本発明の2重ベクト
ル加算装置の実施の形態の説明を終える。
【0066】[2重ベクトル2倍装置]本発明の2重ベ
クトル2倍装置の実施の形態について説明する。
【0067】本発明の2重ベクトル2倍装置は、予め定
められた有限体上の2重ベクトルXを、パラメータAが
定める曲線上の点の集まりQの座標値列と見なしたとき
の、当該点の集まりQの、パラメータAが定める曲線の
ヤコビアン群における2倍である点の集まりRの座標値
列である2重ベクトルYを演算し、出力するものであり
コンピュータ上に実現することができる。
【0068】図8に、本発明の2重ベクトル2倍装置の
実施の形態を示す。図9に、本発明の2重ベクトル2倍
装置の処理の流れを示す。
【0069】本発明の2重ベクトル2倍装置は、2重ベ
クトル加算装置31と、メモリ32と、入力装置33
と、出力装置34と、中央処理装置35とから構成され
る。
【0070】2重ベクトル加算装置31は、上述の2重
ベクトル加算装置である。メモリ32は、2重ベクトル
Xを記憶するX記憶ファイルと、2重ベクトルX’を記
憶するX’記憶ファイルを有する。
【0071】なお、入力装置33、出力装置34、中央
処理装置35、メモリ32は、2重ベクトル加算装置の
中央処理装置16、入力装置14、出力装置15、メモ
リ13を用いることができる。
【0072】図8を参照しながら、本発明の2重ベクト
ル2倍装置の動作を例を通して説明する。図8の2重ベ
クトル2倍装置において、位数17の有限体GF(1
7)上の2重ベクトルX=((0,1),(1,8),
(2,0))とGF(17)上の曲線y3 =F(x)=
4 +1を定めるパラメータA=(3,4,−1,0,
0,0,0,0,0,0,0,1,−1)とが入力装置
から入力されたとする。パラメータAのデータフォーマ
ットは図5の通りとする。
【0073】まず、中央処理装置35は、上記2重ベク
トルXとその複製である2重ベクトルX’=Xと上記パ
ラメータAとをメモリ32に一時的に記憶する。
【0074】つぎに、中央処理装置35は、X記憶ファ
イルから2重ベクトルXを、X’記憶ファイルから2重
ベクトルX’を、A記憶ファイルからパラメータAを取
得し、それらを2重ベクトル加算装置31に入力し、2
重ベクトルX2 =((7,11),(11,γ 1 ),
(11,γ 2 ))を得る。ここで、γ1 とγ2 は既約
な2次式x2 +11x+2の解である。最後に、中央処
理装置は、上記2重ベクトルX2 を出力装置へ出力す
る。
【0075】[2重ベクトル整数倍装置]本発明の2重
ベクトル整数倍装置の発明の実施の形態について説明す
る。
【0076】本発明の2重ベクトル整数倍装置は、予め
定められた有限体の2つの元の組を複数個並べて得られ
る2重ベクトルXを、パラメータAが定める曲線上の点
の集まりQの座標値列と見なしたときの、当該点の集ま
りQの、パラメータAが定める曲線のヤコビアン群にお
けるn倍である点の集まりRの座標値列である2重ベク
トルZを演算し、出力するものでありコンピュータ上に
実現することができる。
【0077】図10に、本発明の2重ベクトル整数倍装
置の実施の形態を示す。図11に、本発明の2重ベクト
ル整数倍装置の処理の流れを示す。
【0078】本発明の2重ベクトル整数倍装置は、2重
ベクトル加算装置41と、2重ベクトル2倍装置42
と、メモリ43と、入力装置44と、出力装置45と、
中央処理装置46とから構成される。
【0079】2重ベクトル加算装置41は、上述の2重
ベクトル加算装置である。2重ベクトル2倍装置42は
上述の2重ベクトル2倍装置である。メモリ43は、整
数nを記憶するn記憶ファイルと、2重ベクトルXを記
憶するX記憶ファイルと、2重ベクトルYを記憶するY
記憶ファイルと、2重ベクトルZを記憶するZ記憶ファ
イルと、整数rを記憶するr記憶ファイルとを有する。
【0080】なお、入力装置44、出力装置45、中央
処理装置46、メモリ43は、2重ベクトル加算装置の
中央処理装置16、入力装置14、出力装置15、メモ
リ13を用いることができる。
【0081】次に、本発明の2重ベクトル整数倍装置の
動作について図10、11を用いて説明する。
【0082】まず、入力装置において整数nと2重ベク
トルXと一つの曲線を定めるパラメータAを入力する。
入力された整数nをメモリ43のn記憶ファイルに記憶
し、入力された2重ベクトルXをメモリ43のX記憶フ
ァイルに記憶し、入力されたパラメータAをメモリ43
のA記憶ファイルに記憶に記憶する(ステップ110
1)。
【0083】次に、メモリ43のZ記憶ファイルの初期
値として空の2重ベクトルZを記憶し、入力された2重
ベクトルXのコピーである2重ベクトルYをメモリ43
のY記憶ファイルに記憶する(ステップ1102)。
【0084】次に中央処理装置46は、n記憶ファイル
から整数nを取得し、nを2で割った余りrを求め、こ
れを新たなrとしr記憶ファイルを更新する。同様にn
記憶ファイルから整数nを取得し、nを2で割った商を
求め、これを新たなnとしn記憶ファイルを更新する
(ステップ1103)。
【0085】次に、中央処理装置は、r記憶ファイルか
らrを取得し、rが1か否かを判断する(ステップ11
04)。
【0086】ステップ1104の結果、rが1ならば、
中央処理装置は、Y記憶ファイルから2重ベクトルY
を、Z記憶ファイルからから2重ベクトルZを、A記憶
ファイルからパラメータAを取得し、2重ベクトル加算
装置41に2重ベクトルY、Z及びパラメータAを入力
し、YとZの和を求め、これを新たな2重ベクトルZと
してZ記憶ファイルを更新する(ステップ1105)。
【0087】ステップ1104の結果、rが1でないな
らば、中央処理装置46は、n記憶ファイルからnを取
得し、nが0より大きいか判断する(ステップ110
6)。
【0088】ステップ1106の結果、nが0より大き
いならば、中央処理装置46は、Y記憶ファイルから2
重ベクトルYを、A記憶ファイルからパラメータAを取
得し、2重ベクトル2倍装置42に2重ベクトルYとパ
ラメータAを入力し、2重ベクトルYの2倍を求め、こ
れを新たな2重ベクトルYとしY記憶ファイルを更新
し、ステップ1103にもどる(ステップ1108)。
【0089】ステップ1106の結果、nが0に等しい
ならば、中央処理装置46は、Z記憶ファイルから2重
ベクトルZを取得し出力し処理を終了する(ステップ1
107)。
【0090】図10、11を参照しながら、本発明の2
重ベクトル整数倍装置の実施例を説明する。
【0091】図10の2重ベクトル整数倍装置におい
て、位数17の有限体GF(17)上の2重ベクトルX
={(0,1),(1,8),(2,0)}とGF(1
7)上の曲線y3 =F(x)=x4 +1を定めるパラメ
ータA=(3,4,−1,0,0,0,0,0,0,
0,0,1,−1)と整数n=5とが入力装置より入力
されたとする。パラメータAのデータフォーマットは図
5の通りとする。
【0092】まず、中央処理装置46は、2重ベクトル
Xと、Xのコピーである2重ベクトルYと、空の2重ベ
クトルZと、パラメータAと整数nをメモリ43に一時
的に記憶する(ステップ1101、1102)。
【0093】つぎに、中央処理装置46は、n記憶ファ
イルよりnを取得し、n=5を2で割った余りr=1を
求め、r記憶ファイルに一時的に記憶する。さらに中央
処理装置46は、n記憶ファイルより整数nを取得し、
n=5を2で割った商2を求め、新たにn記憶ファイル
に一時的に記憶する(ステップ1103)。
【0094】つぎに、中央処理装置46は、r記憶ファ
イルより整数rを取得し、rが1であるので(ステップ
1104)、Y記憶ファイルから2重ベクトルYを、Z
記憶ファイルから2重ベクトルZを、A記憶ファイルか
らパラメータAを取得し、2重ベクトル加算装置41に
2重ベクトルY、ZとパラメータAを入力し、出力され
た2重ベクトル{(0,1),(1,8),(2,
0)}を新たにZ記憶ファイルに一時的に記憶する(ス
テップ1105)。
【0095】つぎに、中央処理装置46は、n記憶ファ
イルから整数nを取得し、nの値2が0より大きいので
(ステップ1106)、Y記憶ファイルから2重ベクト
ルYを、A記憶ファイルからパラメータAを取得し、2
重ベクトル2倍装置42に2重ベクトルYとパラメータ
Aを入力し、出力された2重ベクトル((7,11),
(11,α 1 ),(11,α 2 ))を新たにY記憶フ
ァイルに一時的に記憶する(ステップ1108)。ここ
で、α1 とα2 は既約な2次式x2 +11x+2の解で
ある。
【0096】つぎに、中央処理装置46は、n記憶ファ
イルより整数nを取得し、n=2を2で割った余りr=
0を求め、r記憶ファイルに一時的に記憶する。さらに
中央処理装置46は、n記憶ファイルより整数nを取得
し、n=2を2で割った商1を求め、新たにn記憶ファ
イルに一時的に記憶する(ステップ1103)。
【0097】つぎに、中央処理装置46は、r記憶ファ
イルより整数rを取得し、rが1でないことを確認する
(ステップ1106)。
【0098】つぎに、中央処理装置46は、n記憶ファ
イルから整数nを取得し、nの値1が0より大きいので
(ステップ1106)、Y記憶ファイルから2重ベクト
ルYを、A記憶ファイルからパラメータAを取得し、2
重ベクトル2倍装置42に2重ベクトルYとパラメータ
Aを入力し、出力された2重ベクトル((β1 ,16+
3β1 +7β1 2),(β2 ,16+3β2 +7β2 2),
(β3 ,16+3β3+7β3 2))を新たにY記憶ファ
イルに一時的に記憶する(ステップ1108)。ここ
で、β1 ,β 2 ,β 3 は既約な3次式x3 +14x2
+6x+8の解である。
【0099】つぎに、中央処理装置46は、n記憶ファ
イルより整数nを取得し、nの値が1でなので、n=1
を2で割った余りr=1を求め、新たにr記憶ファイル
に一時的に記憶する。さらに、中央処理装置46は、n
記憶ファイルより整数nを取得し、n=1を2で割った
商0を求め、新たにn記憶ファイルに一時的に記憶する
(ステップ1103)。
【0100】つぎに、中央処理装置46は、r記憶ファ
イルより整数rを取得し、rが1であるので(ステップ
1104)、Y記憶ファイルから2重ベクトルYを、Z
記憶ファイルから2重ベクトルZを、A記憶ファイルか
らパラメータAを取得し、2重ベクトル加算装置41に
2重ベクトルY、ZとパラメータAを入力し、出力され
た2重ベクトル((γ1 ,13+2γ1 +5γ1 2),
(γ2 ,13+2γ2 +5γ2 2),(γ3 ,13+2γ
3 +5γ3 2))を新たにZ記憶ファイルに一時的に記憶
する(ステップ1105)。ここで、γ1 ,γ 2 ,γ
3 は既約な3次式x3 +8x2 +7x+9の解であ
る。
【0101】つぎに、中央処理装置46は、n記憶ファ
イルより整数nを取得し、nの値が0なので(ステップ
1106)、Z記憶ファイルから2重ベクトルZを取得
し、出力装置に出力する(ステップ1108)。
【0102】[公開鍵配送システム]本発明の公開鍵配
送システムの実施の形態について説明する。図12に、
本発明の2重ベクトル整数倍装置を用いた公開鍵配送シ
ステムの実施の形態を示す。図13に図12の公開鍵配
送システムのセンターの実施形態を示す。図14に図1
2の公開鍵配送システムの利用者端末の実施形態を示
す。さらに図15に本発明の2重ベクトル整数倍装置を
用いた公開鍵配送システムの手順の内容を示す。図12
〜15を参照しながら、本発明の公開鍵配送システムの
動作を説明する。
【0103】本発明の公開鍵配送システムは、図12に
示すようにセンターと複数の利用者端末から構成され図
15に示す手順が実行される。
【0104】本発明の公開鍵配送システムでは、まず、
センターにより、一つの曲線を定めるパラメータAおよ
び2重ベクトルQを前もって全員に知らせておく(ステ
ップ151)。
【0105】そして、利用者端末Uは、整数nU をラン
ダムに選び秘密に保持する。同様に利用者端末Vも、整
数nV をランダムに選び秘密に保持する。さらに利用者
端末Uは、自身の秘密情報である整数nU と公開情報で
ある2重ベクトルQおよびパラメータAを2重ベクトル
整数倍装置に入力し、出力された2重ベクトルQU =n
U ・Qを利用者端末Vに送る。利用者端末Vも、同様に
自身の秘密情報である整数nV と公開情報である2重ベ
クトルQおよびパラメータAを2重ベクトル整数倍装置
に入力し、出力された2重ベクトルQV =nV ・Qを利
用者端末Uに送る(ステップ152)。
【0106】その後、利用者端末Uは、利用者端末Vよ
り送られた2重ベクトルQV と自身の秘密情報である整
数nU と公開情報であるパラメータAを2重ベクトル整
数倍装置に入力し、出力された2重ベクトルK=nU
V =nU ・nV ・Qを共有鍵Kとする。利用者端末V
も、同様に利用者利用者Uより送られた2重ベクトルQ
U と自身の秘密情報である整数nV と公開情報であるパ
ラメータAを2重ベクトル整数倍装置に入力し、出力さ
れた2重ベクトルK=nV ・QU =nV ・nU・Qを共
有鍵Kとする(ステップ153)。
【0107】最後に利用者端末Uと利用者端末Vは共有
鍵Kを用いて秘密通信を行う(ステップ154)。
【0108】次に、本発明の公開鍵配送システムのセン
ター及び利用者端末の実施の形態について説明する。
【0109】センターは、図13に示すように2重ベク
トル・パラメータ要求受信手段と2重ベクトル・パラメ
ータ公開手段から構成される。2重ベクトル・パラメー
タ要求受信手段により利用者端末から2重ベクトルQ、
パラメータAの要求が受け付けられると2重ベクトル・
パラメータ公開手段により2重ベクトルQとパラメータ
Aを要求のあった利用者端末に公開する。
【0110】利用者端末Uの実施の形態を図14に示
す。利用者端末Uは、2重ベクトル・パラメータ要求送
信手段と、2重ベクトル・パラメータ受信手段と、整数
発生手段と、2重ベクトル整数倍装置と、QU 出力手段
と、QV 受信手段と、秘密鍵記憶手段と、秘密通信手段
とから構成される。
【0111】2重ベクトル・パラメータ要求送信手段
は、センターに公開された2重ベクトルQとパラメータ
Aを要求する。
【0112】2重ベクトル・パラメータ受信手段は、2
重ベクトル・パラメータ要求送信手段の要求によりセン
ターから公開された2重ベクトルQとパラメータAを受
信し、保持し、2重ベクトル整数倍装置に出力する。
【0113】整数発生手段は、整数nU をランダムに選
び秘密に保持し、2重ベクトル整数倍装置にnU を出力
する。
【0114】2重ベクトル整数倍装置は、2重ベクトル
・パラメータ受信手段からセンターにより公開された2
重ベクトルQとパラメータAを入力し、整数発生手段か
ら整数nU を入力し、QをnU 倍することにより、2重
ベクトルQU を計算し出力する。
【0115】QU 出力手段は、2重ベクトル整数倍装置
で計算された2重ベクトルQU を利用者端末Vに送信す
る。QV 受信手段76は、利用者端末Vから送信された
2重ベクトルQV を受信し、2重ベクトル整数倍装置に
出力する。
【0116】2重ベクトル整数倍装置では、利用者端末
Vから送信された2重ベクトルQVと整数発生手段に記
憶されている秘密情報である整数nU と2重ベクトル・
パラメータ受信手段に保持されているパラメータAを入
力し、QV をnU 倍することにより2重ベクトルKを作
成し、これを秘密鍵記憶手段に出力する。
【0117】秘密鍵記憶手段では、2重ベクトル整数倍
装置により計算された2重ベクトルKを秘密鍵として記
憶する。
【0118】秘密通信手段では、秘密鍵記憶手段に記憶
された2重ベクトルKを秘密鍵として利用者端末Vと秘
密通信を行う。
【0119】次に本発明の公開鍵配送システムの実施例
について説明する。
【0120】まず、センターにおいて、GF(17)上
の曲線を定めるパラメータA=(3,4,−1,0,
0,0,0,0,0,0,0,1,−1)およびGF
(17)上の2重ベクトルQ=((0,1),(1,
8),(2,0))を公開する(ステップ151)。パ
ラメータAが定める曲線は、種数として3をもつので、
本実施例は、従来のDH型鍵配送法では173 =491
3の大きさの素数を用いる場合と同程度の安全性をも
つ。
【0121】つぎに、利用者端末において2重ベクトル
を計算し、配送する(ステップ152)。すなわち、利
用者端末U,Vは、センターに対して2重ベクトル・パ
ラメータ要求送信手段71により2重ベクトル・パラメ
ータ要求を行い、2重ベクトル・パラメータ受信手段に
より公開された2重ベクトルQとパラメータAを得る。
利用者端末Uは、整数発生手段73により整数nU =3
をランダムに選び秘密に保持し、同様に利用者端末V
も、整数nV =5をランダムに選び秘密に保持し、利用
者端末Uは、自身の秘密情報nU と公開情報である2重
ベクトルQおよびパラメータAを2重ベクトル整数倍装
置74に入力し、出力された2重ベクトルQU
((0,1),(α1 ,12+3α1 ),(α2 ,12
+3α2 ))をQU 出力手段75により利用者端末Vに
送る。ここで、α1 ,α 2 は既約な2次式x2 +6x
+6の解である。同様に、利用者端末Vも、自身の秘密
情報nV と公開情報である2重ベクトルQおよびパラメ
ータAを2重ベクトル整数倍装置に入力し、出力された
2重ベクトルQV =((γ1 ,13+2γ1 +5
γ1 2),(γ2 ,13+2γ2 +5γ2 2),(γ3 ,1
3+2γ3 +5γ3 2))を利用者端末Uに送る。ここ
で、γ1 ,γ 2 ,γ 3 は既約な3次式x3 +8x2
7x+9の解である。
【0122】つぎに、共有鍵を生成する(ステップ15
3)。すなわち、利用者端末Uは、利用者端末Vより送
られた2重ベクトルQV をQV 受信手段により受信し、
この2重ベクトルQV と、整数発生手段に保持されてい
る自身の秘密情報である整数nU と、2重ベクトル・パ
ラメータ受信手段に保持されている公開情報であるパラ
メータAを2重ベクトル整数倍装置74に入力し、出力
された2重ベクトルK=((11,11),(10,1
1),(2,0))を共有鍵Kとし、秘密鍵記憶手段に
記憶する。同様に、利用者端末Vも、利用者端末Uより
送られた2重ベクトルQU と自身の秘密情報である整数
V と公開情報であるパラメータAを2重ベクトル整数
倍装置に入力し、出力された2重ベクトルK=((1
1,11),(10,11),(2,0))を共有鍵K
とする。
【0123】最後に、利用者端末Uと利用者端末Vは共
有鍵Kを用いて秘密通信手段78によって秘密通信を行
なう。
【0124】公開情報であるQとAは、例えば、図12
にあるように、信頼できる第3者センターが管理すると
いう形態がある。
【0125】[エルガマル型暗号システム]本発明のエ
ルガマル型暗号システムの実施の形態について説明す
る。図16に、本発明の2重ベクトル整数倍装置を用い
たエルガマル型暗号システムの実施の形態を示す。図1
7に図16のエルガマル型暗号システムのセンターの実
施の形態を示す。図18に図16のエルガマル型暗号シ
ステムの利用者端末の実施の形態を示す。さらに図19
に、本発明の2重ベクトル整数倍装置を用いたエルガマ
ル型暗号システムの手順の内容を示す。図16〜19を
参照しながら、本発明のエルガマル型暗号システムの動
作を説明する。
【0126】本発明のエルガマル型暗号システムは、図
16に示すようにセンターと複数の利用者端末(送信者
端末,受信者端末)から構成され図19に示す手順が実
行される。
【0127】本発明のエルガマル型暗号システムでは、
まず、センターにより、一つの曲線を定めるパラメータ
Aおよび2重ベクトルQを前もって全利用者端末に知ら
せておく(ステップ191)。
【0128】そして、各利用者端末Uは、整数nU を任
意に選び秘密に保持する(ステップ192)。また各利
用者端末Uは、自身の秘密情報である整数nU と公開情
報である2重ベクトルQおよびパラメータAを2重ベク
トル整数倍装置に入力し、2重ベクトルQU =nU ・Q
を計算し(ステップ193)、これを公開鍵として各利
用者に通知する(ステップ194)。
【0129】送信を行なう利用者端末Uは、任意に選択
した整数nU と送信先の利用者端末Vの公開鍵QV をも
とに、2重ベクトル整数倍装置を用いて取り決めにした
がって送信文を暗号化する(ステップ195)。
【0130】暗号文を受信した利用者端末Vは、秘密に
保持している整数nV をもとに、2重ベクトル整数倍装
置を用いて取り決めにしたがって受信文を復号する(ス
テップ136)。
【0131】次に、本発明のエルガマル暗号システムの
センター及び利用者端末の実施の形態について説明す
る。
【0132】センターは、図17に示すように2重ベク
トル・パラメータ・公開鍵要求受信手段、2重ベクトル
・パラメータ・公開鍵公開手段、公開鍵受信手段とから
構成される。公開鍵受信手段は、各利用者端末から公開
された公開鍵を受信する。2重ベクトル・パラメータ・
公開鍵要求受信手段により利用者端末から2重ベクトル
Q、パラメータA、公開鍵QU の要求が受け付けられる
と2重ベクトル・パラメータ・公開鍵公開手段により保
持している2重ベクトルQ、パラメータA、公開鍵QU
を要求のあった利用者端末に公開する。
【0133】利用者端末の実施の形態を図18に示す。
利用者端末は、2重ベクトル・パラメータ・公開鍵要求
送信手段と、2重ベクトル・パラメータ・公開鍵受信手
段と、整数発生手段と、2重ベクトル整数倍装置と、公
開鍵送信手段と、乱数発生装置と、暗号文C1 送信手段
と、暗号文C2 送信手段と、復号手段、暗号文C1 受信
手段、暗号文C2 受信手段とから構成される。
【0134】2重ベクトル・パラメータ・公開鍵要求送
信手段は、センターに公開された2重ベクトルQ、パラ
メータA、他の利用者端末の公開鍵QV を要求する。
【0135】2重ベクトル・パラメータ・公開鍵受信手
段は、2重ベクトル・パラメータ・公開鍵要求送信手段
の要求によりセンターから公開された2重ベクトルQ、
パラメータA、公開鍵QV を受信し、保持し、2重ベク
トル整数倍装置に出力する。
【0136】整数発生手段は、整数nU をランダムに選
び秘密に保持し、2重ベクトル整数倍装置にnU を出力
する。
【0137】2重ベクトル整数倍装置は、2重ベクトル
・パラメータ・公開鍵受信手段からセンターにより公開
された2重ベクトルQとパラメータAを入力し、整数発
生手段から整数nU を入力し、2重ベクトルQをnU
した2重ベクトルQU を計算し公開鍵送信手段に出力す
る。
【0138】公開鍵送信手段は、QU を公開鍵として公
開するためにセンターへ送付する。
【0139】乱数発生装置は、乱数RU を発生し秘密に
保持し、2重ベクトル整数倍装置に乱数RU を出力す
る。
【0140】2重ベクトル整数倍装置では、2重ベクト
ル・パラメータ・公開鍵受信手段に保持されている2重
ベクトルQとパラメータAと乱数発生手段に記憶されて
いる秘密情報である整数RU とを入力し、2重ベクトル
QをRU 倍した2重ベクトルC1 を作成し、これを暗号
文とし、暗号文C1 記憶手段に記憶する。さらに2重ベ
クトル整数倍装置では、2重ベクトル・パラメータ・公
開鍵受信手段に保持されている他の利用者端末の公開鍵
V とパラメータAと乱数発生手段に保持されているR
U とを入力し、2重ベクトルQV をRU 倍した2重ベク
トルT1 を計算し暗号文C2 送信手段に出力する。
【0141】暗号文C2 送信手段は、2重ベクトルT1
に含まれる各組の第1成分の総和t1 を計算し、これに
通信文Mを加えて暗号文C2 を作成する。
【0142】その後、暗号文C1 送信手段と暗号文C2
送信手段により暗号文の組(C1 ,C2 )を他の利用者
端末に送信する。
【0143】受信側の利用者端末側では、暗号文C1
信手段、暗号文C2 受信手段により送信者の利用者端末
からの暗号文の組(C1 ,C2 )を受信し保持する。
【0144】2重ベクトル整数倍装置は、暗号文C1
信手段に保持されている送信側の利用者端末から送信さ
れた暗号文C1 と、整数発生手段に保持されている自己
の秘密情報である整数nv と2重ベクトル・パラメータ
・公開鍵受信手段に保持されているパラメータAを入力
し、2重ベクトルC1 をnv 倍した2重ベクトルT2
計算し復号手段に出力する。
【0145】復号手段では、暗号文C2 受信手段に保持
されている送信側の利用者端末から送信された暗号文C
2 と、2重ベクトル整数倍装置で計算された2重ベクト
ルT2 を入力し、2重ベクトルT2 に含まれる各組の第
1成分の総和t2 を計算し、暗号文C2 からt2 を引く
ことにより通信文Mを復号する。
【0146】次に本発明のエルガマル型暗号システムの
実施例について説明する。
【0147】まず、センターにおいて、GF(17)上
の曲線を定めるパラメータA=(3,4,−1,0,
0,0,0,0,0,0,0,1,−1)およびGF
(17)上の2重ベクトルQ=((0,1),(1,
8),(2,0))を公開する(ステップ191)。パ
ラメータAが定める曲線は、種数として3をもつので、
本実施例は、従来のエルガマル暗号では173 =491
3程度の大きさの素数を用いる場合と同程度の安全性を
もつ。
【0148】つぎに、各利用者端末において秘密鍵とす
る整数を選択する(ステップ192)。すなわち、例え
ば、利用者端末Uは整数発生手段により整数nU =3を
ランダムに選び秘密に保持し、利用者端末Vも、整数n
V =5をランダムに選び秘密に保持する。
【0149】つぎに、各利用者端末において公開鍵を計
算する(ステップ193)。すなわち、例えば利用者端
末Uでは、センターに対して2重ベクトル・パラメータ
・公開鍵要求送信手段により2重ベクトルQとパラメー
タAを要求し、2重ベクトル・パラメータ・公開鍵受信
手段により、公開された2重ベクトルQとパラメータA
を得る。そして、自身の秘密情報である整数nU と公開
情報である2重ベクトルQおよびパラメータAを2重ベ
クトル整数倍装置に入力し、出力された2重ベクトルQ
U =((0,1),(α1 ,12+3α1 ),(α2
12+3α2 ))を公開鍵とする。ここで、α1 ,α
2 は既約な2次式x2 +6x+6の根である。同様
に、利用者端末Vも、自身の秘密情報である整数nV
公開情報である2重ベクトルQおよびパラメータAを請
求項3の2重ベクトル整数倍装置に入力し、出力された
2重ベクトルQV =((γ1 ,13+2γ1 +5
γ1 2),(γ2 ,13+2γ2 +5γ2 2),(γ3 ,1
3+2γ3 +5γ3 2))を公開鍵とする。ここで、
γ1 ,γ 2 ,γ 3 は既約な3次式x3 +8x2 +7x
+9の根である。
【0150】つぎに、各利用者端末において各自の公開
鍵を公開する(ステップ194)。例えば、利用者端末
Uと利用者端末Vは、それぞれ公開鍵QU と公開鍵QV
を公開鍵送信手段からセンターに送信することにより公
開する。
【0151】つぎに、送信者は通信文を暗号化し、受信
者に送る(ステップ195)。例えば、利用者端末Uが
利用者端末Vに通信文M=11を暗号化して送るには、
以下のように行なう。
【0152】まず、利用者端末Uは、乱数発生手段によ
り乱数RU =8を生成し保持する。次に、利用者端末U
は、乱数発生手段に保持されている自分だけが知ってい
る乱数RU と2重ベクトル・パラメータ・公開鍵受信手
段に保持されている2重ベクトルQおよびパラメータA
を2重ベクトル整数倍装置に入力し、出力された2重ベ
クトルC1 =((3,10),(ε1 ,9+3ε1 ),
(ε2 ,9+3ε2 ))を暗号文C1 とし暗号文C1
信手段に記憶する。ここで、ε1 ,ε 2 は既約な2次
式x2 +7x+2の根である。
【0153】さらに、利用者端末Uは、2重ベクトル・
パラメータ・公開鍵要求送信手段により利用者端末Vの
公開鍵をセンターに要求し、2重ベクトル・パラメータ
・公開鍵受信手段により公開鍵QV を得る。そして、乱
数発生手段に保持されている自身の秘密情報であるRU
と2重ベクトル・パラメータ・公開鍵受信手段に保持さ
れている公開情報である利用者端末Vの公開鍵QV およ
びパラメータAを2重ベクトル整数倍装置に入力し、2
重ベクトルT1 を計算する。
【0154】暗号文C2 送信手段では、2重ベクトル整
数倍装置により計算された2重ベクトルT1
((δ1 ,4+3δ1 +14δ1 2),(δ2 ,4+3δ
2 +14δ2 2),(δ3 ,4+3δ3 +14δ3 2))
(ここで、δ1 ,δ 2 ,δ 3 は、既約な3次式x3
7x2 +7の根である。)に含まれる各組の第1成分の
総和t1=δ1 +δ2 +δ3 =10を計算し、これに通
信文Mを加えて暗号文C2 =M+t1 =11+10=
4(mod 17)を得る。
【0155】そして暗号文の組(C1 ,C2 )を利用者
端末Vに送信する。
【0156】最後に、受信者は通信文を復号する(ステ
ップ196)。すなわち、利用者端末Vは、暗号文C1
受信手段,暗号文C2 受信手段により、利用者端末Uか
ら送信された暗号文C1 ,C2 を受信し保持する。そし
て、暗号文C1 受信手段に保持された暗号文C1 と整数
発生手段に保持されている自身の秘密情報である秘密鍵
V と2重ベクトル・パラメータ・公開鍵受信手段に保
持されている公開情報であるパラメータAとを2重ベク
トル整数倍装置に入力し、2重ベクトルT2 を計算す
る。
【0157】復号手段では、2重ベクトル整数倍装置に
より計算された2重ベクトルT2 =((δ1 ,4+3δ
1 +14δ1 2),(δ2 ,4+3δ2 +14δ2 2),
(δ3,4+3δ3 +14δ3 2))(ここで、δ1 ,δ
2 ,δ 3 は、既約な3次式x3 +7x2 +7の根であ
る。)に含まれる各組の第1成分の総和t2 =δ1 +δ
2 +δ3 =10を計算し、受信した暗号文C2 からt2
を引くことで、通信文M=C2 −t2 =4−10=11
(mod 17)を復号する。
【0158】公開情報であるQ,A,QU ,QV は、例
えば、図16にあるように、信頼できる第3者センター
が管理するという形態がある。
【0159】[エルガマル型署名システム]本発明のエル
ガマル型署名システムについて説明する。図20に、本
発明の2重ベクトル整数倍装置を用いたエルガマル型署
名システムの実施の形態を示す。図21に図20のエル
ガマル型署名システムのセンターの実施の形態を示す。
図22に図20のエルガマル型署名システムの証明者端
末の実施の形態を示す。図23に図20のエルガマル型
署名システムの検証者端末の実施の形態を示す。図24
に、本発明の2重ベクトル整数倍装置を用いたエルガマ
ル型署名の手順の内容を示す。図20〜24を参照しな
がら、本発明のエルガマル型署名システムの動作を説明
する。
【0160】本発明のエルガマル型署名システムは、図
20に示すようにセンターと証明者端末と検証者端末か
ら構成され図24に示す手順が実行される。
【0161】本発明のエルガマル型署名システムでは、
まず、センターにより、一つの曲線を定めるパラメータ
Aおよび2重ベクトルQを前もって全利用者に知らせて
おく(ステップ241)。
【0162】そして証明者端末Uは、署名鍵として整数
U を任意に選び秘密に保持する(ステップ242)。
さらに証明者端末Uは、自身の秘密情報である署名鍵n
U と公開情報である2重ベクトルQおよびパラメータA
を2重ベクトル整数倍装置に入力し、出力された2重ベ
クトルQU =nU ・Qを検証鍵として公開する(ステッ
プ243)。
【0163】その後、証明者端末Uは、通信文mに対し
て、任意に選択した整数と署名鍵nU をもとに、2重ベ
クトル整数倍装置を用いて取り決めにしたがって署名文
を生成し、通信文mとともに検証者端末Vに送る(ステ
ップ244,245)。
【0164】検証者端末Vは、署名文および証明者端末
Uの検証鍵QU をもとに、2重ベクトル整数倍装置を用
いて取り決めにしたがって通信文mを検証する(ステッ
プ246)。
【0165】次に、本発明のエルガマル型署名システム
のセンター及び署名者端末、検証者端末の実施の形態に
ついて説明する。
【0166】センターは、図21に示すように2重ベク
トル・パラメータ・検証鍵要求受信手段、2重ベクトル
・パラメータ・検証鍵公開手段、検証鍵受信手段とから
構成される。検証鍵受信手段は、検証者端末から公開さ
れた公開鍵を受信する。2重ベクトル・パラメータ・検
証鍵要求受信手段により証明者端末若しくは検証者端末
から2重ベクトルQ、パラメータA、検証鍵QU の要求
が受け付けられると2重ベクトル・パラメータ・検証鍵
公開手段により保持している2重ベクトルQ、パラメー
タA、検証鍵QU を要求のあった端末に公開する。
【0167】証明者端末の実施の形態を図22に示す。
証明者端末は、2重ベクトル・パラメータ要求送信手段
と、2重ベクトル・パラメータ受信手段と、整数発生手
段と、2重ベクトル整数倍装置と、検証鍵送信手段と、
乱数発生装置と、署名文R送信手段と、署名文S送信手
段と、通信文M送信手段とから構成される。
【0168】2重ベクトル・パラメータ要求送信手段
は、センターに公開された2重ベクトルQ、パラメータ
Aを要求する。
【0169】2重ベクトル・パラメータ受信手段は、2
重ベクトル・パラメータ要求送信手段の要求によりセン
ターから公開された2重ベクトルQ、パラメータAを受
信し、保持し、2重ベクトル整数倍装置に出力する。
【0170】整数発生手段は、整数nU をランダムに選
びこれを署名鍵として秘密に保持し、2重ベクトル整数
倍装置に署名鍵nU を出力する。
【0171】2重ベクトル整数倍装置は、2重ベクトル
・パラメータ受信手段からセンターにより公開された2
重ベクトルQとパラメータAを入力し、整数発生手段か
ら署名鍵nU を入力し、2重ベクトルQをnU 倍した2
重ベクトルQU を計算し検証鍵送信手段に出力する。
【0172】検証鍵送信手段は、QU を検証鍵として公
開するためにセンターへ送付する。
【0173】乱数発生装置は、乱数kを発生し秘密に保
持し、2重ベクトル整数倍装置に乱数kを出力する。
【0174】2重ベクトル整数倍装置では、2重ベクト
ル・パラメータ受信手段に保持されている2重ベクトル
QとパラメータAと乱数発生手段に記憶されている秘密
情報である整数kとを入力し、2重ベクトルQをk倍し
た2重ベクトルRを作成し、これを署名文とし、署名文
R送信手段、署名文S送信手段に出力しそれぞれに記憶
する。署名鍵S送信手段では、2重ベクトル整数倍装置
からk・Q=Rを、乱数発生装置から乱数kを、整数発
生手段からnU を入力し、通信文M送信手段から通信文
Mを入力し、S=(M−nU ・x(R))k-1 mod
O(Q)を計算し、計算結果であるSを2つ目の署名
文とする。ここで、x(R)は2重ベクトルRに含まれ
る各組の第1成分の総和であり、O(Q)は2重ベクト
ルQの位数である。
【0175】通信文M送信手段は、通信文Mを保持し、
署名文S送信手段に出力する。
【0176】最後に、署名文R送信手段、署名文S送信
手段、通信文M送信手段からそれぞれ、署名文R、S及
び通信文Mを検証者端末に送信される。
【0177】検証者端末の実施の形態を図23に示す。
検証者端末は、2重ベクトル・パラメータ・検証鍵要求
送信手段と、2重ベクトル・パラメータ・検証鍵受信手
段と、2重ベクトル整数倍装置と、2重ベクトル加算装
置と、署名文R受信手段と、署名文S受信手段と、通信
文M受信手段と、T1 記憶手段と、T2 記憶手段と、T
3 記憶手段と、T4 記憶手段と、検証手段とから構成さ
れる。
【0178】2重ベクトル・パラメータ・検証鍵要求送
信手段は、センターに公開された2重ベクトルQ、パラ
メータA、検証鍵を要求する。
【0179】2重ベクトル・パラメータ・検証鍵受信手
段は、2重ベクトル・パラメータ・検証鍵要求送信手段
の要求によりセンターから公開された2重ベクトルQ、
パラメータA、検証鍵QU を受信し、保持し、2重ベク
トル整数倍装置に出力する。
【0180】2重ベクトル整数倍装置は、2重ベクトル
・パラメータ・検証鍵受信手段からセンターにより公開
された2重ベクトルQとパラメータAを入力し、通信文
M受信手段から通信文Mを入力し、M・Qを計算し、計
算結果である2重ベクトルT1 をT1 記憶手段に出力し
記憶する。
【0181】また、2重ベクトル整数倍装置は、署名文
R受信手段から、受信した2重ベクトルRに含まれる各
組の第1成分の総和x(R)を入力し、2重ベクトル・
パラメータ・検証鍵受信手段からセンターにより公開さ
れた検証鍵QU とパラメータAを入力し、x(R)・Q
U を計算し、計算結果である2重ベクトルT2 をT2
憶手段に出力し記憶する。
【0182】また、2重ベクトル整数倍装置は、署名文
R受信手段から、受信した2重ベクトルRを、署名文S
受信手段から受信した署名文Sを、2重ベクトル・パラ
メータ・検証鍵受信手段からセンターにより公開された
パラメータAを入力し、S・Rを計算し、計算結果であ
る2重ベクトルT3 をT3 記憶手段に出力し記憶する。
【0183】2重ベクトル加算装置は、T2 記憶装置及
びT3 記憶装置から2重ベクトルT2 ,T3 を入力し、
2重ベクトル・パラメータ・検証鍵受信手段からパラメ
ータAを入力し、T2 +T3 を計算し、計算結果である
2重ベクトルT4 をT4 記憶手段に出力し記憶する。
【0184】検証手段は、T1 記憶手段に記憶されてい
る2重ベクトルT1 とT4 記憶手段に記憶されている2
重ベクトルT4 が一致しているかどうかを確認し、平文
Mは証明者Uが作成したか否かを認証する。
【0185】次に本発明のエルガマル型署名システムの
実施例について説明する。
【0186】まず、センターにおいてGF(17)上の
曲線を定めるパラメータA=(3,4,−1,0,0,
0,0,0,0,0,0,1,−1)およびGF(1
7)上の2重ベクトルQ=((0,1),(1,8),
(2,0))を公開する(ステップ241)。パラメー
タAが定める曲線は、種数として3をもつので、本実施
例は、従来のエルガマル署名では173 =4913程度
の大きさの素数を用いる場合と同程度の安全性をもつ。
【0187】つぎに、証明者は署名鍵とする整数を選択
する(ステップ242)。例えば、証明者端末Uは署名
鍵として整数発生手段により整数nU =3をランダムに
選びこれを署名鍵として秘密に保持する。
【0188】つぎに、証明者は検証鍵を計算し、公開す
る(ステップ243)。例えば、証明者端末Uは、セン
ターに対して2重ベクトル・パラメータ要求送信手段に
より2重ベクトル、パラメータの要求を行い、2重ベク
トル・パラメータ受信手段により公開された2重ベクト
ルQとパラメータAを得る。証明者端末Uは、整数発生
手段から自身の秘密情報であるnU を、2重ベクトル・
パラメータ受信手段から公開情報である2重ベクトルQ
およびパラメータAを2重ベクトル整数倍装置に入力
し、出力された2重ベクトルQU =((0,1),(α
1 ,12+3α1),(α2 ,12+3α2 ))を検証
鍵とし、検証鍵送信手段に記憶する。ここで、α1 ,α
2 は既約な2次式x2 +6x+6の根である。検証鍵
送信手段から検証鍵QU をセンターへ送信し、公開す
る。
【0189】つぎに、証明者端末Uは通信文Mに対して
2組の署名文R,Sからなる署名を生成する(ステップ
244)。例えば、証明者端末Uが通信文M=11の署
名文R,Sを生成するには、以下のように行なう。
【0190】まず、証明者端末Uは、乱数発生手段によ
り乱数k=7を生成する。次に、証明者端末Uは、乱数
発生手段から自身の秘密情報であるkを、2重ベクトル
・パラメータ受信手段から公開情報である2重ベクトル
QおよびパラメータAを2重ベクトル整数倍装置に入力
し、k・Qを計算し、計算結果である2重ベクトルR=
((3,7),(ε1 ,9+3ε1 ),(ε2 ,9+3
ε2 ))を署名文Rとし、署名文R送信手段と署名文S
送信手段に出力する。ここで、ε1 ,ε 2 は既約な2
次式x2 +7x+2の根である。
【0191】さらに、証明者端末Uは、署名文S送信手
段において、2重ベクトル整数倍装置からkQ=Rを、
乱数発生装置から乱数kを、整数発生手段からnU を入
力し、通信文M送信手段から通信文Mを入力し、S=
(M−nU ・x(R))k-1mod O(Q)を計算
し、計算結果であるSを2つ目の署名文とする。ここ
で、x(R)は2重ベクトルRに含まれる各組の第1成
分の総和であり、O(Q)は2重ベクトルQの位数であ
る。本実施例の場合、x(R)=1+ε1 +ε2 =1+
(−9)=9(mod 17)であり、O(Q)=30
6なので、S=(11−3×9)7-1 mod 306
=−16×175 mod 306=260(mod
306)となる。
【0192】つぎに、証明者端末Uは、署名文R送信手
段、署名文S送信手段、通信文M送信手段から署名文
R,Sと通信文Mとを検証者端末Vに送信する(ステッ
プ245)。
【0193】最後に、検証者端末Vは等式M・Q=x
(R)・QU +S・Rが成立するかどうか検証する(ス
テップ246)。
【0194】すなわち、検証者端末Vは、2重ベクト
ル。パラメータ・検証鍵要求送信手段により2重ベクト
ルQとパラメータAをセンターに要求し、2重ベクトル
・パラメータ・検証鍵受信手段により2重ベクトルQと
パラメータAを得る。通信文M受信手段により受信した
通信文Mと、2重ベクトル・パラメータ・検証鍵受信手
段から公開情報である2重ベクトルQおよびパラメータ
Aを2重ベクトル整数倍装置に入力し、M・Qを計算
し、計算結果である2重ベクトルT1 =((η1 ,13
+15η1 +13η1 2),(η2 ,13+15η2 +1
3η2 2),(η3 ,13+15η3 +13η3 2))を得
て、T1 記憶手段に記憶する。ここで、η1 ,η 2 ,η
3 は既約な3次式x3 +8x+1の根である。
【0195】さらに、検証者端末Vは、2重ベクトル。
パラメータ・検証鍵要求送信手段により証明者端末Uの
検証鍵をセンターに要求し、2重ベクトル・パラメータ
・検証鍵受信手段により検証鍵QU を得る。そして署名
文R受信手段から受信した2重ベクトルRに含まれる各
組の第1成分の総和x(R)=9と、2重ベクトル・パ
ラメータ・検証鍵受信手段から公開情報である証明者U
の検証鍵QU およびパラメータAを2重ベクトル整数倍
装置に入力し、x(R)・QU を計算し、計算結果であ
る2重ベクトルT2 =((2,0),(θ1 ,4+16
θ1 ),(θ2,4+16θ2 ),(θ3 ,4+16θ
3 ))を得て(ここで、θ1 ,θ 2 ,θ 3 は既約な2
次式x2 +7x+2の解)T2 記憶手段に記憶する。
【0196】さらに、署名文S受信手段および署名文R
受信手段からそれぞれ受信した署名文Sおよび署名文R
と、2重ベクトル・パラメータ・検証鍵受信手段から公
開情報であるパラメータAを2重ベクトル整数倍装置に
入力し、S・Rを計算し、計算結果である2重ベクトル
3 =((ι1 ,12+6ι1 +15ι1 2),(ι2
12+6ι2 +15ι2 2),(ι3 ,12+6ι3 +1
5ι3 2))を得て(ここで、ι1 ,ι 2 ,ι 3 は既約
な3次式x3 +10x2 +15x+12の解)T3 記憶
手段に記憶する。
【0197】さらに、T2 記憶手段およびT3 記憶手段
からそれぞれ2重ベクトルT2 および2重ベクトルT3
と、2重ベクトル・パラメータ・検証鍵受信手段から公
開情報であるパラメータAを2重ベクトル加算装置に入
力し、T1 +T2 を計算し、計算結果である2重ベクト
ルT4 =((η1 ,13+15η1 +13η1 2),(η
2 ,13+15η2 +13η2 2),(η3 ,13+15
η3 +13η3 2))を得て、T4 記憶手段に記憶する。
【0198】検証者端末Vは、T1 記憶手段およびT4
記憶手段からそれぞれ2重ベクトルT1 と2重ベクトル
4 を検証手段に入力し、2重ベクトルT1 と2重ベク
トルT4 が一致していることを確認し、通信文Mは証明
者端末Uが作成したと認証する。
【0199】公開情報であるQ,A,QU は、例えば、
図20にあるように、信頼できる第3者センターが管理
するという形態がある。
【0200】以上、2重ベクトル加算装置、2重ベクト
ル整数倍装置、2重ベクトル整数倍装置を用いた公開鍵
暗号システム、エルガマル型暗号システム、エルガマル
型署名システムの実施の形態について説明してきたが、
最後に、本発明の2重ベクトル加算装置、2重ベクトル
整数倍装置、2重ベクトル整数倍装置を用いた公開鍵暗
号システム、エルガマル型暗号システム、エルガマル型
署名システムを実現するプログラムを記録した記録媒体
の実施の形態について説明する。
【0201】本発明の2重ベクトル加算装置、2重ベク
トル整数倍装置、2重ベクトル整数倍装置を用いた公開
鍵暗号システム、エルガマル型暗号システム、エルガマ
ル型署名システムを実現するためのプログラムを記録し
た記録媒体は、上述の装置もしくはシステムの機能をコ
ンピュータが読みとり実行可能なプログラム言語によっ
てプログラムし、当該プログラムをCD−ROMやFD
等の記録媒体に記録することによって実現することがで
きる。
【0202】また上記記録媒体はサーバ装置などに備え
られるハードディスクなどの記憶手段でも良く、更に該
記憶手段にこのコンピュータプログラムを記録しておき
ネットワークを介してこのコンピュータプログラムを読
み込むことによって、本発明の記録媒体を実現すること
も可能である。
【0203】
【発明の効果】以上説明した通り、本発明により2重ベ
クトルの演算が可能となり、さらに、従来の、公開され
た通信網において秘密情報をやりとりする公開鍵暗号方
式に属する種々の技術では、約300桁もの大きな素数
pを用いる必要があったが、本発明の2重ベクトル演算
装置を用いた公開鍵配送法等によると、より小さな素数
を用いることができ(例えば種数が3の曲線を用いる場
合は約100桁)、より小規模な装置で暗号学的に十分
な強度をもつ公開鍵暗号方式に属する種々の技術を実現
できる効果がある。
【図面の簡単な説明】
【図1】本発明の2重ベクトル加算装置の実施の形態を
示す図である。
【図2】本発明の2重ベクトル加算装置の実施の形態を
示す図である。
【図3】本発明の2重ベクトル加算装置の点集合変換装
置の実施の形態を示す図である。
【図4】本発明の2重ベクトル加算装置の点集合変換装
置の実施の形態を示す図である。
【図5】曲線を表すパラメータのデータフォーマットを
示す図である。
【図6】共通曲線演算装置の行なう演算処理を示す流れ
図である。
【図7】交点集合演算装置の行なう演算処理を示す流れ
図である。
【図8】本発明の2重ベクトル2倍装置の実施の形態を
示す図である。
【図9】本発明の2重ベクトル2倍装置の実施の形態を
示す図である。
【図10】本発明の2重ベクトル整数倍装置の実施の形
態を示す図である。
【図11】本発明の2重ベクトル整数倍装置の処理の流
れを示す図である。
【図12】本発明の公開鍵配送システムの実施の形態を
示す図である。
【図13】本発明の公開鍵配送システムのセンターの実
施の形態を示す図である。
【図14】本発明の公開鍵配送システムの利用者端末の
実施の形態を示す図である。
【図15】本発明の公開鍵配送システムの処理の流れを
示す図である。
【図16】本発明のエルガマル型暗号システムの実施の
形態を示す図である。
【図17】本発明のエルガマル型暗号システムのセンタ
ーの実施の形態を示す図である。
【図18】本発明のエルガマル型暗号システムの利用者
端末の実施の形態を示す図である。
【図19】本発明のエルガマル型暗号システムの処理の
流れを示す図である。
【図20】本発明のエルガマル型署名システムの実施の
形態を示す図である。
【図21】本発明のエルガマル型署名システムのセンタ
ーの実施の形態を示す図である。
【図22】本発明のエルガマル型署名システムの証明者
端末の実施の形態を示す図である。
【図23】本発明のエルガマル型署名システムの検証者
端末の実施の形態を示す図である。
【図24】本発明のエルガマル型署名システムの処理の
流れを示す図である。
【符号の説明】
11 和集合計算装置 12 点集合変換装置 13 メモリ 14 入力装置 15 出力装置 16 中央処理装置 21 共通曲線演算装置 22 交点集合演算装置 23 差集合演算装置 24 メモリ 25 入力装置 26 出力装置 31 2重ベクトル加算装置 32 メモリ 33 入力装置 34 出力装置 35 中央処理装置 41 2重ベクトル加算装置 42 2重ベクトル2倍装置 43 メモリ 44 入力装置 45 出力装置 46 中央処理装置
フロントページの続き (56)参考文献 Hyperellipitc Cry ptosystems,Journal of Cryptology,Vo l.1,No.3,p.139−150 Computing in the Jacobian of a Plan e Algebraic Curve, Lecture Notes in C omputer Science,Vo l.877,p.221−233 Efficient Algorit hms for the Rieman n−Roch Problem and for Addition in t he Jacobian of a C urve,Journal of Sy mbolic Computatio n,Vol.18,No.6,p.519− 539 Computational Asp ects of Curves of Genus at Least 2,L ecture Notes in Co mputer Science,Vo l.1122,p.283−306 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 H04L 9/30 JICSTファイル(JOIS)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルを加算する2重ベクト
    ル加算装置において、 前記2重ベクトルX1 およびX2 とa13x^4+a1
    2y^3+a11xy^2+a10x^2y+a9x^
    3+a8y^2+a7xy+a6x^2+a5y+a4
    x+a3=0という定義式をもつ曲線を定めるパラメー
    タAを入力する手段と、 入力された2重ベクトルX1 を記憶するX1 記憶手段
    と、 入力された2重ベクトルX2 を記憶するX2 記憶手段
    と、 入力されたパラメータAを記憶するA記憶手段と、 前記X1 記憶手段から前記2重ベクトルX1 を、前記X
    2 記憶手段から前記2重ベクトルX2 を、前記A記憶手
    段からパラメータAを取得し、前記2重ベクトルX1
    2 をそれぞれ、パラメータAが定めるa13x^4+
    a12y^3+a11xy^2+a10x^2y+a9
    x^3+a8y^2+a7xy+a6x^2+a5y+
    a4x+a3=0という定義式をもつ曲線上の点の集ま
    りの座標値列と見なすとき、前記2つの点の集まりの和
    集合の座標値列である2重ベクトルT1 を演算する和集
    合演算装置と、 前記和集合演算装置により演算された2重ベクトルT1
    を記憶するT1 記憶手段と、 前記T1 記憶手段から前記2重ベクトルT1 を、前記A
    記憶手段から前記パラメータAを取得し、前記2重ベク
    トルT1 を、前記パラメータAが定めるa13x^4+
    a12y^3+a11xy^2+a10x^2y+a9
    x^3+a8y^2+a7xy+a6x^2+a5y+
    a4x+a3=0という定義式をもつ曲線上の点の集ま
    りの座標値列と見なすとき、当該点の集まりの、前記パ
    ラメータAが定めるa13x^4+a12y^3+a1
    1xy^2+a10x^2y+a9x^3+a8y^2
    +a7xy+a6x^2+a5y+a4x+a3=0と
    いう定義式をもつ曲線のヤコビアン群における逆元を表
    す点の集まりの座標値列である2重ベクトルTを演算
    する第1の点集合変換装置と、 前記第1の点集合変換装置により演算された2重ベクト
    ルT2 を記憶するT2記憶手段と、 前記T記憶手段から前記2重ベクトルT2 を、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    2 を、パラメータAが定めるa13x^4+a12y
    ^3+a11xy^2+a10x^2y+a9x^3+
    a8y^2+a7xy+a6x^2+a5y+a4x+
    a3=0という定義式をもつ曲線上の点の集まりの座標
    値列と見なすとき、当該点の集まりの、前記パラメータ
    Aが定めるa13x^4+a12y^3+a11xy^
    2+a10x^2y+a9x^3+a8y^2+a7x
    y+a6x^2+a5y+a4x+a3=0という定義
    式をもつ曲線のヤコビアン群における逆元を表す点の集
    まりの座標値列である2重ベクトルX3 を演算する第2
    の点集合変換装置と、 前記第2の点集合変換装置により演算された前記2重ベ
    クトルX3 を出力する手段とを備えたことを特徴とする
    2重ベクトル加算装置。
  2. 【請求項2】パラメータBを記憶するB記憶手段と、2
    重ベクトルS1 を記憶するS記憶手段とを備え、 前記第1の点集合変換手段が、 前記T1 記憶手段から前記2重ベクトルT1 を、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    1 を、パラメータAが定めるa13x^4+a12y
    ^3+a11xy^2+a10x^2y+a9x^3+
    a8y^2+a7xy+a6x^2+a5y+a4x+
    a3=0という定義式をもつ曲線上の点の集まりの座標
    値列と見なすとき、当該点の集まりに含まれる全ての点
    を通る曲線のパラメータBを演算し前記B記憶手段に記
    憶する共通曲線演算装置と、 前記B記憶手段から前記パラメータBを、前記A記憶手
    段から前記パラメータAを取得し、前記パラメータAの
    定めるa13x^4+a12y^3+a11xy^2+
    a10x^2y+a9x^3+a8y^2+a7xy+
    a6x^2+a5y+a4x+a3=0という定義式を
    もつ曲線と前記パラメータBの定める曲線との全ての交
    点の座標値列である2重ベクトルS1 を演算し前記S1
    記憶手段に記憶する交点集合演算装置と、 前記T1 記憶手段から前記2重ベクトルT1 を、前記S
    1 記憶手段から前記2重ベクトルS1 を取得し、前記2
    重ベクトルT1 およびS1 をそれぞれ、前記パラメータ
    Aが定めるa13x^4+a12y^3+a11xy^
    2+a10x^2y+a9x^3+a8y^2+a7x
    y+a6x^2+a5y+a4x+a3=0という定義
    式をもつ曲線上の点の集まりの座標値列と見なすとき、
    2重ベクトルS1 の表す点の集まりから2重ベクトルT
    1 の表す点の集まりに属する点を全て取り除いた点の集
    まりの座標値列である2重ベクトルT2 を演算する差集
    合演算装置と、 前記差集合演算装置により演算された前記2重ベクトル
    2 を出力する手段とを備えたことを特徴とする請求項
    1に記載の2重ベクトル加算装置。
  3. 【請求項3】パラメータCを記憶するC記憶手段と、2
    重ベクトルS2 を記憶するS2 記憶手段とを備え、 前記第2の点集合変換手段が、 前記T2 記憶手段から前記2重ベクトルT2 を、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    2 を、パラメータAが定めるa13x^4+a12y
    ^3+a11xy^2+a10x^2y+a9x^3+
    a8y^2+a7xy+a6x^2+a5y+a4x+
    a3=0という定義式をもつ曲線上の点の集まりの座標
    値列と見なすとき、当該点の集まりに含まれる全ての点
    を通る曲線のパラメータCを演算し前記C記憶手段に記
    憶する共通曲線演算装置と、 前記C記憶手段から前記パラメータCを、前記A記憶手
    段から前記パラメータAを取得し、前記パラメータAの
    定めるa13x^4+a12y^3+a11xy^2+
    a10x^2y+a9x^3+a8y^2+a7xy+
    a6x^2+a5y+a4x+a3=0という定義式を
    もつ曲線と前記パラメータCの定める曲線との全ての交
    点の座標値列である2重ベクトルS2 を演算し前記S2
    記憶手段に記憶する交点集合演算装置と、 前記T2 記憶手段から前記2重ベクトルT2 を、前記S
    2 記憶手段から前記2重ベクトルS2 を取得し、前記2
    重ベクトルT2 およびS2 をそれぞれ、前記パラメータ
    Aが定めるa13x^4+a12y^3+a11xy^
    2+a10x^2y+a9x^3+a8y^2+a7x
    y+a6x^2+a5y+a4x+a3=0という定義
    式をもつ曲線上の点の集まりの座標値列と見なすとき、
    2重ベクトルS2 の表す点の集まりから2重ベクトルT
    2 の表す点の集まりに属する点を全て取り除いた点の集
    まりの座標値列である2重ベクトルX3 を演算する差集
    合演算装置と、 前記差集合演算装置により演算された前記2重ベクトル
    3 を出力する手段とを備えたことを特徴とする請求項
    1又は2に記載の2重ベクトル加算装置。
  4. 【請求項4】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルを加算する2重ベクト
    ル加算装置を実現するためのプログラムを記録したコン
    ピュータが読みとり可能な記録媒体において、 前記2重ベクトルX1 およびX2 とa13x^4+a1
    2y^3+a11xy^2+a10x^2y+a9x^
    3+a8y^2+a7xy+a6x^2+a5y+a4
    x+a3=0という定義式をもつ曲線を定めるパラメー
    タAを入力する手段と、 入力された2重ベクトルX1 を記憶するX1 記憶手段
    と、 入力された2重ベクトルX2 を記憶するX2 記憶手段
    と、 入力されたパラメータAを記憶するA記憶手段と、 前記X1 記憶手段から前記2重ベクトルX1 を、前記X
    2 記憶手段から前記2重ベクトルX2 を、前記A記憶手
    段からパラメータAを取得し、前記2重ベクトルX1
    2 をそれぞれ、パラメータAが定めるa13x^4+
    a12y^3+a11xy^2+a10x^2y+a9
    x^3+a8y^2+a7xy+a6x^2+a5y+
    a4x+a3=0という定義式をもつ曲線上の点の集ま
    りの座標値列と見なすとき、前記2つの点の集まりの和
    集合の座標値列である2重ベクトルT1 を演算する和集
    合演算装置と、 前記和集合演算装置により演算された2重ベクトルT1
    を記憶するT1 記憶手段と、 前記T1 記憶手段から前記2重ベクトルT1 を、前記A
    記憶手段から前記パラメータAを取得し、前記2重ベク
    トルT1 を、前記パラメータAが定めるa13x^4+
    a12y^3+a11xy^2+a10x^2y+a9
    x^3+a8y^2+a7xy+a6x^2+a5y+
    a4x+a3=0という定義式をもつ曲線上の点の集ま
    りの座標値列と見なすとき、当該点の集まりの、前記パ
    ラメータAが定めるa13x^4+a12y^3+a1
    1xy^2+a10x^2y+a9x^3+a8y^2
    +a7xy+a6x^2+a5y+a4x+a3=0と
    いう定義式をもつ曲線のヤコビアン群における逆元を表
    す点の集まりの座標値列である2重ベクトルT2 を演算
    する第1の点集合変換装置と、 前記第1の点集合変換装置により演算された2重ベクト
    ルT2を記憶するT2記憶手段と、 前記T2 記憶手段から前記2重ベクトルT2を、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    2を、パラメータAが定めるa13x^4+a12y
    ^3+a11xy^2+a10x^2y+a9x^3+
    a8y^2+a7xy+a6x^2+a5y+a4x+
    a3=0という定義式をもつ曲線上の点の集まりの座標
    値列と見なすとき、当該点の集まりの、前記パラメータ
    Aが定めるa13x^4+a12y^3+a11xy^
    2+a10x^2y+a9x^3+a8y^2+a7x
    y+a6x^2+a5y+a4x+a3=0という定義
    式をもつ曲線のヤコビアン群における逆元を表す点の集
    まりの座標値列である2重ベクトルX3 を演算する第2
    の点集合変換装置と、 前記第2の点集合変換装置により演算された前記2重ベ
    クトルX3 を出力する手段とを備えたことを特徴とする
    2重ベクトル加算装置を実現するためのプログラムを記
    録したコンピュータが読みとり可能な記録媒体。
  5. 【請求項5】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルの2倍を計算する2重
    ベクトル2倍装置において、 2重ベクトルXとa13x^4+a12y^3+a11
    xy^2+a10x^2y+a9x^3+a8y^2+
    a7xy+a6x^2+a5y+a4x+a3=0とい
    う定義式をもつ曲線を定めるパラメータAを入力する手
    段と、 入力された2重ベクトルXを記憶するX記憶手段と、 前記2重ベクトルXのコピーである2重ベクトルX’を
    記憶するX’記憶手段と、 入力された前記パラメータAを記憶するA記憶手段と、 前記X記憶手段から2重ベクトルXを、前記X’記憶手
    段から前記2重ベクトルX’を、前記A記憶手段から前
    記パラメータAを取得し、前記2重ベクトルXとX’の
    和2Xを演算する請求項1,2または3に記載の2重ベ
    クトル加算装置と、 演算された2重ベクトル2Xを出力する手段とを備えた
    ことを特徴とする2重ベクトル2倍装置。
  6. 【請求項6】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルの2倍を計算する2重
    ベクトル2倍装置を実現するためのプログラムを記録し
    たコンピュータが読みとり可能な記録媒体において、 2重ベクトルXとa13x^4+a12y^3+a11
    xy^2+a10x^2y+a9x^3+a8y^2+
    a7xy+a6x^2+a5y+a4x+a3=0とい
    う定義式をもつ曲線を定めるパラメータAを入力する手
    段と、 入力された2重ベクトルXを記憶するX記憶手段と、 前記2重ベクトルXのコピーである2重ベクトルX’を
    記憶するX’記憶手段と、 入力された前記パラメータAを記憶するA記憶手段と、 前記X記憶手段から2重ベクトルXを、前記X’記憶手
    段から前記2重ベクトルX’を、前記A記憶手段から前
    記パラメータAを取得し、前記2重ベクトルXとX’の
    和2Xを演算する請求項4記載のプログラムを用いた2
    重ベクトル加算装置と、 演算された2重ベクトル2Xを出力する手段とを備えた
    ことを特徴とする2重ベクトル2倍装置を実現するため
    のプログラムを記録したコンピュータが読みとり可能な
    記録媒体。
  7. 【請求項7】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルの整数倍を計算する2
    重ベクトル整数倍装置において、 整数nと2重ベクトルXとa13x^4+a12y^3
    +a11xy^2+a10x^2y+a9x^3+a8
    y^2+a7xy+a6x^2+a5y+a4x+a3
    =0という定義式をもつ曲線を定めるパラメータAを入
    力する手段と、 前記整数nを記憶するn記憶手段と、 前記2重ベクトルXを記憶するX記憶手段と、 前記2重ベクトルXのコピーである2重ベクトルYを記
    憶するY記憶手段と、 2重ベクトルZを記憶するZ記憶手段と、 前記パラメータAを記憶するA記憶手段と、 整数rを記憶するr記憶手段と、 前記2重ベクトルを加算する請求項1,2または3に記
    載の2重ベクトル加算装置と、 前記2重ベクトルを2倍する請求項5に記載の2重ベク
    トル2倍装置と、 前記n記憶手段から前記整数nを取得し、nを2で割っ
    た余りrを求め、前記r記憶手段に記憶する手段と、 前記n記憶手段から前記整数nを取得し、nを2で割っ
    た商を求め、新たなnとし前記n記憶手段に記憶する手
    段と、 前記r記憶手段から整数rを取得し、rが1ならば、前
    記Y記憶手段から2重ベクトルYを、前記Z記憶手段か
    ら2重ベクトルZを、前記A記憶手段からパラメータA
    を取得し、前記2重ベクトル加算装置に前記2重ベクト
    ルY、Z及び前記パラメータAを入力し、前記2重ベク
    トルYと前記2重ベクトルZの和を求め新たにZ記憶手
    段に記憶する手段と、 前記n記憶手段から整数nを取得し、nが0より大きい
    ならば、前記Y記憶手段から2重ベクトルYを、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    2倍装置に前記2重ベクトルYとパラメータAを入力
    し、2重ベクトルYの2倍を求め、新たにY記憶手段に
    記憶し、nが0に等しいならば、前記Z記憶手段から2
    重ベクトルZを取得し出力する手段とを備えたことを特
    徴とする2重ベクトル整数倍装置。
  8. 【請求項8】予め定められた有限体の2つの元の組を複
    数個並べて得られる2重ベクトルの整数倍を計算する2
    重ベクトル整数倍装置を実現するためのプログラムを記
    録したコンピュータが読みとり可能な記録媒体におい
    て、 整数nと2重ベクトルXとa13x^4+a12y^3
    +a11xy^2+a10x^2y+a9x^3+a8
    y^2+a7xy+a6x^2+a5y+a4x+a3
    =0という定義式をもつ曲線を定めるパラメータAを入
    力する手段と、 前記整数nを記憶するn記憶手段と、 前記2重ベクトルXを記憶するX記憶手段と、 前記2重ベクトルXのコピーである2重ベクトルYを記
    憶するY記憶手段と、 2重ベクトルZを記憶するZ記憶手段と、 前記パラメータAを記憶するA記憶手段と、 整数rを記憶するr記憶手段と、 前記2重ベクトルを加算する請求項4記載のプログラム
    を用いた2重ベクトル加算装置と、 前記2重ベクトルを2倍する請求項6に記載のプログラ
    ムを用いた2重ベクトル2倍装置と、 前記n記憶手段から前記整数nを取得し、nを2で割っ
    た余りrを求め、前記r記憶手段に記憶する手段と、 前記n記憶手段から前記整数nを取得し、nを2で割っ
    た商を求め、新たなnとし前記n記憶手段に記憶する手
    段と、 前記r記憶手段から整数rを取得し、rが1ならば、前
    記Y記憶手段から2重ベクトルYを、前記Z記憶手段か
    ら2重ベクトルZを、前記A記憶手段からパラメータA
    を取得し、前記2重ベクトル加算装置に前記2重ベクト
    ルY、Z及び前記パラメータAを入力し、前記2重ベク
    トルYと前記2重ベクトルZの和を求め新たにZ記憶手
    段に記憶する手段と、 前記n記憶手段から整数nを取得し、nが0より大きい
    ならば、前記Y記憶手段から2重ベクトルYを、前記A
    記憶手段からパラメータAを取得し、前記2重ベクトル
    2倍装置に前記2重ベクトルYとパラメータAを入力
    し、2重ベクトルYの2倍を求め、新たにY記憶手段に
    記憶し、nが0に等しいならば、前記Z記憶手段から2
    重ベクトルZを取得し出力する手段とを備えたことを特
    徴とする2重ベクトル整数倍装置を実現するためのプロ
    グラムを記録したコンピュータが読みとり可能な記録媒
    体。
JP23252897A 1997-08-28 1997-08-28 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置 Expired - Lifetime JP3292107B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP23252897A JP3292107B2 (ja) 1997-08-28 1997-08-28 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置
CA002246421A CA2246421C (en) 1997-08-28 1998-08-27 Apparatus for operating bivector and encrypting system including the same
DE69833352T DE69833352T2 (de) 1997-08-28 1998-08-27 Vorrichtung zur Verarbeitung von Bivektoren und Verschlüsselungssystem unter Verwendung desselben
EP98250304A EP0899907B1 (en) 1997-08-28 1998-08-27 Apparatus for processing bivectors and encrypting system including the same
US09/143,578 US6560336B1 (en) 1997-08-28 1998-08-28 Apparatus for operating double vector and encrypting system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23252897A JP3292107B2 (ja) 1997-08-28 1997-08-28 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001254229A Division JP2002135242A (ja) 2001-08-24 2001-08-24 公開鍵配送システム、エルガマル型暗号システム及びエルガマル型署名システム

Publications (2)

Publication Number Publication Date
JPH1173105A JPH1173105A (ja) 1999-03-16
JP3292107B2 true JP3292107B2 (ja) 2002-06-17

Family

ID=16940758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23252897A Expired - Lifetime JP3292107B2 (ja) 1997-08-28 1997-08-28 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置

Country Status (5)

Country Link
US (1) US6560336B1 (ja)
EP (1) EP0899907B1 (ja)
JP (1) JP3292107B2 (ja)
CA (1) CA2246421C (ja)
DE (1) DE69833352T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3551853B2 (ja) * 1999-08-27 2004-08-11 日本電気株式会社 αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体
US7093137B1 (en) * 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
US7240204B1 (en) * 2000-03-31 2007-07-03 State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Scalable and unified multiplication methods and apparatus
US20020136401A1 (en) * 2000-07-25 2002-09-26 Jeffrey Hoffstein Digital signature and authentication method and apparatus
CA2469198C (en) 2001-12-07 2013-02-12 Ntru Cryptosystems, Inc. Digital signature and authentication method and apparatus
JP3925298B2 (ja) 2002-05-14 2007-06-06 日本電気株式会社 タイムシフト再生時間制御方法および情報再生装置
JP4304937B2 (ja) * 2002-08-21 2009-07-29 日本電気株式会社 ヤコビ群要素加算装置
US7499552B2 (en) * 2006-01-11 2009-03-03 International Business Machines Corporation Cipher method and system for verifying a decryption of an encrypted user data key
US7885406B2 (en) * 2006-10-10 2011-02-08 Microsoft Corporation Computing endomorphism rings of Abelian surfaces over finite fields
US8102998B2 (en) * 2007-05-02 2012-01-24 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication using parameterized projective coordinates
US20080273695A1 (en) * 2007-05-02 2008-11-06 Al-Gahtani Theeb A Method for elliptic curve scalar multiplication using parameterized projective coordinates
US8401179B2 (en) * 2008-01-18 2013-03-19 Mitsubishi Electric Corporation Encryption parameter setting apparatus, key generation apparatus, cryptographic system, program, encryption parameter setting method, and key generation method
US8520841B2 (en) * 2008-05-22 2013-08-27 Microsoft Corporation Algorithms for generating parameters for genus 2 hyperelliptic curve cryptography
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
US20220094532A1 (en) * 2020-07-01 2022-03-24 X-Logos, LLC Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra
US11764943B2 (en) 2020-08-10 2023-09-19 Algemetric, Inc. Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
US11683151B2 (en) 2020-09-17 2023-06-20 Algemetric, Inc. Methods and systems for distributed computation within a fully homomorphic encryption scheme using p-adic numbers

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Computational Aspects of Curves of Genus at Least 2,Lecture Notes in Computer Science,Vol.1122,p.283−306
Computing in the Jacobian of a Plane Algebraic Curve,Lecture Notes in Computer Science,Vol.877,p.221−233
Efficient Algorithms for the Riemann−Roch Problem and for Addition in the Jacobian of a Curve,Journal of Symbolic Computation,Vol.18,No.6,p.519−539
Hyperellipitc Cryptosystems,Journal of Cryptology,Vol.1,No.3,p.139−150

Also Published As

Publication number Publication date
JPH1173105A (ja) 1999-03-16
EP0899907B1 (en) 2006-02-01
EP0899907A2 (en) 1999-03-03
CA2246421C (en) 2002-02-26
US6560336B1 (en) 2003-05-06
DE69833352T2 (de) 2006-10-12
DE69833352D1 (de) 2006-04-13
CA2246421A1 (en) 1999-02-28
EP0899907A3 (en) 2001-12-12

Similar Documents

Publication Publication Date Title
JP3292107B2 (ja) 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置
JP6959994B2 (ja) データ重複排除のためのアプリケーションによる暗号化鍵の生成
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US7853014B2 (en) Ring arithmetic method, system, and apparatus
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
US20130243193A1 (en) Digital signature generation apparatus, digital signature verification apparatus, and key generation apparatus
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
JP2000500886A (ja) ランダムに生成されたペアをプリコンピューティングすることによるアクセラレイティング公開鍵暗号技術
US20020055962A1 (en) Automatically solving equations in finite fields
Aydos et al. Implementing network security protocols based on elliptic curve cryptography
Nagaty A public key cryptosystem and signature scheme based on numerical series
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
JP3278790B2 (ja) 公開鍵暗号方法及び公開鍵暗号システム
JP2002135242A (ja) 公開鍵配送システム、エルガマル型暗号システム及びエルガマル型署名システム
KR19990070921A (ko) 행렬그룹 공개키와 그 생성방법
JPH0798563A (ja) 楕円曲線による署名、認証及び秘密通信方式
JP4462511B2 (ja) エルガマル・ライクなプロトコルのためのセッション・パラメータ生成方法
JPH06282226A (ja) 楕円曲線に基づく公開鍵暗号方式
JPH1152851A (ja) 楕円曲線上の群演算装置
JP3634097B2 (ja) 暗号通信システム
JP3292312B2 (ja) ディジタル署名方法
JP3518680B2 (ja) 素数生成装置
Geum 3 B (Block Byte Bit) Cipher Algorithm for Secure Socket Layer

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020226

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080329

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090329

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090329

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100329

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100329

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110329

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110329

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120329

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120329

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130329

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130329

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140329

Year of fee payment: 12

EXPY Cancellation because of completion of term