JP4612027B2 - 署名システム - Google Patents

署名システム Download PDF

Info

Publication number
JP4612027B2
JP4612027B2 JP2007228314A JP2007228314A JP4612027B2 JP 4612027 B2 JP4612027 B2 JP 4612027B2 JP 2007228314 A JP2007228314 A JP 2007228314A JP 2007228314 A JP2007228314 A JP 2007228314A JP 4612027 B2 JP4612027 B2 JP 4612027B2
Authority
JP
Japan
Prior art keywords
entity
received
key
public key
private key
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 - Fee Related
Application number
JP2007228314A
Other languages
English (en)
Other versions
JP2007325318A (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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2007228314A priority Critical patent/JP4612027B2/ja
Publication of JP2007325318A publication Critical patent/JP2007325318A/ja
Application granted granted Critical
Publication of JP4612027B2 publication Critical patent/JP4612027B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)

Description

本発明は、エンティティを特定する特定情報(以下、ID(Identity)情報という)を用いて署名データの作成処理及び検証処理を行う署名システムに関する。
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号系は、共通鍵暗号系と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。また、両者の鍵が異なる暗号系の一例として、公開鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗号系は、暗号系を利用する各エンティティが暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開し、復号鍵のみを秘密に保持するという暗号系である。公開鍵暗号系では、この一対となる暗号化鍵と復号鍵とが異なり、一方向性関数を利用することによって暗号化鍵から復号鍵を割り出せないという特徴を持たせている。
公開鍵暗号系は、暗号化鍵を公開するという画期的な暗号系であって、高度情報化社会の確立に必要な上述した3つの要素に適合するものであり、情報通信技術の分野等での利用を図るべく、その研究が活発に行われ、典型的な公開鍵暗号系としてRSA暗号系が提案された。このRSA暗号系は、一方向性関数として素因数分解の困難さを利用して実現されている。また、離散対数問題を解くことの困難さ(離散対数問題)を利用した公開鍵暗号系も種々の手法が提案されてきた。
また、各エンティティの住所,氏名,電子メールのアドレス等の個人を特定するID情報を利用する暗号系が提案された。この暗号系では、ID情報に基づいて送受信エンティティ間で共通の暗号化・復号鍵を生成する。また、このID情報に基づく暗号技法には、(1)暗号文通信に先立って送受信エンティティ間での予備通信を必要とする方式と、(2)暗号文通信に先立って送受信エンティティ間での予備通信を必要としない方式とがある。特に、(2)の手法は予備通信が不要であるので、エンティティの利便性が高く、将来の暗号系の中枢をなすものと考えられている。
この(2)の手法による暗号系は、ID−NIKS(ID-based non-interactive key sharing scheme)と呼ばれており、通信相手のID情報を用いて予備通信を行うことなく暗号化・復号鍵を共有する方式を採用している。ID−NIKSは、送受信エンティティ間で公開鍵,秘密鍵を交換する必要がなく、また鍵のリスト及び第三者によるサービスも必要としない方式であり、任意のエンティティ間で安全に通信を行える。
上述した公開鍵暗号系では、例えばRSA暗号系の場合にその公開鍵の長さは現在の電話番号の十数倍となり、極めて煩雑である。これに対して、ID−NIKSでは、各ID情報を名簿という形式で登録しておけば、この名簿を参照して任意のエンティティとの間で共通鍵を生成することができる。従って、ID−NIKSのシステムが安全に実現されれば、多数のエンティティが加入するコンピュータネットワーク上で便利な暗号系を構築できる。このような理由により、ID−NIKSが将来の暗号系の中心になると期待されている。
そこで、本発明者等は、各エンティティのID情報を使用して、楕円曲線上のペアリングに基づいて予備通信を行うことなく両エンティティ間で容易に共通鍵を共有し合える鍵共有方法、この鍵共有方法を用いた暗号通信システムを提案している(例えば、特許文献1参照)。
特開2002−26892号公報
本発明者等は、特許文献1のような鍵共有方式(ID−NIKS)を提案した後も、楕円曲線上のペアリングを用いた各エンティティのID情報に基づく公開鍵暗号方式及び署名方式の研究を続けている。
本発明は斯かる事情に鑑みてなされたものであり、多項式にエンティティのID情報を代入することにより、エンティティのID情報から変換される公開情報(公開鍵)を容易に求めることができる署名システムを提供することを目的とする。
本発明の他の目的は、グループのID情報及びグループに属する複数のエンティティ夫々のID情報を使用することにより、グループに対する署名データとそのグループに属する複数のエンティティ夫々に対する署名データとを独立的に容易に作成できる署名システムを提供することにある。
請求項1に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 を設定する手段と、設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u,vを代入して関数値f(u),f(v)を得る手段と、選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応するエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,S)を検証する検証手段とを備えることを特徴とする。
請求項2に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 を設定する手段と、設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u,vを代入して関数値f(u),f(v)を得る手段と、選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応するエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH={H0 ,H1 ,・・・,Hd }={a0 Q,a1 Q,・・・,ad Q}を計算する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(ベクトルR,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段とを備えることを特徴とする。
請求項3に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 を設定する手段と、設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u,vを代入して関数値f(u),f(v)を得る手段と、選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応するエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,S)を検証する検証手段とを備えることを特徴とする。
請求項4に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 を設定する手段と、設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u,vを代入して関数値f(u),f(v)を得る手段と、選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応するエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH={H0 ,H1 ,・・・,Hd }={a0 Q,a1 Q,・・・,ad Q}を計算する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(ベクトルR,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段とを備えることを特徴とする。
請求項5に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 を設定する手段と、受け付けた第1及び第2のエンティティの特定情報u,vを楕円曲線上のnねじれ点Pに写像してなる第1及び第2のエンティティ用の秘密鍵PU ,PV を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵PU ,PV を対応するエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH={H0 ,H1 ,・・・,Hd }={a0 Q,a1 Q,・・・,ad Q}を計算する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵PU を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数k,rを用いて、平文mの署名データ(S1 ,S2 ,ベクトルS3
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵PV を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(S1 ,S2 ,ベクトルS3 )を検証する検証手段とを備えることを特徴とする。
請求項6に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、第1のエンティティの特定情報uを、ペアリングen (,)を定義できる楕円曲線上のnねじれ点PU に変換する手段と、秘密鍵yを生成する手段と、第1のエンティティ用の秘密鍵KU =yPU を生成する手段と、生成した第1のエンティティ用の秘密鍵KU を対応する第1のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、楕円曲線上のnねじれ点Qを用いてyQを計算する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵KU を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(R,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(R,S)を検証する検証手段を備えることを特徴とする。
請求項7に係る署名システムは、センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、第1のエンティティの特定情報uを、ペアリングen (,)を定義できる楕円曲線上のnねじれ点PU に変換する手段と、秘密鍵yを生成する手段と、第1のエンティティ用の秘密鍵KU =yPU を生成する手段と、生成した第1のエンティティ用の秘密鍵KU を対応する第1のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、楕円曲線上のnねじれ点Qを用いてyQを計算する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から自身用の秘密鍵KU を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,S)を検証する検証手段とを備えることを特徴とする。
請求項8に係る署名システムは、センタ装置で生成された第1グループに所属する第1のエンティティ及び第2グループに所属する第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、第1グループに属する第1のエンティティ装置にて作成する署名データを第2グループに属する第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 及びt(x)=bz z +bz-1 z-1 +・・・+b1 x+b0 を設定する手段と、設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンティティの特定情報u,v及び第1,第2グループの特定情報g,g′を代入してエンティティ及びグループそれぞれの関数値f(u),f(v)及びt(g),t(g′)を得る手段と、選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g′)の積の逆数倍して第1,第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応する第1及び第2のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Q及び設定した多項式関数f(x)を用いて、第1のエンティティ用の公開鍵{U0 ,U1 ,・・・,Uz }={b0 f(u)Q,b1 f(u)Q,・・・,bz f(u)Q}を生成する手段と、選択された他方の点Q及び設定した多項式関数t(x)を用いて、第2グループ用の公開鍵{G0 ′,G1 ′,・・・,Gd ′}={a0 t(g′)Q,a1 t(g′)Q,・・・,ad t(g′)Q},を生成する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,Si
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,Si )を検証する検証手段とを備えることを特徴とする。
請求項9に係る署名システムは、センタ装置で生成された一のグループに所属する第1のエンティティ及び第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、前記一のグループに属する第1のエンティティ装置にて作成する署名データを前記一のグループに属する第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 及びt(x)=bz z +bz-1 z-1 +・・・+b1 x+b0 を設定する手段と、設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンティティの特定情報u,v及び前記一のグループの特定情報gを代入してエンティティ及びグループそれぞれの関数値f(u),f(v)及びt(g)を得る手段と、選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g)の積の逆数倍して第1,第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応する第1及び第2のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Q及び設定した多項式関数f(x)を用いて、第1のエンティティ用の公開鍵{U0 ,U1 ,・・・,Uz }={b0 f(u)Q,b1 f(u)Q,・・・,bz f(u)Q}を生成する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(ベクトルR,S)
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段とを備えることを特徴とする。
請求項10に係る署名システムは、センタ装置で生成された第1グループに所属する第1のエンティティ及び第2グループに所属する第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、第1グループに属する第1のエンティティ装置にて作成する署名データを第2グループに属する第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 及びt(x)=bz z +bz-1 z-1 +・・・+b1 x+b0 を設定する手段と、設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンティティの特定情報u,v及び第1,第2グループの特定情報g,g′を代入してエンティティ及びグループそれぞれの関数値f(u),f(v)及びt(g),t(g′)を得る手段と、選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g′)の積の逆数倍して第1,第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応する第1及び第2のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Q及び設定した多項式関数t(x)を用いて、第1グループ用の公開鍵{G0 ,G1 ,・・・,Gd }={a0 t(g)Q,a1 t(g)Q,・・・,ad t(g)Q}を生成する手段と、選択された他方の点Q及び設定した多項式関数t(x)を用いて、第2グループ用の公開鍵{G0 ′,G1 ′,・・・,Gd ′}={a0 t(g′)Q,a1 t(g′)Q,・・・,ad t(g′)Q},を生成する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,Si
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,Si )を検証する検証手段とを備えることを特徴とする。
請求項11に係る署名システムは、センタ装置で生成された一のグループに所属する第1のエンティティ及び第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、前記一のグループに属する第1のエンティティ装置にて作成する署名データを前記一のグループに属する第2のエンティティ装置にて検証する署名システムにおいて、前記センタ装置は、ペアリングen (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、少なくとも一次の任意の多項式関数f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 及びt(x)=bz z +bz-1 z-1 +・・・+b1 x+b0 を設定する手段と、設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンティティの特定情報u,v及び前記一のグループの特定情報gを代入してエンティティ及びグループそれぞれの関数値f(u),f(v)及びt(g)を得る手段と、選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g)の積の逆数倍して第1,第2のエンティティ用の秘密鍵
Figure 0004612027
を生成する手段と、生成した第1及び第2のエンティティ用の秘密鍵
Figure 0004612027
を対応する第1及び第2のエンティティ装置へ配布する手段と、ハッシュ関数h(・)を公開鍵として公開する手段と、選択された他方の点Q及び設定した多項式関数t(x)を用いて、前記一のグループ用の公開鍵{G0 ,G1 ,・・・,Gz }={a0 t(g)Q,a1 t(g)Q,・・・,az t(g)Q}を生成する手段とを備えており、前記第1のエンティティ装置は、前記センタ装置から秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文mの署名データ(e,Si
Figure 0004612027
を作成する作成手段とを備えており、前記第2のエンティティ装置は、前記センタ装置から自身用の秘密鍵
Figure 0004612027
を受け取る手段と、受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
Figure 0004612027
の成立を確認することで署名データ(e,Si )を検証する検証手段とを備えることを特徴とする。
本発明の署名システムにあっては、多項式関数が設定されると共にペアリングを定義できる代数曲線上の点が選択され、署名データを作成するエンティティのID情報がその多項式関数に代入されて得られる関数値と代数曲線上の選択した点とを使用して署名データが作成される。よって、エンティティのID情報から代数曲線を用いて変換される公開鍵がより容易に求められる。
本発明の署名システムにあっては、グループのID情報及びグループに属する複数のエンティティ夫々のID情報が使用されて、グループに対する署名データとそのグループに属する複数のエンティティ夫々に対する署名データとが独立的に作成される。よって、これらの署名データが容易に作成される。
本発明の署名システムでは、多項式関数を設定すると共にペアリングを定義できる代数曲線上の点を選択し、署名データを作成するエンティティのID情報をその多項式関数に代入して得られる関数値と代数曲線上の選択した点とを使用して署名データを作成するようにしたので、エンティティのID情報から代数曲線を用いて変換される公開鍵をより容易に求めることができる。
また、本発明の署名システムでは、グループのID情報及びグループに属する複数のエンティティ夫々のID情報を使用して、グループに対する署名データとそのグループに属する複数のエンティティ夫々に対する署名データとを独立的に作成するようにしたので、これらの署名データを容易に作成することができる。
本発明の実施の形態について具体的に説明する。
まず、本発明で用いる楕円曲線のベイユペアリングの基本的性質を述べる。有限体ベクトルFq 上で定義された楕円曲線をE/ベクトルFq で表し、この楕円曲線をE/ベクトルFq のベクトルFq 上で有理点がなす群をE(ベクトルFq )と表す。ここでは、この楕円曲線の群E(ベクトルFq )の部分群にnねじれ部分群E[n]が含まれるものとする。
楕円曲線上のペアリングは、楕円曲線上の二つのnねじれ点P,Q∈E[n]からベクトルFq 上の位数nの乗法群への写像である。ペアリングには、以下に示すような性質が存在する。なお、en ( , )はペアリングを表す。
(非退化)
ある点P∈E[n]と任意の点Q∈E[n]とに対して、
n (P,Q)=1が成立するとき、P=0である。
(反対称)
任意の点P,Q∈E[n]に対して、
n (P,Q)=en (Q,P)-1が成立する。
(双線形)
任意の点P,Q,R∈E[n]に対して、
n (P+Q,R)=en (P,R)en (Q,R),
n (P,Q+R)=en (P,Q)en (P,R)
が成立する。
楕円曲線上のペアリングを暗号方式に適用する場合、十分な安全性を確保するために、利用する楕円曲線とそのnねじれ部分群とを以下の条件を満たすように選ぶ必要がある。(1)nは160ビット以上の素数を因数に持つ。
(2)qは21024以上である。
(3)ベクトルFq の部分体について次の条件を満たす。
Figure 0004612027
以下の説明では、これらの(1)〜(3)の条件を満たす楕円曲線を、ペアリングの計算が可能な安全な楕円曲線と称する。また、以下では簡単のためにnを素数とする。
(第1実施の形態:ID情報に基づく公開鍵暗号方法)
図1は、本発明の暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できるセンタ1が設定されており、このセンタ1としては、例えば社会の公的機関を該当できる。このセンタ1と、この暗号通信システムを利用するユーザとしての複数の各エンティティA,B,…,Zとは、秘密通信路2a,2b,…,2zにより接続されており、これらの秘密通信路2a,2b,…,2zを介してセンタ1から秘密の鍵情報(秘密鍵KA ,KB ,…,KZ )が各エンティティA,B,…,Zへ配布されるようになっている。また、二つのエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
次に、暗号通信システムにおけるエンティティ間の情報通信について説明する。図2は、二つのエンティティV,U間における情報の通信状態を示す模式図である。図2の例は、エンティティVで平文(メッセージ)mを暗号文C1 ,C2 に暗号化してそれをエンティティUへ伝送し、エンティティUでその暗号文C1 ,C2 を元の平文(メッセージ)mに復号する場合を示している。なお、エンティティとしては、人間、装置、機械、プログラム、または、それらを構成要素としたシステムなど多様なものがあり、これらの何れの間であっても、本発明は適用可能である。
センタ1は、公開情報であるベクトルHを含む各種の公開鍵を生成する公開鍵生成部1aと、各エンティティV,Uの秘密鍵KV ,KU を求める秘密鍵生成部1bと、生成した秘密鍵KV ,KU を各エンティティV,Uへ配布する秘密鍵配布部1cとを備えている。
送信側であるエンティティVの暗号化装置10は、センタ1から秘密鍵KV を受け取る秘密鍵受取部11と、乱数rを生成する乱数生成部12と、平文mを暗号文C1 ,C2 に暗号化する暗号化部13と、作成した暗号文C1 ,C2 を通信路50へ送り出す暗号文送出部14とを備えている。
また、送信側であるエンティティUの復号装置20は、センタ1から秘密鍵KU を受け取る秘密鍵受取部21と、通信路50から暗号文C1 ,C2 を受け取る暗号文受取部22と、暗号文C1 ,C2 を平文mに復号する復号部23と、復号した平文mを出力する平文出力部24とを備えている。
次に、動作について説明する。図3はセンタ1での処理の動作手順を示すフローチャート、図4はエンティティV(送信側)での暗号化処理の動作手順を示すフローチャート、図5はエンティティU(受信側)での復号処理の動作手順を示すフローチャートである。
まず、センタ1において、ペアリングが計算可能な安全な楕円曲線が生成され(ステップS1)、nねじれ点PとQとがランダムに選ばれる(ステップS2)。但し、en (P,Q)≠1となるように、点P,Qが選択される。次いで、下記式(1)に示すようなd次の多項式関数f(x)が生成される(ステップS3)。なお、式(1)において、最高次の係数ad は1で良く、また、d=1つまり一次式であっても良い。
f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 …(1)
センタ1において、下記式(2)に示すようなベクトルHが計算され、そのベクトルHが公開情報として公開される(ステップS4)。また、エンティティV,UのID情報v,uを用いて、秘密鍵KV ,KU が下記式(3),(4)に示すように生成されて(ステップS5)、各エンティティV,Uへ配布される(ステップS6)。
Figure 0004612027
エンティティVでは、乱数rが乱数生成部12にて生成され(ステップS11)、エンティティUのID情報uとセンタ1の公開情報ベクトルHと乱数rとを用いて、下記式(5),(6)に示すように平文mから暗号文C1 ,C2 が暗号化部13にて作成される(ステップS12,13)。なお、式(6)における演算記号は、例えば公開鍵暗号でのビット毎のEXOR(排他的論理和)を表す。
Figure 0004612027
なお、上記暗号文C2 におけるen (P,Q)は、エンティティVのID情報vとエンティティVの秘密鍵KV とセンタ1の公開情報ベクトルHとを用いて、以下のように算出できる。
Figure 0004612027
作成された暗号文C1 ,C2 は、暗号文送出部14から通信路50を介してエンティティUへ伝送される(ステップS14)。
通信路50を伝送された暗号文C1 ,C2 は、エンティティUの暗号文受取部22で受け取られる(ステップS21)。エンティティUでは、復号部23において、自身の秘密鍵KU を用いて、下記式(7)に示すように暗号文C1 ,C2 が平文mに復号される(ステップS22)。
Figure 0004612027
以上のようにして、比較的簡単なアルゴリズムによって、暗号文により情報通信を安全に行える。
なお、上述した第1実施の形態では、エンティティV(送信側)がセンタ1に登録されており、自身の秘密鍵KV を利用してen (P,Q)を求めるようにしたが、このen (P,Q)がセンタ1からの公開情報として公開されている場合には、エンティティV(送信側)はセンタ1に登録されていなくても暗号文を作成することができる。
(第2実施の形態:ID情報に基づく署名方法)
次に、第1実施の形態で説明した公開鍵暗号方式と同様の手法を用いる、ID情報に基づく署名方式について説明する。
図6は、二つのエンティティU,V間における署名システムを示す模式図である。図6の例は、エンティティUが署名データを作成し、エンティティVがその署名データを検証する場合を示している。
センタ1は、第1実施の形態と同様の公開鍵生成部1a,秘密鍵生成部1b及び秘密鍵配布部1cを備えている。
署名側であるエンティティUの署名装置30は、センタ1から秘密鍵KU を受け取る秘密鍵受取部31と、乱数を生成する乱数生成部32と、各種の公開鍵と自身のID情報uと自身の秘密鍵KU とを用いて署名データを作成する署名データ作成部33とを備えている。また、検証側であるエンティティVの検証装置40は、センタ1から秘密鍵KV を受け取る秘密鍵受取部41と、エンティティUからの署名データを検証する署名データ検証部42とを備えている。
次に、動作について説明する。図7はセンタ1での処理の動作手順を示すフローチャート、図8は署名データを作成するエンティティU(署名側)での署名処理の動作手順を示すフローチャート、図9は署名データを検証するエンティティV(検証側)での検証処理の動作手順を示すフローチャートである。
まず、センタ1において、第1実施の形態と同様に、ペアリングが計算可能な安全な楕円曲線が生成され(ステップS31)、nねじれ点PとQとがランダムに選ばれる(ステップS32)。次いで、上記式(1)に示すようなd次の多項式関数f(x)が生成される(ステップS33)。各種(後述する各手法によって異なる)の公開鍵が公開情報として公開される(ステップS34)。また、エンティティU,VのID情報u,vを用いて、秘密鍵KU ,KV が前記式(4),(3)に示すように生成されて(ステップS35)、各エンティティU,Vへ配布される(ステップS36)。
エンティティUでは、乱数kが乱数生成部32にて生成され(ステップS41)、エンティティUのID情報u及び秘密鍵KU と各種の公開鍵(公開情報)と乱数kとを用いて、署名データ作成部33にて署名データが作成される(ステップS42)。作成された署名データは、エンティティVへ送られる(ステップS43)。
作成された署名データは、エンティティVで受け取られ(ステップS51)、署名データ検証部42において、自身及びエンティティUのID情報v及びuと自身の秘密鍵KV と各種の公開鍵(公開情報)とを用いて、その署名データが検証される(ステップS52)。
次に、本発明の署名方法の具体例(第1例〜第6例)について説明する。署名方式の代表的な型として、ElGamal 型とSchnorr 型とが知られており、以下ではこれらの型を中心にして説明する。
〔第1例〕(ElGamal 型のI)
第1実施の形態でのセンタ1における公開鍵に、P∈E[n]を追加する。センタの公開鍵ベクトルHと任意のエンティティCのID情報cとから、下記式(8)のようにf(c)Qを計算することができる。更に、自身の秘密鍵KC を用いてエンティティCは下記式(9)のようにen (P,Q)を計算することが可能である。つまり、自身の秘密鍵を持っている任意のエンティティはen (P,Q)を計算できる。
Figure 0004612027
具体的な署名及び検証は以下のように行う。なお、センタ1は、一方向性関数であるハッシュ関数h(・)を公開鍵として公開する。
署名:(署名データ(R,S))エンティティUにおいて、乱数k∈Zn が生成され(S41)、下記式(10),(11)のように署名データ(R,S)が作成される(S42)。作成された署名データ(R,S)がエンティティVへ送られる(S43)。但し、xはRのx座標を表す。
Figure 0004612027
検証:エンティティVにおいて、署名データ(R,S)が受け取られ(S51)、下記式(12)に示すv1 と下記式(13)に示すv2 とが等しいことが確かめられて、署名データの検証が行われる(S52)。
Figure 0004612027
〔第2例〕(Schnorr 型のI)
第1実施の形態でのセンタ1における公開鍵に、P∈E[n]を追加する。具体的な署名及び検証は以下のように行う。なお、センタ1は、ハッシュ関数h(・)を公開鍵として公開する。
署名:(署名データ(e,S))エンティティUにおいて、乱数k∈Zn が生成され(S41)、下記式(14)のような中間データrが計算された後、下記式(15),(16)のように署名データ(e,S)が作成される(S42)。なお、署名データeは、式(15)で示す如く、平文mと中間データrとの連接のハッシュ値として求められる。作成された署名データ(e,S)がエンティティVへ送られる(S43)。
Figure 0004612027
検証:エンティティVにおいて、署名データ(e,S)が受け取られ(S51)、下記式(17),(18)の成立が確かめられて、署名データの検証が行われる(S52)。
Figure 0004612027
〔第3例〕(ElGamal 型のII)
この第3例の方式では、Pを用いないので、このPをセンタ1の秘密情報として使用することができる。具体的な署名及び検証は以下のように行う。なお、センタ1は、ハッシュ関数h(・)を公開鍵として公開する。
署名:(署名データ(ベクトルR,S))エンティティUにおいて、乱数k∈Zn が生成され(S41)、下記式(19),(20)のように署名データ(ベクトルR,S)が作成される(S42)。作成された署名データ(ベクトルR,S)がエンティティVへ送られる(S43)。但し、xはkH0 のx座標を表す。
Figure 0004612027
検証:エンティティVにおいて、署名データ(ベクトルR,S)が受け取られ(S51)、以下の関係の成立が確かめられて、署名データの検証が行われる(S52)。まず、ベクトルRより下記式(21)のようにkf(v)Qが求められ、次に、下記式(22),(23),(24)のようにw1 ,w2 ,w3 が得られる。そして、下記式(25)の成立により、署名データ(ベクトルR,S)の正当性が検証される。
Figure 0004612027
〔第4例〕(Schnorr 型のII)
この第4例の方式では、第3例と同様、Pを用いないので、このPをセンタ1の秘密情報として使用することができる。具体的な署名及び検証は以下のように行う。なお、センタ1は、ハッシュ関数h(・)を公開鍵として公開する。
署名:(署名データ(e,S))エンティティUにおいて、乱数k∈Zn が生成され(S41)、下記式(26)のような中間データrが計算された後、下記式(27),(28)のように署名データ(e,S)が作成される(S42)。作成された署名データ(e,S)がエンティティVへ送られる(S43)。
Figure 0004612027
検証:エンティティVにおいて、署名データ(e,S)が受け取られ(S51)、以下のようにして、署名データの検証が行われる(S52)。まず、下記式(29)に従ってwが求められ、次に、下記式(30)が成立することにより、署名データ(e,S)と平文mとの正当性が検証される。
Figure 0004612027
〔第5例〕(ElGamal 型のIII)
この第5例の方式では、Pをセンタ1の公開鍵とする。この方式の特徴は、署名データの検証時に必ず自身の秘密鍵を必要とする点にある。具体的な署名及び検証は以下のように行う。なお、センタ1は、ハッシュ関数h(・)を公開鍵として公開する。
署名:(署名データ(ベクトルR,S))エンティティUにおいて、乱数k∈Zn が生成され(S41)、下記式(31),(32)のように署名データ(ベクトルR,S)が作成される(S42)。作成された署名データ(ベクトルR,S)がエンティティVへ送られる(S43)。但し、xはkH0 のx座標を表す。
Figure 0004612027
検証:エンティティVにおいて、署名データ(ベクトルR,S)が受け取られ(S51)、以下の関係の成立が確かめられて、署名データの検証が行われる(S52)。下記式(33),(34),(35)のようにw1 ,w2 ,w3 が計算された後、下記式(36)の成立により、署名データ(ベクトルR,S)の正当性が検証される。
Figure 0004612027
〔第6例〕(その他の型)
この第6例の方式での具体的な署名及び検証は以下のように行う。なお、センタ1は、ハッシュ関数h(・)を公開鍵として公開する。
署名:エンティティUにおいて、乱数k,r∈Zn が生成され(S41)、ハッシュ関数h(・)を用いて平文mに対応する楕円曲線上のnねじれ点M=h(m)が計算される。そして、平文mに対する署名データ(S1 ,S2 ,ベクトルS3 )が、エンティティUの秘密鍵PU (エンティティUのID情報uを楕円曲線上のnねじれ点Pに写像したもの)と、センタの公開情報h(・),ベクトルHとを用いて、下記式(37),(38),(39)のように作成される(S42)。作成された署名データ(S1 ,S2 ,ベクトルS3 )がエンティティVへ送られる(S43)。
Figure 0004612027
検証:エンティティVにおいて、署名データ(S1 ,S2 ,ベクトルS3 )が受け取られ(S51)、平文mからM=h(m)が得られた後、エンティティVの秘密鍵PV を用いて、下記式(40)の成立が確かめられて、署名データの検証が行われる(S52)。
Figure 0004612027
なお、上述した第2実施の形態では、エンティティV(検証側)がセンタ1に登録されており、自身の秘密鍵KV を利用してen (P,Q)を求めるようにしたが、このen (P,Q)がセンタ1からの公開情報として公開されている場合には、エンティティV(検証側)はセンタ1に登録されていなくても署名データの検証を行うことができる。
(第3実施の形態)
次に、第2実施の形態とは異なる秘密鍵及び公開鍵を使用する第3実施の形態の署名方法について、ElGamal 型(第7例)とSchnorr 型(第8例)とを例として説明する。なお、第3実施の形態における署名装置及び検証装置の構成、並びに、センタ処理,署名処理及び検証処理の動作手順は、第2実施の形態(図6〜図9)と同様であるのでそれらの説明は省略する。
〔第7例〕(ElGamal 型)
準備:信頼がおけるセンタにて、ペアリングの計算が可能な安全な楕円曲線が生成され、エンティティU(署名側)のID情報uがその楕円曲線上のnねじれ点PU に変換されると共に、ハッシュ関数h(・)が公開される。また、センタにて、秘密鍵y∈Zn が生成され、nねじれ点Q∈E[n]を用いて、Q,yQが計算されて公開される。更に、センタにて、エンティティUのID情報uからエンティティUの秘密鍵KU =yPU が計算されて、この秘密鍵KU がエンティティUへ送られる。
署名:(署名データ(R,S))エンティティUにおいて、乱数k∈Zn が生成され、下記式(41),(42)のように署名データ(R,S)が作成される。作成された署名データ(R,S)がエンティティVへ送られる。但し、xはRのx座標である。
Figure 0004612027
検証:エンティティVにおいて、署名データ(R,S)が受け取られ、下記式(43)の成立が確かめられて、署名データの検証が行われる。
Figure 0004612027
〔第8例〕(Schnorr 型)
準備:センタにおける準備処理は、第7例と同様である。
署名:(署名データ(e,S))エンティティUにおいて、乱数k∈Zn が生成され、下記式(44)のような中間データrが計算された後、下記式(45),(46)のように署名データ(e,S)が作成される。作成された署名データ(e,S)がエンティティVへ送られる。
Figure 0004612027
検証:エンティティVにおいて、署名データ(e,S)が受け取られ、下記式(47),(48)の成立が確かめられて、署名データの検証が行われる。
Figure 0004612027
(第4実施の形態)
次に、複数のエンティティにて構成されるグループを考慮した公開鍵暗号方法及び署名方法について説明する。なお、第4実施の形態の公開鍵暗号方法における暗号化装置及び復号装置の構成、並びに、センタ処理,暗号化処理及び復号処理の動作手順は、第1実施の形態(図2〜図5)と同様であり、また、第4実施の形態の署名方法における署名装置及び検証装置の構成、並びに、センタ処理,署名処理及び検証処理の動作手順は、第2実施の形態(図6〜図9)と同様であるので、それらの説明は省略する。
第4実施の形態にあっては、第1,第2実施の形態で述べたようなセンタ秘密の多項式関数を、各エンティティ用とグループ用との2組生成する。具体的には、下記式(49)に示すような各エンティティ用のd次の多項式関数f(x)(上記式(1)と同様)と、下記式(50)に示すようなグループ用のz次の多項式関数t(x)とが生成される。
f(x)=ad d +ad-1 d-1 +・・・+a1 x+a0 …(49)
t(x)=bz z +bz-1 z-1 +・・・+b1 x+b0 …(50)
エンティティUがグループGに属しているとする。また、エンティティUのID情報をu、グループGのID情報をgとする。この場合、エンティティUの秘密鍵KUGは下記式(51)で与えられ、センタで計算される。また、センタが公開する公開情報としてのグループGの公開鍵は下記式(52)で与えられ、エンティティUのための情報(公開する必要はない)は下記式(53)で与えられ、何れもセンタで計算される。
Figure 0004612027
以下、公開鍵暗号方法(第9例及び第10例)並びに署名方法(第11例〜第14例)の具体例について説明する。
〔第9例〕(ID情報に基づくグループへの公開鍵暗号方法)
グループGに属するエンティティであれば、誰でも復号可能であるグループGへの公開鍵暗号方法について説明する。この例は、一つのグループGに属する全てのエンティティへ同じ暗号文を送付する場合に好適である。
暗号化:送信エンティティ(送信側)において、乱数r∈Zn が生成され、グループGへの暗号文として下記式(54),(55)のようなCi ,Cd+1 が作成される。en (P,Q)は、送信エンティティのID情報及び秘密鍵とセンタの公開情報とから計算することができる。
Figure 0004612027
復号:グループGに属する任意のエンティティU(受信側)において、下記式(56)に従って、暗号文Ci ,Cd+1 から平文mが復号される。
Figure 0004612027
〔第10例〕(ID情報に基づく各エンティティへの公開鍵暗号方法)
第9例と同様の秘密鍵及び公開鍵を用いて、グループGに属する特定のエンティティUへ暗号文を送付する例について説明する。グループGに属するエンティティU(受信側)への暗号化及びエンティティUでの復号は、第1実施の形態と同様に行うことができる。
暗号化:送信エンティティ(送信側)において、乱数r∈Zn が生成され、エンティティUへの暗号文として下記式(57),(58)のようなC1 ,C2 が作成される。
Figure 0004612027
復号:エンティティU側において、下記式(59)に従って、暗号文C1 ,C2 から平文mが復号される。
Figure 0004612027
〔第11例〕(ID情報に基づくグループ署名方法:Schnorr 型)
署名データからは、グループ内のどのエンティティが署名したかは特定できないが、そのグループに属するエンティティが署名したということを検証できる署名方法について説明する。
署名:エンティティU(署名側)において、乱数k∈Zn が生成され、下記式(60)のような中間データrが計算された後、下記式(61),(62)のようにグループGの署名データ(e,Si )が作成される。en (P,Q)は、エンティティUのID情報及び秘密鍵とセンタの公開情報とから計算することができる。
Figure 0004612027
検証:グループG′に属する任意のエンティティV(検証側)において、まず、下記式(63),(64)に従ってen (P,Q),wが求められ、次に、下記式(65)により、署名データ(e,Si )の正当性が検証される。
Figure 0004612027
第11例は、下記式(66)を満たすu′をID情報に持つエンティティU′(署名側)がこのx′とkとを選択した場合、全く同じ署名データになるという性質を有している。従って、署名データからは署名エンティティを特定できないという特徴を有している。
xf(u)≡x′f(u′) (mod n) …(66)
グループGの秘密鍵KG =(1/t(g))PとエンティティUの秘密鍵KU =(1/f(u))Pとを両方持てば同等の機能を有するように考えられるが、この第11例ではグループの秘密鍵とエンティティの秘密鍵とを分離できないため、夫々の秘密鍵を各別に譲渡したりすることは不可能である。
〔第12例〕(ID情報に基づくグループ署名方法:ElGamal 型)
検証エンティティをグループに属するエンティティに限定する署名方法について説明する。この第12例の方法では、Pをセンタの公開鍵とする。
署名:エンティティU(署名側)において、乱数k∈Zn が生成され、下記式(67),(68)のようにグループGの署名データ(ベクトルR,S)が作成される。但し、xはkU0 のx座標を表す。
Figure 0004612027
検証:グループGに属する任意のエンティティV(検証側)において、まず、下記式(69)に従ってkf(u)t(g)Qが求められ、次に、下記式(70),(71),(72)のようにw1 ,w2 ,w3 が計算された後、下記式(73)の成立により、署名データ(ベクトルR,S)の正当性が検証される。
Figure 0004612027
〔第13例〕(ID情報に基づくエンティティ署名方法:Schnorr 型I)
第11例における署名方法を以下のように変更することにより、エンティティU(署名側)の署名データを得ることができる。
署名:エンティティU(署名側)において、乱数k∈Zn が生成され、下記式(74)のような中間データrが計算された後、下記式(75),(76)のようにエンティティUの署名データ(e,Si )が作成される。en (P,Q)は、エンティティUのID情報及び秘密鍵とセンタの公開情報とから計算することができる。
Figure 0004612027
検証:グループG′に属する任意のエンティティV(検証側)において、まず、下記式(77),(78)に従ってen (P,Q),wが求められ、次に、下記式(79)により、署名データ(e,Si )の正当性が検証される。
Figure 0004612027
〔第14例〕(ID情報に基づくエンティティ署名方法:Schnorr 型II)
第13例における署名方法を以下のように変更することにより、検証エンティティをグループGに属するエンティティに限定することができる。
署名:エンティティU(署名側)において、乱数k∈Zn が生成され、下記式(80)のような中間データrが計算された後、下記式(81),(82)のようにエンティティUの署名データ(e,Si )が作成される。en (P,Q)は、エンティティUのID情報及び秘密鍵とセンタの公開情報とから計算することができる。
Figure 0004612027
検証:グループGに属する任意のエンティティV(検証側)において、まず、下記式(83),(84)に従ってen (P,Q)x ,wが求められ、次に、下記式(85)により、署名データ(e,Si )の正当性が検証される。
Figure 0004612027
この第14例の方式では、エンティティV(検証側)の秘密鍵KVGが検証時に不可欠であり、しかも、同じグループに属するエンティティVでなければen (P,Q)x を計算できないため、エンティティVをエンティティU(署名側)と同じグループGに属するエンティティに限定することができる。
なお、上述した例では代数曲線として楕円曲線を用いる場合について説明したが、超楕円曲線を用いる場合にあっても、同様のペアリングを定義できるので、簡単に拡張することができる。
ここで、前述した暗号化装置10,復号装置20のハードウェアの構成例について図10を参照して説明する。
暗号化装置10は、CPU51,通信部52,操作部53,表示部54,ROM55,RAM56,鍵格納部57等を備えている。CPU51は、バス58を介して暗号化装置10の上記ハードウェア各部と接続されていて、それらを制御すると共に、ROM55に格納された暗号化処理のコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。通信部52は、通信路50を介した送信・受信処理を実行する。操作部53は、ユーザによる暗号化すべき平文の入力等の外部からの操作を受け付ける。表示部54は、入力された暗号化すべき平文等を表示する。ROM55は、暗号化装置10の上述した暗号化処理の動作に必要な種々のソフトウェアのコンピュータプログラムを予め格納している。RAM56は、SRAMまたはフラッシュメモリ等で構成され、暗号化処理の動作時に発生する一時的なデータを記憶する。鍵格納部57は、上述したベクトルHを含む公開鍵を格納している。
一方、復号装置20は、CPU61,通信部62,操作部63,表示部64,ROM65,RAM66,鍵格納部67,出力部68等を備えている。CPU61は、バス69を介して復号装置20の上記ハードウェア各部と接続されていて、それらを制御すると共に、ROM65に格納された復号処理のコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。通信部62は、通信路50を介した送信・受信処理を実行する。操作部63は、ユーザによる外部からの操作を受け付ける。表示部64は、復号結果等を表示する。ROM65は、復号装置20の上述した復号処理の動作に必要な種々のソフトウェアのコンピュータプログラムを予め格納している。RAM66は、SRAMまたはフラッシュメモリ等で構成され、復号処理の動作時に発生する一時的なデータを記憶する。鍵格納部67は、上述した秘密鍵及び公開鍵を格納している。出力部68は、復号した平文を出力する。
次に、前述した署名装置30,検証装置40のハードウェアの構成例について図11を参照して説明する。
署名装置30は、CPU71,操作部72,表示部73,ROM74,RAM75,鍵格納部76等を備えている。CPU71は、バス77を介して署名装置30の上記ハードウェア各部と接続されていて、それらを制御すると共に、ROM74に格納された署名処理のコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。操作部72は、ユーザによる外部からの操作を受け付ける。表示部73は、署名データ等を表示する。ROM74は、署名装置30の上述した署名処理の動作に必要な種々のソフトウェアのコンピュータプログラムを予め格納している。RAM75は、SRAMまたはフラッシュメモリ等で構成され、署名処理の動作時に発生する一時的なデータを記憶する。鍵格納部76は、上述したベクトルHを含む公開鍵を格納している。
一方、検証装置40は、CPU81,操作部82,表示部83,ROM84,RAM85,鍵格納部86,出力部87等を備えている。CPU81は、バス88を介して検証装置40の上記ハードウェア各部と接続されていて、それらを制御すると共に、ROM84に格納された検証処理のコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。操作部82は、ユーザによる外部からの操作を受け付ける。表示部83は、検証結果等を表示する。ROM84は、検証装置40の上述した検証処理の動作に必要な種々のソフトウェアのコンピュータプログラムを予め格納している。RAM85は、SRAMまたはフラッシュメモリ等で構成され、検証処理の動作時に発生する一時的なデータを記憶する。鍵格納部86は、上述した秘密鍵及び公開鍵を格納している。出力部87は、署名データの検証結果を出力する。
図12は、本発明の記録媒体の実施の形態の構成を示す図である。ここに例示するコンピュータプログラムは、上述した第1〜第4実施の形態にあって、公開鍵及び秘密鍵を生成する鍵生成処理、暗号文を作成する暗号化処理、暗号文を復号する復号処理、署名データを作成する署名処理、または、署名データを検証する検証処理を含んでおり、以下に説明する記録媒体に記録されている。なお、コンピュータ90は、センタ1側か、または、各エンティティ側に設けられている。
図12において、コンピュータ90とオンライン接続する記録媒体91は、コンピュータ90の設置場所から隔たって設置される例えばWWW(World Wide Web)のサーバコンピュータを用いてなり、記録媒体91には前述の如きコンピュータプログラム91aが記録されている。記録媒体91から通信線等の伝送媒体94を介して読み出されたコンピュータプログラム91aがコンピュータ90を制御することにより、コンピュータ90が上述した処理のいずれかを実行する。
コンピュータ90の内部に設けられた記録媒体92は、内蔵設置される例えばハードディスクドライブまたはROM(図10のROM55またはROM65、図11のROM74またはROM84に相当)等を用いてなり、記録媒体92には前述の如きコンピュータプログラム92aが記録されている。記録媒体92から読み出されたコンピュータプログラム92aがコンピュータ90を制御することにより、コンピュータ90が上述した処理のいずれかを実行する。
コンピュータ90に設けられたディスクドライブ90aに装填して使用される記録媒体93は、運搬可能な例えば光磁気ディスク,CD−ROMまたはフレキシブルディスク等を用いてなり、記録媒体93には前述の如きプログラム93aが記録されている。記録媒体93から読み出されたコンピュータプログラム93aがコンピュータ90を制御することにより、コンピュータ90が上述した処理のいずれかを実行する。
本発明の暗号通信システムの構成を示す模式図である。 二つのエンティティ間における情報の通信状態を示す模式図である。 センタでの処理の動作手順を示すフローチャートである。 送信側のエンティティでの暗号化処理の動作手順を示すフローチャートである。 受信側のエンティティでの復号処理の動作手順を示すフローチャートである。 二つのエンティティ間における署名システムを示す模式図である。 センタでの処理の動作手順を示すフローチャートである。 署名側のエンティティでの署名処理の動作手順を示すフローチャートである。 検証側のエンティティでの検証処理の動作手順を示すフローチャートである。 暗号化装置及び復号装置のハードウェア構成例を示す図である。 署名装置及び検証装置のハードウェア構成例を示す図である。 記録媒体の実施の形態の構成を示す図である。
符号の説明
1 センタ
1a 公開鍵生成部
1b 秘密鍵生成部
10 暗号化装置
13 暗号化部
20 復号装置
23 復号部
30 署名装置
33 署名データ作成部
40 検証装置
42 署名データ検証部
50 通信路
90 コンピュータ
91,92,93 記録媒体
91a,92a,93a コンピュータプログラム
A,B,U,V,Z エンティティ

Claims (11)

  1. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて検証する署名システムにおいて、
    前記センタ装置は、
    ペアリング n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 を設定する手段と、
    設定した多項式関数f(x)、受け付けた第1及び第2のエンティティの特定情報 ,vを代入して関数値f(u),f(v)を得る手段と、
    選択された一方の点得られた関数値f(u),f(v)の逆数倍して第1及び第 2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応するエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  2. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 を設定する手段と、
    設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u ,vを代入して関数値f(u),f(v)を得る手段と、
    選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第 2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応するエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH ={H 0 ,H 1 ,・・・,H d }={a 0 Q,a 1 Q,・・・,a d Q}を計算する手段
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(ベクトルR,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  3. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 を設定する手段と、
    設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u ,vを代入して関数値f(u),f(v)を得る手段と、
    選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第 2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応するエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  4. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 を設定する手段と、
    設定した多項式関数f(x)に、受け付けた第1及び第2のエンティティの特定情報u ,vを代入して関数値f(u),f(v)を得る手段と、
    選択された一方の点Pを、得られた関数値f(u),f(v)の逆数倍して第1及び第 2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応するエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH ={H 0 ,H 1 ,・・・,H d }={a 0 Q,a 1 Q,・・・,a d Q}を計算する手段
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(ベクトルR,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  5. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 を設定する手段と、
    受け付けた第1及び第2のエンティティの特定情報u,vを楕円曲線上のnねじれ点P に写像してなる第1及び第2のエンティティ用の秘密鍵P U ,P V を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵P U ,P V を対応するエンティティ装 置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Qを、設定した多項式関数f(x)の係数倍して公開鍵ベクトルH ={H 0 ,H 1 ,・・・,H d }={a 0 Q,a 1 Q,・・・,a d Q}を計算する手段
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵P U を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数k,rを用いて、平 文mの署名データ(S 1 ,S 2 ,ベクトルS 3
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵P V を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(S 1 ,S 2 ,ベクトルS 3 )を検証する検証手段と を備えることを特徴とする署名システム。
  6. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    第1のエンティティの特定情報uを、ペアリングe n (,)を定義できる楕円曲線上の nねじれ点P U に変換する手段と、
    秘密鍵yを生成する手段と、
    第1のエンティティ用の秘密鍵K U =yP U を生成する手段と、
    生成した第1のエンティティ用の秘密鍵K U を対応する第1のエンティティ装置へ配布 する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    楕円曲線上のnねじれ点Qを用いてyQを計算する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵K U を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(R,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(R,S)を検証する検証手段
    を備えることを特徴とする署名システム。
  7. センタ装置で生成されたエンティティの秘密鍵及び該センタ装置が公開する公開鍵を使 用して、第1のエンティティ装置にて作成する署名データを第2のエンティティ装置にて 検証する署名システムにおいて、
    前記センタ装置は、
    第1のエンティティの特定情報uを、ペアリングe n (,)を定義できる楕円曲線上の nねじれ点P U に変換する手段と、
    秘密鍵yを生成する手段と、
    第1のエンティティ用の秘密鍵K U =yP U を生成する手段と、
    生成した第1のエンティティ用の秘密鍵K U を対応する第1のエンティティ装置へ配布 する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    楕円曲線上のnねじれ点Qを用いてyQを計算する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵K U を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  8. センタ装置で生成された第1グループに所属する第1のエンティティ及び第2グループ に所属する第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用 して、第1グループに属する第1のエンティティ装置にて作成する署名データを第2グル ープに属する第2のエンティティ装置にて検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 及びt(x)=b z z +b z-1 z-1 +・・・+b 1 x+b 0 を設定する手段 と、
    設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンテ ィティの特定情報u,v及び第1,第2グループの特定情報g,g′を代入してエンティ ティ及びグループそれぞれの関数値f(u),f(v)及びt(g),t(g′)を得る 手段と、
    選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g′ )の積の逆数倍して第1,第2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応する第1及び第2のエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Q及び設定した多項式関数f(x)を用いて、第1のエンティティ 用の公開鍵{U 0 ,U 1 ,・・・,U z }={b 0 f(u)Q,b 1 f(u)Q,・・・ ,b z f(u)Q}を生成する手段と、
    選択された他方の点Q及び設定した多項式関数t(x)を用いて、第2グループ用の公 開鍵{G 0 ′,G 1 ′,・・・,G d ′}={a 0 t(g′)Q,a 1 t(g′)Q,・ ・・,a d t(g′)Q},を生成する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S i
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S i )を検証する検証手段と
    を備えることを特徴とする署名システム。
  9. センタ装置で生成された一のグループに所属する第1のエンティティ及び第2のエンテ ィティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、前記一のグループ に属する第1のエンティティ装置にて作成する署名データを前記一のグループに属する第 2のエンティティ装置にて検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 及びt(x)=b z z +b z-1 z-1 +・・・+b 1 x+b 0 を設定する手段 と、
    設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンテ ィティの特定情報u,v及び前記一のグループの特定情報gを代入してエンティティ及び グループそれぞれの関数値f(u),f(v)及びt(g)を得る手段と、
    選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g) の積の逆数倍して第1,第2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応する第1及び第2のエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Q及び設定した多項式関数f(x)を用いて、第1のエンティティ 用の公開鍵{U 0 ,U 1 ,・・・,U z }={b 0 f(u)Q,b 1 f(u)Q,・・・ ,b z f(u)Q}を生成する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(ベクトルR,S)
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(ベクトルR,S)を検証する検証手段と
    を備えることを特徴とする署名システム。
  10. センタ装置で生成された第1グループに所属する第1のエンティティ及び第2グループ に所属する第2のエンティティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用 して、第1グループに属する第1のエンティティ装置にて作成する署名データを第2グル ープに属する第2のエンティティ装置にて検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 及びt(x)=b z z +b z-1 z-1 +・・・+b 1 x+b 0 を設定する手段 と、
    設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンテ ィティの特定情報u,v及び第1,第2グループの特定情報g,g′を代入してエンティ ティ及びグループそれぞれの関数値f(u),f(v)及びt(g),t(g′)を得る 手段と、
    選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g′ )の積の逆数倍して第1,第2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応する第1及び第2のエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Q及び設定した多項式関数t(x)を用いて、第1グループ用の公 開鍵{G 0 ,G 1 ,・・・,G d }={a 0 t(g)Q,a 1 t(g)Q,・・・,a d t(g)Q}を生成する手段と、
    選択された他方の点Q及び設定した多項式関数t(x)を用いて、第2グループ用の公 開鍵{G 0 ′,G 1 ′,・・・,G d ′}={a 0 t(g′)Q,a 1 t(g′)Q,・ ・・,a d t(g′)Q},を生成する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S i
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S i )を検証する検証手段と
    を備えることを特徴とする署名システム。
  11. センタ装置で生成された一のグループに所属する第1のエンティティ及び第2のエンテ ィティの秘密鍵、並びに前記センタ装置が公開する公開鍵を使用して、前記一のグループ に属する第1のエンティティ装置にて作成する署名データを前記一のグループに属する第 2のエンティティ装置にて検証する署名システムにおいて、
    前記センタ装置は、
    ペアリングe n (,)を定義できる楕円曲線上の2点P,Qを適宜に選択する手段と、 少なくとも一次の任意の多項式関数f(x)=a d d +a d-1 d-1 +・・・+a 1 x+a 0 及びt(x)=b z z +b z-1 z-1 +・・・+b 1 x+b 0 を設定する手段 と、
    設定した多項式関数f(x)及びt(x)それぞれに、受け付けた第1,第2のエンテ ィティの特定情報u,v及び前記一のグループの特定情報gを代入してエンティティ及び グループそれぞれの関数値f(u),f(v)及びt(g)を得る手段と、
    選択された一方の点Pを、得られた関数値f(u),t(g)及びf(v),t(g) の積の逆数倍して第1,第2のエンティティ用の秘密鍵
    Figure 0004612027
    を生成する手段と、
    生成した第1及び第2のエンティティ用の秘密鍵
    Figure 0004612027
    を対応する第1及び第2のエンティティ装置へ配布する手段と、
    ハッシュ関数h(・)を公開鍵として公開する手段と、
    選択された他方の点Q及び設定した多項式関数t(x)を用いて、前記一のグループ用 の公開鍵{G 0 ,G 1 ,・・・,G z }={a 0 t(g)Q,a 1 t(g)Q,・・・, z t(g)Q}を生成する手段と
    を備えており、
    前記第1のエンティティ装置は、
    前記センタ装置から秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵、受け付けた公開鍵及び発生させた乱数kを用いて、平文m の署名データ(e,S i
    Figure 0004612027
    を作成する作成手段と
    を備えており、
    前記第2のエンティティ装置は、
    前記センタ装置から自身用の秘密鍵
    Figure 0004612027
    を受け取る手段と、
    受け取った自身用の秘密鍵及び受け付けた公開鍵を用いて
    Figure 0004612027
    の成立を確認することで署名データ(e,S i )を検証する検証手段と
    を備えることを特徴とする署名システム。
JP2007228314A 2007-09-03 2007-09-03 署名システム Expired - Fee Related JP4612027B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007228314A JP4612027B2 (ja) 2007-09-03 2007-09-03 署名システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007228314A JP4612027B2 (ja) 2007-09-03 2007-09-03 署名システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002368691A Division JP4485122B2 (ja) 2002-12-19 2002-12-19 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2007325318A JP2007325318A (ja) 2007-12-13
JP4612027B2 true JP4612027B2 (ja) 2011-01-12

Family

ID=38857639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007228314A Expired - Fee Related JP4612027B2 (ja) 2007-09-03 2007-09-03 署名システム

Country Status (1)

Country Link
JP (1) JP4612027B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
CZ308885B6 (cs) * 2019-09-26 2021-08-04 Univerzita Tomáše Bati ve Zlíně Systém ověření identity a licencí pro práci s vysoce citlivými daty

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026892A (ja) * 2000-05-02 2002-01-25 Murata Mach Ltd 鍵共有方法,秘密鍵生成方法,共通鍵生成方法,暗号通信方法,秘密鍵生成器,共通鍵生成器,暗号通信システム及び記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026892A (ja) * 2000-05-02 2002-01-25 Murata Mach Ltd 鍵共有方法,秘密鍵生成方法,共通鍵生成方法,暗号通信方法,秘密鍵生成器,共通鍵生成器,暗号通信システム及び記録媒体

Also Published As

Publication number Publication date
JP2007325318A (ja) 2007-12-13

Similar Documents

Publication Publication Date Title
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN111342976B (zh) 一种可验证的理想格上门限代理重加密方法及系统
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
CN110830236B (zh) 基于全域哈希的身份基加密方法
CN110011995B (zh) 多播通信中的加密和解密方法及装置
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
Khan et al. Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange
CN110784314A (zh) 无证书的加密信息处理方法
Yin et al. An efficient and secured data storage scheme in cloud computing using ECC-based PKI
JP2014515125A (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
Braeken et al. Pairing free and implicit certificate based signcryption scheme with proxy re-encryption for secure cloud data storage
JP4450969B2 (ja) 鍵共有システム,秘密鍵生成装置,共通鍵生成システム,暗号通信方法,暗号通信システム及び記録媒体
US20050220300A1 (en) Public key cryptographic methods and systems
JP4485122B2 (ja) 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム
KR101533422B1 (ko) 브로드캐스트 암호화 방법 및 시스템
Ray et al. An ECC based public key infrastructure usable for mobile applications
JP4612027B2 (ja) 署名システム
Nayak A secure ID-based signcryption scheme based on elliptic curve cryptography
CN114205077B (zh) 基于Blom密钥分配算法的混合加密安全通信方法
Yeh et al. P2P email encryption by an identity-based one-way group key agreement protocol
Nayak Signcryption schemes based on elliptic curve cryptography
Anand et al. Real-time symmetric cryptography using quaternion julia set
Elkamchouchi et al. A new proxy identity-based signcryption scheme for partial delegation of signing rights

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

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: 20101005

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: 20101014

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees