JP2009232149A - 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法 - Google Patents

鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法 Download PDF

Info

Publication number
JP2009232149A
JP2009232149A JP2008075071A JP2008075071A JP2009232149A JP 2009232149 A JP2009232149 A JP 2009232149A JP 2008075071 A JP2008075071 A JP 2008075071A JP 2008075071 A JP2008075071 A JP 2008075071A JP 2009232149 A JP2009232149 A JP 2009232149A
Authority
JP
Japan
Prior art keywords
key
public key
public
terminal
random number
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.)
Withdrawn
Application number
JP2008075071A
Other languages
English (en)
Inventor
Yuki Higuchi
祐樹 樋口
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2008075071A priority Critical patent/JP2009232149A/ja
Publication of JP2009232149A publication Critical patent/JP2009232149A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 秘密鍵を安全に送信できない。
【解決手段】 本発明の一実施形態の鍵利用端末は、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する鍵利用端末であって、公開鍵を入力し、乱数を生成して、乱数及び公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、鍵発行端末が記憶するマスタ秘密キーとQから鍵発行端末が生成した鍵取得データ(S)を受信して、乱数とSから秘密鍵を生成する、鍵取得部を備える。
【選択図】 図1

Description

本発明は、鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法に関する。
特許文献1には、IDベース暗号および署名システムにおいて、暗号化および署名生成装置から公開鍵を受信して、秘密鍵を生成して返信する秘密鍵発行装置が記載されている。
特許文献2には、有償ソフトウェアのダウンロードシステムが記載されている。また、特許文献3には、ユーザがユーザ識別子を保存サーバの公開鍵で暗号化して、保存サーバが秘密鍵で復号化してユーザ識別子の正当性を検証するコンテンツ配布システムが記載されている。
特開2006−163164号公報 特開2003−331141号公報 特開2001−202451号公報
上述した特許文献は、秘密鍵生成装置などが公開鍵から生成した秘密鍵を、そのまま利用者に送信していたため、秘密鍵を安全に送信できないという課題があった。
本発明の目的は、上述した課題を解決するための、鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法を提供することにある。
本発明の一実施形態の鍵利用端末は、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する鍵利用端末であって、前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得部を備える。
本発明の一実施形態の鍵利用プログラムは、コンピュータに、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する処理を実行させる鍵利用プログラムであって、前記コンピュータに、前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得処理を実行させる。
本発明の一実施形態の鍵利用方法は、コンピュータが、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する鍵利用方法であって、前記コンピュータが、前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得行程を備える。
本発明によれば、システムは、公開鍵から生成した秘密鍵を、秘密鍵生成コストを大幅に増加することなく、利用者に安全に送信できる。
本発明は、任意の値(利用者の電子メールアドレスといった識別情報やそのハッシュ値等)を公開鍵として用いることが出来るIDベース公開鍵暗号方式に関する。
図1は、本発明の第1の実施形態にかかる公開鍵システム10の全体構成を示す。公開鍵システム10は、ネットワークで相互に接続された、鍵発行端末20と複数の鍵利用端末30を包含する。このように、IDベース公開鍵暗号方式の公開鍵システム10は、公開鍵の認証を行う認証局の代わりに鍵発行端末20を備える。
鍵利用端末30は、他の鍵利用端末30と、デジタル署名(以降、署名)を用いた通信を行っても良い。この場合、一方の鍵利用端末30は署名を付したデータを送信する送信端末31として機能し、他方は署名を付したデータを受信して署名を検証する受信端末32として機能する。
鍵利用端末30は、鍵取得部33、署名発行部34、署名検証部35、データベース11を包含する。鍵取得部33、署名発行部34、署名検証部35は、コンピュータである鍵利用端末30のプロセッサーが図示しない主記憶装置に格納されている鍵利用プログラム39を読み込んで、実行することで機能する。ハードウェアが、同等な機能を実現していてもよい。データベース11は、図示しないディスク装置、主記憶装置上などに設置された記憶域である。
鍵利用端末30のデータベース11は、秘密鍵36、自データ38、利用表40及び公開表50を記憶する。鍵利用端末30が送信端末31として機能するときには、データベース11は、送信データ37を記憶していても良い。
鍵発行端末20は鍵取得データSを発行する。鍵取得データSは、利用者が公開鍵として使用する値に対して、鍵利用端末30が秘密鍵36を生成するためのデータである。以降、鍵取得データSはSと略記されることがある。略記は、他のデータ名についても以下同様に行われる。
鍵発行端末20は、制御部21およびデータベース11を包含する。制御部21は、コンピュータである鍵発行端末20のプロセッサーが図示しない主記憶装置に格納されているプログラムを読み込んで、実行することで機能する。ハードウェアが、同等な機能を実現していてもよい。データベース11は、図示しないディスク装置、主記憶装置上などに設置された記憶域である。
鍵発行端末20のデータベース11は、利用表40、マスタ秘密キー26及び公開表50を記憶する。
図2は、公開表50の構成を示す。公開表50は、IDベース公開鍵暗号方式における公開パラメータを記憶する。具体的に、公開表50は、ジェネレータP、群G1、群G2、マスタ公開鍵Pub、ハッシュ関数H1、H2及びH3、ペアリング関数e、素数qを記憶する。公開表50は、例えば、G1、G2、H1、H2、H3、または、eについては、識別情報を格納しても良い。公開表50は、例えば、H1、H2、H3または、eについては、関数記述や関数処理プログラムの名前を記憶しても良い。
IDベース公開鍵暗号方式は、秘密鍵36の発行に際し、ペアリング関数e(双線形写像関数)の性質を利用する。
ペアリング関数eは、位数が素数qの2つの楕円曲線上の群G1、G2に関し、G1×G1からG2への写像を行う。ペアリング関数eは、e(X1+X2,Y)=e(X1,Y)×e(X2,Y)、e(X,Y1+Y2)=e(X,Y1)×e(X,Y2)、e(aX,bY)=e(X,Y){ab}=e(bX,aY)を満たす関数である。ここで、X、X1、X2、Y、Y1、Y2は、群G1に属す値である。a、bは正整数である。ペアリング関数eは、例えば、WeilまたはTateペアリングである。
ジェネレータPはG1に属す値である。
H1は任意のバイナリ系列{0,1}を、楕円曲線上の群G1に写像するハッシュ関数である。H2は{0,1}×G2をG1に写像するハッシュ関数である。H3は、{0,1}をq未満かつqと互いに素な正の整数の集合Zに写像するハッシュ関数である。
図3は、利用表40の構成を示す。利用表40は、利用者の識別情報であるID及びパスワードPWのハッシュ値を対応させて記憶する。具体的には、利用表40は、IDを関数H1でハッシュした値(以降、H1(ID)と表記する。以下関数について同様)、H1(PW)、及び、H3(PW)を記憶する。以降、各々は、公開鍵、第1のパスワード、第2のパスワードと呼ばれることがある。
鍵発行端末20の利用表40には、秘密鍵36の生成を行う利用者の公開鍵、第1のパスワード、第2のパスワードが登録されている。送信端末31の利用表40には、送信データ37の受信をする利用者の公開鍵が登録されている。受信端末32の利用表40には、送信データ37を送信する利用者の公開鍵が登録されている。
図4は、鍵発行端末20および鍵利用端末30のセットアップ処理のフローチャートである。
先ず、鍵発行端末20の制御部21は、公開パラメータを生成して鍵発行端末20のデータベース11に公開表50を作成する。また、同部は、マスタ秘密キー26も生成してデータベース11に格納する(S1)。具体的に、制御部21は、素数qを生成して、位数qの楕円曲線上の群G1及びG2を選択し、q、G1,G2を公開表50に記憶する。制御部21は、ペアリング関数e、ハッシュ関数H1、H2、H3を選択して、それらも公開表50に記憶する。次に、制御部21は、群G1からジェネレータPを選択し、集合Zから値sを選択して、sとPを乗じてマスタ公開鍵Pubを生成し、PとPubを公開表50に記憶する。同部は、値sをマスタ秘密キー26としてデータベース11に格納する。
なお、同部は、上記の選択や生成を、図示しない入力装置から管理者が同部に与えたパラメータに従って行っても良い。例えば、同部は、複数のe、H1等の候補からどれを使用するかの選択指定情報を入力装置から入力して、公開表50に記憶してもよい。
次に、制御部21は、公開表50に記憶された公開パラメータを鍵利用端末30に公開する(S2)。例えば、鍵発行端末20の制御部21は、鍵利用端末30からの送信要求を受けて、作成した公開表50を返信しても良い。または、制御部21は、作成した公開表50を特定のWebサーバに登録しても良い。
鍵利用端末30の鍵取得部33は、鍵発行端末20が公開した公開パラメータを取得して、自端末の公開表50に格納する(S3)。具体的には、例えば、鍵利用端末30は、鍵発行端末20から公開表50を受信したり、Webサーバにアクセスして公開表50をダウンロードしたりして公開パラメータを取得する。
次に、同部は、自端末の利用者のID、PWを図示しない入力装置から入力する。同部は、自端末の公開表50からH1、H3を入力して、H1(ID)(公開鍵)、H1(PW)(第1のパスワード)、H3(PW)(第2のパスワード)を算出して、自データ38に記憶する(S4)。次に同部は、自データ38の内容を、図示しない出力装置から出力する(S5)。
出力された自データ38は、例えば、郵送などにより鍵発行端末20の管理者に送られて、鍵発行端末20の利用表40に登録される。受信端末32の自データ38うち公開鍵は、郵送などにより送られて、送信端末31の利用表40に登録される。送信端末31の自データ38のうち公開鍵は、受信端末32の利用表40に登録される。
公開鍵、第1および第2のパスワードを各端末の利用表40に登録する方法は、通信回線を用いる等の、他の方法であっても良い。
図5は、秘密鍵36の生成処理のフローチャートである。
秘密鍵36を生成する鍵利用端末30の鍵取得部33は、乱数rを集合Zから発生させ(SB1)、自端末のデータベース11から自データ38を読み込んで、第1の鍵発行データQ、及び、第2の鍵発行データTを、下記の式に基づいて算出する(SB2)。
Q=H1(ID)/r
T=(r+H3(PW))×H1(PW)
鍵取得部33は、H1(ID)、Q、Tを鍵発行端末20に送信する(SB3)。
鍵発行端末20では、制御部21が当該H1(ID)、Q、Tを鍵利用端末30から受信する(SA1)。次に、制御部21は、受信したQの正当性を検証するためのデータAQ及びBQを、下記の式に基づいて算出する。このとき同部は、自端末の公開表50からeを入力し、利用表40から、受信したH1(ID)に対応するH1(PW)、H3(PW)を読み込んで、計算を行う(SA2)。同部は、算出したAQ及びBQを、一旦図示せぬ主記憶装置上の変数域に格納する。
AQ=e(Q,T)
BQ=e(H1(ID),H1(PW))×e(Q,H1(PW))H3(PW)
制御部21は、図示せぬ主記憶装置上の変数域に格納されたAQとBQを比較する(SA3)。AQとBQが一致する(SA3でY)と、制御部21は、下記の式に基づいて鍵取得データSを算出して鍵利用端末30に返信し(SA4)、処理を終了する。
S=Q×自端末のデータベース11内に記憶されているマスタ秘密キー26
AQとBQが一致しなければ(SA3でN)、同部は、Qが正当でないとしてエラー表示などをして処理を終了する。
鍵利用端末30では、鍵取得部33が当該Sを受信する(SB4)。その後同部は、Sの正当性を検証するためのASとBSを、自端末の公開表50からe、P、Pubを入力し、下記の式に基づいて算出する(SB5)。同部は、算出したAS及びBSを、一旦図示せぬ主記憶装置上の変数域に格納する。
AS=e(S,P)
BS=e(Q,Pub)
鍵取得部33は、図示せぬ主記憶装置上の変数域に格納されたASとBSを比較する(SB6)。ASとBSが一致する(SB6でY)と、鍵取得部33は、下記の式に基づいて、秘密鍵36(=マスタ秘密キー26×H1(ID))を算出して自端末のデータベース11に格納して(SB7)、処理を終了する。
秘密鍵36=r×S
AQとBQが一致しなければ(SB6でN)、同部は、Sが正当でないとしてエラー表示などをして処理を終了する。
図6は、鍵利用端末30間での通信処理フローチャートである。
受信端末32の署名検証部35は、自端末のデータベース11の自データ38からH1(ID)を入力し、送信端末31に送信する(SD1)。受信端末32は、送信端末31が備える送信データ37の送信を要求するために、このH1(ID)の送信を行う。この送信の要求は、例えば、ソフトウェアの購入要求などである。
送信端末31の署名発行部34は、このH1(ID)を受信して(SC1)、利用者の認証を行う(SC2)。具体的には、同部は、自端末の利用表40に、受信したH1(ID)が登録されていることを確認して認証する。
認証出来た場合(SC2でY)、同部は、集合Zに属する乱数r1、r2、r3を発生させる(SC3)。
次に、同部は、自端末の公開表50からe、H2を入力し、下記の式に基づいてU1、U2、U3、Vを算出して、それらの組み合わせとしての署名(U1,U2,U3,V)を作成する(SC4)。
U1=r1×受信したH1(ID)
U2=r2×自端末の自データ38から得たH1(ID)
U3=r1×r3×受信したH1(ID)
V=r3×H2(送信データ37,e(r2×受信したH1(ID),自端末の秘密鍵36))+自端末の秘密鍵36/r1
送信端末31の署名発行部34は、その後、送信データ37及び署名(U1,U2,U3,V)を受信端末32に送信(SC5)して処理を終了する。
受信端末32の署名検証部35は、当該送信データ37及び署名(U1,U2,U3,V)を送信端末31から受信する(SD2)。同部は、署名(U1,U2,U3,V)の正当性を検証するためのAWとBWを、自端末の公開表50からe、P、Pubを入力し、また、自端末の利用表40から送信側利用者の公開鍵を入力して、下記の式に基づいて算出する(SD3)。同部は、算出したAW及びBWを、一旦図示せぬ主記憶装置上の変数域に格納する。
AW=e(U1,V)
BW=e(U3,H2(送信データ37,e(U2,自端末の秘密鍵36)))×e(自端末の秘密鍵36,送信側利用者の公開鍵)
受信端末32の署名検証部35は、図示せぬ主記憶装置上の変数域に格納されたAWとBWを比較する(SD4)。AWとBWが一致する(SD4でY)と、同部は、送信データ37の使用を開始して(SD5)、処理を終了する。
使用の開始とは、送信データ37が購入ソフトウェアであれば当該ソフトウェアのインストールなどである。AWとBWが一致しなければ(SD4でN)、同部は、署名(U1,U2,U3,V)が正当でないとして、送信データ37を破棄等して処理を終了する。
本実施形態の公開鍵システム10によれば、鍵発行端末20と鍵利用端末30との通信過程で、秘密鍵36が漏洩するリスクが低い。鍵発行端末20が、秘密鍵36を、乱数rで暗号化された鍵取得データSとして送信するからである。更に、鍵発行データQが乱数rで暗号化されているからである。
本実施形態の公開鍵システム10は、鍵取得データS、および、鍵発行データQの暗号化を低い処理コストで実施できる。鍵発行端末20は、暗号化、復号化の処理は一切不要で、乱数rを用いた暗号化、復号化は鍵利用端末30でのみ行われるからである。
また、本実施形態の公開鍵システム10は、秘密鍵36が発行される正当性を検証することが出来る。鍵発行端末20が鍵発行データTを用いて、鍵発行データQの正当性を検証するからである。さらに、鍵利用端末30が、鍵取得データSの正当性を検証するからである。
本実施形態の公開鍵システム10によれば、正当な受信端末32のみが受信データ37の正当性を検証できる。署名(U1,U2,U3,V)の検証は、送信端末31側利用者の公開鍵と受信端末32側利用者の秘密鍵36の両者を必要とするからである。
本実施形態の公開鍵システム10は、上記の検証を効率的に行うことが出来る。署名を生成した上で、その署名を暗号化/復号化する必要がないためである。
本発明の第2の実施形態では、鍵発行端末20は、鍵発行データTを用いて鍵発行データQの正当性を検証しない。即ち、同端末は、図5のSA2、SA3の各ステップを実行しない。更に、鍵利用端末30は、SB2、SB3における鍵発行データTの生成・送信を行わない。鍵発行端末20は、SA1における鍵発行データTの受信も行わない。
本実施形態の公開鍵システム10は、秘密鍵36の生成処理コストを第1の実施形態下よりも下げることが出来る。上述の処理が不要となるからである。
なお、本実施形態では、鍵取得部33は、図5のSB2において鍵発行データをQ=H1(ID)/rで求めても良い。この場合、同部は、SB7において秘密鍵36=r×Sで秘密鍵36を算出する。
また、本実施形態の公開鍵システム10は、鍵取得データS、および、鍵発行データQの暗号化を第1の実施形態より低い処理コストで実施できる。鍵発行端末20と鍵利用端末30間で秘密鍵36の漏洩が懸念される鍵利用者端末30だけが、鍵取得データS、および、鍵発行データQの暗号化を行えばよいからである。鍵発行端末20は、暗号化、復号化の処理は一切していないので、鍵取得データS、および、鍵発行データQの暗号化の有無が混在していても正常に処理が可能である。
なお、鍵利用端末30は、必ずしも、署名(U1,U2,U3,V)を生成したり検証したりしなくても良い。鍵利用端末30は、秘密鍵36を通常の暗号化の為に使用してもよい。例えば、送信端末31が、受信端末32側利用者の公開鍵で送信データ37暗号化し、受信端末32が受信端末32側利用者の秘密鍵36で復号化する等の使い方をしても良い。
図7によれば、本発明の鍵利用端末30は、IDベース公開鍵暗号方式の公開鍵から秘密鍵36を生成する鍵利用端末30である。同端末は、公開鍵を入力し、乱数を生成して、乱数及び公開鍵から鍵発行データQを生成して鍵発行端末20に送信し、鍵発行端末20が記憶するマスタ秘密キー26とQから鍵発行端末20が生成した鍵取得データSを受信して、乱数とSから秘密鍵36を生成する、鍵取得部33を備える。
図1は、本発明の第1の実施形態にかかる公開鍵システム10の全体構成を示す。 図2は、公開表50の構成を示す。 図3は、利用表40の構成を示す。 図4は、鍵発行端末20のセットアップ処理のフローチャートである。 図5は、秘密鍵36の生成処理のフローチャートである。 図6は、鍵利用端末30間での通信処理フローチャートである。 図7は、本発明の鍵利用端末30の構成を示す。
符号の説明
10 公開鍵システム
11 データベース
20 鍵発行端末
21 制御部
26 マスタ秘密キー
30 鍵利用端末
31 送信端末
32 受信端末
33 鍵取得部
34 署名発行部
35 署名検証部
36 秘密鍵
37 送信データ
38 自データ
39 鍵利用プログラム
40 利用表
50 公開表

