JP4237306B2 - 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置 - Google Patents

超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置 Download PDF

Info

Publication number
JP4237306B2
JP4237306B2 JP29318398A JP29318398A JP4237306B2 JP 4237306 B2 JP4237306 B2 JP 4237306B2 JP 29318398 A JP29318398 A JP 29318398A JP 29318398 A JP29318398 A JP 29318398A JP 4237306 B2 JP4237306 B2 JP 4237306B2
Authority
JP
Japan
Prior art keywords
prime
curve
hyperelliptic curve
unit determines
determining unit
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
JP29318398A
Other languages
English (en)
Other versions
JP2000122535A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP29318398A priority Critical patent/JP4237306B2/ja
Publication of JP2000122535A publication Critical patent/JP2000122535A/ja
Application granted granted Critical
Publication of JP4237306B2 publication Critical patent/JP4237306B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル情報を暗号化して安全に暗号通信する技術に関する。
【0002】
【従来の技術】
従来の超楕円曲線を用いた暗号化方法について説明する。
従来の超楕円曲線を用いた暗号化方法には、松尾、趙、辻井著、“拡大体上のアーベル多様体に基づく暗号系の構成方法”、暗号と情報セキュリティシンポジウム(SCIS)、(1997)、SCIS’97−12Eがある。また、公開鍵暗号及び離散対数問題については、岡本龍明、山本博資著、“現代暗号”、産業図書(1997)に記載されている。
【0003】
まず、本発明の技術的背景である公開鍵暗号、離散対数問題、超楕円曲線及びヤコビ多様体について簡単に説明する。
公開鍵暗号通信においては、利用者毎に秘密鍵xと公開鍵Yの組が用意され、秘密鍵xは、各利用者が秘密に保持しておく。公開鍵Yは、利用者自身以外の一般に公開する。利用者Bが利用者Aに秘密にデータを送りたい時は、利用者Bは、利用者Aに対応する公開鍵Yを用いてデータを暗号化する。この暗号文は、秘密鍵xを知る利用者Aにしか復号できない。
離散対数問題とは群Gの2つの要素g1 ,g2 に対して、g1 =mg2 (mは整数)を満たすようなmを求める問題である。群Gの要素の数が大きい場合、離散対数問題を解くことは、計算量的に非常に困難になることが知られている。この事実を利用して公開鍵暗号を設計することができ、本発明においても離散対数問題を解く困難さを暗号の安全性の根拠にして暗号化を行う。
超楕円曲線Cとは、v2 +h(u)v=f(u)と表される方程式で、曲線の種数をgとすると、f(u)は次数2g+1のモニック多項式、h(u)は次数が高々gの多項式である。
種数gとは、曲線の特徴を表すパラメータである。例えば、種数g=3の場合の超楕円曲線は、次数が2g+1=2・3+1=7となり、例えば、v2 +v=u7 となる。超楕円曲線Cと有限体Fq を決めると、超楕円曲線Cに付随する有限体Fq 上のヤコビ多様体J(C,Fq )(以下、単にJともいう)が構成される。ヤコビ多様体J(C,Fq )の要素数#J(C,Fq )(以下、単に#Jともいう)は、およそ#J=qg になることが知られている。即ち、ヤコビ多様体の要素数#Jが同じならば、種数gが大きくなるほど有限体Fq の要素数qは小さくなる。
【0004】
ここで、現在の暗号処理に用いられている楕円曲線について説明する。
楕円曲線とは、例えば、y2 +xy=x3 +a1 2 +a2 と表される3次式の方程式で、種数gは1であり、次数は3(2g+1=2+1=3)である。超楕円曲線は、種数が1以上の値をとるのに対し、楕円曲線は、種数gは必ず1である。そして、超楕円曲線の種数g=1の場合は、楕円曲線となる。また、実際の計算は有限体(Fq )上で行われるが、楕円曲線の群の要素は点(x,y)で表されるのに対し、超楕円曲線に付随する有限体Fq 上のヤコビ多様体J(C,Fq )の要素は、有限体Fq 係数の2つ多項式a(u),b(u)により表現される。ここで、a(u)の次数はg以下、b(u)の次数はa(u)の次数未満である。また、有限体Fq の要素は、q=2n のときnビットの整数で表される。従って、超楕円曲線の計算は、楕円曲線に比べて複雑となる。
【0005】
図7,図8,図9は、従来の超楕円曲線を用いた暗号化方法を示すフローチャートである。
図7は、暗号鍵生成方法を示すフローチャートである。
図8は、暗号化方法を示すフローチャートである。
図9は、復号化方法を示すフローチャートである。
図において、S401は超楕円曲線C:v2 +h(u)v=f(u)と、q個の要素を持つ有限体Fq と、ヤコビ多様体Jの要素Dを選択するステップである。超楕円曲線Cの種数gは、この従来例ではg=2が選ばれている。S402は整数xを選択し、整数xを秘密鍵とするステップ、S403はヤコビ多様体J上でY=xDを計算し、Yを公開鍵とするステップ、S501は平文mと整数rを選択するステップ、S502はヤコビ多様体J上でC1 =rDとC2 =rY+mを計算するステップ、S503は(C1 ,C2 )を平文mを暗号化した暗号文とするステップ、S601は暗号文(C1 ,C2 )と秘密鍵xとからヤコビ多様体J上でm=C2 −xC1 を計算するステップ、S602はmを平文とするステップである。
【0006】
次に、動作を説明する。
まず、暗号鍵生成方法を図7に基づいて説明する。
暗号通信の利用者は、まず、S401において、q個の要素を持つ有限体Fq と、超楕円曲線C:v2 +h(u)v=f(u)を選択する。この際、ヤコビ多様体の要素数#Jが大きな素数で割り切れるように、超楕円曲線C及び有限体Fq を選択しなければならない。これは、超楕円曲線を用いた公開鍵暗号の解読を困難にするための条件である。次に、ヤコビ多様体Jの要素Dを選択する。次に、S402において、整数xを選択する。整数xを秘密鍵として秘密に保存しておく。S403において、公開鍵Yを計算する。公開鍵Yは、Y=xDとして計算される。
次に、暗号化方法を図8に基づいて説明する。
まず、S501において、暗号化したいデータm(これを平文と呼ぶ)と整数rを選択する。次に、S502において、ヤコビ多様体J(C,Fq )上で、C1 =rDと、C2 =rY+mを計算する。次に、S503において、C1 とC2 の組(C1 ,C2 )を暗号文とする。
【0007】
次に、復号化方法を図9に基づいて説明する。
まず、S601において、暗号文(C1 ,C2 )と秘密鍵xとから、有限体Fq 上でm=C2 −xC1 (m=C2 −rY=C2 −rxD=C2 −xC1 )を計算する。S602において、mを平文とする。
【0008】
超楕円曲線を用いた暗号化方法では、一般に、演算は全て有限体Fq 上で行われる。有限体Fq の要素数qは、ある素数pのべき乗でq=pn と表される。有限体Fp nは、有限体Fp の拡大体と呼ばれ、nは拡大次数と呼ばれる。pが3以上の素数の拡大体を用いた暗号化方法においては、pが小さい方が暗号化/復号化の速度が速い。従来の暗号化方法では、有限体F31 31が用いられていた。
【0009】
【発明が解決しようとする課題】
従来のp>2の有限体Fp nを用いた超楕円曲線を用いた暗号化方法は、以上のようにp=31であるため、より小さいpと比較して、暗号化及び復号化の速度が遅くなるという課題があった。
【0010】
本発明の目的は、係る課題を解決するためになされたもので、ヤコビ多様体J(C,Fq )の有限体Fq として、p>2の拡大体Fp nを用いる場合に、pを小さな素数(例えば、3又は5又は7)にして、高速に暗号化及び復号化を行うことができ、かつ、安全な暗号を得ることにある。即ち、本発明の目的は、超楕円曲線を用いた暗号処理の実用的速度の達成を目的とする。
【0011】
【課題を解決するための手段】
この発明に係る暗号管理装置は、超楕円曲線Cに付随する有限体Fq 上のヤコビ多様体をJ(C,Fq )とし、要素数qをpn (pは3以上の素数、nは拡大次数)とするとき、
3以上の小さな素数pから順に超楕円曲線Cを生成する超楕円曲線C生成部を備えたことを特徴とする。
【0012】
上記超楕円曲線C生成部は、
3以上の素数から順に素数pを決定する素数p決定部と、
2以上の小さな整数から順に種数gを決定する種数g決定部と、
種数gに基づいて拡大次数nを決定する拡大次数n決定部と、
種数gから超楕円曲線Cの次数を決定して超楕円曲線Cを順次生成するとともに、選択された拡大次数nに基づく有限体Fq と上記超楕円曲線Cとからヤコビ多様体J(C,Fq )の要素数#J(C,Fq )を計算し、最大の素因数を求め、最大の素因数が暗号の安全性の目安となる目安整数K以上となるような超楕円曲線Cを選択する超楕円曲線C決定部と
を備えたことを特徴とする。
【0013】
上記拡大次数n決定部は、暗号の安全性の目安となる目安整数Kを入力し、種数gと目安整数Kから拡大次数nを計算することを特徴とする。
【0014】
上記種数g決定部は、超楕円曲線C決定部が目安整数Kより大きな値を持つ最大の素因数を求められないとき、種数gの値を大きくすることを特徴とする。
【0015】
この発明に係る暗号化方法は、素数pをメモリから取得して決定する工程と、
種数gをメモリから取得して決定する工程と、
ヤコビ多様体Jの目安整数Kをメモリから取得する工程と、
種数gと目安整数Kから拡大次数nを決定する工程と、
種数gから超楕円曲線Cの次数を計算し、計算した次数に基づく超楕円曲線Cを生成し、決定した拡大次数nに基づく有限体Fp nと生成した超楕円曲線Cとから要素数#Jを計算し、最大の素因数を検出し、メモリに記憶する工程と、
メモリに記憶された最大の素因数が目安整数Kより大きい場合に、メモリに記憶された最大の素因数を生成した超楕円曲線Cを暗号に用いる超楕円曲線Cとして決定する工程と
を備えたことを特徴とする。
【0016】
この発明に係る暗号化方法は、超楕円曲線Cに付随する有限体F3 n上のヤコビ多様体をJ(C,F3 n)とするとき、
前記ヤコビ多様体J(C,F3 n)の要素の数#J(C,F3 n)が大きな素数で割り切れるように前記超楕円曲線Cと前記有限体F3 nをとり、
前記ヤコビ多様体J(C,F3 n)上定義される離散対数問題の困難さを安全性の根拠に持つことを特徴とする。
【0017】
前記nは59、前記Cはv2=u5+u4+u3+u+1であることを特徴とする。
【0018】
前記nは37、前記Cはv2 =u7 +u5 +u3 +u2 +u+1であることを特徴とする。
【0019】
前記nは37、前記Cはv2 =u7 +u6 +u5 +u4 +1であることを特徴とする。
【0020】
前記nは29、前記Cはv2 =u9 +u8 +u7 +u4 +u3 +u2 +u+1であることを特徴とする。
【0021】
前記nは29、前記Cはv2 =u9 +u6 +u5 +u3 +1であることを特徴とする。
【0022】
前記nは29、前記Cはv2 =u9 +u7 +u5 +u4 +u3 +u+1であることを特徴とする。
【0023】
前記nは29、前記Cはv2 =u9 +u7 +u6 +u2 +1であることを特徴とする。
【0024】
前記nは29、前記Cはv2 =u9 +u7 +u6 +u5 +u4 +u3 +u+1であることを特徴とする。
【0025】
この発明に係る暗号化方法は、超楕円曲線Cに付随する有限体F5 n上のヤコビ多様体をJ(C,F5 n)とするとき、
前記ヤコビ多様体J(C,F5 n)の要素の数#J(C,F5 n)が大きな素数で割り切れるように前記超楕円曲線Cと前記有限体F5 nをとり、
前記ヤコビ多様体J(C,F5 n)上定義される離散対数問題の困難さを安全性の根拠に持つことを特徴とする。
【0026】
前記nは43、前記Cはv2 =u5 +u2 +1であることを特徴とする。
【0027】
前記nは23、前記Cはv2 =u7 +u6 +u2 +1であることを特徴とする。
【0028】
前記nは19、前記Cはv2 =u9 +u6 +u4 +u3 +1であることを特徴とする。
【0029】
前記nは19、前記Cはv2 =u9 +u7 +u6 +u5 +u3 +u+1であることを特徴とする。
【0030】
前記nは19、前記Cはv2 =u9 +u8 +u7 +u4 +u+1であることを特徴とする。
【0031】
この発明に係る暗号化方法は、超楕円曲線Cに付随する有限体F7 n上のヤコビ多様体をJ(C,F7 n)とするとき、
前記ヤコビ多様体J(C,F7 n)の要素の数#J(C,F7 n)が大きな素数で割り切れるように前記超楕円曲線Cと前記有限体F7 nをとり、
前記ヤコビ多様体J(C,F7 n)上定義される離散対数問題の困難さを安全性の根拠に持つことを特徴とする。
【0032】
前記nは29、前記Cはv2 =u5 +u4 +u2 +1であることを特徴とする。
【0033】
前記nは19、前記Cはv2 =u7 +u6 +u5 +u3 +u+1であることを特徴とする。
【0034】
前記nは17、前記Cはv2 =u9 +u8 +u6 +u5 +u3 +u+1であることを特徴とする。
【0035】
【発明の実施の形態】
実施の形態1.
本発明による暗号化方法の一実施の形態を図1,図2,図3,図4に基づいて説明する。
図1は、本実施の形態による暗号化方法における鍵生成の方法を説明したフローチャートである。
図において、S101は本発明の特徴となる超楕円曲線Cと有限体Fq をp=3又は5又は7等の3以上の小さな素数になるように選択し、ヤコビ多様体Jの要素Dを選択するステップ、S102は整数xを選択し、整数xを秘密鍵とするステップ、S103はヤコビ多様体J上でY=xDを計算し、Yを公開鍵とするステップである。
【0036】
図2は、本実施の形態による暗号化方法を説明したフローチャートである。
図において、S201はデータmと整数rを選択するステップで、データmは平文mとも呼ばれる。S202はヤコビ多様体J上で、C1 =rDとC2 =rY+mを計算するステップ、S203はC1 とC2 の組(C1 ,C2 )を平文mを暗号化した結果である暗号文とするステップである。
【0037】
図3は、本実施の形態による復号化方法を説明したフローチャートである。
図において、S301は暗号文(C1 ,C2 )と秘密鍵xとから、ヤコビ多様体J上でm=C2 −xC1 を計算するステップで、S302は計算されたmを平文とするステップである。
【0038】
図4は、本実施の形態による暗号化方法を用いた公開鍵暗号通信を説明した図である。
図において、701はデータ受信装置、702は整数x生成手段、703はY=xD計算手段、704は公開鍵Y出力手段、705は秘密鍵x記憶手段、706は暗号文入力手段、707はデータm=C2 −xC1 計算手段、708はデータ送信装置、709はデータ入力手段、710は公開鍵入力手段、711は整数r生成手段、712はC1 =rDとC2 =rY+mを計算する計算手段、713は暗号文(C1 ,C2 )生成手段、714は暗号文出力手段、715は暗号処理を管理する暗号管理装置、716は超楕円曲線及び有限体及びヤコビ多様体の要素Dを生成する生成手段、717は公開鍵記憶手段である。
【0039】
次に、動作を説明する。
まず、暗号鍵生成方法を説明する。
まず、S101において、超楕円曲線Cと有限体Fq をp=3又は5又は7等の3以上の小さな素数になるように選択し、ヤコビ多様体J(C,Fp n)の要素Dを選択する。超楕円曲線Cは、v2 +h(u)v=f(u)と表される方程式で、曲線の種数をgとすると、f(u)は次数2g+1のモニック多項式、h(u)は次数が高々gの多項式である。gは、超楕円曲線Cの性質を特徴付けるパラメータで種数と呼ばれる。超楕円曲線Cと有限体Fp nを決めると、それに付随するヤコビ多様体J(C,Fp n)が構成される。ヤコビ多様体Jの要素において、加法を定義することができ、この加法に関してヤコビ多様体は群をなす。ヤコビ多様体及び加法の演算方法に関しては、前述の文献に詳しく記載されている。次に、S102において、整数xを選択する。この整数xは、公開鍵暗号通信における秘密鍵として使用され、公開鍵暗号通信の利用者各自に秘密に保持される。
次に、S103において、ヤコビ多様体J上で、Y=xDを計算する。計算されたYは、公開鍵暗号通信において公開鍵として使用され、公開鍵Yは秘密に保持する必要はなく、一般に公開される。
【0040】
次に、データの暗号化方法を説明する。
まず、S201において、暗号化したいデータmと整数rを選択する。次に、S202において、S101において選択されたヤコビ多様体J上で、Jの要素Dと公開鍵Yを用いて、C1 =rDとC2 =rY+mを計算する。S203において、C1 とC2 の組(C1 ,C2 )を暗号文とした生成する。
このように、暗号文は公開鍵Yを用いて生成される。
【0041】
次に、データの復号化方法を説明する。
まず、S301において、暗号文(C1 ,C2 )と、秘密に保持された秘密鍵xとから、S101において、生成されたヤコビ多様体J上でm=C2 −xC1 を計算する。S302において、これを平文mとする。
【0042】
次に、以上で説明した、鍵生成方法、暗号化方法、復号化方法を用いて実際に公開鍵暗号通信を行う方法を図4に基づいて説明する。
データ送信装置708からデータ受信装置701へデータが送信される。また、暗号管理装置715では暗号通信に使用されるシステム全体の共通パラメータである超楕円曲線C及び有限体Fp n及びヤコビ多様体Jの要素Dが生成され、更に、データ暗号化に使用される公開鍵Yの管理が行われる。公開鍵Yは、システムの利用者全員が利用できるように公開される。但し、秘密鍵xは、利用者各自が秘密に保持しておかなくてはならない。
【0043】
まず、暗号管理装置715でシステム全体のパラメータを生成する。生成手段716において、超楕円曲線Cと有限体Fq とヤコビ多様体JとJの要素Dを生成する。これらのパラメータは、前述のように、ヤコビ多様体Jの要素の数が大きな素数で割り切れるように設定する。
【0044】
図5は、生成手段716の構成図である。
生成手段716は、メモリ10と回路部20から構成されている。メモリ10は、素数pレジスタ14と種数gレジスタ15と目安整数Kレジスタ12と最大素因数レジスタ13から構成されている。回路部20は、超楕円曲線C生成部30とヤコビ多様体Jの要素D生成部25から構成されている。超楕円曲線C生成部30は、素数p決定部24と種数g決定部21と拡大次数n決定部22と超楕円曲線C決定部23とから構成されている。
【0045】
素数pレジスタ14は、超楕円曲線Cの探索を試みる3以上の小さな素数を1つ以上記憶するレジスタである。種数gレジスタ15は、超楕円曲線Cの探索を試みる2以上の小さな整数を1つ以上記憶するレジスタである。目安整数Kレジスタ12は、安全性の目安となるヤコビ多様体Jの要素数#Jの最大素因数の大きさを記憶するレジスタである。最大素因数レジスタ13は、最大素因数を記憶するレジスタである。
素数pレジスタ14に記憶される素数は、予めp=3,5,7という値が設定されているものとする。種数gレジスタ15に記憶される整数は、予めg=2,3,4,5,6という値が設定されているものとする。目安整数Kレジスタ12に記憶される整数も予めK=2160 という値が設定されているものとする。
【0046】
まず、回路部20の動作の概略を説明する。
安全な暗号通信を行うためのヤコビ多様体J(C,Fq )は、ヤコビ多様体の要素数#Jを素因数分解した際の最大素因数の大きさが、大きくなければならない。本実施の形態では、2160 以上であればよいとしている。ヤコビ多様体は、超楕円曲線Cの方程式と、有限体Fq を決めれば一意に決まり、要素数#Jも一意に決まる。つまり、超楕円曲線Cと有限体Fq を適切に(ヤコビ多様体の要素数#Jの最大素因数が大きくなるように)決めることが必要である。本実施の形態では、qはpのべき乗pn に設定し、かつ、pをできるだけ小さな素数にすることがFp nを決める上での制約条件である(なお、Fp nのnのことを数学では“拡大次数”と呼ぶ)。
ヤコビ多様体の要素数#Jは、だいたいqg (=png)の大きさとなる。つまり、有限体Fp nの拡大次数nと、超楕円曲線Cの種数g(超楕円曲線の次数は2g+1となる)を決めれば、ヤコビ多様体の要素数#Jの大きさはだいたい決まる。ここで重要なのは、ヤコビ多様体の要素数#Jの大きさがだいたい決まる(だいたいpngになる)ということで、正確なヤコビ多様体の要素数#Jの値は、png前後の値をとるということである。結果として、拡大次数nと種数gが同じでも超楕円曲線Cの方程式を変えると、ヤコビ多様体の要素数#Jの大きさはだいたい同じであっても、ヤコビ多様体の要素数#Jの最大素因数の大きさは全く異なる。
例えば、仮に、png=100になったとすると、超楕円曲線Cのとり方によってヤコビ多様体の要素数#Jは、102になったり、99になったりする。102=2×51,99=3×3×11であるから、ヤコビ多様体の要素数#Jの最大素因数は、それぞれ51,11となり、暗号として好ましいのはヤコビ多様体の要素数#J=102になる超楕円曲線Cの方ということになる。
従って、ヤコビ多様体Jの生成手順は、まず、素数pと種数gと拡大次数nを決めておいて、超楕円曲線Cの方程式をいろいろ変えてヤコビ多様体の要素数#Jとその最大素因数を計算し、最大素因数が安全性を決めるパラメータ(目安整数K、K=2160 )よりも大きくなる超楕円曲線Cが得られたら終了とする。
種数gと拡大次数nは、ヤコビ多様体の要素数#Jの大きさはだいたいpng前後なので、png>K(=2160 )になるようにしておけばよい。なぜなら、ヤコビ多様体の要素数#Jの最大素因数の大きさは、必ずヤコビ多様体の要素数#Jより小さくなり、ヤコビ多様体の要素数#Jがヤコビ多様体の要素数#Jに近い大きさの最大素因数を持つようなヤコビ多様体Jを得ることを期待するからである。種数gは、小さい方が暗号化速度が速いので、2以上の最小の整数gから超楕円曲線Cの探索を開始する。拡大次数nは、png>K(=2160 )を満たす最小整数値とする。
【0047】
次に、回路部20の動作を図5,図6を用いて詳細に説明する。
図6は、図1に示したS101の詳細なフローチャート図である。
素数p決定部24は、S12において、素数pレジスタ14から最小の素数を取得する。種数g決定部21は、S13において、種数gレジスタ15から最小の整数を取得する。例えば、ここでは、p=3,g=2が取得されたものとする。
次に、拡大次数n決定部22は、目安整数Kレジスタ12から目安整数Kを取得する。ここでは、目安整数K=2160 とする。次に、拡大次数n決定部22は、S14において、拡大次数nを計算する。K<2N(g)を満足する最小の整数である。この例においては、2160 <(pn g =(3n 2 から、拡大次数nが求められる。こうして有限体Fq =Fp nが決定する。
超楕円曲線C決定部23は、S15において、種数gから超楕円曲線Cの次数を計算する。次数は、2g+1である。超楕円曲線C決定部23は、この次数を持つ超楕円曲線Cを1つ生成する。超楕円曲線C決定部23は、超楕円曲線の方程式を満足し、かつ、種数gから計算された次数を満足する超楕円曲線Cを生成する。この際、いろいろな超楕円曲線Cが考えられるが、とりあえず、ある1つの超楕円曲線Cを生成するものとする。超楕円曲線C決定部23は、所定のアルゴリズムに基づき、種数gから計算された次数を満足する全ての超楕円曲線Cを順に生成するものとする。
次に、超楕円曲線C決定部23は、超楕円曲線Cと有限体Fp nとから要素数#Jを計算する。この要素数#Jの計算は、既に知られている計算方法を用いることにより、ある1つの要素数#Jが計算される。次に、超楕円曲線C決定部23は、要素数#Jを素因数分解し、素因数分解された素因数の内、最大の素因数を最大素因数レジスタ13に記憶する。もし、この最大素因数の値が目安整数Kよりも大きな値なら、生成した超楕円曲線Cを求めたかった超楕円曲線Cとして決定する。もし、この最大素因数の値が目安整数Kよりも小さな値なら、S15に戻り別な超楕円曲線Cを生成して、S16,S17を繰り返す。最大素因数レジスタ13は、これらの繰り返し処理の中で生じる最大素因数の最大の値を保持するものとする。
もし、超楕円曲線Cを変えても、最大素因数の値が目安整数Kよりも大きな値をとらない場合は、S13に戻りg=2の次に小さな種数gを取得し(即ち、g=3として)、S14からS17を実行する。もし、それでも、この最大素因数の値が目安整数Kよりも大きな値をとらない場合は、S13において、更に大きな値の種数g(g=4,5,6)を取得してS14からS17を繰り返す。最大素因数レジスタ13は、これらの繰り返し処理の中で生じる最大素因数の最大の値を保持するものとする。
もし、これらの繰り返し処理により最大素因数の値が目安整数Kよりも大きな値をとらない場合は、S12に戻り、p=3の次に小さな素数pを取得し(即ち、p=5として)、S13からS17を実行する。もし、それでも、この最大素因数の値が目安整数Kよりも大きな値をとらない場合は、S12において、更に大きな値の素数p(p=7)を取得し、S13からS17を繰り返す。最大素因数レジスタ13は、これらの繰り返し処理の中で生じる最大素因数の最大の値を保持するものとする。
もし、これらの繰り返し処理により最大素因数の値が目安整数Kよりも大きな値をとらない場合は、超楕円曲線Cの生成の失敗を報告する。又は、安全性は満たさないという警告を発しながら、最大素因数レジスタ13に記憶された最大素因数の中の最大の値を生成した超楕円曲線Cを取り敢えず選択する。
超楕円曲線Cが決定したら、次に、ヤコビ多様体Jの要素D生成部25は、S18において、最大素因数レジスタ13に記憶された最大素因数を位数として持つ、ヤコビ多様体Jの要素Dを選択して出力する。また、有限体Fq と超楕円曲線Cを出力する。以上が、生成手段716の動作である。
【0048】
次に、データ受信装置701における整数x生成手段702で整数xが生成される。このxが、データ復号の際に使用される秘密鍵xとなる。秘密鍵xは、秘密鍵x記憶手段705において秘密に保持し、他の暗号通信利用者に知られないようにしておく。次に、703において、秘密鍵xに対応する公開鍵Y=xDを計算する。ヤコビ多様体の要素Dは、暗号管理装置715から受け取ったものを使用する。計算された公開鍵Yは、公開鍵Y出力手段704から暗号管理装置715へ送信され、公開鍵Yを暗号管理装置715が管理しておく。
以上で、データ送信装置708がデータ受信装置701へデータを送信するための前準備が終了する。
【0049】
次に、データ送信装置708でデータを暗号化する処理を行う。まず、データ入力手段709に暗号化したいデータmが入力される。次に、公開鍵入力手段710に、暗号管理装置715の公開鍵記憶手段717から公開鍵Yを入力する。次に、整数r生成手段711において、整数rを生成する。次に、計算手段712において、データmの暗号化処理を行う。計算手段712では、C1 =rDとC2 =rY+mが計算される。計算されたC1 とC2 の組を、暗号文(C1 ,C2 )生成手段713において(C1 ,C2 )として暗号文とする。生成された暗号文を暗号文出力手段714からデータ受信装置701へ出力する。
【0050】
次に、データ送信装置708から送信された暗号文をデータ受信装置701で復号する処理を説明する。
まず、暗号文(C1 ,C2 )が暗号文入力手段706へ入力される。入力された暗号文(C1 ,C2 )は、予め保持されていた秘密鍵xを用いて、707において、m=C2 −xC1 を計算することにより、もとの平文mに復号される。
【0051】
以上のように、データを公開鍵暗号通信によって送信すれば、秘密鍵xを知っているデータ受信者のみが暗号文を平文mに復号できるため、安全な秘密通信を行うことができる。
また、超楕円曲線Cに付随するヤコビ多様体Jの群で構成される離散対数問題を解く難しさに安全性の根拠をおいているので、安全な秘密通信を行うことができる。また、高速な暗号化復号化処理を行うことができる。
【0052】
本実施の形態1では、公開鍵Yは管理装置を介してデータ送信装置に送られたが、データ受信装置から直接データ送信装置へ送ってもよい。
【0053】
この実施の形態の大きな特徴は、ある一定の暗号の安全性を確保する場合に、即ち、qg =pngを一定とする場合に、素数pを小さくすれば、処理速度が速くなるという超楕円曲線Cの特性に着目したものである。更に、種数gを小さくすれば、処理速度が速くなるという超楕円曲線Cの特性に着目したものである。
【0054】
また、上記図6のS15においては、超楕円曲線Cを1つだけ選択したが、複数の超楕円曲線Cを選択して、選択した複数の超楕円曲線Cに対して並列的にS15からS17までの演算を行っても構わない。
また、上記図6のS14において、K<pngを満足する最小の素数を選択したが、最小より大きな素数を選択しても構わない。
また、S17において、最大素因数が安全性を決めるパラメータ(目安整数K、K=2160 )よりも大きくなる超楕円曲線Cが得られたら処理終了としたが、そのままS12からS17を繰り返し、p=7まで、かつ、g=6までの全てのケースについて超楕円曲線Cを探索してもよい。
【0055】
また、目安整数Kレジスタ12に、暗号通信に要求される安全性に対応して、複数の目安整数Kを記憶できるようにしても構わない。
【0056】
以下に、pとgを変化させて超楕円曲線を検索した実施例を示す。
【0057】
実施例1.
有限体をF3 59 、超楕円曲線をC:v2 =u5 +u4 +u3 +u+1とすれば、ヤコビ多様体J(C,F3 59 )の要素数は、
#J(C,F3 59 )=199667811101602300665601842092887906981699247789343524885
=5×39933562220320460133120368418577581396339849557868704977
となり、185ビットの素数39933562220320460133120368418577581396339849557868704977で割り切れるため、安全である。
また、暗号化/復号化の演算は、有限体上で行われるためp>2の拡大体Fp nを用いる場合、pが小さい方が高速であるが、本実施例では、p=3としているため高速処理が可能である。
【0058】
実施例2.
有限体をF3 37 、超楕円曲線をC:v2 =u7 +u5 +u3 +u2 +u+1とすれば、ヤコビ多様体J(C,F3 37 )の要素数は、
#J(C,F3 37 )=91297581408827433728123143111020181356479040696172195
=5×7×2608502325966498106517804088886290895899401162747777
となり、171ビットの素数2608502325966498106517804088886290895899401162747777で割り切れるため、安全な暗号通信が行える。
また、暗号化/復号化の演算は有限体上で行われるためp>2の拡大体Fp nを用いる場合、pが小さい方が高速であるが、本実施例では、p=3としているため高速処理が可能である。
【0059】
実施例3.
有限体をF3 37 、超楕円曲線をC:v2 =u7 +u6 +u5 +u4 +1とすれば、ヤコビ多様体J(C,F3 37 )の要素数は、
#J(C,F3 37 )=91297582029826625542348853964224725364353143070326011
=47×149×13036924465204430321626282159677955928081271322337
となり、164ビットの素数13036924465204430321626282159677955928081271322337で割り切れるため、安全な暗号通信が行える。
【0060】
実施例4.
有限体をF3 29 、超楕円曲線をC:v2 =u9 +u8 +u7 +u4 +u3 +u2 +u+1とすれば、ヤコビ多様体J(C,F3 29 )の要素数は、
#J(C,F3 29 )=22185313743454377653554737779778103380168574840514197559
=137×161936596667550201850764509341446010074223174018351807
となり、177ビットの素数161936596667550201850764509341446010074223174018351807で割り切れるため、安全な暗号通信が行える。
【0061】
実施例5.
有限体をF3 29 、超楕円曲線をC:v2 =u9 +u6 +u5 +u3 +1とすれば、ヤコビ多様体J(C,F3 29 )の要素数は、
#J(C,F3 29 )=22185301052033893252134825523301783607738597880661267686
=2×43×257968616884115037815521227015137018694634859077456601
となり、178ビットの素数257968616884115037815521227015137018694634859077456601で割り切れるため、安全な暗号通信が行える。
【0062】
実施例6.
有限体をF3 29 、超楕円曲線をC:v2 =u9 +u7 +u5 +u4 +u3 +u+1とすれば、ヤコビ多様体J(C,F3 29 )の要素数は、
#J(C,F3 29 )=22185314234571254532898244388294786088746987959722984786
=2×53×209295417307275986159417399889573453667424414714367781
となり、178ビットの素数209295417307275986159417399889573453667424414714367781で割り切れるため、安全な暗号通信が行える。
【0063】
実施例7.
有限体をF3 29 、超楕円曲線をC:v2 =u9 +u7 +u6 +u2 +1とすれば、ヤコビ多様体J(C,F3 29 )の要素数は、
#J(C,F3 29 )=22185310854943921047949235288693528289294898144368371763
=3×37×199867665359855144576119236835076831435089172471787133
となり、178ビットの素数199867665359855144576119236835076831435089172471787133で割り切れるため、安全な暗号通信が行える。
【0064】
実施例8.
有限体をF3 29 、超楕円曲線をC:v2 =u9 +u7 +u6 +u5 +u4 +u3 +u+1とすれば、ヤコビ多様体J(C,F3 29 )の要素数は、
#J(C,F3 29 )=22185309051819030944774126842738591536295935542481908915
=5×19×233529568966516115208148703607774647750483532026125357
となり、178ビットの素数233529568966516115208148703607774647750483532026125357で割り切れるため、安全な暗号通信が行える。
【0065】
実施例9.
有限体をF5 43 、超楕円曲線をC:v2 =u5 +u2 +1とすれば、ヤコビ多様体J(C,F5 43 )の要素数は、
#J(C,F5 43 )=1292469707114102692114681569463895264214796244799604115693060=2×2×5×64623485355705134605734078473194763210739812239980205784653
となり、196ビットの素数64623485355705134605734078473194763210739812239980205784653で割り切れるため、安全な暗号通信が行える。
【0066】
実施例10.
有限体をF5 23 、超楕円曲線をC:v2 =u7 +u6 +u2 +1とすれば、ヤコビ多様体J(C,F5 23 )の要素数は、
#J(C,F5 23 )=1694065871029179370769035906765814429952177830193
=3×43×13132293573869607525341363618339646743815332017
となり、154ビットの素数13132293573869607525341363618339646743815332017で割り切れるため、安全な暗号通信が行える。
【0067】
実施例11.
有限体をF5 19 、超楕円曲線をC:v2 =u9 +u6 +u4 +u3 +1とすれば、ヤコビ多様体J(C,F5 19 )の要素数は、
#J(C,F5 19 )=132348947577077686121725272824996186272793181952448174
=2×967×68432754693421761179795901150463384835984065125361
となり、166ビットの素数68432754693421761179795901150463384835984065125361で割り切れるため、安全な暗号通信が行える。
【0068】
実施例12.
有限体をF5 19 、超楕円曲線をC:v2 =u9 +u7 +u6 +u5 +u3 +u+1とすれば、ヤコビ多様体J(C,F5 19 )の要素数は、
#J(C,F5 19 )=132349011069395346864616418447481884994171491578596837
=3×151×292161172338621074756327634541902615881173270592929
となり、168ビットの素数292161172338621074756327634541902615881173270592929で割り切れるため、安全な暗号通信が行える。
【0069】
実施例13.
有限体をF5 19 、超楕円曲線をC:v2 =u9 +u8 +u7 +u4 +u+1とすれば、ヤコビ多様体J(C,F5 19 )の要素数は、
#J(C,F5 19 )=132349074872593573116466253281305501981052236109561673
=17×73×106647119155998044412946215375749800145892212819953
となり、167ビットの素数106647119155998044412946215375749800145892212819953で割り切れるため、安全な暗号通信が行える。
【0070】
実施例14.
有限体をF7 29 、超楕円曲線をC:v2 =u5 +u4 +u2 +1とすれば、ヤコビ多様体J(C,F7 29 )の要素数は、
#J(C,F7 29 )=10367793076337185737054265369275067034760039245779
=79×131237887042242857431066650243988190313418218301
となり、157ビットの素数131237887042242857431066650243988190313418218301で割り切れるため、安全な暗号通信が行える。
【0071】
実施例15.
有限体をF7 19 、超楕円曲線をC:v2 =u7 +u6 +u5 +u3 +u+1とすれば、ヤコビ多様体J(C,F7 19 )の要素数は、
#J(C,F7 19 )=1481113319528910625194171854554088624336162980984
=2×2×2×41×4515589388807654345104182483396611659561472503
となり、152ビットの素数4515589388807654345104182483396611659561472503で割り切れるため、安全な暗号通信が行える。
【0072】
実施例16.
有限体をF7 17 、超楕円曲線をC:v2 =u9 +u8 +u6 +u5 +u3 +u+1とすれば、ヤコビ多様体J(C,F7 17 )の要素数は、
#J(C,F7 17 )=2928645530845919073878669950315290984067306405971696725872
=2×2×2×2×97×1887013872967731362035225483450574087672233509002381911
となり、181ビットの素数1887013872967731362035225483450574087672233509002381911で割り切れるため、安全な暗号通信が行える。
【0073】
【発明の効果】
以上のように、本発明によれば、離散対数問題を構成するヤコビ多様体Jの要素数#Jの最大素因数が大きいので、安全な暗号通信を行うことができる。
また、本発明によれば、ヤコビ多様体Jにおける有限体Fq がp>2の拡大体Fp nのとき、pが小さいので、また、gが小さいので、高速に暗号化復号化できる。
【図面の簡単な説明】
【図1】 本発明の暗号化方法を説明するフローチャート図である。
【図2】 本発明の暗号化方法を説明するフローチャート図である。
【図3】 本発明の暗号化方法を説明するフローチャート図である。
【図4】 本発明の暗号化方式を説明する図である。
【図5】 本発明の生成手段716の構成図である。
【図6】 本発明の生成手段716の動作フローチャート図である。
【図7】 従来の暗号化方法を説明するフローチャート図である。
【図8】 従来の暗号化方法を説明するフローチャート図である。
【図9】 従来の暗号化方法を説明するフローチャート図である。
【符号の説明】
10 メモリ、12 目安整数Kレジスタ、13 最大素因数レジスタ、14素数pレジスタ、15 種数gレジスタ、20 回路部、21 種数g決定部、22 拡大次数n決定部、23 超楕円曲線C決定部、24 素数p決定部、25 ヤコビ多様体Jの要素D生成部、30 超楕円曲線C生成部。

Claims (22)

  1. 以上の素数から順に素数pを決定する素数p決定部と、
    2以上の小さな整数から順に種数gを決定する種数g決定部と、
    種数gに基づいて拡大次数nを決定する拡大次数n決定部と、
    種数gから超楕円曲線Cの次数を決定して超楕円曲線Cを順次生成するとともに、決定された拡大次数nに基づく有限体Fq (要素数q=p n と上記超楕円曲線Cとから超楕円曲線Cに付随する有限体F q 上のヤコビ多様体J(C,Fq )の要素数#J(C,Fq )を計算し、最大の素因数を求め、最大の素因数が暗号の安全性の目安となる目安整数K以上となるような超楕円曲線Cを選択する超楕円曲線C決定部と
    を備えたことを特徴とする超楕円曲線C生成装置
  2. 上記拡大次数n決定部は、暗号の安全性の目安となる目安整数Kを入力し、種数gと目安整数Kから拡大次数nを計算することを特徴とする請求項記載の超楕円曲線C生成装置
  3. 上記種数g決定部は、超楕円曲線C決定部が目安整数Kより大きな値を持つ最大の素因数を求められないとき、種数gの値を大きくすることを特徴とする請求項記載の超楕円曲線C生成装置
  4. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを59と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u5 +u4 +u3+u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  5. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを37と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u7 +u5 +u3 +u2 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  6. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを37と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u7 +u6 +u5 +u4 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  7. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u8 +u7 +u4 +u3 +u2 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  8. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u6 +u5 +u3 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  9. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u7 +u5 +u4 +u3 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  10. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u7 +u6 +u2 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  11. 上記素数p決定部は、素数pを3と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u7 +u6 +u5 +u4 +u3 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  12. 上記素数p決定部は、素数pを5と決定し、
    上記拡大次数n決定部は、拡大次数nを43と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u5 +u2 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  13. 上記素数p決定部は、素数pを5と決定し、
    上記拡大次数n決定部は、拡大次数nを23と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u7 +u6 +u2 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  14. 上記素数p決定部は、素数pを5と決定し、
    上記拡大次数n決定部は、拡大次数nを19と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u6 +u4 +u3 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  15. 上記素数p決定部は、素数pを5と決定し、
    上記拡大次数n決定部は、拡大次数nを19と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u7 +u6 +u5 +u3 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  16. 上記素数p決定部は、素数pを5と決定し、
    上記拡大次数n決定部は、拡大次数nを19と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u8 +u7 +u4 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  17. 上記素数p決定部は、素数pを7と決定し、
    上記拡大次数n決定部は、拡大次数nを29と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u5 +u4 +u2 +1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  18. 上記素数p決定部は、素数pを7と決定し、
    上記拡大次数n決定部は、拡大次数nを19と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u7 +u6 +u5 +u3 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  19. 上記素数p決定部は、素数pを7と決定し、
    上記拡大次数n決定部は、拡大次数nを17と決定し、
    上記超楕円曲線C決定部は、上記超楕円曲線Cとして、2 =u9 +u8 +u6 +u5 +u3 +u+1を選択する
    ことを特徴とする請求項記載の超楕円曲線C生成装置
  20. 上記請求項1〜請求項19のいずれかに記載した超楕円曲線C生成装置と、
    上記超楕円曲線C生成装置が計算した要素数#J(C,F q )から求めた上記最大の素因数を位数として持つ要素Dを選択し、選択した要素Dと上記超楕円曲線C生成装置が選択した超楕円曲線Cと上記拡大次数n決定部により決定された拡大次数nに基づく有限体F q とを暗号通信で使用するパラメータとして出力する要素D生成部と
    を備えたことを特徴とする暗号管理装置。
  21. 上記請求項20に記載した暗号管理装置が出力したパラメータに基づき、データを暗号化する計算手段と、
    上記計算手段が暗号化したデータをデータ受信装置へ送信する暗号文出力手段と
    を備えることを特徴とするデータ送信装置。
  22. データ送信装置が送信した暗号化したデータを入力する暗号文入力手段と、
    上記請求項20に記載した暗号管理装置が出力したパラメータに基づき、上記暗号文入力手段が入力した暗号文を復号する計算手段と
    を備えることを特徴とするデータ受信装置。
JP29318398A 1998-10-15 1998-10-15 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置 Expired - Lifetime JP4237306B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29318398A JP4237306B2 (ja) 1998-10-15 1998-10-15 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29318398A JP4237306B2 (ja) 1998-10-15 1998-10-15 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置

Publications (2)

Publication Number Publication Date
JP2000122535A JP2000122535A (ja) 2000-04-28
JP4237306B2 true JP4237306B2 (ja) 2009-03-11

Family

ID=17791500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29318398A Expired - Lifetime JP4237306B2 (ja) 1998-10-15 1998-10-15 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置

Country Status (1)

Country Link
JP (1) JP4237306B2 (ja)

Also Published As

Publication number Publication date
JP2000122535A (ja) 2000-04-28

Similar Documents

Publication Publication Date Title
US8155310B2 (en) Key derivation functions to enhance security
US6259790B1 (en) Secret communication and authentication scheme based on public key cryptosystem using N-adic expansion
JP5572610B2 (ja) セキュリティ強化のための転置データ変換
CA2587618C (en) Custom static diffie-hellman groups
US20060034454A1 (en) Exponential data transform to enhance security
US8184808B2 (en) Chaotic asymmetric encryption process for data security
CN110784314A (zh) 无证书的加密信息处理方法
KR100396740B1 (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
CA2742530A1 (en) Masking the output of random number generators in key generation protocols
Liao et al. Cryptanalysis of an identity-based encryption scheme with equality test and improvement
US7231048B2 (en) Key sharing system, public key cryptosystem, signature system, key sharing apparatus, encryption apparatus, decryption apparatus, signature apparatus, authentication apparatus, key sharing method, encryption method, decryption method, signature method, authentication method, and programs
JP4237306B2 (ja) 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置
EP0973293A2 (en) Public-key cryptography with increased protection against selective ciphertext attack
JP4243874B2 (ja) 暗号管理装置
JP4676071B2 (ja) べき乗剰余演算方法、逆数演算方法およびそれらの装置
Alaverdyan et al. Fast asymmetric cryptosystem based on Boolean product of matrices
Jin et al. Security on a Knapsack-Type Encryption Scheme Based Upon Hybrid-Model Assumption.
Nountu Pseudo-random generators and pseudo-random functions: cryptanalysis and complexity measures
JP3518680B2 (ja) 素数生成装置
Nabil ECEN 227-Introduction to Finite Automata and Discrete Mathematics
CN118350026A (zh) 一种数据解密方法、加密方法、装置、设备及介质
KR20050101003A (ko) 모듈러 멱승 연산 방법
Chouinard Public-key encipherment concept

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081216

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term