[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2003145233A
Other languages
Japanese (ja)
Inventor
Tatsuaki Okamoto
龍明 岡本
Kazuo Ota
和夫 太田
Yuichi Komano
雄一 駒野
Taro Yamazaki
太郎 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003145233A priority Critical patent/JP2004347885A/en
Publication of JP2004347885A publication Critical patent/JP2004347885A/en
Pending legal-status Critical Current

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として出力する。
【選択図】 図1
An 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を公開鍵暗号方式で暗号化したcと、rをランダム関数演算した関数値r′を共通鍵とする共通鍵暗号方式で平文を暗号化して得られた暗号文cとを、受信者に送信する。また暗号化処理において、暗号文の正当性を保証するため、平文、乱数r、公開鍵暗号方式により計算された暗号文c、共通鍵暗号方式により計算された暗号文cを、ランダム関数演算した関数値cを、検査用の情報として暗号文c,cに添付する。
【0006】
受信者はcを受信者の秘密鍵を用いて復号してrを求め、rをランダム関数演算してr′を求め、r′を共通鍵としてcから平文を復号する。復号処理が終わったら、復号で得られた平文、乱数rと、暗号文c,cを、ランダム関数演算して得られる関数値がcと一致するかの検査を行い、暗号文の正当性が確認できれば、得られた平文を暗号文に対応した情報とみなす。
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は、公開鍵暗号方式で得られる暗号文cと、共通鍵暗号方式で得られる暗号文cの計算が完了しなければ、暗号文の正当性の検査で用いる情報cの計算を開始できない、従って処理速度が遅いという問題があった。
この発明の目的は、一般的な確率暗号の公開鍵暗号方式を用いて能動的攻撃に強く、共通鍵暗号方式を用いて通信効率がよく、かつ並列処理により高速に暗号文の計算を行える暗号化装置、その復号装置、これら装置の処理方法、及びプログラムを提供することにある。
【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が生成された時は、暗号文の正当性の検証に用いる情報も生成されているため、暗号文cとcが得られた後に暗号文の正当性の検証に用いる情報cを生成する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 Document 1.
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 ciphertext c 1, c 2 as information for the examination.
[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 storage unit 101, and the public key pk of the public key cryptosystem is stored in the storage unit 102.
To generate the ciphertext Y for the plaintext M, first, the random number generator 103 generates a k-bit random number R and an m-bit random number r, and stores them in the storage units 104 and 105, respectively.
These random numbers R and r are input to the encryption unit 106 together with the public key pk, and a public key encryption operation of the probability encryption using the random number R as plain text is performed using the public key pk, and the encrypted text C = E pk (R, r) is obtained and stored in the storage unit 107.
[0014]
On the other hand, in parallel with the public key encryption operation, the random number R is input to the function operation unit 108, a function operation is performed on the random number R, R is randomized, and an s-bit secret key symK = G (R) is obtained and stored in the storage unit 109.
In parallel with these processes, the plaintext M and the random number R are input to the function operation unit 111, and the plaintext M and the random number R are subjected to a function operation to be randomized, and data W = H (M, R ) Is obtained and stored in the storage unit 112. The plaintext M and the data W are bit-connected by the linking unit 113 to create M‖W.
The secret key symK and the bit connection M と W in the storage unit 109 are input to the encryption unit 114, and a common key encryption encryption operation is performed on the plaintext M using the secret key symK, and the result of the encryption is obtained. The ciphertext S = symE symK (M‖W) is stored in the storage unit 115.
The ciphertext S in the storage unit 115 and the ciphertext C in the storage unit 107 are bit-connected by the linking unit 116 to generate a ciphertext Y = S‖C, which is output from the encryption device.
[0015]
An input unit 117 for inputting a plaintext M, a public key pk, and the like, a control unit 118 for operating each unit and reading / writing from / to each storage unit, and an output unit 119 for outputting a ciphertext Y are provided. All or a part of the storage units 101, 102, 104, 105, 107, 109, 112, and 115 may be used as a common storage unit. The storage units 104 and 105 are registers in the random number generation unit 103, the storage units 107 and 115 are registers in the encryption units 106 and 114, respectively, and the storage units 109 and 112 are registers in the function operation units 108 and 111, respectively. You may.
[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 separation unit 201 and stored in storage units 202 and 203, respectively. The secret key sk of the public key cryptosystem stored in the encryption unit C and the storage unit 204 is input to the decryption unit 205, and the ciphertext C is subjected to a public key encryption decryption operation using the secret key sk. A random number R = D sk (C) is obtained and stored in the storage unit 206. The function operation unit 207 performs a function operation on the random number R to randomize the random number R. As a result, an s-bit secret key symK = G (R) is generated and the symK is stored in the storage unit 208.
[0017]
The secret key symK and the ciphertext S read from the storage unit 202 are input to the decryption unit 211, and the ciphertext S is subjected to a public key decryption operation using the secret key symK, and as a result, data M デ ー タ W = symD Obtain symK (S). The data M‖W of the decryption result is bit-separated into plaintext M and data W by the separation unit 212 and stored in the storage units 213 and 214, respectively.
The plaintext M and the random number R between the storage unit 206 are input to the function operation unit 215, and the random number H is calculated by performing a random function H on them, thereby generating an n-bit function value. The comparison unit 216 compares the function value H (M, R) with the data W in the storage unit 214, and verifies whether or not they are equal to each other.
[0018]
If they are not equal, nothing is output, or "verification failed" is output, and if they are equal, the plaintext M in the storage unit 213 is output as a decryption result of the ciphertext Y.
An input unit 217 for ciphertext Y, an output unit 218 for outputting plaintext M, rejection, etc., and a control unit 219 for operating each unit and reading and writing each storage unit are provided. A plurality of or all of the storage units may be used in common, or may be registers in each operation unit or decoding unit.
[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 connection unit 113 in FIG. 1 is omitted, and the random number generation unit 103 generates random numbers R and r, generates a ciphertext C, and generates a secret key symK as in the first embodiment. And then generates data W. In the second embodiment, the plaintext M is not bit-concatenated with the data W, but the encryption unit 114 performs a common key encryption operation using the secret key symK, and the result of the encryption is ciphertext S = symE symK ( M) is stored in the storage unit 115. In the linking unit 116, not only the ciphertexts S and C but also the data W are bit-connected and output as ciphertext Y = S と し て W‖C.
[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 separation unit 212 is omitted.
The input ciphertext Y is bit-separated by the separating unit 201 into not only the ciphertext S and the ciphertext C but also the data W, and the data W is stored in the storage unit 214. As in the first embodiment, the ciphertext C is decrypted, the secret key symK is generated, and the ciphertext S is subjected to the common key encryption / decryption operation using the secret key symK. In the second embodiment, the result of decryption by the secret key symK is used as plaintext M without bit separation, and a function operation H is performed on the plaintext M and a random number R. The result H (M, R) The comparison unit 216 compares the data W, which has been bit-separated by the separation unit 201, and outputs nothing or outputs “failure in verification” if they are not equal, and encrypts the plaintext M in the storage unit 213 if they are equal. Output as the result of decrypting sentence Y.
[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 encryption unit 114 after the data W is obtained. In the second embodiment, when the entire processing is started, the encryption processing is directly performed on the plaintext M. , The processing time can be shortened accordingly. Assuming that the length of the plaintext M is t bits, the input bit length of the function operation unit 111 is t + k, but the REACT is 2t + 2k. The present invention is also advantageous in this regard.
[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)

平文Mと公開鍵暗号方式の公開鍵を暗号化装置に入力して、暗号文を出力させる暗号化装置の処理方法であって、
乱数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.
公開鍵暗号方式の秘密鍵pkを保持している暗号復号装置に暗号文Yを入力して、平文Mを出力させる上記装置の処理方法であって、
上記暗号文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と公開鍵が入力され、上記乱数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.
入力された暗号文Yを暗号文Sと暗号文Cとにビット分離する分離部と、
上記暗号文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.
平文Mと公開鍵暗号方式の公開鍵を暗号化装置に入力して、暗号文を出力させる暗号化装置の処理方法であって、
乱数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.
公開鍵暗号方式の秘密鍵pkを保持している暗号復号装置に暗号文Yを入力して、平文Mを出力させる上記装置の処理方法であって、
上記暗号文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と公開鍵が入力され、上記乱数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.
入力された暗号文YをデータWと暗号文Sと暗号文Cとにビット分離する分離部と、
上記暗号文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.
請求項1又は5に記載した暗号化装置処理方法の各過程をコンピュータに実行させるためのプログラム。A program for causing a computer to execute each step of the encryption device processing method according to claim 1. 請求項2又は6に記載した暗号復号装置処理方法の各過程をコンピュータに実行させるためのプログラム。A program for causing a computer to execute each step of the encryption / decryption device processing method according to claim 2.
JP2003145233A 2003-05-22 2003-05-22 Encryption device processing method, encryption / decryption device processing method, these devices and program Pending JP2004347885A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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