Claims (17)

  1. IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する鍵利用端末であって、
    前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、
    前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得部を備える鍵利用端末。
  2. 前記Qを、式(前記公開鍵/前記乱数)を用いて生成し、
    式(前記s×前記Q)で前記鍵発行端末が生成した前記Sを受信し、
    前記秘密鍵を式(前記S×前記乱数)を用いて生成する前記鍵取得部を備える請求項1の鍵利用端末。
  3. 素数q、
    位数が前記qの楕円曲線上の2つの群(G1及びG2)に関し、前記G1×G1から前記G2へ写像する双線形ペアリング関数(e)、
    バイナリ列を前記G1へ写像する第1のハッシュ関数(H1)、
    バイナリ列×前記G2を前記G1に写像する第2のハッシュ関数(H2)、
    バイナリ列を、前記q未満かつ前記qと互いに素な正の整数の集合(Z)に写像する第3のハッシュ関数(H3)、
    前記G1に属するジェネレータ(P)、
    前記マスタ秘密キー(s)と前記Pを乗じた、マスタ公開鍵(Pub)、および、
    2種類の文字列(ID、PW)を用い、
    前記s及び前記乱数は前記Zから選択され、
    前記公開鍵をH1(ID)とした、前記IDベース公開鍵暗号方式において、
    前記P、前記Pub、及び、前記eを入力して、e(前記S,前記P)の値とe(前記Q,前記Pub)の値を算出して比較し、両者が一致するとき前記Sを正当として判断する前記鍵取得部を備える請求項2の鍵利用端末。
  4. 第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得部と、
    送信データ、第2の前記公開鍵、及び、前記H2を入力し、第2、第3及び第4の前記乱数(r1、r2、r3)を前記Zから生成して、前記関数eおよびH2に基づいて、
    U1を式(前記r1×前記第2の公開鍵)で、
    U2を式(前記r2×前記第1の公開鍵)で、
    U3を式(前記r1×前記r3×前記第2の公開鍵)で、
    Vを式(前記r3×H2(前記送信データ,e(前記r2×前記第2の公開鍵,前記秘密鍵))+前記秘密鍵/前記r1)で算出した後に、前記U1、U2、U3及びVの組み合わせから構成される署名を生成して、
    前記署名及び前記送信データを、他の前記鍵利用端末に送信する署名発行部を備える、請求項3の鍵利用端末。
  5. 第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得部と、
    他の前記鍵利用端末からU1、U2、U3及びVの組み合わせから構成される署名及び送信データを受信し、第2の公開鍵及び前記H2を入力して、前記eおよびH2に基づいて、e(前記U1,前記V)の値と、
    式(e(前記U3,H2(前記送信データ,e(前記U2,前記秘密鍵)))×e(前記秘密鍵,前記第2の公開鍵))の値を算出して比較し、両者が一致するとき前記署名および前記送信データを正当であると判断する署名検証部を備える、請求項3の鍵利用端末。
  6. 請求項1または2何れかの鍵利用端末と前記鍵発行端末を備える、公開鍵システム。
  7. H1(PW)、H3(PW)を入力し、第2の鍵発行データ(T)を、式((前記乱数+前記H3(PW))×前記H1(PW))で算出して、前記鍵発行端末に送信する前記鍵取得部を備える請求項3の鍵利用端末と、
    前記H1(PW)、H3(PW)、前記H1、H3を入力し、前記関数e、H1、H3に基づいて、e(前記Q,前記T)の値とe(前記公開鍵,前記H1(PW))×e(前記Q,前記H1(PW)))前記H3(PW)の値を算出して、両者が一致するとき前記Qを正当として判断する前記鍵発行端末を備える、公開鍵システム。
  8. コンピュータに、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する処理を実行させる鍵利用プログラムであって、
    前記コンピュータに、前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、
    前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得処理を実行させる鍵利用プログラム。
  9. 前記コンピュータに、前記Qを、式(前記公開鍵/前記乱数)を用いて生成し、
    式(前記s×前記Q)で前記鍵発行端末が生成した前記Sを受信し、
    前記秘密鍵を式(前記S×前記乱数)を用いて生成する前記鍵取得処理を実行させる請求項8の鍵利用プログラム。
  10. 前記コンピュータに、
    素数q、
    位数が前記qの楕円曲線上の2つの群(G1及びG2)に関し、前記G1×G1から前記G2へ写像する双線形ペアリング関数(e)、
    バイナリ列を前記G1へ写像する第1のハッシュ関数(H1)、
    バイナリ列×前記G2を前記G1に写像する第2のハッシュ関数(H2)、
    バイナリ列を、前記q未満かつ前記qと互いに素な正の整数の集合(Z)に写像する第3のハッシュ関数(H3)、
    前記G1に属するジェネレータ(P)、
    前記マスタ秘密キー(s)と前記Pを乗じた、マスタ公開鍵(Pub)、および、
    2種類の文字列(ID、PW)を用い、
    前記s及び前記乱数は前記Zから選択され、
    前記公開鍵をH1(ID)とした、前記IDベース公開鍵暗号方式において、
    前記P、前記Pub、及び、前記eを入力して、e(前記S,前記P)の値とe(前記Q,前記Pub)の値を算出して比較し、両者が一致するとき前記Sを正当として判断する前記鍵取得処理を実行させる請求項9の鍵利用プログラム。
  11. 前記コンピュータに、
    第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得処理と、
    送信データ、第2の前記公開鍵、及び、前記H2を入力し、第2、第3及び第4の前記乱数(r1、r2、r3)を前記Zから生成して、前記関数eおよびH2に基づいて、
    U1を式(前記r1×前記第2の公開鍵)で、
    U2を式(前記r2×前記第1の公開鍵)で、
    U3を式(前記r1×前記r3×前記第2の公開鍵)で、
    Vを式(前記r3×H2(前記送信データ,e(前記r2×前記第2の公開鍵,前記秘密鍵))+前記秘密鍵/前記r1)で算出した後に、前記U1、U2、U3及びVの組み合わせから構成される署名を生成して、
    前記署名及び前記送信データを、他の前記鍵利用プログラムに送信する署名発行処理を実行させる、請求項10の鍵利用プログラム。
  12. 前記コンピュータに、
    第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得処理と、
    他の前記鍵利用プログラムからU1、U2、U3及びVの組み合わせから構成される署名及び送信データを受信し、第2の公開鍵及び前記H2を入力して、前記eおよびH2に基づいて、e(前記U1,前記V)の値と、
    式(e(前記U3,H2(前記送信データ,e(前記U2,前記秘密鍵)))×e(前記秘密鍵,前記第2の公開鍵))の値を算出して比較し、両者が一致するとき前記署名および前記送信データを正当であると判断する署名検証処理を実行させる、請求項10の鍵利用プログラム。
  13. コンピュータが、IDベース公開鍵暗号方式の公開鍵から秘密鍵を生成する鍵利用方法であって、
    前記コンピュータが、前記公開鍵を入力し、乱数を生成して、前記乱数及び前記公開鍵から第1の鍵発行データ(Q)を生成して鍵発行端末に送信し、
    前記鍵発行端末が記憶するマスタ秘密キー(s)と前記Qから前記鍵発行端末が生成した鍵取得データ(S)を受信して、前記乱数と前記Sから前記秘密鍵を生成する、鍵取得行程を備える鍵利用方法。
  14. 前記コンピュータが、前記Qを、式(前記公開鍵/前記乱数)を用いて生成し、
    式(前記s×前記Q)で前記鍵発行端末が生成した前記Sを受信し、
    前記秘密鍵を式(前記S×前記乱数)を用いて生成する前記鍵取得行程を備える請求項13の鍵利用方法。
  15. 前記コンピュータが、
    素数q、
    位数が前記qの楕円曲線上の2つの群(G1及びG2)に関し、前記G1×G1から前記G2へ写像する双線形ペアリング関数(e)、
    バイナリ列を前記G1へ写像する第1のハッシュ関数(H1)、
    バイナリ列×前記G2を前記G1に写像する第2のハッシュ関数(H2)、
    バイナリ列を、前記q未満かつ前記qと互いに素な正の整数の集合(Z)に写像する第3のハッシュ関数(H3)、
    前記G1に属するジェネレータ(P)、
    前記マスタ秘密キー(s)と前記Pを乗じた、マスタ公開鍵(Pub)、および、
    2種類の文字列(ID、PW)を用い、
    前記s及び前記乱数は前記Zから選択され、
    前記公開鍵をH1(ID)とした、前記IDベース公開鍵暗号方式において、
    前記P、前記Pub、及び、前記eを入力して、e(前記S,前記P)の値とe(前記Q,前記Pub)の値を算出して比較し、両者が一致するとき前記Sを正当として判断する前記鍵取得行程を備える請求項14の鍵利用方法。
  16. 前記コンピュータが、
    第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得行程と、
    送信データ、第2の前記公開鍵、及び、前記H2を入力し、第2、第3及び第4の前記乱数(r1、r2、r3)を前記Zから生成して、前記関数eおよびH2に基づいて、
    U1を式(前記r1×前記第2の公開鍵)で、
    U2を式(前記r2×前記第1の公開鍵)で、
    U3を式(前記r1×前記r3×前記第2の公開鍵)で、
    Vを式(前記r3×H2(前記送信データ,e(前記r2×前記第2の公開鍵,前記秘密鍵))+前記秘密鍵/前記r1)で算出した後に、前記U1、U2、U3及びVの組み合わせから構成される署名を生成して、
    前記署名及び前記送信データを、他の前記鍵利用方法に送信する署名発行行程を備える、請求項15の鍵利用方法。
  17. 前記コンピュータが、
    第1の前記公開鍵及び第1の前記乱数から前記秘密鍵を生成する前記鍵取得行程と、
    他の前記鍵利用方法からU1、U2、U3及びVの組み合わせから構成される署名及び送信データを受信し、第2の公開鍵及び前記H2を入力して、前記eおよびH2に基づいて、e(前記U1,前記V)の値と、
    式(e(前記U3,H2(前記送信データ,e(前記U2,前記秘密鍵)))×e(前記秘密鍵,前記第2の公開鍵))の値を算出して比較し、両者が一致するとき前記署名および前記送信データを正当であると判断する署名検証行程を備える、請求項15の鍵利用方法。
