JPH1155244A - 鍵回復方法および装置 - Google Patents
鍵回復方法および装置Info
- Publication number
- JPH1155244A JPH1155244A JP10131835A JP13183598A JPH1155244A JP H1155244 A JPH1155244 A JP H1155244A JP 10131835 A JP10131835 A JP 10131835A JP 13183598 A JP13183598 A JP 13183598A JP H1155244 A JPH1155244 A JP H1155244A
- Authority
- JP
- Japan
- Prior art keywords
- data
- public key
- converting
- key
- data obtained
- 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.)
- Granted
Links
Abstract
なく鍵回復を行う。 【解決手段】装置Sにおいて、暗号文の生成に際しパラ
メータとして用いた公開鍵QAのハッシュ値h(xA)
と、公開鍵QB、QCのハッシュ値h(xB)、h(xC)
との間において、h(xB)、h(xC)が分かればh
(xA)を算出可能な関係式を満たすデータ値を生成す
る。そして、暗号文Cにこのデータ値を付与して装置A
〜Cに送信する。装置Aは、公開鍵QAと対の秘密鍵dA
を紛失した場合でも、装置B、Cから得たh(xB)、
h(xC)と暗号文Cに付加されたデータ値とを前記関
係式に代入することで、h(xA)を生成可能である。
したがって、暗号文Cを元のメッセージMに復号でき
る。
Description
のコンピュータネットワークにおけるセキュリティを確
保する技術に関し、特に、鍵回復(鍵供託)システムに
関する。
やり取りされるデータのセキュリティを確保する技術と
して、公開鍵と呼ばれる数値データを用いてデータを暗
号化し、当該暗号化したデータを、秘密鍵と呼ばれる数
値データ(公開鍵とは異なる数値を持つ)を用いて復号
化する、いわゆる公開鍵暗号化方式と呼ばれるデータ暗
号化方式がある。
らかの理由により秘密鍵を紛失してしまった場合、当該
秘密鍵と対になる公開鍵で暗号化されたデータを復号化
することは、実際上不可能となってしまう。たとえば、
暗号化されたデータをファイルなどに保管しておき、後
日、取り出そうとした場合に、秘密鍵がなければ、当該
データを元に戻すことができない。これでは、データが
失われたのと同じことになる。秘密鍵をなくすというこ
とは、実際上あり得る事態であり、この場合の救済策が
ないと困ることがある。
た場合に、暗号化されたデータを正しく復号できるよう
にすることで、個人や企業の機密情報をバックアップす
る鍵回復(あるいは鍵供託)システムが提案されてい
る。
理を行う第三者(鍵保管機関)に供託しておくことで、
自らが秘密鍵を紛失してしまった場合に備えようとする
ものである。たとえば、自己の秘密鍵を分割して複数の
鍵保管機関に供託しておき、自己の秘密鍵を紛失してし
まった場合には、複数の鍵保管機関に供託しておいた秘
密鍵の一部各々について、排他的論理和や加算などの演
算処理を行うことで、自己の秘密鍵を回復する。
雅弘および岡本栄司の両氏が著した「ネットワーク暗号
クリッパーのインパクト:bit, Vol. 28, No. 2, Febru
ary,1996」や、Silvio Micali氏が著した「Fair Crypto
systems :MIT/LCS1TR-579.c, Laboratory for Computer
Science, Massachusette Institute of Technology, 1
994/8」などに開示されている.
明した従来の鍵回復システムでは、自己の公開鍵で暗号
化されたデータを復号化する唯一の手段である秘密鍵
を、自己以外の第三者(鍵保管機関)に供託しなければ
ならない。当然、この秘密鍵を鍵保管機関に供託する場
合にも、機密性を確保できる方法で行う必要があり、そ
のための手間がかかる。特に、秘密鍵を分割して、複数
の鍵保管機関に供託するような場合には、ユーザにかか
る負担が大きくなる。
あり、本発明の目的は、自己が所有する秘密鍵を第三者
に知らせる必要のない鍵回復方法および装置を提供する
ことにある。
に、本発明の第一の態様は、暗号文の生成に際しパラメ
ータとして用いられた、公開鍵を変換することで得られ
たデータを、当該公開鍵と対の秘密鍵を用いることなく
生成する鍵回復方法であって、送信側において、暗号文
の生成に際しパラメータとして用いられた第一の公開鍵
を変換することで得られたデータと、少なくとも1つの
第二の公開鍵を変換することで得られたデータとの間に
おいて、前記第二の公開鍵を変換することで得られたデ
ータが分かれば、前記第一の公開鍵を変換することで得
られたデータを、直接あるいは間接に求めることができ
る関係式を満たすデータ値を生成する第一の処理と、前
記暗号文に、前記第一の処理の結果得られたデータ値を
付与する第二の処理と、を含み、前記第二の公開鍵と対
の秘密鍵を所有する受信側において、前記第二の公開鍵
を変換することで得られたデータを、当該第二の公開鍵
と対の秘密鍵から求める第三の処理と、前記第二の処理
で暗号文に付加されたデータ値および前記第三の処理で
求めたデータを、前記第一の処理で用いた関係式に代入
することにより、当該暗号文の生成に際しパラメータと
して用いられた、前記第一の公開鍵を変換することで得
られたデータを求める第四の処理と、を含んでいること
を特徴とする。
データとは、たとえば、生成した乱数と公開鍵とを作用
させることで得られたデータである。
際しパラメータとして用いられた第一の公開鍵を変換す
ることで得られたデータと、少なくとも1つの第二の公
開鍵を変換することで得られたデータとの間において、
前記第二の公開鍵を変換することで得られたデータが分
かれば、前記第一の公開鍵を変換することで得られたデ
ータを、直接あるいは間接に求めることができる関係式
を満たすデータ値を、暗号文に付与している。
られたデータは、当該第二の公開鍵と対になる秘密鍵か
ら求めることができる。
として用いられた第一の公開鍵を変換することで得られ
たデータは、第二の公開鍵と対になる秘密鍵を所有する
者によって、上記の関係式を満たすデータ値から求める
ことができる。
鍵を用いることなく、暗号文を復号することができる。
つまり、自己の秘密鍵(第一の公開鍵と対の秘密鍵)を
自己以外の第三者(鍵保管機関)に供託しなくても、第
二の公開鍵と対の秘密鍵を所有する者により、鍵回復を
行うことが可能となる。
は、自己の秘密鍵を、鍵保管機関に供託しておかなけれ
ばならなかった。当然、この秘密鍵を鍵保管機関に供託
する場合にも、機密性を確保できる方法で行う必要があ
り、そのための手間がかかっていた。特に、秘密鍵を分
割して、複数の鍵保管機関に供託するような場合には、
ユーザにかかる負担が大きかった。これに対し、本発明
の第一の態様では、そのような手間を省くことができ、
ユーザにかかる負担を軽減することができる。
の公開鍵と対になる秘密鍵は、所定の演算(排他的論理
和や加算など)を行うことで復元可能なように複数に分
割されて、複数の情報処理装置に保持されるようにして
もよい。この場合、当該複数の情報処理装置の少なくと
も1つにおいて、前記複数の情報処理装置各々が所有す
る前記秘密鍵の一部に対して前記所定の演算を行うこと
で、秘密鍵を復元させ、第二の公開鍵を変換することで
得られたデータを、前記復元した秘密鍵から求めるよう
にすることが好ましい。
前記第二の公開鍵を変換することで得られたデータを取
得することが可能となる。
成に際しパラメータとして用いられたデータを回復する
鍵回復方法であって、送信側において、少なくとも1つ
の第一の公開鍵を変換することで得られたデータと前記
第一の公開鍵と同数の第二の公開鍵を変換することで得
られたデータとに基づいて、暗号文の生成に際しパラメ
ータとして用いるデータを生成する第一の処理と、前記
第一の処理の結果得られたデータをパラメータとして暗
号文を生成する第二の処理と、前記少なくとも1つの第
一の公開鍵を変換することで得られたデータと、前記第
一の公開鍵と同数の第二の公開鍵を変換することで得ら
れたデータとの間において、一方の公開鍵を変換するこ
とで得られたデータが分かれば、他方の公開鍵を変換す
ることで得られたデータを、直接あるいは間接に求める
ことができる関係式を満たすデータ値を生成する第三の
処理と、前記第二の処理で生成した暗号文に、前記第三
の処理で生成したデータ値を付加する第四の処理と、を
含み、前記第二の公開鍵と対の秘密鍵を所有する受信側
において、前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータを、当該第二の公開鍵と対
の秘密鍵から求める第五の処理と、前記第四の処理で暗
号文に付加されたデータ値および前記第五の処理で求め
たデータを、前記第三の処理で用いた関係式に代入する
ことにより、前記少なくとも1つの第一の公開鍵を変換
することで得られたデータを求める第六の処理と、前記
第六の処理で求めた前記少なくとも1つの第一の公開鍵
を変換することで得られたデータと、前記第五の処理で
求めた前記第一の公開鍵と同数の第二の公開鍵を変換す
ることで得られたデータとに基づいて、前記第一の処理
で生成した、前記第二の処理において暗号文生成のため
のパラメータとして用いたデータを求める第七の処理
と、を含んでいることを特徴とする。
ラメータとして、第一の公開鍵を変換することで得られ
たデータの代わりに、第一の公開鍵を変換することで得
られたデータと、この第一の公開鍵と同数の第二の公開
鍵を変換することで得られたデータとに基づいて生成さ
れたデータを用いている点で、本発明の第一の態様と異
なる。
変換することで得られたデータは、第二の公開鍵と対の
秘密鍵を所有する者によって、暗号文に付加されたデー
タ値から求めることができる。そして、第二の公開鍵と
対の秘密鍵を所有する者は、暗号文に付加されたデータ
値から求めた、第一の公開鍵を変換することで得られた
データと、第二の公開鍵と対の秘密鍵から求めた、第二
の公開鍵を変換することで得られたデータとに基づい
て、暗号文生成のパラメータとして用いたデータを求め
ることができる。
第一の公開鍵と対になる秘密鍵を用いることなく、暗号
文を復号することができる。つまり、自己の秘密鍵(第
一の公開鍵と対の秘密鍵)を自己以外の第三者(鍵保管
機関)に供託しなくても、第二の公開鍵と対の秘密鍵を
所有する者により、鍵回復を行うことが可能となる。
様では、暗号文生成のパラメータとして、第一の公開鍵
を変換することで得られたデータではなく、第一の公開
鍵を変換することで得られたデータと、この第一の公開
鍵と同数の第二の公開鍵を変換することで得られたデー
タとに基づいて生成されたデータを用いている。
所有する者であっても、暗号文に付加されたデータ値か
ら第二の公開鍵を変換することで得られたデータを求め
なければ、暗号文生成のパラメータとして用いたデータ
を得ることができない。
する者であっても、暗号文に、第一および第二の公開鍵
を変換することで得られたデータ間において、一方の公
開鍵を変換することで得られたデータが分かれば他方の
公開鍵を変換することで得られたデータを求めることが
できる関係式を満たすデータ値が付加されていなけれ
ば、暗号文を復号することができない。一方、当該デー
タ値が暗号文に付加されている場合は、第二の公開鍵と
対の秘密鍵を所有する者も、暗号文を必ず復号すること
ができる。
えば、国境を越えてやり取りが行われる暗号化された機
密データなど、防衛上の理由などにより、当該データ取
引者の意志にかかわらず、政府などが当該データを復号
できるようにすることが要求される鍵回復システムに好
適である。
ついて説明する。
ークを介して接続された複数の情報処理装置(たとえ
ば、パーソナルコンピュータ)間で実現される。
た鍵回復システムの概略構成を示す図である。
タ送信側、すなわち、データ暗号化装置として機能する
情報処理装置(たとえば、パーソナルコンピュータ)で
ある。一方、装置A102、B103、C104は、暗
号データ受信側、すなわち、データ復号化装置として機
能する情報処理装置(たとえば、パーソナルコンピュー
タ)である。これらの装置は、ネットワーク105を介
して相互に接続されている。
有する秘密鍵dA110と対になる公開鍵QA107、装
置B103が所有する秘密鍵dB111と対になる公開
鍵QB108、そして、装置C104が所有する秘密鍵
dC112と対になる公開鍵QC109を、あらかじめ取
得しているものとする。
0、公開鍵QB108と秘密鍵dB111、そして、公開
鍵QC109と秘密鍵dC112は、各々楕円曲線暗号に
おける公開鍵と秘密鍵である。
y2)の加算(x1,y1)+(x2,y2)や、整数倍倍
演算k(x1,y1)などを定義することにより生成され
る公開鍵暗号のことである。
鍵QB108と秘密鍵dB111、および、公開鍵QC1
09と秘密鍵dC112は、各々以下に示す関係にあ
る。
のであって、楕円曲線暗号を計算するときのパラメータ
として用いられる。
態の鍵回復システムが実施された場合の処理を簡単にす
る。
置S101での処理について、簡単に説明する。
M106を、公開鍵QA107を変換することで得られ
たデータをパラメータとして、暗号化する。また、この
公開鍵QA107を変換することで得られたデータと、
公開鍵QB108を変換することで得られたデータと、
公開鍵QC109を変換することで得られたデータとの
間において、公開鍵QB108を変換することで得られ
たデータおよび公開鍵QC109を変換することで得ら
れたデータが分かれば、公開鍵QA107を変換するこ
とで得られたデータを、直接あるいは間接に求めること
ができる関係式を満たすデータ値を生成する。
上記の生成したデータ値を付与して暗号文C113を生
成し、装置A102、B103、C104に送信する。
置A102、B103、C104での処理について、簡
単に説明する。
3を復号する場合の処理について、説明する。
てきた暗号文C113を受信すると、この暗号文C11
3を、秘密鍵dA110を変換することで得られたデー
タ(このデータは、公開鍵QA107を変換することで
得られたデータと同じになる)をパラメータとして、復
号化する。これにより、元のメッセージM106を得
る。
104の協力を得て暗号文C113を復号する場合の処
理について、説明する。
これらが各々所有する秘密鍵dE111、dC112を変
換することで得られるデータを送信するように要求す
る。
は、各々自己が所有する秘密鍵dB111、dC112を
変換することで得られたデータを装置A102に送信す
る。
送られてきた秘密鍵dB111を変換することで得られ
たデータと、装置C104から送られてきた秘密鍵dC
112を変換することで得られたデータと、装置S10
1から送られてきた暗号文C113に付与されたデータ
値とを基に、公開鍵QA107を変換することで得られ
たデータを求める。そして、このデータをパラメータと
して、暗号文C113を復号化する。これにより、元の
メッセージM106を得る。
力を得て暗号文C113を復号する場合の処理について
説明する。
送られてきた暗号文C113を復号しようとする場合、
まず、装置C104に対して、この装置C104が所有
する秘密鍵dC112を変換することで得られるデータ
を送信するように要求する。
有する秘密鍵dC112を変換することで得られたデー
タを、トークンT114として、装置B103に送信す
る。
密鍵dB111を変換することで得られたデータと、装
置C104から送られてきたトークンT114(秘密鍵
dC112を変換することで得られたデータ)と、装置
S101から送られてきた暗号文C113に付与された
データ値とを基に、公開鍵QA107を変換することで
得られたデータを求める。そして、このデータをパラメ
ータとして、暗号文C113を復号化する。これによ
り、元のメッセージM106を得る。
力を得て暗号文C113を復号する場合も、同じ要領で
行う。
置B104が所有する秘密鍵dB111を変換すること
で得られるデータを送信するように要求する。
変換することで得られたデータと、装置B103から送
られてきた、秘密鍵dB111を変換することで得られ
たデータと、装置S101から送られてきた暗号文C1
13に付与されたデータ値とを基に、公開鍵QA107
を変換することで得られたデータを求める。そして、こ
のデータをパラメータとして、暗号文C113を復号化
する。
する各装置について説明する。
置S101について説明する。
成を示す図である。
コンピュータなどの情報処理装置が備えるCPUに所定
のプログラムを実行させることで実現可能である。この
プログラムは、たとえば、CD−ROMなど、ドライバ
を介してパーソナルコンピュータで読み取り可能な記憶
媒体に格納しておけばよい。また、図2に示す機能構成
は、情報処理装置に装着されたICカード上において、
実現されるように構成してもよい。
ント生成部2102において、楕円曲線暗号におけるパ
ラメータであるベースポイントPが生成される。
13で生成された乱数kとともに整数倍演算部2123
へ入力される。これを受けて、整数倍演算部2123
は、次式で示される処理を実行することで、データR2
109を生成する。
タとなる。
113で生成された乱数kとともに、整数倍演算部21
14へ入力される。これを受けて、整数倍演算部211
4は、次式で示される処理を実行することで、上記の楕
円曲線上の点(xA,yA)を生成する。
ュ値生成部2119に入力されて、ハッシュ値h
(xA)に変換される。
2113で生成された乱数kとともに、整数倍演算部2
115へ入力される。これを受けて、整数倍演算部21
15は、次式で示される処理を実行することで、上記の
楕円曲線上の点(xB,yB)を生成する。
ュ値生成部2126に入力されて、ハッシュ値h
(xB)に変換される。
生成部2113で生成された乱数kとともに、整数倍演
算部2116へ入力される。これを受けて、整数倍演算
部2116は、次式で示される処理を実行することで、
上記の楕円曲線上の点(xC,yC)を生成する。
ュ値生成部2127に入力されて、ハッシュ値h
(xC)に変換される。
値生成部2126、2127で生成したハッシュ値h
(xB)、h(xC)が分かれば、ハッシュ値生成部21
19で生成したハッシュ値h(xA)を求めることがで
きる条件式を満たす値f12110を生成する。この値
f12110は、暗号文C113の2番目のデータとな
る。
詳細については後述する。
ットデータ2107が圧縮・暗号化部2120に入力さ
れる。これを受けて、圧縮・暗号化部2120は、ハッ
シュ値生成部2119で生成されたハッシュ値h
(xA)を鍵2100として、最初のNビットデータ2
107の圧縮・暗号化処理(これについては後述する)
を行う。これによりデータC12112を生成する。こ
のデータC12112は、暗号文C113の3番目のデ
ータとなる。また、鍵2100は、ハッシュ値生成部2
121に入力されて、メッセージM106の2番目のN
ビットデータを暗号化するための鍵2122に変換され
る。
する全てのNビットデータに対して行うことで、暗号文
C113を生成する。
は、入力データに対して、暗号変換に似た処理を施すこ
とで得られる一定長の短いデータのことである。このハ
ッシュ値を生成するための関数であるハッシュ関数に
は、次のような特性をもつことが要求される。
ハッシュ関数の出力値が与えられたとする。この出力値
と同じ出力値をもたらすような別のメッセージを求める
ことが、計算量的に困難でなければならない。
y):メッセージもハッシュ値も何であるかは問わない。
とにかく同じハッシュ値となる二つの異なるメッセージ
を見つけることが計算量的に困難でなけらばならない。
ク暗号を利用したハッシュ関数」や「専用ブロック関
数」などが存在する。本実施形態に用いるハッシュ値生
成部は、これ等を利用することで実現可能である。
25での処理について説明する。
25は、ハッシュ値h(xB)、h(xC)が分かれば、
ハッシュ値h(xA)を求めることができる条件式を満
たす値f12110を生成する。
125の機能構成を示す図である。
125には、qAX2202、h(xA)2203、h
(xB)2204、h(xC)2205が入力される。
公開鍵QA107のx座標値である。また、h(xA)2
203、h(xB)2204、h(xC)2205は、そ
れぞれ、ハッシュ値生成部2119、2126、212
7で生成されたハッシュ値である。
実行することで、データf12110を生成する。
d n) で定義される。
データf1は、qAXおよびh(xA)、h(xB)、h
(xC)との間において、以下に示す方程式が成立す
る。
(xC)・qAX 2(mod n) なお、上記の式において、mod nとは、nで割った余り
をとるという処理を示す。たとえば、5(mod 2)=1
である。また、nは、ハッシュ値生成部21119、2
126、2127で用いるハッシュ関数hの出力長(す
なわち、ハッシュ値)より長いビット数で表される整数
である。
ある場合、h(xA),h(xB),h(xC)のうちの
いずれか二つの値が分かれば、他の一つの値も分かるこ
とになる(未知数3、方程式数1の連立方程式となるた
め)。
0、・・・での処理について、説明する。
0、・・・の機能構成を示す図である。
て、メッセージM106を構成するNビットデータ21
07、・・・に相当する。また、データCiは、図2に
おいて、圧縮・暗号化部2120、・・・が生成するデ
ータC12112、・・・を示す。さらに、鍵2309
とは、図2において、鍵2100、2122、・・・に
相当する。
と、拡張部2310はこの鍵2309を受け取ってコピ
ーを複数個生成し、これ等を繋ぎ合わせてワーク鍵23
11を生成する。
である第1区分2303は、圧縮処理部2312におい
て、ワーク鍵2311の一部をパラメータとして、ハフ
マン圧縮などにより圧縮(換字)処理が施される。そし
て、その結果が、128ビットの圧縮データ2313お
よびその端数データ2314として出力される。
関数処理部2315において、ワーク鍵2311の一部
をパラメータとして、ブロック暗号処理が施され、12
8ビットのデータに変換される。その後、π関数処理部
2316において、ワーク鍵2311の一部をパラメー
タとして、さらにブロック暗号処理が施されて、128
ビットのデータに変換される。このデータが、生成すべ
きデータCiの最初のデータg12306となる。また、
π関数処理部2315で生成された128ビットのデー
タは、拡張部2317に入力され、複数コピーされる。
そして、これ等が繋ぎ合わされて、Nビットデータの2
番目のデータ区分である第2区分2304を暗号化する
ためのワーク鍵2318となる。
分である第2区分2304は、圧縮処理部2319にお
いて、ワーク鍵2318の一部をパラメータとして、ハ
フマン圧縮などにより圧縮(換字)処理が施される。そ
して、その結果が、圧縮データ2320および端数デー
タ2321として出力される。ここで、圧縮データ23
20は、第1区分2303を圧縮(換字)処理した際に
生成された端数データ2314との合計ビット長が、1
28ビットとなるように生成される。
を圧縮(換字)処理した際に生成された端数データ23
14とを繋ぎ合わされて、128ビットのデータにな
る。その後、π関数処理部2322において、ワーク鍵
2318の一部をパラメータとして、ブロック暗号処理
が施され、128ビットのデータに変換される。その
後、π関数処理部2324において、ワーク鍵2318
の一部をパラメータとして、さらにブロック暗号処理が
施されて、128ビットのデータに変換される。このデ
ータが、生成すべきデータCiの2番目のデータg223
07となる。
理した際に生成された端数データ2321がrビット
(r≧1)である場合、ハッシュ値生成部2323は、
鍵2309に対するハッシュ値を生成する。これを受け
て、演算部2325は、ハッシュ値生成部2323で生
成されたハッシュ値の上位rビットと、端数データ23
21との排他的論理的をとり、rビットのデータを生成
する。このデータが、生成すべきデータCiの3番目の
データg32308となる。
る暗号データCiが生成される。
して機能する装置S101では、メッセージM106の
暗号化において、初期値として、ハッシュ値h(xA)
を用いている。したがって、この装置S101で暗号化
された暗号文C113を復号するためには、ハッシュ値
h(xA)求めればよい。
値ロジック部2125において、ハッシュ値h
(xB)、h(xC)が分かれば、ハッシュ値h(xA)
を求めることができる条件式を満たす値f1を生成し、
このf1を暗号文C113に付加している。
(すなわち、f1を取得した者)は、h(xB)、h(x
C)(ただし、図2に示す例でいえば、さらにqAXが必
要)が分かれば、暗号化に用いたh(xA)を求めるこ
とができる。
QAと対になる秘密鍵dAを所有する装置A102(単独
でハッシュ値h(xA)を求めることが可能)のみなら
ず、公開鍵QBと対になる秘密鍵dBを所有する装置B1
03(単独でハッシュ値h(xB)を求めることが可
能)、および公開鍵QCと対になる秘密鍵dCを所有する
装置C104(単独でハッシュ値h(xC)を求めるこ
とが可能)が協力することでも行うことができる。
り、後者は2 out of 2の復号ロジックである。本実施
形態によれば、このように、復号可能となる受信者数の
しきい値制御が可能となる。
dB、dCの所有者各々に対して同報通信(マルチキャス
ト)することで、秘密鍵dAの持ち主が単独で復号でき
るとともに、秘密鍵dB、dCの持ち主が協力すれば復号
可能なようにすることができる。
は、メッセージMを公開鍵を用いて、暗号文に変換する
という点で、従来のRSA(Rivest,Shamir,Adleman)
のような公開鍵暗号と同じである。しかし、図4に示す
ように、ハフマン圧縮等により圧縮が効くような通常の
メッセージに対しては、暗号文の長さがメッセージの長
さより短くなるという点で、従来の公開鍵暗号とは異な
る。
置A102、B103、C104について説明する。
鍵dA110を用いて暗号文C113を復号する場合に
ついて説明する。
所有する秘密鍵dA110を用いて暗号文C113を復
号する場合における、当該装置A102の機能構成を示
す図である。
コンピュータなどの情報処理装置が備えるCPUに所定
のプログラムを実行させることで実現可能である。この
プログラムは、たとえば、CD−ROMなど、ドライバ
を介してパーソナルコンピュータで読み取り可能な記憶
媒体に格納しておけばよい。また、図5に示す機能構成
は、情報処理装置に装着されたICカード上において、
実現されるように構成してもよい。
13が入力されると、演算部2619は、自己が格納し
ている秘密鍵dA110(公開鍵QA107と対)を読み
出す。そして、この秘密鍵dA110と、暗号文C11
3の最初のデータR2109との間で、次式を満たす楕
円曲線上の点(xA,yA)を求める。
(xA,yA)のうちのx座標値xAのハッシュ値h
(xA)を生成する。
示すハッシュ値生成部2119で生成されたハッシュ値
h(xA)と一致する。この理由を以下に述べる。
は、乱数生成部2113で生成した乱数kを用いて(x
A,yA)=kQAを求め、このうちのx座標の数値xAに
対するハッシュ値をh(xA)としている。
2620では、上記と同じ乱数kを用いてR=kPによ
り求められたRを用いて、dARを求め、このうちのx
座標の数値xA対するハッシュ値をh(xA)としてい
る。
開鍵との関係から、QA=dAPが成立する。したがっ
て、 dAR=dAkP=kdAP=kQA=(xA,yA) となる。
2620で生成されたハッシュ値h(xA)は、図2に
示すハッシュ値生成部2119で生成されたハッシュ値
h(xA)と一致する。
成部2620で生成されたハッシュ値h(xA)を鍵2
613として、暗号文C113の3番目のデータC12
112(すなわち、メッセージM106の最初のNビッ
トデータに対する暗号データ)に対して、復号・伸長処
理を行う。これにより、メッセージM106の最初のN
ビットデータ2107を生成する。
ュ値生成部2615において、鍵2613を基に生成さ
れたハッシュ値を新しい鍵2616として、暗号文C1
13の4番目のデータ(すなわち、メッセージM106
の2番目のNビットデータに対する暗号データ)に対し
て、復号・伸長処理を行う。これにより、メッセージM
106の2番目のNビットデータを生成する。
最後のデータまで、順次繰り返すことで、メッセージM
106を復元する。
4、2617、・・・について説明する。
4、2617、・・・の機能構成を示す図である。
文C113の3番目以降のデータC12112、・・・
を示す。また、Nビットデータとは、図5において、復
号・伸長化部2614、2617、・・・が生成したN
ビットデータ2107、・・・に相当する。さらに、鍵
1905とは、図5において、鍵2613、2616に
相当する。
0、1914、1916は、図4に示すπ関数処理部2
315、2316、2322、2324でのブロック暗
号処理と逆関数の関係にある処理を行う。すなわち、π
-1関数は、π関数の逆関数である。
した場合、データmをπ関数によって変換して得られる
データπ(m)を、さらに、π-1関数によって変換する
と、元のデータmに戻る。すなわち、π-1関数はπ関数
と次式のような関係にある。
縮処理部2312、2319での処理と逆変換の関係に
ある処理を行う。
に設定した場合、データmを圧縮(換字)処理によって
変換して得られるデータを、さらに、伸長(換字)処理
によって変換すると、元のデータmに戻る。
と、拡張部1906はこの鍵1905を受け取ってコピ
ーを複数個生成し、これ等を繋ぎ合わせてワーク鍵19
23を生成する。
ータg12306は、π-1関数処理部1907におい
て、ワーク鍵1923の一部をパラメータとして、換字
・転置処理が施されて128ビットデータ変換された
後、π-1関数処理部1910において、ワーク鍵192
3の一部をパラメータとして、さらに換字・転置処理が
施されて、128ビットデータに変換される。
長処理部1911において、ワーク鍵1923の一部を
パラメータとして、伸長(換字)処理が施される。そし
て、その結果が、伸長データ1912およびその端数デ
ータ1913として出力される。この128ビットの伸
長データが、生成すべきNビットデータのうちの第1区
分のデータ2303となる。また、π-1関数処理部19
07で生成された128ビットのデータは、拡張部19
09に入力され、複数コピーされる。そして、これ等が
繋ぎ合わされて、データCiの2番目の128ビットデ
ータg22307を復号化するためのワーク鍵1924
となる。
g22307は、π-1関数処理部1914において、ワ
ーク鍵1924の一部をパラメータとして、換字・転置
処理が施されて128ビットデータに変換された後、π
-1関数処理部1916において、ワーク鍵1924の一
部をパラメータとして、さらに換字・転置処理が施され
て、128ビットデータに変換される。
長処理部1917において、ワーク鍵1924の一部を
パラメータとして、伸長(換字)処理が施される。そし
て、その結果が、伸長データ1918として出力され
る。
トデータg32308は、ハッシュ値生成部2323a
で生成された鍵1905に対するハッシュ値の上位rビ
ットと共に、演算部2325aに入力される。これを受
けて、演算部2325aは、ハッシュ値生成部2323
aで生成されたハッシュ値の上位rビットをhr、生成す
べきrビットデータをDrとした場合に以下の式を満た
すDrを生成する。
的論理和演算部2325aで生成されたrビットデータ
Drは、伸長処理部1919において、ワーク鍵192
4の一部をパラメータとして、伸長(換字)処理が施さ
れる。そして、その結果は、データg12306を伸長
(換字)処理した際に生成された端数データ1913、
および、データg22307を伸長(換字)処理した際
に生成された伸長データ1918と接続される。この接
続されたデータが、生成すべきNビットデータのうちの
第2区分のデータ2304となる。
る。
してしまった場合に、装置B103、C104の協力を
得て、暗号文C113を復号する場合について説明す
る。
110を紛失してしまった場合に、装置B103、C1
04の協力を得て、暗号文C113を復号する場合にお
ける、装置A102、B103、C104の機能構成を
示す図である。ここで、図5に示すものと同じものに
は、同一の符号を付してある。
コンピュータなどの情報処理装置が備えるCPUに所定
のプログラムを実行させることで実現可能である。この
プログラムは、たとえば、CD−ROMなど、ドライバ
を介してパーソナルコンピュータで読み取り可能な記憶
媒体に格納しておけばよい。また、図7に示す機能構成
は、情報処理装置に装着されたICカード上において、
実現されるように構成してもよい。
C113の最初のデータR2109を、装置B103、
C104へ各々送信する。
納している秘密鍵dB111(公開鍵QB108と対)を
読み出す。そして、演算部2619aにおいて、装置A
102から送られてきた値Rとの間で、次式を満たす楕
円曲線上の点(xB,yB)を求める。
2619aで求めた(xB,yB)のうちのx座標値xB
のハッシュ値h(xB)を生成し、これを装置A102
へ送信する。
いる秘密鍵dC112(公開鍵QC109と対)を読み出
す。そして、演算部2622において、装置A102か
ら送られてきた値Rとの間で、次式を満たす楕円曲線上
の点(xC,yC)を求める。
622で求めた(xC,yC)のうちのx座標値xCのハ
ッシュ値h(xC)を生成し、これを装置A102へ送
信する。
は、図2に示すハッシュ値生成部2126、2127で
生成されたハッシュ値h(xB)、h(xC)と、各々一
致する。この理由を以下に述べる。
は、乱数生成部2113で生成した乱数kを用いて(x
B,yB)=kQBを求め、このうちのx座標の数値xBに
対するハッシュ値をh(xB)としている。同様に、ハ
ッシュ値生成部2127では、乱数kを用いて(xC,y
C)=kQCを求め、このうちのx座標の数値xCに対す
るハッシュ値をh(xC)としている。
2620aでは、上記と同じ乱数kを用いてR=kPに
より求められたRを用いて、dBRを求め、このうちの
x座標の数値xB対するハッシュ値をh(xB)としてい
る。同様に、ハッシュ値生成部2623では、Rを用い
てdCRを求め、このうちのx座標の数値xC対するハッ
シュ値をh(xC)としている。
開鍵との関係から、QB=dBP、QC=dCPが成立す
る。したがって、 dBR=dBkP=kdBP=kQB=(xB,yB) dCR=dCkP=kdCP=kQC=(xC,yC) となる。
2620a、2623で各々生成されたハッシュ値h
(xB)、h(xC)と、図2に示すハッシュ値生成部2
126、2127で各々生成されたハッシュ値h
(xB)、h(xC)とは、各々一致する。
104からハッシュ値h(xB)、h(xC)を受け取る
と、しきい値逆算ロジック部2612による処理を開始
する。
ず、装置B103から送られてきたハッシュ値h
(xB)と、装置C104から送られてきたハッシュ値
h(xC)と、公開鍵QA107のx座標値qAXと、暗号
文C113の2番目データf12110と、を受け取
る。
A)を生成する。
(xC)・qAX 2(mod n) ここで、上記の方程式は、図2に示すハッシュ値生成部
2119、2126、2127で各々生成されたハッシ
ュ値h(xA)、h(xB)、h(xC)のうち、h
(xB)とh(xC)とを既知とした場合に相当する。
成部2620a、2623で各々生成されたハッシュ値
h(xB)、h(xC)は、図2に示すハッシュ値生成部
2126、2127で各々生成されたハッシュ値h(x
B)、h(xC)と一致する。したがって、上記の方程式
より求めたh(xA)は、図2に示すハッシュ値生成部
2119で生成したハッシュ値h(xA)と一致するこ
とになる。
ロック部2612で生成されたハッシュ値h(xA)を
鍵2613として、暗号文C113の3番目のデータC
12112(すなわち、メッセージM106の最初のN
ビットデータに対する暗号データ)に対して、復号・伸
長処理を行う。これにより、メッセージM106の最初
のNビットデータ2107を生成する。
ュ値生成部2615において、鍵2613を基に生成さ
れたハッシュ値を新しい鍵2616として、暗号文C1
13の4番目のデータ(すなわち、メッセージM106
の2番目のNビットデータに対する暗号データ)に対し
て、復号・伸長処理を行う。これにより、メッセージM
106の2番目のNビットデータを生成する。
最後のデータまで、順次繰り返すことで、メッセージM
106を復元する。
10を紛失してしまった場合に、装置B103、C10
4の協力を得て、暗号文C113を復号する場合につい
て説明した。ここで、装置B103、C104は、公開
鍵の供託を受けて保管するよううな機関(鍵保管機関)
であってもよい。
力を得て、装置S101から送られてきた暗号文C11
3を復号化する場合について、説明する。
置C104の協力を得て、装置S101から送られてき
た暗号文C113を復号化する場合における、装置B1
03、C104の機能構成を示す図である。ここで、図
7に示すものと同じものには同一の符号を付してある。
置などのパーソナルコンピュータが備えるCPUに所定
のプログラムを実行させることで実現可能である。この
プログラムは、たとえば、CD−ROMなど、ドライバ
を介してパーソナルコンピュータで読み取り可能な記憶
媒体に格納しておけばよい。また、図8に示す機能構成
は、情報処理装置に装着されたICカード上において、
実現されるように構成してもよい。
A107と、暗号文C113とが入力されると、演算部
2619aは、自己が格納している秘密鍵dB111
(公開鍵QB108と対)を読み出す。
C113の最初のデータR2109との間で、次式を満
たす楕円曲線上の点(xB,yB)を求める。
た(xB,yB)のうちのx座標値xBのハッシュ値h
(xB)を生成する。
最初のデータR2109を装置C104へ送信する。
納している秘密鍵dC112(公開鍵QC109と対)を
読み出す。そして、演算部2622において、この秘密
鍵dC112と、暗号文C113の最初のデータR21
09との間で、次式を満たす楕円曲線上の点(xC,
yC)を求める。
622で求めた(xC,yC)のうちのx座標値xCのハ
ッシュ値h(xC)を生成して、装置B103へ送信す
る。
ハッシュ値h(xC)を受け取ると、しきい値逆算ロジ
ック部2612による処理を開始する。
ず、ハッシュ値生成部2620aで生成したハッシュ値
h(xB)と、装置C104から送られてきたハッシュ
値h(xC)と、公開鍵Q1107のx座標値qAXと、暗
号文C113の2番目データf12110と、を受け取
る。
A)を生成する。
(xC)・qAX 2(mod n) 復号・伸長化部2614は、しきい値逆ブロック部26
12で生成されたハッシュ値h(xA)を鍵2613と
して、暗号文C113の3番目のデータC12112
(すなわち、メッセージM106の最初のNビットデー
タに対する暗号データ)に対して、復号・伸長処理を行
う。これにより、メッセージM106の最初のNビット
データ2107を生成する。
ュ値生成部2615において、鍵2613を基に生成さ
れたハッシュ値を新しい鍵2616として、暗号文C1
13の4番目のデータ(すなわち、メッセージM106
の2番目のNビットデータに対する暗号データ)に対し
て、復号・伸長処理を行う。これにより、メッセージM
106の2番目のNビットデータを生成する。
最後のデータまで、順次繰り返すことで、メッセージM
106を復元する。
から求めたハッシュ値h(xB)と、公開鍵QC109か
ら求めたハッシュ値h(xC)と、メッセージM106
の暗号化に用いた、公開鍵QA107から求めたハッシ
ュ値h(xA)との間において、ハッシュ値h(xB)お
よびハッシュ値h(xC)が分かれば、ハッシュ値h
(xA)を直接あるいは間接に求めることができる関係
式を満たす値f12110を暗号文C113に付与して
いる。
自己が所有する秘密鍵dB111、dC112からハッシ
ュ値h(xB)、h(xC)を求めることができる。
に用いたハッシュ値h(xA)は、装置B103、C1
04が協力することで求めることができるので、装置A
102は、自己が所有する秘密鍵dA110を紛失した
場合でも、装置B103、C104の協力を得ること
で、暗号文C113を元のメッセージM106に復元す
ることができる。
おく必要がなくなる。
を、鍵保管機関に供託しておかなければならなかった。
当然、この秘密鍵を鍵保管機関に供託する場合にも、機
密性を確保できる方法で行う必要があり、そのための手
間がかかっていた。特に、秘密鍵を分割して、複数の鍵
保管機関に供託するような場合には、ユーザにかかる負
担が大きかった。本実施形態では、自己(装置A102
に相当)の秘密鍵を鍵保管機関(装置B103、C10
4に相当)に供託しなくても、鍵保管機関は、自己の公
開鍵で暗号化したデータを復号することができるので、
上記のような手間を省くことができ、ユーザにかかる負
担を軽減することができる。
三者(鍵保管機関)に知られることがなくなる。
管機関から、自己の秘密鍵に関する情報が漏洩してしま
った場合、安全なデータ暗号化を行うことができなくな
ってしまうおそれがあった。本実施形態では、自己が所
有する秘密鍵を鍵保管機関に預ける必要がなくなるので
そのような問題は生じない。くわえて、上記の値f12
110は、公開鍵QB108と公開鍵QC109との値に
依存するので、協力を得ようとする者(具体的には、そ
の者が所有する秘密鍵と対になる公開鍵)を変えること
で、値f12110の内容を変更することができる。こ
のため、機密性を更に向上させることができる。
・・・、fnを含めることで、n人の相手に対してマル
チキャストを行い、そのn人のうちの何人かは単独で復
号可能とし、残りの者は少なくとも二人が協力すること
で、復号可能とすることもできる。あるいは、n人各々
が単独で復号可能とすることもできる。
変形例の機能構成を示す図である。
125aには、3つのデータxA2402、xB240
3、xC2404が入力される。
2406は、それぞれ、図2に示す整数倍演算部211
4、2115、2116で生成されたx座標値である。
実行することで、データf12406を生成する。
126で生成されたハッシュ値である。
処理を実行することで、データf22407を生成す
る。
127で生成されたハッシュ値である。
用いることで、図2に示す装置S101は、暗号化処理
途中に生成される乱数kと公開鍵QB108とを基にデー
タf12406を生成することになる。このデータf1を
暗号文C113に付与することにより、公開鍵QB10
8と対の関係にある秘密鍵dB111の持ち主(すなわ
ち、装置B103)も、単独で暗号文C113を復号す
ることができる。
kと公開鍵QC109とを基に、データf22407を生
成することになる。このデータf2を暗号文C113に
付与することにより、公開鍵QC109と対の関係にあ
る秘密鍵dC112の持ち主(すなわち、装置C10
4)も、単独で暗号文C113を復号することができ
る。
10、dB111、dC112のそれぞれの持ち主に同報
通信(マルチキャスト)することで、これ等の持ち主各
々が単独で復号することが可能となる。また、通信相手
を一人増やすには、単に、ハッシュ値の長さ分(たとえ
ば、80ビット)のデータを増やせばよいので、同報暗
号通信を効率的に行うことができる。ここで、ハッシュ
関数には一方向性だけが要求され、衝突回避性は要求さ
れない。
最初データとして、整数倍演算部2123で生成した、
楕円曲線上の点Rのx座標値、y座標値の両方を含むも
のについて説明した。しかしながら、x座標値、y座標
値のいずれか一方のみを含むようにした場合でも、本発
明の鍵回復システムを実現することができる。
して機能する装置Sの変形例の機能構成を示す図であ
る。
のには、同じ符号を付している。
算部2123に代えて整数倍演算部2501を用いた点
で、図2に示す装置S101と異なる。その他の構成
は、図2に示すものと同じである。
P2102と、乱数生成部2113で生成された乱数k
とを受け取って、R=kPで示される処理を実行する点
で、図2に示す整数倍演算部2123と同じである。し
かしながら、上記の式で求められるRのうち、x座標の
値RX2502のみを出力する点で異なる。
では、このデータRX2502が、暗号文C113aの
最初のデータとなる。
示す装置S101に比べて、生成される暗号文の長さが
幾分短くなる。
整数倍演算部2123において、楕円曲線上の点R=k
Pを求め、求めたRのx座標値RXおよびy座標値RYを
出力して、暗号文C113の最初のデータR2109と
していた。
では、整数倍演算部2501において、楕円曲線上の点
R=kPを求め、この求めたRのうちのx座標値RXの
みを出力して、暗号文C113aの最初のデータRX2
502としている。
で生成された暗号文C113aは、図2に示す装置S1
01で生成された暗号文C113よりも、y座標値RY
のデータ分(たとえば、160ビット)だけ短くなる。
して機能する装置Aの変形例であり、装置Aが鍵dA1
10を紛失してしまった場合に、装置B、Cの協力を得
て、図10に示す装置Sが生成した暗号文C113aを
復号する場合における機能構成を示す図である。
同じ符号を付してある。
装置A101と異なる点は、演算部2611を設けた点
である。
初のデータRX2502との間で、次の楕円曲線方程式
を満足するy座標値RYを求める。
rとすると、他方は−rとなる(ただし、楕円曲線とし
てy2+xy=x3+ax+bを用いる場合には、一方の
解をrとすると、他方はRX+rとなる)。演算部26
11は、どちらか任意の一方をとり、他方を無視する。
ここでは、rの方をとって、R=(RX,r)を、装置B
103、C104へ送信している。
は、このR=(RX,r)を基にハッシュ値h(xB)、
h(xC)が生成されることになる。
は、以下に示すような特徴を有する。
信されるデータが、R=(RX,r)ではなく、R´=
(RX,−r)であったとする。
aでは、(xB´,yB´)=dBR´の計算が行われこと
になる。
(xB´,yB´)=(xB,−yB)となる。
用いた演算では、−(x,y)=(x,−y)が成立す
る。このとき、(xB,yB)=dB(RX、r)であった
とすると、 dB(RX,−r)=dB(−(RX,r))=−dB(RX,
r)=(xB,−yB) となる。
を用いた演算では、−(x,y)=(x,x+y)が成
立する。このとき、(xB,yB)=dB(RX,r)であっ
たとすると、 dB(RX,RX+r)=dB(−(RX,r))=−dB(R
X,r)=(xB,xB+yB) となる。
る。
あるいはR´=(RX,−r)を入力しても、装置B10
3が出力するハッシュ値h(xB)は変化しない。
あるいはR´=(RX,−r)を入力しても、装置C10
4が出力するハッシュ値h(xC)も変化しない。
1において、方程式の解Ryが2つ存在するにもかかわ
らず、どちらか任意の一方のみを装置B103、C10
4に送信した場合でも、本発明の鍵回復システムを実現
できる。
置S101で用いた公開鍵QA107、QB108、QC
109と対になる秘密鍵dA110、dB111、dC1
12の少なくとも1つを、排他的論理和や加算などの所
定の演算を行うことで復元可能なように複数に分割し、
これ等を複数の情報処理装置に保持させるようにしても
よい。
くとも1つにおいて、前記複数の情報処理装置各々が所
有する秘密鍵の一部に対して、前記所定の演算を行うこ
とで秘密鍵を復元させることができる。
が適用された鍵回復システムの概略構成を示す図であ
る。
密鍵dC112を、排他的論理和や加算などの所定の演
算を行うことで復元可能なように2つ(dC1112a、
dC2112b)に分割し、これ等を2つの装置C110
4a、C2104bに保持させた場合の例を示してい
る。
C2104bが互いに協力して、各々が所有する秘密鍵
dC1112a、dC2112bについて、排他的論理和や
加算などの演算処理を行うことにより、秘密鍵dC11
2を回復することが可能である。
ッシュ値h(xC)を求めることができる。
して、 y2=x3+ax+b に基づくものを用いたが、その代わりに、楕円曲線暗号
として、 y2+xy=x3+ax+b に基づくものを用いてもよい。
した。
する。
れた鍵回復システムの概略構成を示す図である。
号データ送信側、すなわち、データ暗号化装置として機
能する装置である。受信装置B502は、暗号データ受
信側、すなわち、データ復号化装置として機能する装置
ある。第1鍵管理装置503aおよび第2鍵管理装置5
03bは、鍵回復機関、すなわち、送信装置A501で
暗号化されたデータを必要に応じて回復する機能を有す
る装置である。これらの装置は、ネットワーク505を
介して相互に接続されている。
02が所有する秘密鍵dB1510a、dB2510bと対
になる公開鍵QB1507a、QB2507bと、第1鍵管
理装置503aが所有する秘密鍵dE1511aと対にな
る公開鍵QE1508aと、第2鍵管理装置503bが所
有する秘密鍵dE2511bと対になる公開鍵QE2508
bとを、あらかじめ取得しているものとする。
510a、公開鍵QB2507bと秘密鍵dB2510b、
公開鍵QE1508aと秘密鍵dE1511a、そして、公
開鍵QE2508bと秘密鍵dE2511bは、第一実施形
態と同様、楕円曲線暗号における公開鍵と秘密鍵であ
る。
形態の鍵回復システムが実施された場合の処理を簡単に
説明する。
信装置A501での処理について説明する。
506を暗号化する。この際、暗号に用いる鍵として、
比較的短いビット長(本実施形態では、40ビットデー
タとする)のものを用いる場合は、公開鍵QB1507a
を変換することで得られた40ビット長のデータをパラ
メータ(鍵)として、通信文M506を暗号化する。そ
して、生成した暗号文C513を、受信装置B502へ
送信する。
は、128ビットデータとする)のものを用いる場合
は、公開鍵QB1507aを変換することで得られたデー
タ、公開鍵QB2507bを変換することで得られたデー
タ、公開鍵QE1508aを変換することで得られたデー
タ、および、公開鍵QE2509を変換することで得られ
たデータを基に、128ビット長のデータを生成し、こ
れをパラメータ(鍵)として、通信文M506を暗号化
する。
7bを各々変換することで得られたデータと、公開鍵Q
E1508a、公開鍵QE2508bを各々変換することで
得られたデータとの間において、一方のデータが分かれ
ば他方のデータを、直接あるいは間接に求めることがで
きる関係式を満たすデータ値f1、f2を生成する。
の生成したデータ値f1、f2を付与して暗号文C513
を生成し、これを受信装置B502へ送信する。
装置B502での処理について、簡単に説明する。
ら送られてきた暗号文C513を受信すると、この暗号
文にデータ値f1、f2が付与されているか否かを調べ
る。
7aと対の秘密鍵dB1510aから、暗号文生成にパラ
メータとして用いたデータ、すなわち、公開鍵QB150
7aを変換することで得られた40ビット長のデータを
生成する。そして、このデータを用いて、暗号文C51
3を復号化し、通信文M506を得る。
が付与されている場合、まず、自己が所有する秘密鍵d
B1510a、秘密鍵dB2510bを用いて、公開鍵QB1
507a、QB2507bを各々変換することで得られた
データを求める。
を各々変換することで得られたデータと、暗号文C51
3に付加されたデータ値f1、f2とを、送信装置A50
1においてデータ値f1、f2生成のために用いた関係式
に入力することで、公開鍵QE1508a、公開鍵QE25
08bを各々変換することで得られたデータを求める。
B2507b、公開鍵QE1508a、公開鍵QE2509を
各々変換することで得られたデータを基に、送信装置A
501において暗号文生成のために用いた128ビット
長のデータを生成する。そして、このデータを用いて、
暗号文C513を復号化し、通信文M506を得る。
1、2鍵保管装置503a、503bでの処理につい
て、説明する。
は、必要に応じて、送信装置A501か生成した、デー
タ値f1、f2が付加された暗号文C513を入手し、互
いに協力して、元の通信文M506を得る。
ータ値f1、f2が付加された暗号文C513を入手した
場合、まず、自己が所有する秘密鍵dE1511aを用い
て、公開鍵QE1508aを変換することで得られたデー
タを求める。また、第2鍵保管装置503bに、公開鍵
QE2508bを変換することで得られたデータを送るよ
うに依頼する。
は、自己が所有する秘密鍵dE2511bを用いて、公開
鍵QE2508bを変換することで得られたデータを求
め、これを第1鍵保管装置503aに送信する。
QE1508a、QE2508bを各々変換することで得ら
れたデータと、暗号文C513に付加されたデータ値f
1、f2とを、送信装置A501においてデータ値f1、
f2生成のために用いた関係式に入力することで、公開
鍵QB1507a、公開鍵QB2507bを各々変換するこ
とで得られたデータを求める。
B2507b、公開鍵QE1508a、公開鍵QE2509を
各々変換することで得られたデータを基に、送信装置A
501において暗号文生成のために用いた128ビット
長のデータを生成する。そして、このデータを用いて、
暗号文C513を復号化し、メッセージM506を得
る。
する各装置について説明する。
信装置A501について説明する。
の機能構成を示す図である。
ルコンピュータなどの情報処理装置が備えるCPUに所
定のプログラムを実行させることで実現可能である。こ
のプログラムは、たとえば、CD−ROMなど、ドライ
バを介してパーソナルコンピュータで読み取り可能な記
憶媒体に格納しておけばよい。また、情報処理装置に装
着されたICカード上において、実現されるように構成
してもよい。
えば、操作者の指示により入力された鍵長選択信号(通
信文M506を暗号するための鍵として、128ビット
のものを用いるか、あるいは40ビットのものを用いる
かを選択するための信号)に応じて、通信文M506を
入力する暗号モジュール5002、5003を決定す
る。
信文M506は、128ビット鍵を用いて2 out of 4
の復号ロジックに対応した暗号化を行う暗号モジュール
5002に入力される。一方、鍵選択信号が「長」を示
していない場合は、40ビット鍵を用いて1 out of 1
の復号ロジックに対応した暗号化を行う暗号モジュール
5002に入力される。
f 1の復号ロジックに対応した暗号化を行う暗号モジュ
ール5002の機能構成図である。
は、ベースポイント生成部5602において、楕円曲線
暗号におけるパラメータであるベースポイントPが生成
される。このベースポイントPは、乱数生成部5607
で生成された乱数kとともに整数倍演算部5608へ入
力される。これを受けて、整数倍演算部5608は、次
式で示される処理を実行することで、データR5617
を生成する。
タとなる。
2113で生成された乱数kとともに、整数倍演算部5
609へ入力される。これを受けて、整数倍演算部56
09は、次式で示される処理を実行することで、上記の
楕円曲線上の点(x,y)を生成する。
された(x,y)のうち、xの下位40ビットをパラメ
ータ(鍵)として、通信文M506を暗号化する。これ
により、通信暗号文5618を生成する。そして、この
データをデータR5617に繋げて、暗号文C513を
作成する。
of 4の復号ロジックに対応した暗号化を行う暗号モジ
ュール5002の機能構成図である。
102において、楕円曲線暗号におけるパラメータであ
るベースポイントPが生成される。
13で生成された乱数kとともに整数倍演算部5123
へ入力される。これを受けて、整数倍演算部5123
は、次式で示される処理を実行することで、データR5
109を生成する。
タとなる。
5113で生成された乱数kとともに、整数倍演算部5
114へ入力される。これを受けて、整数倍演算部51
14は、次式で示される処理を実行することで、上記の
楕円曲線上の点(x1,y1)を生成する。
生成部5119に入力されて、ハッシュ値h(x1)に
変換される。
部5113で生成された乱数kとともに、整数倍演算部
5115へ入力される。これを受けて、整数倍演算部5
115は、次式で示される処理を実行することで、上記
の楕円曲線上の点(x2,y2)を生成する。
生成部5126に入力されて、ハッシュ値h(x2)に
変換される。
数生成部5113で生成された乱数kとともに、整数倍
演算部5116へ入力される。これを受けて、整数倍演
算部5116は、次式で示される処理を実行すること
で、上記の楕円曲線上の点(x3,y3)を生成する。
生成部5127に入力されて、ハッシュ値h(x3)に
変換される。
乱数生成部5113で生成された乱数kとともに、整数
倍演算部5124へ入力される。これを受けて、整数倍
演算部5124は、次式で示される処理を実行すること
で、上記の楕円曲線上の点(x4,y4)を生成する。
生成部5128に入力されて、ハッシュ値h(x4)に
変換される。
値生成部5119、5126、5127、5128で生
成したハッシュ値h(x1)、h(x2)、h(x3)、
h(x4)のうち、いずれか2つのハッシュ値が分かれ
ば、残り2つのハッシュ値を求めることができる条件式
を満たす値f15110、f25111を生成する。この
値f15110、f25111は、それぞれ、暗号文51
3の2番目、3番目のデータとなる。なお、このしきい
値ロジック部5125の詳細については後述する。
119、5126、5127、5128で生成したハッ
シュ値h(x1)、h(x2)、h(x3)、h(x4)の
総和の下位128ビットを、通信文M506を暗号化す
るための鍵として生成する。
0で生成された128ビット鍵を用いて通信文M506
を暗号化する。これにより、通信暗号文5112を生成
する。そして、このデータをデータf25111に繋げ
て、暗号文C513を作成する。
125について説明する。
25は、ハッシュ値h(x1)、h(x2)、h
(x3)、h(x4)のうち、いずれか2つのハッシュ値
が分かれば、残り2つのハッシュ値を求めることができ
る条件式を満たす値f15110、f25111を生成す
る。
部5125の機能構成を示す図である。
5125には、5つのデータq1x5202、h(x1)
5203、h(x2)5204、h(x3)5205、h
(x4)5206が入力される。
て、公開鍵QB1507aのx座標値である。また、h
(x1)5203、h(x2)5204、h(x3)52
05、h(x4)5206は、それぞれ、ハッシュ値生
成部5119、5126、5127、5128で生成さ
れたハッシュ値である。
実行することで、データf15110を生成する。
h(x3),h(x4)) また、演算部5210は、次式で示される処理を実行す
ることで、データf25111を生成する。
2),h(x3),h(x4)) なお、上記の式f1、f2において、関数gは、 g(x,a1,a2,a3,a4)=a1+a2・x+a3・
x2+a4・x3(modn) で定義されものである。
生成されたデータf1、f2は、q1xおよびh
(x1)、h(x2)、h(x3)、h(x4)との間に
おいて、以下に示す四元連立方程式が成立する。
(x3)・q1x 2+h(x4)・q1x 3(mod n) f2=h(x1)+h(x2)・h(q1x)+h(x3)・
h(q1x)2+h(x4)・h(q1x)3(mod n) よって、f1、f2、q1xの値が既知である場合、h(x
1)、h(x2)、h(x3)、h(x4)のうちのいずれ
か二つの値が分かれば、他の二つの値も分かることにな
る(未知数2、方程式数2の連立方程式となるため)。
信装置B502について説明する。
の機能構成を示す図である。
ルコンピュータなどの情報処理装置が備えるCPUに所
定のプログラムを実行させることで実現可能である。こ
のプログラムは、たとえば、CD−ROMなど、ドライ
バを介してパーソナルコンピュータで読み取り可能な記
憶媒体に格納しておけばよい。また、情報処理装置に装
着されたICカード上において、実現されるように構成
してもよい。
された暗号文C513にデータf1、f2が付加されてい
るか否かに応じて、暗号文C513を入力する復号モジ
ュール5902、5903を決定する。
れている場合、暗号文C513は、128ビット鍵を用
いて2 out of 4の復号を行う復号モジュール5902
に入力される。一方、データf1、f2が付加されていな
い場合は、40ビット鍵を用いて1 out of 1の復号を
行う復号モジュール5903に入力される。
f 1の復号を行う復号モジュール5903機能構成図で
ある。
れると、演算部5619は、自己が格納している秘密鍵
dB1510a(公開鍵QB1507aと対)を読み出す。
そして、この秘密鍵dB1510aと、暗号文C513の
最初のデータR5617との間で、次式を満たす楕円曲
線上の点(x,y)を求める。
す演算部5609で求めた楕円曲線上の点(x,y)と
一致する。その理由は、上記第一の実施形態で述べたと
おりである。
619で生成された(x,y)のうち、xの下位40ビ
ットをパラメータ(鍵)として、通信暗号文5618を
復号する。これにより、元の通信文M506を得る。
of 4の復号を行う復号モジュール5902の機能構成
図である。
れると、演算部5719は、自己が格納している秘密鍵
dB1510a(公開鍵QB1507aと対)を読み出す。
そして、この秘密鍵dB1510aと、暗号文C513の
最初のデータR5109との間で、次式を満たす楕円曲
線上の点(x1,y1)を求める。
719で求めた(x1,y1)のうちのx座標値x1のハ
ッシュ値h(x1)を生成する。
ている秘密鍵dB2510b(公開鍵QB2507bと対)
を読み出す。そして、この秘密鍵dB2510bと、暗号
文C513の最初のデータR5109との間で、次式を
満たす楕円曲線上の点(x2,y2)を求める。
722で求めた(x2,y2)のうちのx座標値x2のハ
ッシュ値h(x2)を生成する。
は、図16に示すハッシュ値生成部5119、5126
で生成されたハッシュ値h(x1)、h(x2)と、各々
一致する。その理由は、上記第一の実施形態で述べたと
おりである。
シュ値生成部5720、5723で生成されたハッシュ
値h(x1)、h(x2)と、公開鍵QB1507aのx座
標値q1Xと、暗号文C513の2番目および3番目のデ
ータf15110、f25111と、を受け取る。
3)、h(x4)を生成する。
(x3)・q1x 2+h(x4)・q1x 3(mod n) f2=h(x1)+h(x2)・h(q1x)+h(x3)・
h(q1x)2+h(x4)・h(q1x)3(mod n) ここで、上記の方程式は、図16に示すハッシュ値生成
部5119、5126、5127、5128で各々生成
されたハッシュ値h(x1)、h(x2)、h(x3)、
h(x4)のうち、h(x1)およびh(x2)を既知と
した場合に相当する。
生成部5720、5723で各々生成されたハッシュ値
h(x1)、h(x2)は、図16に示すハッシュ値生成
部5119、5126で各々生成されたハッシュ値h
(x1)、h(x2)と各々一致する。したがって、上記
の方程式より求めたh(x3)、h(x4)は、図16に
示すハッシュ値生成部5127、5128で生成したハ
ッシュ値h(x3)、h(x4)と一致することになる。
720、5723で生成したハッシュ値h(x1)、h
(x2)、および、しきい値逆ロジック部5712で求
めたハッシュ値h(x3)、h(x4)の総和の下位12
8ビットを、通信文暗号文5112を復号するための鍵
として生成する。
3で生成された128ビット鍵を用いて通信暗号文51
12を復号する。これにより、元の通信文M506を得
る。
2鍵管理装置503a、503bについて説明する。
03a、503bは、必要に応じて、いずれか一方が送
信装置A501において、128ビット鍵により暗号化
された暗号文C513を入手し、他方の協力を得て復号
して、元の通信文M506を得る。
文C513を入手した場合を例にとって説明する。
a、503bの機能構成図である。
は、暗号文C513が入力されると、第2鍵管理装置5
03bに、暗号文C513の最初のデータR5109を
通知する。これを受けて、第2鍵管理装置503bの演
算部5422は、自己が格納している秘密鍵dE2511
b(公開鍵QE2508bと対)を読み出す。そして、こ
の秘密鍵dE2511bと、暗号文C513の最初のデー
タR5109との間で、次式を満たす楕円曲線上の点
(x4,y4)を求める。
422で求めた(x3,y4)のうちのx座標値x4のハ
ッシュ値h(x4)を生成する。そして、生成したハッ
シュ値h(x4)を、第1鍵管理装置503aに通知す
る。
演算部5419は、自己が格納している秘密鍵dE151
1a(公開鍵QE1508aと対)を読み出す。そして、
この秘密鍵dE1511aと、暗号文C513の最初のデ
ータR5109との間で、次式を満たす楕円曲線上の点
(x3,y3)を求める。
419で求めた(x3,y3)のうちのx座標値x3のハ
ッシュ値h(x3)を生成する。
は、図16に示すハッシュ値生成部5127、5128
で生成されたハッシュ値h(x3)、h(x4)と、各々
一致する。その理由は、上記第一の実施形態で述べたと
おりである。
シュ値生成部5420、および第2鍵管理装置503b
のハッシュ値生成部5423で各々生成されたハッシュ
値h(x3)、h(x4)と、公開鍵QB1507aのx座
標値q1Xと、暗号文C513の2番目および3番目のデ
ータf15110、f25111と、を受け取る。
1)、h(x2)を生成する。
(x3)・q1x 2+h(x4)・q1x 3(mod n) f2=h(x1)+h(x2)・h(q1x)+h(x3)・
h(q1x)2+h(x4)・h(q1x)3(mod n) ここで、上記の方程式は、図16に示すハッシュ値生成
部5119、5126、5127、5128で各々生成
されたハッシュ値h(x1)、h(x2)、h(x3)、
h(x4)のうち、h(x3)およびh(x4)を既知と
した場合に相当する。
生成部5420、5423で各々生成されたハッシュ値
h(x3)、h(x4)は、図16に示すハッシュ値生成
部5127、5128で各々生成されたハッシュ値h
(x3)、h(x4)と一致する。したがって、上記の方
程式より求めたh(x1)、h(x2)は、図16に示す
ハッシュ値生成部5119、5126で生成したハッシ
ュ値h(x1)、h(x2)と一致することになる。
420、5423で生成したハッシュ値h(x3)、h
(x4)、および、しきい値逆ロジック部5412で求
めたハッシュ値h(x1)、h(x2)の総和の下位12
8ビットを、通信文暗号文5112を復号するための鍵
として生成する。
3で生成された128ビット鍵を用いて通信暗号文51
12を復号する。これにより、元の通信文M506を得
る。
を用いた暗号処理において、通信暗号文5112生成の
パラメータとして、公開鍵QB1を変換することで得られ
たデータ(このデータは、受信装置B502が所有する
秘密鍵dB1から求めることができる)の代わりに、公開
鍵QB1、公開鍵QB2、公開鍵QE、公開鍵QE2を各々変
換することで得られたデータに基づいて生成されたデー
タを用いている点で、本発明の第一実施形態と異なる。
を各々変換することで得られたデータは、第1、第2の
鍵管理装置503a、503bにおいて、暗号文C51
3に付加されたデータ値f1、f2から求めることができ
る。そして、第1、第2の鍵管理装置503a、503
bは、暗号文C513に付加されたデータ値f1、f2か
らから求めた、公開鍵QB1、QB2を各々変換することで
得られたデータと、自己が所有する秘密鍵dE1、dE2と
対の公開鍵QE1、QE2を各々変換することで得られたデ
ータとに基づいて、通信暗号文5112生成のパラメー
タとして用いたデータを求めることができる。
様、受信装置B502が所有する秘密鍵dB1、dB2を用
いることなく、暗号文を復号することができる。
は、通信暗号文5112生成のパラメータ(鍵)とし
て、公開鍵QB1を変換することで得られたデータではな
く、公開鍵QB1、公開鍵QB2、公開鍵QE1、公開鍵QE2
を各々変換することで得られたデータに基づいて生成さ
れたデータを用いている。
dB1、dB2を所有する受信装置B502であっても、暗
号文C513に付加されたデータ値f1、f2から、公開
鍵QE1、QE2を変換することで得られたデータを求めな
ければ、通信暗号文5112生成のパラメータとして用
いたデータを得ることができない。
号文C513に、公開鍵QB1、公開鍵QB2、公開鍵
QE1、公開鍵QE2を各々変換することで得られたデータ
間において、いずれか2つの公開鍵を変換することで得
られたデータが分かれば残りの2つ他方の公開鍵を変換
することで得られたデータを求めることができる関係式
を満たすデータ値f1、f2が付加されていなければ、暗
号文を復号することができない。
加されている場合は、第1、第2鍵管理装置503a、
503bも、暗号文を必ず復号することができる。
とえば、国境を越えてやり取りが行われる暗号化された
機密データなど、防衛上の理由などにより、当該データ
取引者の意志にかかわらず、政府などが当該データを復
号できるようにすることが要求される鍵回復システムに
好適である。
文5112生成のパラメータとして、4つの公開鍵を各
々変換することで得られたデータに基づいて、生成され
たデータを用いているが、本発明はこれに限定されるも
のではない。2以上の公開鍵を各々変換することで得ら
れたデータに基づいて、通信暗号文5112生成のパラ
メータを生成するものであればよい。
て、暗号文に付加されたデータ値(前記パラメータ生成
に用いた2以上の公開鍵を各々変換することで得られた
データにおいて、半分のデータが分かれば残りの半分の
データを求めることができる関係式を満たすデータ値)
から、自己が所有する秘密鍵と対の公開鍵以外の公開鍵
を変換することで得られたデータを求めることができる
ようにするために、受信装置および鍵管理装置が、互い
に同数の秘密鍵を所有するようにする必要がある。
最初データとして、整数倍演算部5608あるいは51
23で生成した、楕円曲線上の点Rのx座標値、y座標
値の両方を含むものについて説明したが、第一実施形態
と同様、x座標値、y座標値のいずれか一方のみを含む
ようにした場合でも、本発明の鍵回復システムを実現す
ることができる。
して、 y2=x3+ax+b に基づくものを用いたが、第一実施形態と同様、楕円曲
線暗号として、 y2+xy=x3+ax+b に基づくものを用いてもよい。
自己が所有する秘密鍵を第三者に知らせる必要のない鍵
回復を行うことができる。
テムの概略構成図である。
構成図である。
機能構成図である。
鍵dA110を用いて暗号文C113を復号する場合に
おける、当該装置A102の機能構成図である。
7、・・・の機能構成図である。
してしまった場合に、装置B103、C104の協力を
得て、暗号文C113を復号する場合における、装置A
102、B103、C104の機能構成図である。
協力を得て、装置S101から送られてきた暗号文C1
13を復号化する場合における、装置B103、C10
4の機能構成図である。
構成図である。
装置Sの変形例の機能構成図である。
装置Aの変形例であり、装置Aが鍵dA110を紛失し
てしまった場合に、装置B、Cの協力を得て、図10に
示す装置Sが生成した暗号文C113aを復号する場合
の機能構成図である。
鍵回復システムの概略構成図である。
ステムの概略構成図である。
である。
ジックに対応した暗号化を行う暗号モジュール5002
の機能構成図である。
ジックに対応した暗号化を行う暗号モジュール5002
の機能構成図である。
機能構成を示す図である。
示す図である。
行う復号モジュール5903機能構成図である。
を行う復号モジュール5902の機能構成図である。
機能構成図である。
a、508b 公開鍵 110、111、112、510a、510b、511
a、511b 秘密鍵 113、513 暗号文C 1907、1910、1914、1916 π-1関数処
理部 1911、1917 伸長処理部 2102、5602、5102 ベースポイント生成部 2113、5607、5113 乱数生成部 2114、2115、2116、2123、2501、
5608、5609、5114、5115、5116、
5123、5124 整数倍演算部 2119、2121、2126、2127、2323、
2615、2620、2620a、2623、511
9、5126、5127、5128、5420、542
3、5720、5723 ハッシュ値生成部 2120 圧縮・暗号化部 2125、2125a、5125 しきい値ロジック部 2208、2325、2408、2410、2619、
2619a、2622、5208、5210、541
9、5422、5619、5719、5722演算部 1906、1909、2310、2317 拡張部 2312、2319 圧縮処理部 2315、2316、2322、2324 π関数処理
部 2612、5412、5712 しきい値逆ロジック部 2614、2617 復号・伸長化部 501 装置A 502 装置B 503a、503b 鍵管理装置 5001、5901 選択部 5002、5003 暗号モジュール 5120、5413、5713 鍵生成部 5108、5612、5622、5414、5714
共通鍵暗号部 5902、5903 復号モジュール
Claims (17)
- 【請求項1】暗号文の生成に際しパラメータとして用い
られた、公開鍵を変換することで得られたデータを、当
該公開鍵と対の秘密鍵を用いることなく生成する鍵回復
方法であって、 送信側において、 暗号文の生成に際しパラメータとして用いられた第一の
公開鍵を変換することで得られたデータと、少なくとも
1つの第二の公開鍵を変換することで得られたデータと
の間において、前記第二の公開鍵を変換することで得ら
れたデータが分かれば、前記第一の公開鍵を変換するこ
とで得られたデータを、直接あるいは間接に求めること
ができる関係式を満たすデータ値を生成する第一の処理
と、 前記暗号文に、前記第一の処理の結果得られたデータ値
を付加する第二の処理と、を含み、 前記第二の公開鍵と対の秘密鍵を所有する受信側におい
て、 前記第二の公開鍵を変換することで得られたデータを、
当該第二の公開鍵と対の秘密鍵から求める第三の処理
と、 前記第二の処理で暗号文に付加されたデータ値および前
記第三の処理で求めたデータを、前記第一の処理で用い
た関係式に代入することにより、当該暗号文の生成に際
しパラメータとして用いられた、前記第一の公開鍵を変
換することで得られたデータを求める第四の処理と、を
含んでいることを特徴とする鍵回復方法。 - 【請求項2】請求項1記載の鍵回復方法であって、 前記公開鍵を変換することで得られたデータとは、生成
した乱数と公開鍵とを作用させることで得られたデータ
であることを特徴とする鍵回復方法。 - 【請求項3】データ暗号化装置にて、暗号文の生成に際
しパラメータとして用いられた、公開鍵を変換すること
で得られたデータを、データ復号化装置にて、当該公開
鍵と対の秘密鍵を用いることなく生成する鍵回復システ
ムであって、 前記データ暗号化装置は、 暗号文の生成に際しパラメータとして用いた第一の公開
鍵を変換することで得られたデータと、少なくとも1つ
の第二の公開鍵を変換することで得られたデータとの間
において、前記第二の公開鍵を変換することで得られた
データが分かれば、前記第一の公開鍵を変換することで
得られたデータを、直接あるいは間接に求めることがで
きる関係式を満たすデータ値を生成する第一の生成手段
と、 前記暗号文に、前記第一の生成手段により生成されたデ
ータ値を付加する付加手段と、を備え、 前記データ復号化装置は、 前記第二の公開鍵を変換することで得られたデータを取
得する取得手段と、 前記付加手段で暗号文に付加されたデータ値と前記取得
手段により取得したデータとを、前記第一の生成手段で
用いた関係式に代入することにより、当該暗号文の生成
に際しパラメータとして用いられた、前記第一の公開鍵
を変換することで得られたデータを求める第二の生成手
段と、を備えていることを特徴とする鍵回復システム。 - 【請求項4】請求項3記載の鍵回復システムであって、 前記取得手段は、前記第二の公開鍵を変換することで得
られたデータを、前記第二の公開鍵と対になる秘密鍵を
所有する少なくとも1つの情報処理装置から取得するも
のであり、 当該情報処理装置は、前記第二の公開鍵を変換すること
で得られたデータを、自己が所有する前記第二の公開鍵
と対になる秘密鍵から求めるものであることを特徴とす
る鍵回復システム。 - 【請求項5】請求項3記載の鍵回復システムであって、 前記取得手段は、前記第二の公開鍵を変換することで得
られたデータを、自己が所有する前記第二の公開鍵と対
になる秘密鍵から求めるものであることを特徴とする鍵
回復システム。 - 【請求項6】請求項3記載の鍵回復システムであって、
前記第二の公開鍵と対になる秘密鍵は、所定の演算を行
うことで復元可能なように複数に分割されて、複数の情
報処理装置に保持されており、 前記複数の情報処理装置の少なくとも1つは、前記複数
の情報処理装置各々が所有する前記秘密鍵の一部に対し
て前記所定の演算を行うことで、秘密鍵を復元する手段
と、第二の公開鍵を変換することで得られたデータを、
前記復元した秘密鍵から求める手段と、を備え、 前記取得手段は、前記複数の情報処理装置の少なくとも
1つにおいて求められた、前記第二の公開鍵を変換する
ことで得られたデータを取得するものであることを特徴
とする鍵回復システム。 - 【請求項7】暗号文の生成に際しパラメータとして用い
た、第一の公開鍵を変換することで得られたデータを特
定する情報を生成する情報処理装置であって、 暗号文の生成に際しパラメータとして用いた第一の公開
鍵を変換することで得られたデータと、少なくとも1つ
の第二の公開鍵を変換することで得られたデータとの間
において、前記第二の公開鍵を変換することで得られた
データが分かれば、前記第一の公開鍵を変換することで
得られたデータを、直接あるいは間接に求めることがで
きる関係式を満たすデータ値を生成する生成手段を有す
ることを特徴とする情報処理装置。 - 【請求項8】請求項7記載の情報処理装置で生成された
データ値から、暗号文の生成に際しパラメータとして用
いた、第一の公開鍵を変換することで得られたデータを
回復する情報処理装置であって、 前記第二の公開鍵を変換することで得られたデータを取
得する取得手段と、 前記生成されたデータ値と、前記取得手段で取得したデ
ータとを基に、前記第一の公開鍵を変換することで得ら
れたデータを求める算出手段と、を備えていることを特
徴とする情報処理装置。 - 【請求項9】暗号文生成のためのプログラムが記憶され
た記憶媒体であって、 当該プログラムは、情報処理装置に、 第一の公開鍵を変換することで得られたデータを用いて
暗号文を生成する第一の処理と、 前記第一の公開鍵を変換することで得られたデータと、
少なくとも1つの第二の公開鍵を変換することで得られ
たデータとの間において、前記第二の公開鍵を変換する
ことで得られたデータが分かれば、前記第一の公開鍵を
変換することで得られたデータを、直接あるいは間接に
求めることができる関係式を満たすデータ値を生成する
第二の処理と、 生成した暗号文に、前記第二の処理の結果得られたデー
タ値を付加する第三の処理と、を実行させるものである
ことを特徴とするプログラムが記憶された記憶媒体。 - 【請求項10】請求項9記載の記憶媒体に記憶されたプ
ログラムにより生成された暗号文を復号するためのプロ
グラムが記憶された記憶媒体であって、 当該プログラムは、情報処理装置に、 前記第二の公開鍵を変換することで得られたデータを、
当該第二の公開鍵と対の秘密鍵から求める第四の処理
と、 前記暗号文に付加されたデータ値および前記第四の処理
で求めたデータを、前記データ値生成のために用いた関
係式に代入することにより、当該暗号文の生成に際しパ
ラメータとして用いられた、前記第一の公開鍵を変換す
ることで得られたデータを求める第五の処理と、 前記第五の処理の結果得られた、前記第一の公開鍵を変
換することで得られたデータを用いて前記暗号文を復号
する第六の処理と、を実行させるものであることを特徴
とするプログラムが記憶された記憶媒体。 - 【請求項11】暗号文の生成に際しパラメータとして用
いられたデータを回復する鍵回復方法であって、 送信側において、 少なくとも1つの第一の公開鍵を変換することで得られ
たデータと前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、暗号文の生
成に際しパラメータとして用いるデータを生成する第一
の処理と、 前記第一の処理の結果得られたデータをパラメータとし
て暗号文を生成する第二の処理と、 前記少なくとも1つの第一の公開鍵を変換することで得
られたデータと、前記第一の公開鍵と同数の第二の公開
鍵を変換することで得られたデータとの間において、一
方の公開鍵を変換することで得られたデータが分かれ
ば、他方の公開鍵を変換することで得られたデータを、
直接あるいは間接に求めることができる関係式を満たす
データ値を生成する第三の処理と、 前記第二の処理で生成した暗号文に、前記第三の処理で
生成したデータ値を付加する第四の処理と、を含み、 前記第二の公開鍵と対の秘密鍵を所有する受信側におい
て、 前記第一の公開鍵と同数の第二の公開鍵を変換すること
で得られたデータを、当該第二の公開鍵と対の秘密鍵か
ら求める第五の処理と、 前記第四の処理で暗号文に付加されたデータ値および前
記第五の処理で求めたデータを、前記第三の処理で用い
た関係式に代入することにより、前記少なくとも1つの
第一の公開鍵を変換することで得られたデータを求める
第六の処理と、 前記第六の処理で求めた前記少なくとも1つの第一の公
開鍵を変換することで得られたデータと、前記第五の処
理で求めた前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、前記第一の
処理で生成した、前記第二の処理において暗号文生成の
ためのパラメータとして用いたデータを求める第七の処
理と、を含んでいることを特徴とする鍵回復方法。 - 【請求項12】請求項11記載の鍵回復方法であって、 前記公開鍵を変換することで得られたデータとは、生成
した乱数と公開鍵とを作用させることで得られたデータ
であることを特徴とする鍵回復方法。 - 【請求項13】データ暗号化装置にて、暗号文の生成に
際しパラメータとして用いられたデータを、データ復号
化装置にて回復する鍵回復システムであって、 前記データ暗号化装置は、 少なくとも1つの第一の公開鍵を変換することで得られ
たデータと前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、暗号文の生
成に際しパラメータとして用いるデータを生成する第一
の生成手段と、 前記第一の生成手段により生成されたデータをパラメー
タとして暗号文を生成する暗号化手段と、 前記少なくとも1つの第一の公開鍵を変換することで得
られたデータと、前記第一の公開鍵と同数の第二の公開
鍵を変換することで得られたデータとの間において、一
方の公開鍵を変換することで得られたデータが分かれ
ば、他方の公開鍵を変換することで得られたデータを、
直接あるいは間接に求めることができる関係式を満たす
データ値を生成する第二の生成手段と、 前記暗号化手段で生成した暗号文に、前記第二の生成手
段で生成したデータ値を付加する付加手段と、を備え、 前記データ復号化装置は、 前記第一の公開鍵と同数の第二の公開鍵を変換すること
で得られたデータを、当該第二の公開鍵と対の秘密鍵か
ら求める第一の算出手段と、 前記付加手段により前記暗号化手段で生成した暗号文に
付加されたデータ値、および前記第一の算出手段で求め
たデータを、前記第二の生成手段で用いた関係式に代入
することにより、前記少なくとも1つの第一の公開鍵を
変換することで得られたデータを求める第二の算出手段
と、 前記第二の算出手段で求めた前記少なくとも1つの第一
の公開鍵を変換することで得られたデータと、前記第一
の算出手段で求めた前記第一の公開鍵と同数の第二の公
開鍵を変換することで得られたデータとに基づいて、前
記第二の生成手段で生成した、前記暗号化手段において
暗号文生成のためのパラメータとして用いたデータを求
める第三の算出手段と、 前記第三の算出手段で生成したデータをパラメータとし
て、前記暗号化手段で生成した暗号文を復号する復号手
段と、を備えていることを特徴とする鍵回復システム。 - 【請求項14】暗号文を生成する情報処理装置であっ
て、 少なくとも1つの第一の公開鍵を変換することで得られ
たデータと前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、暗号文の生
成に際しパラメータとして用いるデータを生成する第一
の生成手段と、 前記第一の生成手段により生成されたデータをパラメー
タとして暗号文を生成する暗号化手段と、 少なくとも1つの第一の公開鍵を変換することで得られ
たデータと、前記第一の公開鍵と同数の第二の公開鍵を
変換することで得られたデータとの間において、一方の
公開鍵を変換することで得られたデータが分かれば、他
方の公開鍵を変換することで得られたデータを、直接あ
るいは間接に求めることができる関係式を満たすデータ
値を生成する第二の生成手段と、 前記暗号化手段で生成した暗号文に、前記第二の生成手
段で生成したデータ値を付加する付加手段と、を備えて
いることを特徴とする情報処理装置。 - 【請求項15】請求項14記載の情報処理装置で生成さ
れた暗号文を復号する情報処理装置であって、 前記第一の公開鍵と同数の第二の公開鍵を変換すること
で得られたデータを、当該第二の公開鍵と対の秘密鍵か
ら求める第一の算出手段と、 前記暗号文に付加されたデータ値、および前記第一の算
出手段で求めたデータを、前記第二の生成手段で用いた
関係式に代入することで、前記少なくとも1つの第一の
公開鍵を変換することで得られたデータを求める第二の
算出手段と、 前記第二の算出手段で求めた前記少なくとも1つの第一
の公開鍵を変換することで得られたデータと、前記第一
の算出手段で求めた前記第一の公開鍵と同数の第二の公
開鍵を変換することで得られたデータとに基づいて、前
記第二の生成手段で生成した、前記暗号化手段において
暗号文生成のためのパラメータとして用いたデータを求
める第三の算出手段と、 前記第三の算出手段で生成したデータをパラメータとし
て、前記暗号化手段で生成した暗号文を復号する復号手
段と、を備えていることを特徴とする情報処理装置。 - 【請求項16】暗号文生成のためのプログラムが記憶さ
れた記憶媒体であって、 当該プログラムは、情報処理装置に、 少なくとも1つの第一の公開鍵を変換することで得られ
たデータと前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、暗号文の生
成に際しパラメータとして用いるデータを生成する第一
の処理と、 前記第一の処理の結果得られたデータをパラメータとし
て暗号文を生成する第二の処理と、 前記少なくとも1つの第一の公開鍵を変換することで得
られたデータと、前記第一の公開鍵と同数の第二の公開
鍵を変換することで得られたデータとの間において、一
方の公開鍵を変換することで得られたデータが分かれ
ば、他方の公開鍵を変換することで得られたデータを、
直接あるいは間接に求めることができる関係式を満たす
データ値を生成する第三の処理と、 前記第二の処理で生成した暗号文に、前記第三の処理で
生成したデータ値を付加する第四の処理と、を実行させ
るものであることを特徴とするプログラムが記憶された
記憶媒体。 - 【請求項17】請求項16記載の記憶媒体に記憶された
プログラムにより生成された暗号文を復号するためのプ
ログラムが記憶された記憶媒体であって、 当該プログラムは、情報処理装置に、 前記第一の公開鍵と同数の第二の公開鍵を変換すること
で得られたデータを、当該第二の公開鍵と対の秘密鍵か
ら求める第五の処理と、 前記暗号文に付加されたデータ値および前記第五の処理
で求めたデータを、当該データ値生成のために用いた関
係式に代入することにより、前記少なくとも1つの第一
の公開鍵を変換することで得られたデータを求める第六
の処理と、 前記第六の処理で求めた前記少なくとも1つの第一の公
開鍵を変換することで得られたデータと、前記第五の処
理で求めた前記第一の公開鍵と同数の第二の公開鍵を変
換することで得られたデータとに基づいて、前記暗号文
生成のためのパラメータとして用いたデータを求める第
七の処理と、 前記第七の処理の結果得られたデータを用いて前記暗号
文を復号する第八の処理と、を実行させるものであるこ
とを特徴とするプログラムが記憶された記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13183598A JP3667988B2 (ja) | 1997-06-06 | 1998-05-14 | 鍵回復方法および装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-149424 | 1997-06-06 | ||
JP14942497 | 1997-06-06 | ||
JP13183598A JP3667988B2 (ja) | 1997-06-06 | 1998-05-14 | 鍵回復方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1155244A true JPH1155244A (ja) | 1999-02-26 |
JP3667988B2 JP3667988B2 (ja) | 2005-07-06 |
Family
ID=26466557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13183598A Expired - Fee Related JP3667988B2 (ja) | 1997-06-06 | 1998-05-14 | 鍵回復方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3667988B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528511A (ja) * | 2007-05-23 | 2010-08-19 | シーメンス アクチエンゲゼルシヤフト | ソフトウェア暗号化方法およびソフトウェア暗号解読方法およびソフトウェア暗号化装置およびソフトウェア暗号解読装置 |
US8369518B2 (en) | 2007-06-18 | 2013-02-05 | Nec Corporation | Electronic data encryption and encrypted data decryption system, and its method |
US20200177389A1 (en) * | 2016-12-15 | 2020-06-04 | Nec Corporation | Access token system, information processing apparatus, information processing method, and information processing program |
JP2021118406A (ja) * | 2020-01-23 | 2021-08-10 | 株式会社リーディングエッジ | ユーザ認証方法、ユーザ認証方式 |
-
1998
- 1998-05-14 JP JP13183598A patent/JP3667988B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528511A (ja) * | 2007-05-23 | 2010-08-19 | シーメンス アクチエンゲゼルシヤフト | ソフトウェア暗号化方法およびソフトウェア暗号解読方法およびソフトウェア暗号化装置およびソフトウェア暗号解読装置 |
US8369518B2 (en) | 2007-06-18 | 2013-02-05 | Nec Corporation | Electronic data encryption and encrypted data decryption system, and its method |
US20200177389A1 (en) * | 2016-12-15 | 2020-06-04 | Nec Corporation | Access token system, information processing apparatus, information processing method, and information processing program |
US11895240B2 (en) * | 2016-12-15 | 2024-02-06 | Nec Corporation | System, apparatus, method and program for preventing illegal distribution of an access token |
JP2021118406A (ja) * | 2020-01-23 | 2021-08-10 | 株式会社リーディングエッジ | ユーザ認証方法、ユーザ認証方式 |
Also Published As
Publication number | Publication date |
---|---|
JP3667988B2 (ja) | 2005-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shamir | On the generation of cryptographically strong pseudorandom sequences | |
US6628786B1 (en) | Distributed state random number generator and method for utilizing same | |
JP3560860B2 (ja) | 秘密分散システム、装置及び記憶媒体 | |
US7516321B2 (en) | Method, system and device for enabling delegation of authority and access control methods based on delegated authority | |
US6477254B1 (en) | Network system using a threshold secret sharing method | |
EP3871365B1 (en) | Computer implemented system and method for distributing shares of digitally signed data | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
JP3794457B2 (ja) | データの暗号化復号化方法 | |
US20240097894A1 (en) | Threshold key exchange | |
JP2001202010A (ja) | メッセージの公開型且つ非可換性の符号化方法及び暗号化方法 | |
TW201630378A (zh) | 金鑰分裂技術 | |
US6236729B1 (en) | Key recovery method and system | |
Jakobsson et al. | Scramble all, encrypt small | |
JP2021072593A (ja) | 暗号処理システム及び暗号処理方法 | |
JP6294882B2 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
US20080181397A1 (en) | Secure data transmission and storage using limited-domain functions | |
JP2006227411A (ja) | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 | |
JP2011040932A (ja) | 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体 | |
JPH1155244A (ja) | 鍵回復方法および装置 | |
JPH10340048A (ja) | ハッシュ値生成方法、データ暗号化方法、データ復号化方法、ハッシュ値生成装置、データ暗号化装置およびデータ復号化装置 | |
JP3278790B2 (ja) | 公開鍵暗号方法及び公開鍵暗号システム | |
CN113141249B (zh) | 一种门限解密方法、系统及可读存储介质 | |
JP2004248330A (ja) | 暗号装置、暗号鍵生成方法、暗号鍵管理方法 | |
JP2004184516A (ja) | デジタルデータ送信端末 | |
JP2004347885A (ja) | 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050307 |
|
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: 20050405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050407 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |