JP2000148011A - ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 - Google Patents
ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体Info
- Publication number
- JP2000148011A JP2000148011A JP10320172A JP32017298A JP2000148011A JP 2000148011 A JP2000148011 A JP 2000148011A JP 10320172 A JP10320172 A JP 10320172A JP 32017298 A JP32017298 A JP 32017298A JP 2000148011 A JP2000148011 A JP 2000148011A
- Authority
- JP
- Japan
- Prior art keywords
- value
- public key
- ciphertext
- calculating
- symk
- 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
する。 【解決手段】 入力平文Mと乱数Rとを結合したm=M
‖Rを生成し(102)、そのmをランダム関数Hでラ
ンダム化した値r=H(m)を作り(103)、そのr
と前記mを確率暗号により公開鍵pkで暗号化し暗号文
C=Epk(m,r)を得る。復号側ではCを秘密鍵sk
で確率暗号により復号したm′=Dsk(C)を得、m′
を関数Hでランダム化した値r′を求め、r′とm′を
公開鍵pkで確率暗号により暗号化してC′=E
pk(r′,m′)を求め、C=C′かを検証し、一致す
ればm′中の所定の部分を平文Mとして出力する。
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)が演算され、公
開鍵pkで上記値r、上記mを確率的公開鍵暗号により
暗号化した暗号文C′=Epk(m,r)が演算され、上
記暗号文Cと上記暗号文C′とが比較され、その比較が
一致であれば上記値m′中の所定の部分が平文Mとして
出力される。
ダム関数を1回利用するだけで所定の安全性が得られ
る。請求項2の発明の暗号装置によれば、乱数Rが生成
され、上記乱数Rと入力平文Mとを結合した値mが生成
され、上記値mをランダム関数Hでランダム化した値r
=H(m)が演算され、上記値rと上記乱数Rとを、公
開鍵pkで確率的公開鍵暗号により暗号化した暗号文C
1 =Epk(r,R)が演算され、上記乱数Rをランダム
関数Gでランダム化した値 symKが演算され、上記値 s
ymKを鍵として秘密鍵暗号により上記平文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′を確率的公開暗号により
暗号化した値C 1 ′=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,rを
確率的公開鍵暗号により暗号化した暗号文C=E
pk(m,r)を演算する暗号化演算手段と、 を具備する暗号装置。 - 【請求項2】 乱数Rを生成する乱数発生手段と、 上記乱数Rと平文Mとを結合して値mを生成する結合手
段と、 上記値mを関数Hでランダム化した値r=H(m)を演
算する第1ランダム関数演算手段と、 上記値rと上記乱数Rと公開鍵pkを入力して、r,R
を確率的公開鍵暗号により暗号化した暗号文C1 =Epk
(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を入力して、確率
的公開鍵暗号により暗号化した暗号文C′=E
pk(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を入力して確率的
公開暗号により暗号化した値C1 ′=Epk(r′,
R′)を演算する暗号演算手段と、 上記値C1 ′と上記暗号文C1 を比較する比較手段と、 上記比較が一致すると上記値M′を平文Mとして出力す
る手段と、 を具備する復号装置。 - 【請求項5】 乱数Rを生成する処理と、 上記乱数Rと平文Mとを結合して値m=M‖Rを生成す
る処理と、 上記値mをランダム関数Hでランダム化した値r=H
(m)を演算する処理と、 上記値mと上記値rを、公開鍵pkで確率的公開鍵暗号
により暗号化した暗号文C=Epk(m,r)を演算する
処理と、 をコンピュータに実行させるプログラムを記録した記録
媒体。 - 【請求項6】 乱数Rを生成する処理と、 上記乱数Rと平文Mとを結合して値mを生成する処理
と、 上記値mをランダム関数Hでランダム化した値r=H
(m)を演算する処理と、 上記値rと上記乱数Rとを、公開鍵pkで確率的公開鍵
暗号により暗号化した暗号文C1 =Epk(r,R)を演
算する処理と、 上記乱数Rをランダム関数Gでランダム化した値 symK
を演算する処理と、 上記値 symKを鍵として秘密鍵暗号により上記平文Mを
暗号化した暗号文C2= symEsymK(M)を演算する処
理と、 をコンピュータに実行させるプログラムを記録した記録
媒体。 - 【請求項7】 秘密鍵skで確率的公開鍵暗号により暗
号文Cを復号化した値m′=Dsk(C)を演算する処理
と、 上記値m′をランダム関数Hでランダム化した値r′=
H(m′)を演算する処理と、 公開鍵pkで上記値r′、上記m′を確率的公開鍵暗号
により暗号化した暗号文C′=Epk(m′,r′)を演
算する処理と、 上記暗号文Cと上記暗号文C′とを比較する処理と、 上記比較が一致であれば上記値m′中の所定の部分を平
文Mとして出力する処理と、 をコンピュータに実行させるプログラムを記録した記録
媒体。 - 【請求項8】 秘密鍵skで暗号文C1 を確率的公開鍵
暗号により復号化した値R′=Dsk(C1 )を演算する
処理と、 上記値R′をランダム関数Gでランダム化した値 sym
K′=G(R′)を演算する処理と、 上記値 symK′を鍵として暗号文C2 を秘密鍵暗号によ
り復号化した値M′=symDsymK′(C2 )を演算する
処理と、 上記値R′と上記値M′を結合して値m′=M′‖R′
を生成する処理と、 上記値m′をランダム関数Hでランダム化した値r′=
H(m′)を演算する処理と、 公開鍵pkで上記値r′、上記値R′を確率的公開暗号
により暗号化した値C 1 ′=Epk(r′,R′)を演算
する処理と、 上記値C1 ′と上記暗号文C1 を比較する処理と、 上記比較が一致すると上記値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 true JP2000148011A (ja) | 2000-05-26 |
JP3306384B2 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 |
---|---|---|---|---|
JP2012227652A (ja) * | 2011-04-18 | 2012-11-15 | Nippon Telegr & Teleph Corp <Ntt> | 復号結果検証装置、方法、システム及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4575283B2 (ja) | 2005-11-15 | 2010-11-04 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
-
1998
- 1998-11-11 JP JP32017298A patent/JP3306384B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012227652A (ja) * | 2011-04-18 | 2012-11-15 | Nippon Telegr & Teleph Corp <Ntt> | 復号結果検証装置、方法、システム及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3306384B2 (ja) | 2002-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
US8670563B2 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
Dent | Hybrid signcryption schemes with insider security | |
US7574596B2 (en) | Cryptographic method and apparatus | |
JP3998640B2 (ja) | 暗号化及び署名方法、装置及びプログラム | |
KR20050027254A (ko) | 데이터 처리 시스템을 위한 효율적인 암호화 및 인증 | |
US8233617B2 (en) | Resilient cryptographic scheme | |
Nguyen | Can we trust cryptographic software? Cryptographic flaws in GNU Privacy Guard v1. 2.3 | |
KR20020016636A (ko) | 자가 인증 암호문 연결 | |
JP3955567B2 (ja) | 有限非可換群を用いた公開鍵暗号システム | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关系统 | |
KR20040009766A (ko) | 암호 시스템에서 송수신 장치 및 방법 | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
JP3306384B2 (ja) | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 | |
JP2004246350A (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
JP3694242B2 (ja) | 署名付き暗号通信方法及びその装置 | |
Tiwari et al. | Cryptographic hash function: an elevated view | |
Gohel | Introduction to Network & Cybersecurity | |
WO2020174515A1 (ja) | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 | |
JP2002023626A (ja) | 公開鍵暗号方法および公開鍵暗号を用いた通信システム | |
JP2001222218A (ja) | 暗号化装置、方法、復号装置、方法、暗号システム及びプログラムを記憶した記憶媒体 | |
JP2004347885A (ja) | 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム | |
Chen et al. | Modern cryptography | |
Yeun | Design, analysis and applications of cryptographic techniques | |
Rabah | Secure implementation of message digest, authentication and digital signature |
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 |