JP2008075071A 2008-03-24 2008-03-24 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法 Withdrawn JP2009232149A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008075071A JP2009232149A (ja) 2008-03-24 2008-03-24 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008075071A JP2009232149A (ja) 2008-03-24 2008-03-24 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法

Publications (1)

Publication Number Publication Date
JP2009232149A true JP2009232149A (ja) 2009-10-08

Family

ID=41247052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008075071A Withdrawn JP2009232149A (ja) 2008-03-24 2008-03-24 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法

Country Status (1)

Country Link
JP (1) JP2009232149A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010161527A (ja) * 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
CN114128213A (zh) * 2019-05-29 2022-03-01 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010161527A (ja) * 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
CN114128213A (zh) * 2019-05-29 2022-03-01 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序
CN114128213B (zh) * 2019-05-29 2024-05-28 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序

Similar Documents

Publication Publication Date Title
CN104539423B (zh) 一种无双线性对运算的无证书公钥密码体制的实现方法
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
JP5138775B2 (ja) Idベース暗号化(ibe)に対して暗黙の証明証およびアプリケーションを生成する方法およびシステム
US20050058294A1 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
CN108989054B (zh) 一种密码系统及数字签名方法
US20040165728A1 (en) Limiting service provision to group members
JP4776906B2 (ja) 署名生成方法及び情報処理装置
JP2003503864A (ja) 第1インスタンスおよび第2インスタンスを認証する方法および装置
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
CN102970144A (zh) 基于身份的认证方法
JP5327223B2 (ja) 署名システム
JP6594348B2 (ja) 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
US20050021973A1 (en) Cryptographic method and apparatus
JP2010154098A (ja) 署名装置
JP2009232149A (ja) 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
CN105187213B (zh) 一种计算机信息安全的方法
JP5097102B2 (ja) 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体
KR20220143557A (ko) 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법
JP6067474B2 (ja) 電子署名検証方法および電子署名検証システム
CN114128213A (zh) 用于验证公钥的可靠性的装置、方法以及其程序
CN112733176A (zh) 基于全域哈希的标识密码加密方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607