JP3306384B2 - ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 - Google Patents
ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体Info
- Publication number
- JP3306384B2 JP3306384B2 JP32017298A JP32017298A JP3306384B2 JP 3306384 B2 JP3306384 B2 JP 3306384B2 JP 32017298 A JP32017298 A JP 32017298A JP 32017298 A JP32017298 A JP 32017298A JP 3306384 B2 JP3306384 B2 JP 3306384B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- calculating
- encryption
- public key
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
公開鍵暗号システムの暗号装置、復号装置及びそのプロ
グラム記録媒体に関する。
公開鍵暗号システムの二種類に類別できる公開鍵暗号シ
ステムは、共通鍵暗号で問題となる鍵配送の問題や鍵の
管理の問題などを解決するものであって、代表的な公開
鍵暗号として、RSA暗号、Rabin暗号、ElGa
mal暗号、楕円曲線暗号(楕円ElGamal暗号)
などが挙げられる。
暗号、楕円曲線暗号(楕円ElGamal暗号)など
は、暗号化処理に乱数が使われ、確率暗号と呼ばれる。
暗号の攻撃法には、大きく別けると受動的攻撃と能動的
攻撃とがある。受動的攻撃とは、攻撃者は単に暗号文と
公開情報から平文を探索することである。能動的攻撃で
は、攻撃者は自分が自由に選択した暗号文を正規の受信
者に復号してもらうことができる。能動的攻撃に対して
も安全な暗号方式を構成することは、より強い安全性を
保証する暗号文を構成することを意味する。
基づき、能動的攻撃に強い暗号文を構成する一般的な方
法としては、Bellare,Rogawayにより、
OAEP(Optimal Asymmetric E
ncryption Padding)という方法が知
られている(M.Bellare and P.Rog
away,“Optimal Asymmetric
Encryption−How to encrypt
with RSA”Advances inCryp
tology−EUROCRYPT '94,LNCS,
Springer−Verlag,1995.)彼らの
方法は、ランダム関数(例えば、SHAなどのハッシュ
関数であり、その具体的な構成法は上記論文に掲載)を
2種類用いて構成する方法である。
適用できないため、確率暗号を用いて能動的攻撃に強い
暗号文を構成する一般的な方法は知られていなかった。
を用いて能動的攻撃に強い暗号文を構成する一般的な方
法を実現する暗号装置、復号装置を提供することを目的
とする。
置によれば、乱数Rが生成され、上記乱数Rと入力平文
Mとを結合した値m=M‖Rが生成され、上記値mがラ
ンダム関数Hでランダム化した値r=H(m)が演算さ
れ、上記値mが、上記値rおよび公開鍵pkで確率的公
開鍵暗号により暗号化した暗号文C=Epk(m,r)が
演算される。
skで確率的公開鍵暗号により暗号文Cを復号化した値
m′=Dsk(C)が演算され、上記値m′をランダム関
数Hでランダム化した値r′=H(m)が演算され、上
記値r′および公開鍵pkで上記mを確率的公開鍵暗号
により暗号化した暗号文C′=Epk(m,r)が演算さ
れ、上記暗号文Cと上記暗号文C′とが比較され、その
比較が一致であれば上記値m′中の所定の部分が平文M
として出力される。
ダム関数を1回利用するだけで所定の安全性が得られ
る。請求項2の発明の暗号装置によれば、乱数Rが生成
され、上記乱数Rと入力平分Mとを結合した値mが生成
され、上記値mをランダム関数Hでランダム化した値r
=H(m)が演算され、上記乱数Rを、上記値rおよび
公開鍵pkで確率的公開鍵暗号により暗号化した暗号文
C1=Epk(R,r)が演算され、上記乱数Rをランダ
ム関数Gでランダム化した値 symKが演算され、上記値
symKを鍵として秘密鍵暗号により上記平分Mを暗号化
した暗号文C2 = symEsymK(M)が演算される。
skで暗号文C1 を確率的公開鍵暗号により復号化した
値R′=Dsk(C1 )が演算され、上記値R′をランダ
ム関数Gでランダム化した値 symK′=G(R′)が演
算され、上記値 symK′を鍵として暗号文C2 を秘密鍵
暗号により復号化した値M′= symDsymK′(C2 )が
演算され、上記値R′と上記値M′を結合した値m′=
M′‖R′が生成され、上記値m′をランダム関数Hで
ランダム化した値r′=H(m′)が演算され、公開鍵
pkと上記値r′を用いて、上記値R′を確率的公開鍵
暗号により暗号化した値C1 ′=Epk(R′,r′)が
演算され、上記値C1 ′と上記暗号文C1 が比較され、
上記比較が一致すると上記値M′が平分Mとして出力さ
れる。
ム関数を2回利用するだけで所定の安全性が得られる。
実施例について、図1、図2を用いて説明する。まず、
ある確率暗号を仮定する。この暗号は、mを平文(暗号
の対象となる文書)、rを乱数、(pk,sk)を公開
鍵と秘密鍵の対とするとき、暗号文Cは、C=E
pk(m,r)で表現される。このとき、mの長さをk+
k0 ビット、rの長さをqビットとする。
qビットに変換するランダム関数とする。なお、ランダ
ム関数の具体例については、上記OAEPの論文を参
照。 (暗号化処理:図1)kビットの平文をMとする。乱数
発生器101よりk0 ビットの乱数Rを発生させ、さら
に、結合器102を用いて、m=M‖Rを生成する。次
に、ランダム関数演算器103を用いてmよりr=H
(m)を計算する。ここで得られたm,rを公開鍵pk
とともに暗号化演算器104に入力し、暗号文C=Epk
(m,r)を生成する。 (復号処理:図2)暗号文Cおよび秘密鍵skを復号演
算器205に入力し、m′=Dsk(C)を計算する。こ
の復号は確率的公開鍵暗号によるため、暗号装置での暗
号対象m,r中の乱数に関係しないmと対応した成分の
みが取出せる。
てm′よりr′=H(m′)を計算する。ここで得られ
たm′,r′を公開鍵pkとともに暗号化演算器204
に入力し、Epk(m′,r′)を生成し、比較器206
を用いてCとEpk(m′,r′)の値が等しいかどうか
を検証する。もし等しくなければ、何も出力しない(も
しくは、「検証不合格」を出力する)。もし等しけれ
ば、分離器207を用いて、m′の先頭kビットを平文
Mとして出力する。比較器206での検証により、暗号
化側で用いたM,mと等しいものが復号により得られた
ことになる。つまり能動的攻撃に対しては、攻撃のため
に作った暗号文のもととなるmが、復号側の処理で得ら
れたm′と異なるものになり、つまり比較器206では
不一致となり、復号結果を返さないこととなり、能動的
攻撃に対して強い暗号となる。実施例2 まず、ある確率暗号を仮定する。この暗号は、mを平文
(暗号の対象となる文書)、rを乱数、(pk,sk)
を公開鍵と秘密鍵の対とするとき、暗号文Cは、C=E
pk(m,r)で表現される。このとき、mの長さをkビ
ット、rの長さをqビットとする。
では、秘密鍵 symKと平文 symMから暗号文 symC= s
ymEsymK( symM)が作られ、また秘密鍵 symKと暗号
文 symCから平文 symM= symDsymK( symC)が作ら
れる。ここで、 symKの長さをsビットとする。また、
Hをt+kビットのデータをqビットに変換するランダ
ム関数、Gをkビットのデータをsビットに変換するラ
ンダム関数とする。なお、ランダム関数の具体例につい
ては、上記OAEPの論文を参照。 (暗号化処理:図3)tビットの平文をMとする。乱数
発生器101よりkビットの乱数Rを発生させ、さら
に、結合器102を用いて、m=M‖Rを生成する。次
に、ランダム関数H演算器103を用いてmよりr=H
(m)を計算し、またランダム関数G演算器105を用
いてRより symK=G(R)を計算する。ここで得られ
たR,rを公開鍵pkとともに公開鍵暗号暗号化演算器
104に入力し、暗号文C1 =E pk(R,r)を生成
し、また symK,Mを秘密鍵暗号暗号化演算器108に
入力し、暗号文C2 = symEsymK(M)を生成する。 (復号処理:図4)暗号文C1 および秘密鍵skを公開
鍵暗号復号演算器205に入力し、R′=Dsk(C1 )
を計算する。この復号も確率暗号によるものであるた
め、暗号化側のr,R中のRに相当するものが復号され
る。
いてR′より symK′=G(R′)を計算する。秘密鍵
暗号復号演算器208に、 symK′,C2 を入力し、
M′= symDsymK′(C2 )を計算する。さらに、結合
器202にM′とR′を入力し、その結合出力M′‖
R′をランダム関数H演算器209に入力してr′=H
(M′‖R′)を計算する。ここで得られたR′,r′
を公開鍵pkとともに公開鍵暗号暗号化演算器204に
入力し、Epk(R′,r′)を生成し、さらに比較器2
06を用いて入力暗号文C1とEpk(R′,r′)の値
が等しいかどうかを検証する。
しくは、「検証不合格」を出力する)。もし等しけれ
ば、M′を平文Mとして出力する。この場合も比較器2
06による検証により能動的攻撃に対して強いものとな
る。なお図1乃至図4に示した暗号装置、復号装置はそ
れぞれ機能構成を示したものであって、これらの機能は
コンピュータによりプログラムを読出し解読実行させる
ことによって行わせてもよい。
関数を利用することにより、暗号文Cを復号する者は、
送信者がCの復号結果である平文Mの値を知っていたか
どうかを検証できる。送信者が平文Mを知らない場合は
復号側の検証で一致が得られない。
は、送信者がCの復号結果である平文Mの値を知ってい
たことを確認できるため、能動的攻撃に対しても安全性
が保証できる暗号方式となっている。図1の暗号装置に
比べ図3の暗号装置は、公開鍵暗号と秘密鍵暗号を併用
した暗号方式の安全性を保証している。
文献(Fujisaki,E.and Okamot
o,T.“How to Enhance the S
ecurity of Public−Key Enc
ryptions in aMinimum Cos
t”,submitted to PKC ’99,S
pringer−Verlag,1999)に掲載され
ている。
ブロック図。
ブロック図。
ブロック図。
ブロック図。
Claims (8)
- 【請求項1】 乱数Rを生成する乱数発生手段と、 上記乱数Rと平文Mとを結合して値mを生成する結合手
段と、 上記値mを関数Hでランダム化した値r=H(m)を演
算するランダム関数演算手段と、 上記値mと上記値rと公開鍵pkを入力して、mを確率
的公開鍵暗号により暗号化した暗号文C=Epk(m,
r)を演算する暗号化演算手段と、 を具備する暗号装置。 - 【請求項2】 乱数Rを生成する乱数発生手段と、 上記乱数Rと平文Mとを結合して値mを生成する結合手
段と、 上記値mを関数Hでランダム化した値r=H(m)を演
算する第1ランダム関数演算手段と、 上記値rと上記乱数Rと公開鍵pkを入力して、Rを確
率的公開鍵暗号により暗号化した暗号文C1 =E
pk(R,r)を演算する第1暗号化演算手段と、 上記乱数Rを関数Gでランダム化した値 symKを演算す
る第2ランダム関数演算手段と、 上記値 symKと上記平文Mを入力して、 symKを鍵とし
て秘密鍵暗号によりMを暗号化した暗号文C2 = symE
symK(M)を演算する第2暗号化演算手段とを具備する
暗号装置。 - 【請求項3】 暗号文Cと秘密鍵skを入力して確率的
公開鍵暗号により復号化した値m′=Dsk(C)を演算
する復号演算手段と、 上記値m′を関数Hでランダム化した値r′=H
(m′)を演算するランダム関数演算手段と、 上記値r′、上記値m′と公開鍵pkを入力して、m′
を確率的公開鍵暗号により暗号化した暗号文C′=Epk
(m′,r′)を演算する暗号化演算手段と、 上記暗号文Cと上記暗号文C′とを比較する比較手段
と、 上記比較が一致であれば上記値m′中の所定の部分を平
文Mとして出力する分離手段と、 を具備する復号装置。 - 【請求項4】 暗号文C1 と秘密鍵skを入力して、確
率的公開鍵暗号により復号化した値R′=Dsk(C1 )
を演算する第1復号演算手段と、 上記値R′を関数Gでランダム化した値 symK′=G
(R′)を演算する第1ランダム関数演算手段と、 上記値 symK′と暗号文C2 を入力して、値 symK′を
鍵として秘密鍵暗号により復号化した値M′= symD
symK′(C2 )を演算する第2復号演算手段と、 上記値R′と上記値M′を結合して値m′を生成する結
合手段と、 上記値m′を関数Hでランダム化した値r′=H
(m′)を演算する第2ランダム関数演算手段と、 上記値r′、上記値R′、公開鍵pkを入力して、確率
的公開鍵暗号によりR′を暗号化した値C1 ′=E
pk(R′,r′)を演算する暗号演算手段と、 上記値C1 ′と上記暗号文C1 を比較する比較手段と、 上記比較が一致すると上記値M′を平文Mとして出力す
る手段と、 を具備する復号装置。 - 【請求項5】 乱数Rを生成する乱数発生手段と、 上記乱数Rと平文Mとを結合して値mを生成する結合手
段と、 上記値mを関数Hでランダム化した値r=H(m)を演
算するランダム関数演算手段と、 上記値mと上記値rと公開鍵pkを入力して、mを確率
的公開鍵暗号により暗号化した暗号文C=E pk (m,
r)を演算する暗号化演算手段と、 を具備する暗号装置として、 コンピュータを機能させる
ためのプログラムを記録したコンピュータ読み取り可能
な記録媒体。 - 【請求項6】 乱数Rを生成する乱数発生手段と、 上記乱数Rと平文Mとを結合して値mを生成する結合手
段と、 上記値mを関数Hでランダム化した値r=H(m)を演
算する第1ランダム関数演算手段と、 上記値rと上記乱数Rと公開鍵pkを入力して、Rを確
率的公開鍵暗号により暗号化した暗号文C 1 =E
pk (R,r)を演算する第1暗号化演算手段と、 上記乱数Rを関数Gでランダム化した値 symKを演算す
る第2ランダム関数演 算手段と、 上記値 symKと上記平文Mを入力して、 symKを鍵とし
て秘密鍵暗号によりMを暗号化した暗号文C 2 = symE
symK (M)を演算する第2暗号化演算手段とを具備する
暗号装置として、コンピュータを機能させるためのプロ
グラムを記録したコンピュータ読み取り可能な記録媒
体。 - 【請求項7】 暗号文Cと秘密鍵skを入力して確率的
公開鍵暗号により復号化した値m′=D sk (C)を演算
する復号演算手段と、 上記値m′を関数Hでランダム化した値r′=H
(m′)を演算するランダム関数演算手段と、上記値r′、上記値m′と公開鍵pkを入力して、m′
を確率的公開鍵暗号により暗号化した暗号文C′=E pk
(m′,r′)を演算する暗号化演算手段と、 上記暗号文Cと上記暗号文C′とを比較する比較手段
と、 上記比較が一致であれば上記値m′中の所定の部分を平
文Mとして出力する分離手段と、 を具備する復号装置として、 コンピュータを機能させる
ためのプログラムを記録したコンピュータ読み取り可能
な記録媒体。 - 【請求項8】 暗号文C 1 と秘密鍵skを入力して、確
率的公開鍵暗号により復号化した値R′=D sk (C 1 )
を演算する第1復号演算手段と、 上記値R′を関数Gでランダム化した値 symK′=G
(R′)を演算する第1ランダム関数演算手段 と、 上記値 symK′と暗号文C 2 を入力して、値 symK′を
鍵として秘密鍵暗号により復号化した値M′= symD
symK ′(C 2 )を演算する第2復号演算手段と、 上記値R′と上記値M′を結合して値m′を生成する結
合手段と、 上記値m′を関数Hでランダム化した値r′=H
(m′)を演算する第2ランダム関数演算手段と、 上記値r′、上記値R′、公開鍵pkを入力して、確率
的公開鍵暗号によりR′を暗号化した値C 1 ′=E
pk (R′,r′)を演算する暗号演算手段と、 上記値C 1 ′と上記暗号文C 1 を比較する比較手段と、 上記比較が一致すると上記値M′を平文Mとして出力す
る手段と、 を具備する復号装置として、 コンピュータを機能させる
ためのプログラムを記録したコンピュータ読み取り可能
な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32017298A JP3306384B2 (ja) | 1998-11-11 | 1998-11-11 | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32017298A JP3306384B2 (ja) | 1998-11-11 | 1998-11-11 | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000148011A JP2000148011A (ja) | 2000-05-26 |
JP3306384B2 true JP3306384B2 (ja) | 2002-07-24 |
Family
ID=18118507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32017298A Expired - Lifetime JP3306384B2 (ja) | 1998-11-11 | 1998-11-11 | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3306384B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7773747B2 (en) | 2005-11-15 | 2010-08-10 | Kabushiki Kaisha Toshiba | Encryption apparatus, decryption apparatus, and method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5912281B2 (ja) * | 2011-04-18 | 2016-04-27 | 日本電信電話株式会社 | 復号結果検証装置、方法、システム及びプログラム |
-
1998
- 1998-11-11 JP JP32017298A patent/JP3306384B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
Optimal Asymmetric Encyption,Lecture Notes in Computer Science,Vol.950,p.92−111 |
Towards Practical Public Key Systems Secure Against Chosen Ciphertext attacks,Lecture Notes in Computer Science,Vol.576,p.445−456 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7773747B2 (en) | 2005-11-15 | 2010-08-10 | Kabushiki Kaisha Toshiba | Encryption apparatus, decryption apparatus, and method |
Also Published As
Publication number | Publication date |
---|---|
JP2000148011A (ja) | 2000-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
JP3872107B2 (ja) | 暗号キー回復システム | |
EP1710952B1 (en) | Cryptographic Applications of the Cartier Pairing | |
Dent | Hybrid signcryption schemes with insider security | |
JP3998640B2 (ja) | 暗号化及び署名方法、装置及びプログラム | |
US20090217041A1 (en) | Provisional signature schemes | |
KR20050027254A (ko) | 데이터 처리 시스템을 위한 효율적인 암호화 및 인증 | |
US20060083370A1 (en) | RSA with personalized secret | |
US20060177062A1 (en) | Methods for Point Compression for Jacobians of Hyperelliptic Curves | |
JP4776906B2 (ja) | 署名生成方法及び情報処理装置 | |
Nguyen | Can we trust cryptographic software? Cryptographic flaws in GNU Privacy Guard v1. 2.3 | |
US20100318804A1 (en) | Scheme of applying the modified polynomial-based hash function in the digital signature algorithm based on the division algorithm | |
Paar et al. | Message authentication codes (MACs) | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关系统 | |
Rae Jeong et al. | Provably secure encrypt-then-sign composition in hybrid signcryption | |
JP3306384B2 (ja) | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
Tiwari et al. | Cryptographic hash function: an elevated view | |
JP2002023626A (ja) | 公開鍵暗号方法および公開鍵暗号を用いた通信システム | |
JP4629889B2 (ja) | 検証可暗号方法、その装置、そのプログラム及びその記録媒体 | |
JP2004347885A (ja) | 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム | |
Rabah | Secure implementation of message digest, authentication and digital signature | |
JP2001222218A (ja) | 暗号化装置、方法、復号装置、方法、暗号システム及びプログラムを記憶した記憶媒体 | |
JP4000900B2 (ja) | 認証付暗号方法及び認証付復号方法及び検証方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体 | |
JP3862397B2 (ja) | 情報通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090510 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090510 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100510 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100510 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110510 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120510 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130510 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140510 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |