JP2004347885A - Encryption device processing method, encryption / decryption device processing method, these devices and program - Google Patents
Encryption device processing method, encryption / decryption device processing method, these devices and program Download PDFInfo
- Publication number
- JP2004347885A JP2004347885A JP2003145233A JP2003145233A JP2004347885A JP 2004347885 A JP2004347885 A JP 2004347885A JP 2003145233 A JP2003145233 A JP 2003145233A JP 2003145233 A JP2003145233 A JP 2003145233A JP 2004347885 A JP2004347885 A JP 2004347885A
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- data
- plaintext
- random number
- encryption
- 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.)
- Pending
Links
Images
Abstract
【課題】能動的攻撃に強く、暗号鍵の長さより長い平文Mをも暗号化することができ、短時間で、平文Mを知っている者が暗号文Yを作ったことを検証することを可能とする。
【解決手段】乱数Rを平文とし、乱数rと共に確率暗号の公開鍵暗号方式で公開鍵により暗号化して暗号文Cを生成し(106)、Rに対しハッシュ関数Gを施して、sビットの共通鍵symKを生成し(108)、MとRに対しハッシュ関数Hを施してデータWを生成し(111)、MとWのビット連結に対し、symKで共通鍵暗号演算を行って暗号文Sを生成し(114)、CとSのビット連結を暗号文Yとして出力する。
【選択図】 図1An object of the present invention is to verify that a person who knows a plaintext M has created a ciphertext Y in a short time, which is resistant to an active attack and can encrypt a plaintext M longer than the length of an encryption key. Make it possible.
SOLUTION: A random number R is a plain text, and the random number r is encrypted with a public key by a public key cryptosystem of probability cryptography to generate a cipher text C (106). A common key symK is generated (108), a hash function H is applied to M and R to generate data W (111), and a bit combination of M and W is subjected to a common key cryptographic operation using symK to generate a ciphertext. S is generated (114), and the bit combination of C and S is output as ciphertext Y.
[Selection diagram] Fig. 1
Description
【0001】
【発明の属する技術分野】
この発明は公開鍵暗号方式及び共通鍵暗号方式を併用した暗号化装置、暗号復号装置、それらの処理方法及びプログラムに関する。
【0002】
【従来の技術】
一般に、暗号方法は共通鍵暗号方式と公開鍵暗号方式との二種類に類別できる。公開鍵暗号方式は、共通鍵暗号方式で問題となる鍵配送の問題や鍵の管理の問題などがないものであって、代表的な公開鍵暗号方式として、RSA暗号、Rabin暗号、ElGamal暗号、楕円曲線暗号(楕円ElGamal暗号)などが挙げられる。
暗号の攻撃法には、大きく分けて受動的攻撃法と能動的攻撃法がある。受動的攻撃法は、攻撃者は単に暗号文と公開情報から平文を探索する方法である。能動的攻撃法とは、攻撃者は自分が自由に選択した暗号文を正規の受信者に復号してもらうことができる。能動的攻撃法に対しても安全な暗号方式を構成することは、より強い安全性を保証する暗号文を構成することを意味する。
【0003】
従来、RSA暗号のような確定的な暗号に基づき、能動的攻撃に強い暗号文を構成する一般的な方法としては、Bellare,Rogawayにより、OAEP(Optimal Asymmetric Encryption Padding)という方法が知られている(M.Bellare and P.Rogaway,“Optimal Asymmetric Encryption−How to encrypt with RSA”Advances in Cryptology−EUROCRYPT’94,LNCS,Springer−Verlag,1995.参照)。彼らの方法は、ランダム関数を2種類用いて構成する方法である。この2種類のランダム関数は例えば、SHAなどのハッシュ関数であり、その具体的な構成法は上記論文に掲載されている。
【0004】
このOAEPでは1回の暗号文で送信できる平文の長さは、適用する公開鍵暗号方式の鍵長よりも短くなければならないという問題点があった。
OAEPの改良方式としてはShoupによるOAEP+が知られている(V.Shoup,“OAEP Reconsidered”Advances in Cryptology−CRYPTO 2001,LNCS,Springer−Verlag,2001.参照)。OAEP+はランダム関数を3回利用して、OAEPよりも高い安全性を実現する方式である。
しかしながら、OAEP+はランダム関数を3回使用しなければならないことに加え、OAEPと同様に1回の暗号文で送信できる平文の長さは、適用する公開鍵暗号方式の鍵長よりも短くなければならないという問題点があった。
【0005】
確率暗号を用いて能動的攻撃に強い暗号文を構成する方法としては、非特許文献1で提案されているREACT(Rapid Enhanced−security Asymmetric Cryptosystem Transform)が知られている。
このREACTは、ランダム関数と公開鍵暗号方式(確率暗号を含む)の他に、共通鍵暗号方式(例えば、AESやCamelliaなど)を用い、送信者は乱数rを公開鍵暗号方式で暗号化したc1 と、rをランダム関数演算した関数値r′を共通鍵とする共通鍵暗号方式で平文を暗号化して得られた暗号文c2 とを、受信者に送信する。また暗号化処理において、暗号文の正当性を保証するため、平文、乱数r、公開鍵暗号方式により計算された暗号文c1 、共通鍵暗号方式により計算された暗号文c2 を、ランダム関数演算した関数値c3 を、検査用の情報として暗号文c1 ,c2 に添付する。
【0006】
受信者はc1 を受信者の秘密鍵を用いて復号してrを求め、rをランダム関数演算してr′を求め、r′を共通鍵としてc2から平文を復号する。復号処理が終わったら、復号で得られた平文、乱数rと、暗号文c1 ,c2 を、ランダム関数演算して得られる関数値がc3 と一致するかの検査を行い、暗号文の正当性が確認できれば、得られた平文を暗号文に対応した情報とみなす。
REACTは、確率暗号の適用を可能にし、高い安全性を保証するとともに、平文に対する暗号化共通鍵暗号方式によって行い公開鍵暗号方式によらないため、1回の暗号文で送信できる平文の長さの制限がなく、高い通信効率が実現できる。
【0007】
【非特許文献1】
T.Okamoto and D.Pointcheval,“REACT:Rapid Enhanced−security Asymmetric Cryptosystem Transform”The Cryptographer’s Track at RSA Conference,LNCS,Springer−Verlag,2001)
【0008】
【発明が解決しようとする課題】
REACTは、公開鍵暗号方式で得られる暗号文c1 と、共通鍵暗号方式で得られる暗号文c2 の計算が完了しなければ、暗号文の正当性の検査で用いる情報c3 の計算を開始できない、従って処理速度が遅いという問題があった。
この発明の目的は、一般的な確率暗号の公開鍵暗号方式を用いて能動的攻撃に強く、共通鍵暗号方式を用いて通信効率がよく、かつ並列処理により高速に暗号文の計算を行える暗号化装置、その復号装置、これら装置の処理方法、及びプログラムを提供することにある。
【0009】
【課題を解決するための手段】
この発明の暗号化装置の処理方法によれば、乱数Rとrを生成し、乱数Rを平文とし、乱数rと共に公開鍵で公開鍵暗号方式による暗号化を行って暗号文Cを生成し、kビットの上記乱数をランダム関数Gでランダム化してsビットの秘密鍵 symKを生成し、上記乱数Rと平文Mをランダム関数Hでランダム化して一定ビット数のデータWを生成し、このデータWと上記平文Mをビット連結し、そのビット連結したデータを上記秘密鍵 symKで共通暗号化方式により暗号化して暗号文Sを生成し、上記暗号文Cと上記暗号文Sをビット連結して暗号文Yを出力する。
【0010】
この暗号化装置の処理方法と対応したこの発明の暗号復号装置の処理方法によれば入力暗号文Yを暗号文Sと暗号文Cとにビット分離し、暗号文Cに対し上記秘密鍵pkで公開鍵暗号方式の復号を行って乱数Rを生成し、このkビットの乱数Rをランダム関数Gでランダム化してsビットの秘密鍵 symKを生成し、この秘密鍵 symKで共通鍵暗号方式の復号を暗号文Sに行い、その復号結果を平文MとデータWとにビット分離し、上記乱数Rと上記平文Mをランダム関数Hでランダム化して一定ビット数のデータW′を生成し、上記データW′と上記データWを比較して等しければ上記平文Mを出力する。
【0011】
この発明の暗号化装置処理方法の他面によれば、上述の方法において、平文Mをビット連結を行うことなく、秘密鍵 symKで暗号化して暗号文Sとし、暗号文Sと暗号文CとデータWとをビット連結して出力暗号文Yとする。その他は上述の方法と同様である。
この処理方法と対応する復号装置の処理方法では上述した復号装置処理方法において、入力暗号文Yを暗号文Sと暗号文CとデータWとにビット分離し、秘密鍵 symKで暗号文Sを復号した結果をそのまま平文Mとし、ランダム関数でランダム化して得られたデータW′とビット分離したデータWとを比較する。その他は上述の方法と同様である。
【0012】
【発明の実施の形態】
この発明による暗号化装置により平文Mを暗号文Yとし、この暗号文Yをこの発明による暗号復号装置とにより復号して平文Mを得る暗号システムが構成される。この暗号システムの構成に当り、使用する確率暗号の公開鍵暗号方式と共通鍵暗号方式とが決められ、共通鍵暗号方式としてはAESやCamelliaあるいは秘密鍵を平文と同一の長さとし、その秘密鍵と平文との排他的論理和をとる方式などを用いることができる。その公開鍵暗号方式の公開鍵をpk、秘密鍵をskとする。更に任意のサイズのデータを特定のサイズのデータに変換するランダム関数Hと、kビットのデータをsビットに変換するランダム関数Gが使用されるが、これらランダム関数H,Gは例えばSHAなどのハッシュ関数であり、具体例は前記OAEPの論文に上げられている。ランダム関数Gの関数値のsビットは、使用する共通鍵暗号方式が決まれば、その秘密鍵 symKのビット長と等しくし、例えば100ビットとか200ビット程度であり、ランダム関数Hの関数値Wの一定のビット数nも、例えば秘密鍵 symKのビット長と同程度とされる。乱数rのビット数は使用する公開鍵暗号方式により制限される範囲のものを使用する。
【0013】
第1実施形態
図1にこの発明の暗号化装置の第1実施形態の機能構成例を示し、この構成と、この装置の処理方法を以下に説明する。暗号化されるべき平文Mは記憶部101に記憶され、また公開鍵暗号方式の公開鍵pkが記憶部102に格納されている。
平文Mに対する暗号文Yを生成するには、まず乱数発生部103よりkビットの乱数Rおよびmビットの乱数rを発生させ、それぞれ記憶部104,105に記憶する。
これら乱数R,rを公開鍵pkとともに暗号化部106に入力し、乱数Rを平文とする確率暗号の公開鍵暗号化演算を公開鍵pkを用いて行って暗号化の結果として暗号文C=Epk(R,r)を得、これを記憶部107に記憶する。
【0014】
一方、公開鍵暗号暗号化演算処理と並行して、関数演算部108に乱数Rを入力し、乱数Rに対する関数演算を行ってRをランダム化してその関数値としてsビットの秘密鍵 symK=G(R)を得て、これを記憶部109に記憶する。
またこれら処理と並列的に平文Mと乱数Rを関数演算部111に入力して、平文M、乱数Rに対し関数演算を行ってランダム化して一定ビット数nのデータW=H(M,R)を求めて、記憶部112に記憶する。平文Mと、データWを連結部113でビット連結してM‖Wを作成する。
記憶部109内の秘密鍵 symKとビット連結M‖Wを暗号化部114に入力して、平文Mに対し秘密鍵 symKを用いて共通鍵暗号暗号化演算を行い、その暗号化の結果としての暗号文S= symEsymK(M‖W)を記憶部115に記憶する。
記憶部115内の暗号文Sと、記憶部107内の暗号文Cを連結部116でビット連結して暗号文Y=S‖Cを生成して、この暗号化装置の出力とする。
【0015】
平文Mや公開鍵pkなどの入力を行う入力部117、各部を動作させ、各記憶部に対する読み書きを行う制御部118、暗号文Yを出力する出力部119が設けられる。記憶部101,102,104,105,107,109,112,115はその全部又は一部を、共通の記憶部を兼用して用いてもよい。また記憶部104,105は乱数生成部103内のレジスタ、記憶部107,115はそれぞれ暗号化部106,114内のレジスタ、記憶部109,112はそれぞれ関数演算部108,111内のレジスタであってもよい。
【0016】
次に図1に示した暗号化装置に対する暗号復号装置の機能構成例を図2に示し、その構成と処理方法を以下に説明する。
この暗号復号装置に入力された暗号文Yは分離部201を用いて暗号文SとCにビット分離してそれぞれ記憶部202,203に記憶する。暗号部Cと記憶部204に記憶されている公開鍵暗号の秘密鍵skを復号部205に入力して暗号文Cに対し秘密鍵skによる公開鍵暗号復号演算を行ってその結果としてkビットの乱数R=Dsk(C)を得、これを記憶部206に記憶する。この乱数Rに対し関数演算部207で関数演算を行ってランダム化してその結果としてsビットの秘密鍵 symK=G(R)を生成してsymKを記憶部208に記憶する。
【0017】
この秘密鍵 symKと、記憶部202から読み出した暗号文Sを復号部211に入力して暗号文Sに対し、秘密鍵symKによる公開鍵暗号復号演算を行い、その結果としてデータM‖W=symDsymK(S)を得る。この復号結果のデータM‖Wを分離部212で平文MとデータWとにビット分離して、それぞれ記憶部213,214に記憶する。
平文Mと記憶部206間の乱数Rを関数演算部215に入力して、これらにランダム関数Hの演算を行ってランダム化し、nビットの関数値を生成する。この関数値H(M,R)と記憶部214内のデータWとを比較部216で比較し、これらが互いに等しいかどうかを検証する。
【0018】
もし等しくなければ、何も出力しない、もしくは、「検証不合格」を出力し、等しければ、記憶部213内の平文Mを暗号文Yの復号結果として出力する。
暗号文Yの入力部217、平文Mや不合格など出力する出力部218、各部を動作させ、かつ各記憶部に対する読み書きを行う制御部219が設けられている。各記憶部は複数ないし全部を共通のもので兼用してもよく、また各演算部や復号部内のレジスタであってもよい。
【0019】
第2実施形態
この発明の第2実施形態における暗号化装置の機能構成例を図3に図1と対応する部分に同一参照番号を付けて示す。重複説明は省略する。この第2実施形態では図1中の連結部113が省略され、第1実施形態と同様に乱数発生部103より乱数R,rを発生させ、暗号文Cを生成し、また、秘密鍵 symKを生成し、更に、データWを生成する。第2実施形態では平文MはデータWとビット連結されることなく、暗号化部114で秘密鍵 symKにより共通鍵暗号暗号化演算が行われ、その暗号化の結果が暗号文S= symE symK(M)として記憶部115に記憶される。また連結部116では暗号文SとCのみならずデータWもビット連結され、暗号文Y=S‖W‖Cとして出力される。
【0020】
図4に第2実施形態における暗号復号装置の機能構成を図2と対応する部分に同一参照番号を付けて示し、重複説明は省略する。図4は図2に対し、分離部212が省略されている。
入力された暗号文Yは分離部201で暗号文Sと暗号文CのみならずデータWとの3つにビット分離され、データWは記憶部214に記憶される。暗号文Cが復号され、更に秘密鍵 symKが生成され、暗号文Sがこの秘密鍵 symKにより共通鍵暗号復号演算が行われることは第1実施形態と同様である。第2実施形態ではこの秘密鍵 symKによる復号結果はビット分離されることなく、そのまま平文Mとされ、これと乱数Rとに対して関数演算Hがなされ、この演算結果H(M,R)と分離部201でビット分離されたデータWとが比較部216で比較され、等しくなければ、何も出力しないもしくは、「検証不合格」を出力し、等しければ、記憶部213内の平文Mを暗号文Yの復号結果として出力する。
【0021】
図1及び図3に示した暗号化装置はコンピュータにより機能させることもできる。その場合は、前述したこの装置の処理方法の各過程をコンピュータに実行させるための暗号化装置処理プログラムを、CD−ROM、磁気ディスクなどの記録媒体から、あるいは通信回線を介してコンピュータ内にインストールして、このプログラムをそのコンピュータに実行させればよい。同様に図2及び図4に示した暗号復号装置もコンピュータにより機能させればよい。この場合も前述したこの装置の処理方法の各過程をコンピュータに実行させるための暗号復号装置処理プログラムを用いればよい。
【0022】
【発明の効果】
以上述べたようにこの発明によればランダム関数を利用することにより、暗号文Yを復号する者は、送信者がその暗号文Yの復号結果である平文の値を知っていたかどうかを検証できる。従って、復号処理の検証に合格する時には、送信者が暗号文Yの復号結果である平文Mの値を知っていたことを確認できるため、能動的攻撃に対しても安全性が保証できる暗号方式となっている。
通信効率の点では、REACTと同様、送信すべき平文Mに対し公開鍵暗号方式による暗号化を行うことなく、平文Mは共通鍵暗号方式にて暗号化しているため、1回の暗号文で送信できる平文Mの長さの制限を受けない。
【0023】
さらに、一般には、公開鍵暗号(Epk,Dsk)の演算量は、秘密鍵暗号(symE symK,symD symK)、および関数G,Hの演算量に比べて大きいため、この発明の暗号化処理においては、公開鍵暗号(Epk,Dsk)の計算を行っている過程で、並列処理を行うことで、暗号文に用いる他の全ての情報を計算することが可能である。すなわち、この発明における平文に対する暗号演算量は、公開鍵暗号(Epk,Dsk)の演算量と同等である。つまり、この発明により、暗号文Sと暗号文C、検証に必要なデータWとの生成を並列的に行うことにより計算の待ち時間を削除し、高速に暗号化処理を行い、安全性を向上させることが可能となる。
【0024】
しかも暗号文SとCが生成された時は、暗号文の正当性の検証に用いる情報も生成されているため、暗号文c1 とc2 が得られた後に暗号文の正当性の検証に用いる情報c3 を生成するREACTよりも短時間で暗号文Yを生成することができる。
第1実施形態ではデータWが得られた後に、暗号化部114での暗号化処理を行うことになるが、第2実施形態では全体の処理を開始した時に、平文Mに対し直接暗号化処理を行う点で、それだけ処理時間を短かくすることができる。平文Mの長さをtビットとすると、関数演算部111の入力ビット長はt+kであるが、REACTは2t+2kとなり、tが大きいと入力が大きいため並列処理が困難になる。この点でもこの発明は有利である。
【図面の簡単な説明】
【図1】この発明の第1実施形態の暗号化装置の機能構成例を示す図。
【図2】この発明の第1実施形態の暗号復号装置の機能構成例を示す図。
【図3】この発明の第2実施形態の暗号化装置の機能構成例を示す図。
【図4】この発明の第2実施形態の暗号復号装置の機能構成例を示す図。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encryption device and an encryption / decryption device using both a public key encryption method and a common key encryption method, a processing method thereof, and a program.
[0002]
[Prior art]
Generally, encryption methods can be classified into two types: a common key encryption method and a public key encryption method. The public key cryptosystem does not have a problem of key distribution or a problem of key management which is a problem in the common key cryptosystem, and typical public key cryptosystems include RSA encryption, Rabin encryption, ElGamal encryption, Elliptic curve cryptography (elliptical ElGamal cryptography) and the like.
Cryptographic attack methods are roughly classified into passive attack methods and active attack methods. In the passive attack method, an attacker simply searches plaintext from ciphertext and public information. With the active attack method, an attacker can have a legitimate recipient decrypt a ciphertext freely selected by the attacker. Constructing a cryptosystem that is secure against active attack means configuring ciphertext that guarantees stronger security.
[0003]
2. Description of the Related Art Conventionally, as a general method of constructing a ciphertext that is resistant to an active attack based on a deterministic encryption such as the RSA encryption, a method called OAEP (Optimal Asymmetric Encryption Padding) by Bellare and Rogaway is known. (See M. Bellare and P. Rogaway, "Optimal Encryption Encyclopedia with How to Encrypt with RSA", Advances in Cryptology-EUROCRYPT'94, LNCS. Rg. Their method is a method of using two types of random functions. These two types of random functions are, for example, hash functions such as SHA, and the specific configuration method is described in the above-mentioned paper.
[0004]
This OAEP has a problem that the length of a plaintext that can be transmitted in one ciphertext must be shorter than the key length of the applicable public key cryptosystem.
As an improved method of OAEP, OAEP + by Shop is known (see V. Shop, "OAEP Reconciled" Advances in Cryptology-CRYPTO 2001, LNCS, Springer-Verlag, 2001.). OAEP + is a method that uses a random function three times to achieve higher security than OAEP.
However, OAEP + must use a random function three times, and, like OAEP, the length of a plaintext that can be transmitted in one ciphertext must be shorter than the key length of the applicable public key cryptosystem. There was a problem that it did not become.
[0005]
As a method of constructing a ciphertext that is resistant to active attacks using stochastic cryptography, there is known a REACT (Rapid Enhanced-security Asymetric Cryptsystem Transform) proposed in Non-Patent
This REACT uses a common key cryptosystem (for example, AES or Camellia) in addition to a random function and a public key cryptosystem (including probability cryptography), and the sender encrypts a random number r by a public key cryptosystem. and c 1, and a random function ciphertext c 2 obtained by encrypting the plaintext computed function value r 'in the common key cryptography in which a common key r, is sent to the recipient. In the encryption processing, in order to guarantee the validity of the ciphertext, a plaintext, a random number r, a ciphertext c 1 calculated by a public key cryptosystem, and a ciphertext c 2 calculated by a common key cryptosystem are converted into a random function. the computed function value c 3, attached to the
[0006]
The recipient obtains a r and decrypted using the private key of the recipient c 1, 'seek, r' r and random function calculates r decodes the plaintext from c 2 a as a common key. After the decryption process, the plaintext, the random number r, and the ciphertexts c 1 and c 2 obtained by the decryption are checked to see if a function value obtained by performing a random function operation matches c 3 . If the validity can be confirmed, the obtained plaintext is regarded as information corresponding to the ciphertext.
REACT enables the application of stochastic cryptography, guarantees high security, and uses a common key cryptosystem to encrypt plaintext and does not use public key cryptography, so the length of plaintext that can be transmitted in one ciphertext , And high communication efficiency can be realized.
[0007]
[Non-patent document 1]
T. Okamoto and D.M. Pointcheval, "REACT: Rapid Enhanced-Security Asymmetric Cryptosystem Transform" The Cryptographer's Track at RSA Conference, LNCS, Springer-200
[0008]
[Problems to be solved by the invention]
REACT includes a ciphertext c 1 obtained by the public key cryptosystem, if complete common key cipher text c 2 obtained by the encryption method calculation, the calculation of the information c 3 for use in the inspection of the validity of the ciphertext There was a problem that the processing could not be started and the processing speed was slow.
An object of the present invention is to provide a cipher that is resistant to active attacks using a public key cryptosystem of general stochastic cryptography, has good communication efficiency using a common key cryptosystem, and can calculate ciphertext at high speed by parallel processing. It is an object of the present invention to provide a decoding device, a decoding device thereof, a processing method of these devices, and a program.
[0009]
[Means for Solving the Problems]
According to the processing method of the encryption device of the present invention, a random number R and r are generated, the random number R is made into a plaintext, and a cryptographic text C is generated by performing encryption with a public key and a public key together with the random number r, The k-bit random number is randomized by a random function G to generate an s-bit secret key symK, and the random number R and plaintext M are randomized by a random function H to generate data W of a fixed number of bits. And the plaintext M are bit-connected, the bit-connected data is encrypted with the secret key symK by a common encryption method to generate a ciphertext S, and the ciphertext C and the ciphertext S are bit-connected and encrypted. Outputs statement Y.
[0010]
According to the processing method of the encryption / decryption device of the present invention corresponding to the processing method of the encryption device, the input cipher text Y is bit-separated into the cipher text S and the cipher text C, and the cipher text C is divided by the secret key pk. A public key cryptosystem is decrypted to generate a random number R, the k-bit random number R is randomized by a random function G to generate an s-bit secret key symK, and a secret key cryptosystem is decrypted using the secret key symK. Is performed on the ciphertext S, the decrypted result is bit-separated into a plaintext M and data W, and the random number R and the plaintext M are randomized by a random function H to generate data W ′ having a fixed number of bits. If W 'and the data W are compared and equal, the plaintext M is output.
[0011]
According to another aspect of the encryption apparatus processing method of the present invention, in the above-described method, the plaintext M is encrypted with the secret key symK into the ciphertext S without performing bit concatenation, and the ciphertext S and the ciphertext C are combined. The data W and the data W are bit-connected to form an output ciphertext Y. Others are the same as the above-mentioned method.
In the processing method of the decryption device corresponding to this processing method, in the decryption device processing method described above, the input ciphertext Y is bit-separated into the ciphertext S, the ciphertext C, and the data W, and the ciphertext S is decrypted with the secret key symK. The result is directly used as plaintext M, and data W ′ obtained by randomization with a random function is compared with bit-separated data W. Others are the same as the above-mentioned method.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
The encryption device according to the present invention forms a plaintext M into a ciphertext Y, and the ciphertext Y is decrypted by the encryption / decryption device according to the present invention to obtain a plaintext M. In the configuration of this cryptographic system, a public key cryptosystem and a common key cryptosystem of stochastic cryptography to be used are determined. As the common key cryptosystem, AES, Camellia or a secret key is set to the same length as plain text, and the secret key is used. A method of taking the exclusive OR of the data and the plaintext can be used. The public key of the public key cryptosystem is pk and the secret key is sk. Further, a random function H for converting data of an arbitrary size into data of a specific size and a random function G for converting k-bit data to s bits are used. These random functions H and G are, for example, SHA or the like. A hash function, a specific example of which is given in the above-mentioned OAEP paper. The s bits of the function value of the random function G are equal to the bit length of the secret key symK, for example, about 100 bits or 200 bits when the symmetric key cryptosystem to be used is determined. The fixed bit number n is, for example, approximately equal to the bit length of the secret key symK. The number of bits of the random number r is in a range limited by the public key cryptosystem used.
[0013]
First Embodiment FIG. 1 shows an example of a functional configuration of an encryption device according to a first embodiment of the present invention, and the configuration and a processing method of this device will be described below. The plaintext M to be encrypted is stored in the
To generate the ciphertext Y for the plaintext M, first, the
These random numbers R and r are input to the
[0014]
On the other hand, in parallel with the public key encryption operation, the random number R is input to the
In parallel with these processes, the plaintext M and the random number R are input to the
The secret key symK and the bit connection M と W in the
The ciphertext S in the
[0015]
An
[0016]
Next, FIG. 2 shows a functional configuration example of the encryption / decryption device with respect to the encryption device shown in FIG. 1, and the configuration and processing method will be described below.
The ciphertext Y input to the encryption / decryption device is bit-separated into ciphertexts S and C using a
[0017]
The secret key symK and the ciphertext S read from the
The plaintext M and the random number R between the
[0018]
If they are not equal, nothing is output, or "verification failed" is output, and if they are equal, the plaintext M in the
An
[0019]
Second Embodiment FIG. 3 shows an example of a functional configuration of an encryption device according to a second embodiment of the present invention, where parts corresponding to those in FIG. 1 are denoted by the same reference numerals. Duplicate description is omitted. In the second embodiment, the
[0020]
FIG. 4 shows the functional configuration of the encryption / decryption device according to the second embodiment by assigning the same reference numerals to parts corresponding to those in FIG. 2, and a duplicate description will be omitted. FIG. 4 is different from FIG. 2 in that the
The input ciphertext Y is bit-separated by the separating
[0021]
1 and 3 can be operated by a computer. In this case, an encryption device processing program for causing a computer to execute the steps of the above-described processing method of the device is installed from a recording medium such as a CD-ROM or a magnetic disk, or into the computer via a communication line. Then, the program may be executed by the computer. Similarly, the encryption / decryption devices shown in FIGS. 2 and 4 may be operated by a computer. In this case as well, an encryption / decryption device processing program for causing a computer to execute each step of the above-described processing method of this device may be used.
[0022]
【The invention's effect】
As described above, according to the present invention, by using the random function, the person who decrypts the ciphertext Y can verify whether the sender knows the value of the plaintext which is the decryption result of the ciphertext Y. . Therefore, when the verification of the decryption process is passed, it is possible to confirm that the sender knows the value of the plaintext M which is the decryption result of the ciphertext Y, so that the encryption method that can guarantee the security against an active attack is also possible. It has become.
In terms of communication efficiency, similar to REACT, the plaintext M to be transmitted is not encrypted by the public key encryption method, and the plaintext M is encrypted by the common key encryption method. There is no restriction on the length of the plaintext M that can be transmitted.
[0023]
Further, in general, the operation amount of the public key encryption (E pk , D sk ) is larger than the operation amount of the secret key encryption (sym E sym K , sym D sym k ) and the functions G and H. In the processing, all other information used for the cipher text can be calculated by performing parallel processing in the process of calculating the public key encryption (E pk , D sk ). That is, the amount of cryptographic operation on plaintext in the present invention is equal to the amount of operation of public key cryptography (E pk , D sk ). In other words, according to the present invention, the generation of the ciphertext S and the ciphertext C and the data W required for verification are performed in parallel, thereby eliminating the calculation waiting time, performing the encryption processing at high speed, and improving the security. It is possible to do.
[0024]
Moreover when the ciphertext S and C is generated, since the information used to verify the validity of the ciphertext is generated, the verification of the validity of the ciphertext after ciphertext c 1 and c 2 are obtained it is possible to generate a ciphertext Y in a shorter time than REACT to generate information c 3 used.
In the first embodiment, the encryption processing is performed by the
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a functional configuration of an encryption device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a functional configuration example of the encryption / decryption device according to the first embodiment of the present invention.
FIG. 3 is a diagram showing an example of a functional configuration of an encryption device according to a second embodiment of the present invention.
FIG. 4 is a diagram illustrating an example of a functional configuration of an encryption / decryption device according to a second embodiment of the present invention.
Claims (10)
乱数Rとrを生成する過程と、
上記乱数Rを平文とし、上記乱数rと共に上記公開鍵で公開鍵暗号方式により暗号化してその暗号文Cを記憶部に記憶する過程と、
kビットのデータをsビットのデータに変換するランダム関数で上記乱数Rをランダム化して秘密鍵 symKを生成して記憶部に記憶する過程と、
任意のサイズのデータを特定のサイズのデータに変換するランダム関数で上記乱数Rと平文Mをランダム化してデータWを生成する過程と、
上記データWと上記平文Mをビット連結する過程と、
上記ビット連結したデータを上記秘密鍵 symKで共通暗号化方式により暗号化して暗号文Sを生成して記憶部に記憶する過程と、
上記暗号文Cと上記暗号文Sをビット連結して暗号文Yを出力する過程と
を有する暗号化装置処理方法。A processing method of an encryption device that inputs a plaintext M and a public key of a public key encryption method to an encryption device and outputs a ciphertext,
Generating random numbers R and r;
A process in which the random number R is plaintext, and the random number r is encrypted together with the public key using the public key by a public key cryptosystem, and the encrypted text C is stored in a storage unit;
a process of randomizing the random number R with a random function for converting k-bit data to s-bit data to generate a secret key symK and storing it in a storage unit;
A process of randomizing the random number R and the plaintext M with a random function that converts data of an arbitrary size into data of a specific size to generate data W;
Bit concatenating the data W and the plaintext M;
Encrypting the bit-connected data with the secret key symK by a common encryption method to generate a ciphertext S and storing it in a storage unit;
Outputting the ciphertext Y by bit-concatenating the ciphertext C and the ciphertext S.
上記暗号文Yを暗号文Sと暗号文Cとにビット分離して記憶部に記憶する過程と、
上記暗号文Cに対し上記秘密鍵pkで公開鍵暗号方式の復号を行って乱数Rを生成し記憶部に記憶する過程と、
kビットのデータをsビットのデータに変換するランダム関数で上記乱数Rをランダム化して秘密鍵 symKを生成する過程と、
上記秘密鍵 symKで共通鍵暗号方式の復号を上記暗号文Sに行う過程と、
上記共通鍵暗号方式の復号結果を平文MとデータWとにビット分離して記憶部に記憶する過程と、
任意のサイズのデータを特定のサイズのデータに変換するランダム関数で上記乱数Rと上記平文Mをランダム化してデータW′を生成する過程と、
上記データW′と上記データWを比較して等しければ上記平文Mを出力する過程と
を有する暗号復号装置処理方法。The processing method of the above-described apparatus, in which a ciphertext Y is input to an encryption / decryption apparatus that holds a secret key pk of a public key cryptosystem and a plaintext M is output,
A step of separating the ciphertext Y into a ciphertext S and a ciphertext C by bit separation and storing them in a storage unit
Decrypting the ciphertext C with the secret key pk using a public key cryptosystem to generate a random number R and storing the random number R in a storage unit;
generating a secret key symK by randomizing the random number R with a random function that converts k-bit data into s-bit data;
Performing decryption of the common key cryptosystem on the ciphertext S with the secret key symK;
A step of separating the decryption result of the common key cryptosystem into plaintext M and data W and storing the result in a storage unit;
A process of randomizing the random number R and the plaintext M with a random function for converting data of an arbitrary size into data of a specific size to generate data W ′;
Comparing the data W 'with the data W and outputting the plaintext M if they are equal.
上記乱数R及びrと公開鍵が入力され、上記乱数R及びrに対し上記公開鍵により公開鍵暗号方式の暗号化演算を行い暗号文Cを出力する第1暗号化部と、
上記乱数Rが入力され、この乱数Rに対しランダム関数を演算すると共にkビットのデータをsビットのデータに変換して秘密鍵 symKを出力する第1関数演算部と、
平文Mと上記乱数Rが入力され、これらに対しランダム関数を演算して一定のビット数のデータWを出力する第2関数演算部と、
上記平文Mと上記データWが入力され、これらをビット連結して出力する第1連結部と、
上記連結部の出力と上記秘密鍵 symKが入力され、上記連結部の出力に対し、上記秘密鍵 symKで共通鍵暗号方式の暗号化演算を行い暗号文Sを出力する第2暗号化部と、
上記暗号文Cと上記暗号文Sが入力され、これらをビット連結して暗号文Yを出力する第2連結部と
を具備する暗号化装置。A random number generation unit that generates random numbers R and r;
A first encryption unit that receives the random numbers R and r and a public key, performs an encryption operation of the public key cryptosystem on the random numbers R and r with the public key, and outputs a ciphertext C;
A first function calculator that receives the random number R, calculates a random function for the random number R, converts k-bit data into s-bit data, and outputs a secret key symK;
A second function operation unit that receives the plaintext M and the random number R, calculates a random function on these, and outputs data W having a fixed number of bits;
A first connection unit to which the plaintext M and the data W are input, and that these are bit-connected and output;
A second encryption unit to which an output of the connection unit and the secret key symK are input, and an encryption operation of a common key encryption method is performed on the output of the connection unit with the secret key symK to output a ciphertext S;
A ciphering apparatus comprising: a ciphertext C and a ciphertext S that are input; and a second linking unit that bit-concatenates them and outputs ciphertext Y.
上記暗号文Cが入力され、これに対し上記秘密鍵pkで公開鍵暗号方式の復号演算を行って乱数Rを生成する第1復号部と、
上記乱数Rが入力され、これに対しkビットのデータをsビットのデータに変換するランダム関数演算を行って秘密鍵 symKを生成する第1関数演算部と、
上記暗号文S及び上記秘密鍵 symKが入力され、その暗号文Sに対し上記秘密鍵で共通鍵暗号方式の復号演算を行う第2復号部と、
上記第2復号部よりの復号演算結果が入力され、これを平文MとデータWとにビット分離する分離部と、
上記平文Mと上記乱数Rが入力され、これらに対し任意のサイズのデータを特定のサイズのデータに変換するランダム関数演算を行ってデータW′を生成する第2関数演算部と、
上記データW′と上記データWが入力され、これらを比較して等しければ上記平文Mを出力する比較部と
を具備する暗号復号装置。A separation unit that performs bit separation of the input ciphertext Y into a ciphertext S and a ciphertext C;
A first decryption unit that receives the ciphertext C and performs a decryption operation of the public key cryptosystem on the secret key pk to generate a random number R;
A first function operation unit that receives the random number R and performs a random function operation for converting k-bit data into s-bit data to generate a secret key symK;
A second decryption unit that receives the ciphertext S and the secret key symK and performs a decryption operation on the ciphertext S with the secret key using a common key cryptosystem;
A separating unit which receives a decoding operation result from the second decoding unit and separates the result into plaintext M and data W;
A second function operation unit that receives the plaintext M and the random number R, performs a random function operation for converting data of an arbitrary size into data of a specific size, and generates data W ′;
An encryption / decryption device comprising: the data W ′ and the data W; and a comparison unit that compares the data W and outputs the plaintext M if they are equal.
乱数Rとrを生成する過程と、
上記乱数Rを平文とし上記乱数rと共に上記公開鍵で公開鍵暗号方式により暗号化してその暗号文Cを記憶部に記憶する過程と、
kビットのデータをsビットのデータに変換するランダム関数で上記乱数Rをランダム化して秘密鍵 symKを生成して記憶部に記憶する過程と、
任意のサイズのデータを特定のサイズのデータに変換するランダム関数で上記乱数Rと平文Mをランダム化してデータWを生成する過程と、
上記平文Mを上記秘密鍵 symKで共通暗号化方式により暗号化して暗号文Sを生成して記憶部に記憶する過程と、
上記暗号文Cと上記暗号文Sと上記データWをビット連結して暗号文Yを出力する過程と
を有する暗号化装置処理方法。A processing method of an encryption device that inputs a plaintext M and a public key of a public key encryption method to an encryption device and outputs a ciphertext,
Generating random numbers R and r;
Converting the random number R into plain text, encrypting the random number r with the public key using the public key by a public key cryptosystem, and storing the encrypted text C in a storage unit;
a process of randomizing the random number R with a random function for converting k-bit data to s-bit data to generate a secret key symK and storing it in a storage unit;
A process of randomizing the random number R and the plaintext M with a random function that converts data of an arbitrary size into data of a specific size to generate data W;
Encrypting the plaintext M with the secret key symK by a common encryption method to generate a ciphertext S and storing it in a storage unit;
Encrypting the ciphertext C, the ciphertext S, and the data W, and outputting a ciphertext Y.
上記暗号文Yを暗号文Sと暗号文CとデータWとにビット分離して記憶部に記憶する過程と、
上記暗号文Cに対し上記秘密鍵pkで公開鍵暗号方式の復号を行って乱数Rを生成し記憶部に記憶する過程と、
kビットのデータをsビットのデータに変換するランダム関数で上記乱数Rをランダム化して秘密鍵 symKを生成する過程と、
上記秘密鍵 symKで共通鍵暗号方式の復号を上記暗号文Sに行って平文Mを得る過程と、
任意のサイズのデータを特定のサイズのデータに変換するランダム関数で上記乱数Rと上記平文Mをランダム化してデータW′を生成する過程と、
上記データW′と上記データWを比較して等しければ上記平文Mを出力する過程と
を有する暗号復号装置処理方法。The processing method of the above-described apparatus, in which a ciphertext Y is input to an encryption / decryption apparatus that holds a secret key pk of a public key cryptosystem and a plaintext M is output,
A process of separating the ciphertext Y into a ciphertext S, a ciphertext C, and data W and separating the ciphertext Y into a storage unit;
Decrypting the ciphertext C with the secret key pk using a public key cryptosystem to generate a random number R and storing the random number R in a storage unit;
generating a secret key symK by randomizing the random number R with a random function that converts k-bit data into s-bit data;
Decrypting the ciphertext S with the secret key symK on the ciphertext S to obtain a plaintext M;
A process of randomizing the random number R and the plaintext M with a random function for converting data of an arbitrary size into data of a specific size to generate data W ′;
Comparing the data W 'with the data W and outputting the plaintext M if they are equal.
上記乱数R及びrと公開鍵が入力され、上記乱数Rを平文とし乱数rと共に上記公開鍵により公開鍵暗号方式の暗号化演算を行い暗号文Cを出力する第1暗号化部と、
上記乱数Rが入力され、この乱数Rに対しランダム関数を演算すると共にkビットのデータをsビットのデータに変換して秘密鍵 symKを出力する第1関数演算部と、
平文Mと上記乱数Rが入力され、これらに対しランダム関数を演算して一定のビット数のデータWを出力する第2関数演算部と、
上記平文Mと上記秘密鍵 symKが入力され、上記平文Mに対し、上記秘密鍵 symKで共通鍵暗号方式の暗号化演算を行い暗号文Sを出力する第2暗号化部と、
上記暗号文Cと上記暗号文Sと上記データWが入力され、これらをビット連結して暗号文Yを出力する連結部と
を具備する暗号化装置。A random number generation unit that generates random numbers R and r;
A first encryption unit that receives the random numbers R and r and a public key, performs the encryption operation of the public key cryptosystem using the random number R as a plaintext, and the public key together with the random number r, and outputs a ciphertext C;
A first function calculator that receives the random number R, calculates a random function for the random number R, converts k-bit data into s-bit data, and outputs a secret key symK;
A second function operation unit that receives the plaintext M and the random number R, calculates a random function on these, and outputs data W having a fixed number of bits;
A second encryption unit that receives the plaintext M and the secret key symK, performs an encryption operation on the plaintext M with the secret key symK using a common key encryption method, and outputs a ciphertext S;
An encryption apparatus comprising: a coupling unit to which the ciphertext C, the ciphertext S, and the data W are input, bit-concatenating these, and outputting a ciphertext Y.
上記暗号文Cが入力され、これに対し秘密鍵pkで公開鍵暗号方式の復号演算を行って乱数Rを生成する第1復号部と、
上記乱数Rが入力され、これに対し、kビットのデータをsビットのデータに変換するランダム関数演算を行って秘密鍵 symKを生成する第1関数演算部と、
上記秘密鍵 symKと上記暗号文Sが入力され、暗号文Sに対し上記秘密鍵 symKで共通鍵暗号方式の復号演算を行って平文Mを生成する第2復号部と、
上記平文Mと上記乱数Rが入力され、これらに対し、任意のサイズのデータを特定のサイズのデータに変換するランダム関数演算を行ってデータW′を生成する第2関数演算部と、
上記データW′と上記データWが入力され、これらを比較して等しければ上記平文Mを出力する比較部と
を具備する暗号復号装置。A separation unit that performs bit separation on the input ciphertext Y into data W, ciphertext S, and ciphertext C;
A first decryption unit that receives the ciphertext C and performs a decryption operation of a public key cryptosystem on the secret key pk to generate a random number R;
A first function operation unit that receives the random number R and performs a random function operation for converting k-bit data into s-bit data to generate a secret key symK;
A second decryption unit that receives the secret key symK and the ciphertext S, performs a decryption operation on the ciphertext S with the secret key symK using a common key cryptosystem, and generates a plaintext M;
A second function operation unit that receives the plaintext M and the random number R, and performs a random function operation to convert data of an arbitrary size into data of a specific size to generate data W ′;
An encryption / decryption device comprising: the data W ′ and the data W; and a comparison unit that compares the data W and outputs the plaintext M if they are equal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003145233A JP2004347885A (en) | 2003-05-22 | 2003-05-22 | Encryption device processing method, encryption / decryption device processing method, these devices and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003145233A JP2004347885A (en) | 2003-05-22 | 2003-05-22 | Encryption device processing method, encryption / decryption device processing method, these devices and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004347885A true JP2004347885A (en) | 2004-12-09 |
Family
ID=33532469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003145233A Pending JP2004347885A (en) | 2003-05-22 | 2003-05-22 | Encryption device processing method, encryption / decryption device processing method, these devices and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004347885A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006079277A1 (en) * | 2005-01-25 | 2006-08-03 | Pakkay Yuen | Secure encryption system, device and method |
KR100709758B1 (en) | 2005-06-04 | 2007-04-19 | 원광대학교산학협력단 | Hybrid Encryption System |
KR101850929B1 (en) | 2017-02-28 | 2018-05-30 | 주식회사 앱소위즈 | Authentication system using location information and th method thereof |
-
2003
- 2003-05-22 JP JP2003145233A patent/JP2004347885A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006079277A1 (en) * | 2005-01-25 | 2006-08-03 | Pakkay Yuen | Secure encryption system, device and method |
US7751565B2 (en) | 2005-01-25 | 2010-07-06 | Pak Kay Yuen | Secure encryption system, device and method |
US8595508B2 (en) | 2005-01-25 | 2013-11-26 | Pak Kay Yuen | Method of secure encryption |
KR100709758B1 (en) | 2005-06-04 | 2007-04-19 | 원광대학교산학협력단 | Hybrid Encryption System |
KR101850929B1 (en) | 2017-02-28 | 2018-05-30 | 주식회사 앱소위즈 | Authentication system using location information and th method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7031580B2 (en) | Cryptographic device, encryption method, decryption device, and decryption method | |
CN101202623B (en) | Message verification code generation method, verification/encryption and verification/decryption method | |
US20080084996A1 (en) | Authenticated encryption method and apparatus | |
JP3998640B2 (en) | Encryption and signature method, apparatus and program | |
US7570759B2 (en) | System and method for secure encryption | |
JP2001007800A (en) | Encryption device and method | |
TW201044334A (en) | Encryption device, encryption method, and computer program | |
JP2004363739A (en) | Tamper-detectable encryption / decryption device for common key encryption | |
KR20040009766A (en) | Apparatus and method for transmitting and receiving in encryption system | |
WO2020095382A1 (en) | Authenticated encryption device, authenticated decryption device, authenticated encryption method, authenticated decryption method, authenticated encryption program, and authenticated decryption program | |
JP4867916B2 (en) | Shuffle decoding correctness proving apparatus and method, shuffle decoding verifying apparatus and method, program and recording medium | |
JP4843511B2 (en) | Broadcast encryption method, information decryption method, apparatus thereof, program thereof, and recording medium thereof | |
JP2004228916A (en) | Signature encryption method, device and program thereof | |
WO2021171543A1 (en) | Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, and storage medium | |
JP2004246350A (en) | Enciphering device, deciphering device, enciphering system equipped with the same, enciphering method, and deciphering method | |
JPH1117673A (en) | Common key encryption communication method and its communication network | |
JP2002344445A (en) | Shuffle-decoding system with certification and method therefor, and shuffle decoding verification method | |
JP7325689B2 (en) | Ciphertext conversion system, conversion key generation method, and conversion key generation program | |
JP5489115B2 (en) | Originality assurance device, originality assurance program, and recording medium for recording the program | |
CN116346336A (en) | A key distribution method and related system based on multi-layer key generation center | |
JP2004347885A (en) | Encryption device processing method, encryption / decryption device processing method, these devices and program | |
WO2012011455A1 (en) | Encryption device, decryption device, encryption method, decryption method, and computer program | |
JP5367023B2 (en) | Information encryption method, information encryption apparatus, program, and recording medium | |
JP3306384B2 (en) | Encryption device, decryption device, and program recording medium for public key encryption using random function | |
JP2000004223A (en) | Encryption/authentication system |