JP6386198B1 - 暗号化装置及び復号装置 - Google Patents
暗号化装置及び復号装置 Download PDFInfo
- Publication number
- JP6386198B1 JP6386198B1 JP2017561789A JP2017561789A JP6386198B1 JP 6386198 B1 JP6386198 B1 JP 6386198B1 JP 2017561789 A JP2017561789 A JP 2017561789A JP 2017561789 A JP2017561789 A JP 2017561789A JP 6386198 B1 JP6386198 B1 JP 6386198B1
- Authority
- JP
- Japan
- Prior art keywords
- value
- encryption
- ciphertext
- unit
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
Abstract
Description
暗号化関数は、秘密鍵Kと、初期パラメータNと、公開データHと、平文Mとを入力とし、暗号文Cと改ざん検知用の認証子Tとを出力する関数である。なお、初期パラメータNは暗号化毎に異なる値が用いられる。
復号関数は、秘密鍵Kと、初期パラメータNと、公開データHと、暗号文Cと、改ざん検知用の認証子Tとを入力とし、暗号文C等が改ざんされていない場合平文Mを出力し、改ざんされている場合、平文を出力しない関数である。
なお、秘密鍵Kは、事前にAliceとBobとで共有されている。また、公開データHは公開してもよい値である。公開データHは、無くても構わない。
ブロック暗号の暗号化関数Eは、kビットの鍵KEとnビットの平文mとを入力とし、nビットの暗号文cを出力する関数である。これをc=E(KE,m)と書く。ブロック暗号の復号関数Dは、kビットの鍵KEとnビットの暗号文cとを入力とし、nビットの平文mを出力する関数である。これをm=D(KE,c)と書く。ブロック暗号の平文m及び暗号文cのサイズnはブロックサイズと呼ばれる。ブロック暗号の暗号化関数E及び復号関数Dは、鍵KEを固定するとnビットの置換関数となり、鍵を変えると別の置換関数となる。
この構成法は、ブロック暗号を用いてtweakableブロック暗号を設計するステップ1と、tweakableブロック暗号を用いて認証暗号アルゴリズムを設計するステップ2とからなる。そして、ステップ1とステップ2とを組み合わせることで認証暗号アルゴリズムが得られる。
tweakableブロック暗号の暗号化関数TEは、kビットの鍵KTEと、tビットのtweak値TWと、nビットの平文mとを入力とし、nビットの暗号文cを出力する関数である。これをc=TE(KTE,TW,m)と書く。tweakableブロック暗号の復号関数TDは、kビットの鍵KTEと、tビットのtweak値TWと、nビットの暗号文cとを入力とし、nビットの平文mを出力する関数である。これをm=TD(KTE,TW,c)と書く。
tweakableブロック暗号の暗号化関数TEと復号関数TDとは、鍵KTEとtweak値TWとを固定するとnビットの置換関数となり、鍵KTEとtweak値TWとの少なくともいずれかを変えると別の置換関数となる。tweakableブロック暗号もブロック暗号と同様に、平文m及び暗号文cのサイズnはブロックサイズと呼ばれる。
almost XOR universalハッシュ関数は、鍵付きのハッシュ関数である。以下、almost XOR universalハッシュ関数の鍵をKhと書き、入力TWに対するalmost XOR universalハッシュ関数の演算をh(Kh,TW)と書く。
LRWの暗号化関数は、kビットの鍵Kと、tビットのtweak値TWと、nビットの平文mとを入力とし、数1により、nビットの暗号文cを計算する。
初期パラメータNは、暗号化毎に異なる値である。内部パラメータctrは、認証暗号アルゴリズム内部で用いられるパラメータで、1回の暗号化関数の演算内または1回の復号関数の演算内ではtweakableブロック暗号を呼び出す毎に違う値が使われる。すなわち、almost XOR universalハッシュ関数の入力値は、認証暗号アルゴリズムの暗号化関数で呼び出されるブロック暗号毎に別の値となり、その出力値も異なる値となる。
非特許文献1で示されている通り、認証暗号アルゴリズム内で呼び出されるブロック暗号の総呼び出し回数をσとすると、LRWを用いたrate−1の認証暗号アルゴリズムはε=O(σ2/2n)となる。この確率はバースデーバウンドと呼ばれる。
この発明は、上界値εをバースデーバウンドより小さくし、かつ、Tweakableブロック暗号演算で呼び出されるブロック暗号の演算回数が1回となる暗号アルゴリズムを構成可能にすることを目的とする。
認証暗号における暗号化装置であり、
初期パラメータNに応じてブロック暗号の暗号化関数Eの鍵Kを生成する鍵生成部と、
内部パラメータctrを入力としてハッシュ値mskを計算するハッシュ計算部と、
前記鍵生成部によって生成された鍵Kと、前記ハッシュ計算部によって計算されたハッシュ値mskと、メッセージmとを入力として、前記暗号化関数Eを用いて、前記メッセージmの暗号文cを生成する暗号化部と
を備える。
***構成の説明***
暗号システム1は、1つ以上の暗号化装置10と、1つ以上の復号装置30とを備える。暗号化装置10と復号装置30とは、ネットワークを介して接続されており、通信可能になっている。
1つの装置が、暗号化装置10と復号装置30との両方の機能を有していてもよい。
暗号化装置10は、処理回路11を備える。処理回路11は、鍵生成部21と、ハッシュ計算部22と、暗号化部23と、分割部24と、暗号文生成部25と、認証子生成部26とを備える。暗号化部23は、第1置換部27と、ブロック暗号計算部28と、第2置換部29とを備える。処理回路11は、鍵生成部21と、ハッシュ計算部22と、暗号化部23と、分割部24と、暗号文生成部25と、認証子生成部26と、第1置換部27と、ブロック暗号計算部28と、第2置換部29との各機能を実現する専用の電子回路である。
復号装置30は、処理回路31を備える。処理回路31は、鍵生成部41と、ハッシュ計算部42と、復号部43と、分割部44と、平文生成部45と、検証部46とを備える。復号部43は、第1置換部47と、ブロック暗号計算部48と、第2置換部49とを備える。処理回路31は、鍵生成部41と、ハッシュ計算部42と、復号部43と、分割部44と、平文生成部45と、第1置換部47と、ブロック暗号計算部48と、第2置換部49との各機能を実現する専用の電子回路である。
各機能を1つの処理回路11又は処理回路31で実現してもよいし、各機能を複数の処理回路11又は複数の処理回路31に分散させて実現してもよい。
図4から図20を参照して、実施の形態1に係る暗号システム1の動作を説明する。
実施の形態1に係る暗号化装置10の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置10の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
実施の形態1に係る復号装置30の動作は、実施の形態1に係る復号方法に相当する。また、実施の形態1に係る復号装置30の動作は、実施の形態1に係る復号プログラムの処理に相当する。
以下の説明では、初期パラメータNの取り得る全空間をSet(N)とし、内部パラメータctrの取り得る全空間をSet(ctr)とする。初期パラメータNと内部パラメータctrとは、公開されていてもよい。
(ステップS11:鍵生成処理)
鍵生成部21は、第1Tweak値TW1の入力を受け付ける。鍵生成部21は、第1Tweak値TW1に応じて暗号化関数Eのkビットの鍵Kを生成する。なお、第1Tweak値TW1は、認証暗号アルゴリズムでは、初期パラメータNである。そのため、鍵生成部21は、認証暗号アルゴリズムでは、初期パラメータNに応じて暗号化関数Eのkビットの鍵Kを生成する。
具体的には、鍵生成部21は、第1Tweak値TW1と、kビットの鍵Kfとを入力として、kビットの値の集合{0,1}kを出力する鍵付き関数fを用いる。鍵生成部21は、復号装置30との間で事前に共有された鍵Kfと、第1Tweak値TW1とを入力として、鍵付き関数fにより、kビットの鍵Kを生成する。
almost universalハッシュ関数とは、鍵Kfと2つの異なる入力値TW1,TW1’とに対し、f(Kf,TW1)=f(Kf,TW1’)となる確率が非常に小さく、かつ、鍵Kfと、入力値TW1と、kビットの値yとに対し、f(Kf,TW1)=yとなる確率が非常に小さい関数のことである。具体的には、これらの確率がO(1/2n)以下の確率となる関数を使用することが望ましい。
鍵付き関数fは、E(Kf,0||TW1),E(Kf,1||TW1),...,E(Kf,(i−1)||TW1)を結合し、このうち所定のkビットを鍵Kとする関数であってもよい。なお、||をビット結合を表す演算子である。例えば、000||111は、ビット列000111と等しい。また、鍵付き関数fは、鍵Kfと第1Tweak値TW1との排他的論理和を鍵Kとする関数であってもよい。但し、この場合、第1Tweak値TW1はkビットの値で0n(0のnビット列)以外の値とする。また、鍵付き関数fは、E(Kf,0||TW1) xor E(Kf,1||TW1),...,E(Kf,0||TW1) xor E(Kf,i||TW1)を結合し、このうち所定のkビットを鍵Kとする関数であってもよい。なお、j||TW1はnビットの値である。jのビット長は0からiまでの値を2進数で表現可能な長さであり、TW1の長さは残りのビット長である。
ハッシュ計算部22は、第2Tweak値TW2の入力を受け付ける。ハッシュ計算部22は、内部パラメータctrと、復号装置30との間で事前に共有されたkビットの鍵Khとを入力としてハッシュ関数hによりnビットのハッシュ値mskを計算する。なお、第2Tweak値TW2は、認証暗号アルゴリズムでは、内部パラメータctrである。
ハッシュ関数hは、第2Tweak値TW2と、鍵Khとを入力として、nビットの値の集合{0,1}nを出力する関数である。具体的には、ハッシュ関数hは、almost XOR universalハッシュ関数である。例えば、ハッシュ関数hとして、特許文献2に記載されたpowering−up法と、特許文献3,4に記載されたgray−code法と、非特許文献5に記載されたLFSR法と等を用いることができる。
なお、関数fの鍵Kfと関数hの鍵Khは同じでもよいし、異なってもよい。なお、ここでは、ハッシュ関数hは、初期パラメータNを入力としていない。しかし、ハッシュ関数hは、初期パラメータNを入力としてもよい。
暗号化部23は、ステップS11で鍵生成部21によって生成された鍵Kと、ステップS12でハッシュ計算部22によって計算されたハッシュ値mskと、メッセージmとを入力として、暗号化関数Eを用いて、メッセージmの暗号文cを生成する。
暗号化処理には、第1暗号化処理と第2暗号化処理との2つ種類の処理がある。後述する認証暗号アルゴリズムでは、原則として第1認証処理が用いられる。メッセージmの復号に復号関数TDを用いない場合に、第1暗号化処理に代えて第2暗号化処理を用いることが可能である。
(ステップS131−1:第1置換処理)
第1置換部27は、関数pに対して、ステップS12で計算されたハッシュ値mskと、メッセージmとを入力して値xを計算する。
関数pは、ハッシュ値mskとnビットの値αとを入力としてnビットの値βを出力する関数である。関数pは、ハッシュ値mskが固定されると、値αと値βとが置換の関係になる関数である。具体例としては、関数pは、2つの入力値の排他的論理和を計算する関数である。つまり、u=p(v,w)である場合に、uがvとwとの排他的論理和を計算した値である。また、他の具体例としては、関数pは、2つの値のビットを加算する関数である。つまり、u=p(v,w)である場合に、uがvとwとのnビットの加算をした値である。
ブロック暗号計算部28は、ステップS131−1で第1置換部27によって計算された値xと、ステップS11で計算された鍵Kとを入力として、暗号化関数Eにより、値yを計算する。
第2置換部29は、関数pに対して、ステップS12で計算されたハッシュ値mskと、ステップS132−1でブロック暗号計算部28によって計算された値yとを入力して暗号文cを計算する。関数pは、ステップS131−1で説明した関数である。
ステップS131−2からステップS132−2の処理は、図5のステップS131−1からステップS132−1の処理と同じである。但し、ステップS132−2では、ブロック暗号計算部28は、値yを暗号文cとして扱う。
つまり、第2暗号化処理は、第2置換処理を行わない点が第1暗号化処理と異なる。
(ステップS21:鍵生成処理)
鍵生成部41は、第1Tweak値TW1の入力を受け付ける。鍵生成部41は、図4のステップS11と同じ方法により、第1Tweak値TW1に応じて暗号化関数Eのkビットの鍵Kを生成する。
ハッシュ計算部42は、第2Tweak値TW2の入力を受け付ける。ハッシュ計算部42は、図4のステップS12と同じ方法により、第2Tweak値TW2を入力としてハッシュ関数hによりnビットのハッシュ値mskを計算する。
復号部43は、ステップS21で鍵生成部41によって生成された鍵Kと、ステップS22でハッシュ計算部42によって計算されたハッシュ値mskと、暗号文cとを入力として、復号関数Dを用いて、暗号文cを復号してメッセージmを生成する。
(ステップS231:第1置換処理)
第1置換部47は、ステップS133−1で使用された関数pの逆関数p−1に対して、ステップS22で計算されたハッシュ値mskと、暗号文cとを入力して値yを計算する。
ブロック暗号計算部48は、ステップS231で第1置換部47によって計算された値yと、ステップS21で計算された鍵Kとを入力として、復号関数Dにより、値xを計算する。
第2置換部49は、ステップS131−1で使用された関数pの逆関数p−1に対して、ステップS22で計算されたハッシュ値mskと、ステップS232でブロック暗号計算部48によって計算された値xとを入力してメッセージmを計算する。
認証暗号アルゴリズムは、第1暗号化アルゴリズムと、第1復号アルゴリズムと、第2暗号化アルゴリズムと、第2復号アルゴリズムと、認証子生成アルゴリズムと、検証アルゴリズムとを含む。
第1暗号化アルゴリズムは、メッセージMがnの倍数ビットである場合の暗号化アルゴリズムである。第1復号アルゴリズムは、暗号文Cがnの倍数ビットである場合の復号アルゴリズムである。第2暗号化アルゴリズムは、メッセージMがnの倍数ビットでない場合の暗号化アルゴリズムである。第2復号アルゴリズムは、暗号文Cがnの倍数ビットでない場合の復号アルゴリズムである。認証子生成アルゴリズムは、メッセージMの認証子Tを生成するアルゴリズムである。検証アルゴリズムは、認証子Tを検証するアルゴリズムである。
復号装置30は、暗号化装置10から送信された暗号文C及び認証子Tと、鍵Kcと、初期パラメータNとを入力として、暗号文Cを復号したメッセージMを生成するとともに、メッセージMが改ざんされているか否かを判定する。具体的には、復号装置30は、第1復号アルゴリズム、又は、第2復号アルゴリズムにより、メッセージMを生成し、検証アルゴリズムにより、メッセージMが改ざんされているか否かを判定する。
鍵Kcと、初期パラメータNと、内部パラメータctrと、メッセージmとを入力として、第1暗号化処理を用いる暗号化関数TEにより、暗号文cを生成する処理を、c=TEp(K,(N,ctr),m)と書く。また、鍵Kcと、初期パラメータNと、内部パラメータctrと、メッセージmとを入力として、第2暗号化処理を用いる暗号化関数TEにより、暗号文cを生成する処理を、c=TEp’(K,(N,ctr),m)と書く。また、鍵Kcと、初期パラメータNと、内部パラメータctrと、暗号文cとを入力として、復号関数TDにより、メッセージmを生成する処理を、m=TDp(K,(N,ctr),c)と書く。
(ステップS31:分割処理)
分割部24は、暗号化する対象のメッセージMの入力を受け付ける。分割部24は、メッセージMを先頭からnビット毎に分割して、nビットの値M[1],...,値M[s]を生成する。
暗号文生成部25は、i=1,...,sの各整数iについて、ステップS31で分割部24によって生成された値M[i]をメッセージmとして入力することにより、暗号文cを値M[i]の暗号文C[i]として暗号化部23に生成させる。
具体的には、暗号文生成部25は、i=1,...,sの各整数iについて、ステップS31で分割部24によって生成された値M[i]をメッセージmとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[i,0]を第2Tweak値TW2として、鍵生成部21とハッシュ計算部22と暗号化部23とに入力する。そして、暗号文生成部25は、i=1,...,sの各整数iについて、値M[i]と、鍵KCと、初期パラメータNと、内部パラメータctr[i,0]とを入力として、鍵生成部21とハッシュ計算部22と暗号化部23とに、図4に基づき説明した暗号化関数TEを実行させる。この際、図4のステップS13の暗号化処理としては、第1暗号化処理が用いられる。そして、暗号文生成部25は、生成された暗号文cを暗号文C[i]として扱う。
つまり、i=1,...,sの各整数iについて、C[i]=TEp(KC,(N,ctr[i,0]),M[i])である。
鍵KCは、事前に暗号化装置10と復号装置30とで共有されたkビットの鍵である。初期パラメータNは、ステップS32が実行される度にSet(N)から選択される値である。
例えば、値M[1]の暗号文C[1]を生成するときに、鍵Kが生成されたとする。この場合には、残りの値M[2],...,値M[s]の暗号文C[2],...,暗号文C[s]を生成するときには、改めて鍵Kを生成する必要はなく、値M[1]の暗号文C[1]を生成するときに生成された鍵Kを用いればよい。
暗号文生成部25は、i=1,...,sの各整数iについての暗号文C[i]を連結して、メッセージMの暗号文Cを生成する。
つまり、C=C[1]||C[2]||・・・||C[s]である。
(ステップS41:分割処理)
分割部44は、復号する対象の暗号文Cの入力を受け付ける。分割部44は、暗号文Cを先頭からnビット毎に分割して、nビットの値C[1],...,値C[s]を生成する。
平文生成部45は、i=1,...,sの各整数iについて、ステップS41で分割部44によって生成された値C[i]を暗号文cとして入力することにより、メッセージmを値C[i]を復号した平文M[i]として復号部43に生成させる。
具体的には、平文生成部45は、i=1,...,sの各整数iについて、ステップS41で分割部44によって生成された値C[i]を暗号文cとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[i,0]を第2Tweak値TW2として、鍵生成部41とハッシュ計算部42と復号部43とに入力する。そして、平文生成部45は、i=1,...,sの各整数iについて、値C[i]と、鍵KCと、初期パラメータNと、内部パラメータctr[i,0]とを入力として、鍵生成部41とハッシュ計算部42と復号部43とに、図9に基づき説明した復号関数TDを実行させる。そして、平文生成部45は、生成されたメッセージmを平文M[i]として扱う。
つまり、i=1,...,sの各整数iについて、M[i]=TDp(KC,(N,ctr[i,0]),C[i])である。
平文生成部45は、i=1,...,sの各整数iについての平文M[i]を連結して、暗号文Cを復号したメッセージMを生成する。
つまり、M=M[1]||M[2]||・・・||M[s]である。
(ステップS51:分割処理)
分割部24は、暗号化する対象のメッセージMの入力を受け付ける。ここでは、メッセージMは、n×s+rビットであるとする。但し、0<r<nである。分割部24は、メッセージMを先頭からnビット毎に分割して、nビットの値M[1],...,値M[s]と、nビットよりも少ないrビットの値M[*]とを生成する。
暗号文生成部25は、図12のステップS32と同様に、i=1,...,sの各整数iについて、ステップS31で分割部24によって生成された値M[i]をメッセージmとして入力することにより、暗号文cを値M[i]の暗号文C[i]として暗号化部23に生成させる。
具体的には、暗号文生成部25は、固定値constをメッセージmとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[s,1]を第2Tweak値TW2として、鍵生成部21とハッシュ計算部22と暗号化部23とに入力する。そして、暗号文生成部25は、固定値constと、鍵KCと、初期パラメータNと、内部パラメータctr[s,1]とを入力として、鍵生成部21とハッシュ計算部22と暗号化部23とに、図4に基づき説明した暗号化関数TEを実行させる。この際、図4のステップS13の暗号化処理としては、第1暗号化処理が用いられる。そして、暗号文生成部25は、生成された暗号文cを暗号文Rとして扱う。
つまり、R=TEp(K,(N,ctr[s,1]),const)である。
なお、固定値constに代えて、メッセージM及び暗号文Cのビット長に依存した値が用いられてもよい。具体例としては、メッセージM及び暗号文Cのビット長が用いられてもよい。
また、図4のステップS13の暗号化処理として第2暗号化処理が用いられてもよい。つまり、R=TEp’(K,(N,ctr[s,1]),const)でもよい。
また、暗号文Rを生成する場合には、暗号文C[i]を生成する際に生成された鍵Kを用いればよい。したがって、図4のステップS11の鍵Kの生成については、実行しなくてもよい。
暗号文生成部25は、i=1,...,sの各整数iについての暗号文C[i]と、値C[*]とを連結して、メッセージMの暗号文Cを生成する。
つまり、C=C[1]||C[2]||・・・||C[s]||C[*]である。
(ステップS61:分割処理)
分割部44は、復号する対象の暗号文Cの入力を受け付ける。ここでは、暗号文Cは、n×s+rビットであるとする。但し、0<r<nである。分割部44は、暗号文Cを先頭からnビット毎に分割して、nビットの値C[1],...,値C[s]と、nビットよりも少ないrビットの値C[*]とを生成する。
平文生成部45は、図14のステップS42と同様に、i=1,...,sの各整数iについて、ステップS41で分割部44によって生成された値C[i]を暗号文cとして入力することにより、メッセージmを値C[i]を復号したメッセージM[i]として復号部43に生成させる。
なお、ステップS52で固定値constに代えて、メッセージM及び暗号文Cのビット長に依存した値が用いられる場合には、平文生成部45はステップS52と同じ値を用いる。
平文生成部45は、i=1,...,sの各整数iについての平文M[i]と、値M[*]とを連結して、暗号文Cを復号したメッセージMを生成する。
つまり、M=M[1]||M[2]||・・・||M[s]||M[*]である。
認証子生成アルゴリズムは、メッセージMがnの倍数ビットである場合と、メッセージMがnの倍数ビットでない場合との両方で用いられる。ここでは、メッセージMは、n×s+rビットであるとする。但し、0≦r<nである。
分割部24は、メッセージMを先頭からnビット毎に分割して、nビットの値M[1],...,値M[s]と、sビットの値M[*]とを生成する。但し、r=0の場合、値M[*]は空列である。
(1)r=0の場合、認証子生成部26は、ステップS71で分割部24によって生成されたi=1,...,sの各整数iについての値M[i]の排他的論理和を計算して、チェックサムCSを生成する。
つまり、数4である。
つまり、数5である。
認証子生成部26は、ステップS72で生成されたチェックサムCSをメッセージmとして入力することにより、暗号文cをチェックサムCSの暗号文T’として暗号化部23に生成させる。
具体的には、認証子生成部26は、チェックサムCSをメッセージmとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[i,0]を第2Tweak値TW2として、鍵生成部21とハッシュ計算部22と暗号化部23とに入力する。そして、認証子生成部26は、チェックサムCSと、鍵KCと、初期パラメータNと、内部パラメータctrとを入力として、鍵生成部21とハッシュ計算部22と暗号化部23とに、図4に基づき説明した暗号化関数TEを実行させる。この際、図4のステップS13の暗号化処理としては、第1暗号化処理が用いられる。そして、暗号文生成部25は、生成された暗号文cを暗号文T’として扱う。
なお、(1)r=0の場合、内部パラメータctrとして、内部パラメータctr[s,2]が用いられる。(2)r≠0の場合、内部パラメータctrとして、内部パラメータctr[s,2]とは異なる内部パラメータctr[s,3]が用いられる。
つまり、数6である。
認証子生成部26は、ステップS73で生成された暗号文T’のうちの固定長のビットを認証子Tとして抽出する。
(ステップS81:認証子生成処理)
検証部46は、第1復号アルゴリズム又は第2復号アルゴリズムによって生成されたメッセージMを取得する。検証部46は、メッセージMから、認証子生成アルゴリズムと同様の方法により、認証子Tを認証子T*として生成する。
検証部46は、ステップS81で生成された認証子T*と、暗号文Cとともに得られた認証子Tとが一致するか否かを判定する。
検証部46は、認証子T*と認証子Tとが一致する場合には、メッセージMは改ざんされていないと判定する。一方、検証部46は、認証子T*と認証子Tとが一致しない場合には、メッセージMは改ざんされていると判定する。
以上のように、実施の形態1に係る暗号システム1では、図4を参照して説明した暗号化関数TEと、図9を参照して説明した復号関数TDとを用いて、認証暗号アルゴリズムを実現する。
暗号化関数TE及び復号関数TDでは、初期パラメータNに応じて鍵Kが計算される。つまり、鍵Kが初期パラメータNに応じて変わる。そのため、鍵Kの推測が難しくなり、Tweakableブロック暗号演算で呼び出されるブロック暗号の演算回数を1回としつつ、上界値εをバースデーバウンドより小さくすることが可能になる。
具体的には、ブロック暗号の総呼び出し回数をσ、1回の認証暗号アルゴリズムの演算内で呼び出されるtweakableブロック暗号の数をLとすると、実施の形態1に係る暗号システム1によって実現される認証暗号アルゴリズムは、ε=O(Lσ/2n)となる。L<σなので、この確率はバースデーバウンドより小さい値である。これにより、鍵更新の頻度を少なくすることができる。
そのため、図4のステップS12と図9のステップS22との処理は、事前に実行しておくことが可能である。つまり、認証暗号アルゴリズムで、暗号化関数TE又は復号関数TDが呼び出されてから、図4のステップS12又は図9のステップS22の処理を実行してハッシュ値mskを計算するのではなく、事前にハッシュ値mskを計算しておくことができる。
これに対して、従来のtweakableブロック暗号では、ハッシュ関数hへの入力に初期パラメータNが含まれていた。初期パラメータNは、暗号化毎に異なる値が用いられる。そのため、暗号化が実行され、初期パラメータNの値が決められないと、ハッシュ関数hを計算することができなかった。
したがって、実施の形態1に係る暗号システム1では、認証暗号アルゴリズムの処理を高速化できる。また、ハッシュ関数hを計算するために必要なハードウェア及びソフトウェアを省略することができる。
<変形例1>
実施の形態1では、図4から図11を参照して説明したtweakableブロック暗号を、図12から図20を参照して説明した認証暗号アルゴリズムに適用した。しかし、図4から図11を参照して説明したtweakableブロック暗号を、他の構成の認証暗号アルゴリズムに適用することも可能である。この場合にも、上述した効果が得られる可能性がある。
例えば、図4から図11を参照して説明したtweakableブロック暗号を、特許文献5に記載された構成の認証暗号アルゴリズムに適用することが可能である。この場合、特許文献5に記載された構成の認証暗号アルゴリズムの関数F_Kとして、図4から図11を参照して説明したtweakableブロック暗号を用いればよい。
上記説明では、暗号化装置10及び復号装置30は、各機能を実現する専用の電子回路である処理回路11,31を備えるとした。ここで、暗号化装置10の各機能とは、鍵生成部21と、ハッシュ計算部22と、暗号化部23と、分割部24と、暗号文生成部25と、認証子生成部26と、第1置換部27と、ブロック暗号計算部28と、第2置換部29との機能である。また、復号装置30の各機能とは、第1置換部47と、ブロック暗号計算部48と、第2置換部49とである。しかし、各機能は、ソフトウェアによって実現されてもよい。
暗号化装置10は、コンピュータである。
暗号化装置10は、プロセッサ12と、メモリ13と、ストレージ14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、他のハードウェアを制御する。
ストレージ14には、暗号化装置10の各機能構成要素を実現するプログラムが記憶されている。このプログラムは、プロセッサ12によってメモリ13に読み込まれ、プロセッサ12によって実行される。これにより、暗号化装置10の各機能構成要素の機能が実現される。
復号装置30は、コンピュータである。
復号装置30は、プロセッサ32と、メモリ33と、ストレージ34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、他のハードウェアを制御する。
ストレージ34には、復号装置30の各機能構成要素を実現するプログラムが記憶されている。このプログラムは、プロセッサ32によってメモリ33に読み込まれ、プロセッサ32によって実行される。これにより、復号装置30の各機能構成要素の機能が実現される。
一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。また、各機能をファームウェアで実現してもよい。つまり、暗号化装置10の機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。また、復号装置30の機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
実施の形態2では、暗号化装置10及び復号装置30の入力として、公開データHが与えられる点が実施の形態1と異なる。実施の形態2では、この異なる点について説明し、同一の点については説明を省略する。
図23から図28を参照して、実施の形態2に係る暗号システム1の動作を説明する。
実施の形態2に係る暗号化装置10の動作は、実施の形態2に係る暗号化方法に相当する。また、実施の形態2に係る暗号化装置10の動作は、実施の形態2に係る暗号化プログラムの処理に相当する。
実施の形態2に係る復号装置30の動作は、実施の形態2に係る復号方法に相当する。また、実施の形態2に係る復号装置30の動作は、実施の形態2に係る復号プログラムの処理に相当する。
復号装置30は、実施の形態1で説明した通り、暗号化装置10と同様の方法により認証子T’を生成して、認証子Tを検証する。これにより、メッセージM及び公開データHは改ざんされていないか、メッセージMと公開データHとの少なくともいずれかが改ざんされているかが特定される。
ステップS91からステップS92の処理は、図18のステップS71からステップS72の処理と同じである。また、ステップS95の処理は、図18のステップS74の処理と同じである。
認証子生成部26は、公開データHを入力として、疑似ランダム関数により、nビットの値wを生成する。
認証子生成部26は、ステップS92で生成されたチェックサムCSと値wとの排他的論理和を計算して、新たなチェックサムCS’を生成する。又は、認証子生成部26は、ステップS92で生成されたチェックサムCSに値wを加算して、新たなチェックサムCS’を生成する。
認証子生成部26は、ステップS93で生成された新たなチェックサムCS’をメッセージmとして入力することにより、暗号文cをチェックサムCS’の暗号文T’として暗号化部23に生成させる。
ステップS101からステップS103の処理は、図18のステップS71からステップS73の処理と同じである。
認証子生成部26は、公開データHを入力として、疑似ランダム関数により、nビットの値wを生成する。
認証子生成部26は、ステップS103で生成された暗号文T’と値wとの排他的論理和を計算して、新たな暗号文T’’を生成する。又は、認証子生成部26は、ステップS103で生成された暗号文T’に値wを加算して、新たな暗号文T’’を生成する。
認証子生成部26は、ステップS104で生成された新たな暗号文T’’のうちの固定長のビットを認証子Tとして抽出する。
認証子Tの生成方法3では、tweakableブロック暗号方式の暗号化関数TE及び復号関数TDの構成に変更を加える。
具体的には、図4のステップS11で鍵生成部21は、図27に示すように、第1Tweak値TW1と公開データHとに応じて鍵Kを生成する。同様に、図9のステップS21で鍵生成部41は、図28に示すように、第1Tweak値TW1と公開データHとに応じて鍵Kを生成する。
具体例としては、鍵生成部21及び鍵生成部41は、鍵Kfと、第1Tweak値TW1とを入力として、鍵付き関数fにより、kビットの仮の鍵K’を生成する。鍵生成部21及び鍵生成部41は、仮の鍵K’と、公開データHから計算される値wとの排他的論理和を計算して、鍵Kを生成する。
以上のように、実施の形態2に係る暗号システム1では、公開データHがある場合に、公開データHの改ざんを検出できるように認証子Tを生成することができる。
<変形例4>
実施の形態2では、認証子生成部26及び検証部46は、公開データHを入力として、疑似ランダム関数により、nビットの値wを生成した。値wは、公開データHから以下のように生成されてもよい。ここでは、認証子生成部26が値wを生成する処理を説明するが、検証部46が値wを生成する処理も同様である。
(ステップS111:パディング処理)
認証子生成部26は、公開データHがnの倍数ビットになるように、公開データHの後に、1と0のビット列を付加して、公開データH’を生成する。なお、公開データHがnの倍数ビットの場合には、認証子生成部26は、公開データHをそのまま公開データH’にする。
分割部24は、ステップS111で生成された公開データH’を、先頭からnビット毎に分割して、nビットの値H[1],...,値H[r]を生成する。
認証子生成部26は、i=1,...,r−1の各整数iについて、ステップS112で分割部24によって生成された値H[i]をメッセージmとして入力することにより、暗号文cを値H[i]の暗号文G[i]として暗号化部23に生成させる。
具体的には、認証子生成部26は、i=1,...,r−1の各整数iについて、ステップS112で分割部24によって生成された値H[i]をメッセージmとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[i,0]を第2Tweak値TW2として、鍵生成部21とハッシュ計算部22と暗号化部23とに入力する。そして、認証子生成部26は、i=1,...,r−1の各整数iについて、値H[i]と、鍵KCと、初期パラメータNcと、内部パラメータctr’[i,0]とを入力として、鍵生成部21とハッシュ計算部22と暗号化部23とに、図4に基づき説明した暗号化関数TEを実行させる。この際、図4のステップS13の暗号化処理としては、第1暗号化処理が用いられる。そして、暗号文生成部25は、生成された暗号文cを暗号文G[i]として扱う。
なお、初期パラメータNは、i=1,...,r−1の各整数iについて、共通の値である。そのため、i=1,...,r−1の各整数iについて、図4に示す暗号化関数TEが実行されるが、図4のステップS11の鍵Kの生成については、ある整数iについてのみ実行されればよい。
認証子生成部26は、値w’の初期値をconstauthとする。認証子生成部26は、i=1,...,r−1の各整数iについて順に、値w’と暗号文G[i]との排他的論理和を計算して、新たな値w’を計算する。
つまり、数8である。
認証子生成部26は、ステップS112で分割部24によって生成された値H[r]をメッセージmとして入力することにより、暗号文cを値H[r]の暗号文G[r]として暗号化部23に生成させる。
具体的には、認証子生成部26は、ステップS112で分割部24によって生成された値H[r]をメッセージmとし、鍵KCを鍵Kf及び鍵Khとし、初期パラメータNを第1Tweak値TW1とし、内部パラメータctr[i,0]を第2Tweak値TW2として、鍵生成部21とハッシュ計算部22と暗号化部23とに入力する。そして、認証子生成部26は、値H[r]と、鍵KCと、初期パラメータNcと、内部パラメータctr’とを入力として、鍵生成部21とハッシュ計算部22と暗号化部23とに、図4に基づき説明した暗号化関数TEを実行させる。この際、図4のステップS13の暗号化処理としては、第1暗号化処理が用いられる。そして、暗号文生成部25は、生成された暗号文cを暗号文G[r]として扱う。
なお、(1)公開データHがnの倍数ビットである場合、内部パラメータctr’として、内部パラメータctr’[r,0]が用いられる。(2)公開データHがnの倍数ビットでない場合、内部パラメータctr’として、内部パラメータctr’[r,0]とは異なる内部パラメータctr[r,1]が用いられる。
また、暗号文G[r]を生成する場合には、暗号文G[i]を生成する際に生成された鍵Kを用いればよい。したがって、図4のステップS11の鍵Kの生成については、実行しなくてもよい。
認証子生成部26は、値w’と暗号文G[r]との排他的論理和を計算して、値wを計算する。
つまり、数9である。
Claims (10)
- 認証暗号における暗号化装置であり、
初期パラメータNに応じて疑似ランダム関数を用いてブロック暗号の暗号化関数Eの鍵Kを生成する鍵生成部と、
前記初期パラメータNに依存する値を入力とすることなく内部パラメータctrを入力としてハッシュ値mskを計算するハッシュ計算部と、
前記鍵生成部によって生成された鍵Kと、前記ハッシュ計算部によって計算されたハッシュ値mskと、メッセージmとを入力として、前記暗号化関数Eを用いて、前記メッセージmの暗号文cを生成する暗号化部と
を備える暗号化装置。 - 前記暗号化部は、
前記ハッシュ値mskとnビットの値αとを入力としてnビットの値βを出力する関数pであって、前記ハッシュ値mskが固定されると、前記値αと前記値βとが置換の関係になる関数pに対して、前記ハッシュ値mskと前記メッセージmとを入力して値xを計算する第1置換部と、
前記第1置換部によって計算された前記値xと、前記鍵Kとを入力として、前記暗号化関数Eにより、値yを計算するブロック暗号計算部と、
前記関数pに対して、前記ハッシュ値mskと、前記ブロック暗号計算部によって計算された前記値yとを入力して前記暗号文cを計算する第2置換部と
を備える請求項1に記載の暗号化装置。 - 前記暗号化関数Eは、ブロックサイズがnであり、
前記暗号化装置は、さらに、
メッセージMをnビット毎に分割して、nビットの値M[1],...,値M[s]を生成する分割部と、
i=1,...,sの各整数iについて、前記分割部によって生成された値M[i]を前記メッセージmとして、前記暗号文cを前記値M[i]の暗号文C[i]として前記暗号化部に生成させ、i=1,...,sの各整数iについての前記暗号文C[i]を連結して、前記メッセージMの暗号文Cを生成する暗号文生成部と
を備える請求項2に記載の暗号化装置。 - 前記分割部は、前記メッセージMがnの倍数ビットでない場合には、前記メッセージMを分割して、nビットの値M[1],...,値M[s]と、nビットよりも少ないrビットの値M[*]とを生成し、
前記暗号文生成部は、固定値constを前記メッセージmとして、前記暗号文cを前記固定値constの暗号文Rとして前記暗号化部に生成させ、前記暗号文Rのうちのrビットと前記値M[*]とから暗号文C[*]を生成し、i=1,...,sの各整数iについての前記暗号文C[i]と、前記暗号文C[*]とを連結して前記暗号文Cを生成する
請求項3に記載の暗号化装置。 - 前記第1置換部は、前記関数pに対して、前記ハッシュ値mskと前記固定値constとを入力して値x[R]を計算し、
前記ブロック暗号計算部は、前記値x[R]と、前記鍵Kとを入力として、前記暗号化関数Eにより、前記暗号文Rを計算する
請求項4に記載の暗号化装置。 - 前記暗号化装置は、さらに、
前記メッセージMをnビット毎に分割し、分割された値の排他的論理和を計算してチェックサムを生成し、前記チェックサムを前記メッセージmとして、前記暗号文cを前記チェックサムの暗号文T’として前記暗号化部に生成させ、前記暗号文T’から前記メッセージMの認証子Tを生成する認証子生成部
を備える請求項3から5までのいずれか1項に記載の暗号化装置。 - 前記認証子生成部は、公開データHと前記チェックサムとから新たなチェックサムを計算し、前記新たなチェックサムを前記メッセージmとして、前記暗号文cを前記新たなチェックサムの暗号文T’として前記暗号化部に生成させ、前記暗号文T’から前記メッセージMの認証子Tを生成する
請求項6に記載の暗号化装置。 - 前記認証子生成部は、公開データHと、前記暗号文T’とから前記メッセージMの認証子Tを生成する
請求項6に記載の暗号化装置。 - 前記鍵生成部は、初期パラメータNと公開データHとに応じて前記鍵Kを生成する
請求項1から8までのいずれか1項に記載の暗号化装置。 - 認証暗号における復号装置であり、
初期パラメータNに応じて疑似ランダム関数を用いてブロック暗号の復号関数Dの鍵Kを生成する鍵生成部と、
前記初期パラメータNに依存する値を入力とすることなく内部パラメータctrを入力としてハッシュ値mskを計算するハッシュ計算部と、
前記鍵生成部によって生成された鍵Kと、前記ハッシュ計算部によって計算されたハッシュ値mskと、暗号文cとを入力として、前記復号関数Dを用いて、前記暗号文を復号してメッセージmを生成する復号部と
を備える復号装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/006300 WO2018154623A1 (ja) | 2017-02-21 | 2017-02-21 | 暗号化装置及び復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6386198B1 true JP6386198B1 (ja) | 2018-09-05 |
JPWO2018154623A1 JPWO2018154623A1 (ja) | 2019-02-28 |
Family
ID=63254144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017561789A Active JP6386198B1 (ja) | 2017-02-21 | 2017-02-21 | 暗号化装置及び復号装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11349668B2 (ja) |
JP (1) | JP6386198B1 (ja) |
DE (1) | DE112017007095T5 (ja) |
WO (1) | WO2018154623A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020095382A1 (ja) * | 2018-11-07 | 2020-05-14 | 日本電気株式会社 | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3552339A4 (en) * | 2016-12-09 | 2020-04-22 | Cryptography Research, Inc. | PROGRAMMABLE BLOCK ENCRYPTION WITH MASKED INPUTS |
US10891307B2 (en) * | 2018-05-31 | 2021-01-12 | Microsoft Technology Licensing, Llc | Distributed data synchronization in a distributed computing system |
CN110890959B (zh) * | 2019-10-24 | 2023-04-25 | 广州江南科友科技股份有限公司 | 一种账户改密的方法、系统及装置 |
CN112287333B (zh) * | 2020-11-19 | 2023-12-01 | 衡阳师范学院 | 一种轻量级可调分组密码实现方法、系统、电子设备以及可读存储介质 |
US11777708B2 (en) | 2021-09-30 | 2023-10-03 | International Business Machines Corporation | Secure encryption of partial blocks |
CN114124353B (zh) * | 2021-11-19 | 2024-03-29 | 东华大学 | 一种认证加密算法silc的密钥泄漏检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011105367A1 (ja) * | 2010-02-24 | 2011-09-01 | 日本電気株式会社 | ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム |
US20130077780A1 (en) * | 2001-07-30 | 2013-03-28 | Phillip W. Rogaway | Method and apparatus for facilitating efficient authenticated encryption |
US20150261965A1 (en) * | 2014-03-11 | 2015-09-17 | Qualcomm Incorporated | Dynamic encryption keys for use with xts encryption systems employing reduced-round ciphers |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7046802B2 (en) | 2000-10-12 | 2006-05-16 | Rogaway Phillip W | Method and apparatus for facilitating efficient authenticated encryption |
US8121284B2 (en) | 2006-03-14 | 2012-02-21 | Nec Corporation | Information processing system, information processing method, and information processing program |
US8107620B2 (en) | 2007-03-21 | 2012-01-31 | International Business Machines Corporation | Simple and efficient one-pass authenticated encryption scheme |
JPWO2009078217A1 (ja) | 2007-12-19 | 2011-04-28 | コニカミノルタホールディングス株式会社 | ネットワークシステムおよびデータ送信方法 |
US8526602B2 (en) | 2008-04-15 | 2013-09-03 | Nec Corporation | Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium |
JP2009278565A (ja) | 2008-05-16 | 2009-11-26 | Renesas Technology Corp | 通信装置および通信システム |
US8543820B2 (en) | 2009-05-11 | 2013-09-24 | Nec Corporation | Tag generation apparatus, tag verification apparatus, communication system, tag generation method, tag verification method, and recording medium |
JP2011040932A (ja) | 2009-08-10 | 2011-02-24 | Nippon Telegr & Teleph Corp <Ntt> | 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体 |
JP5365750B2 (ja) * | 2011-01-31 | 2013-12-11 | 日本電気株式会社 | ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム |
JP5700481B2 (ja) * | 2011-06-29 | 2015-04-15 | インテル・コーポレーション | 整合性チェック及びリプレーアタックからの保護を行って、メモリを暗号化するための方法及び装置 |
JP5852518B2 (ja) | 2012-06-18 | 2016-02-03 | 日本電信電話株式会社 | 認証暗号化装置、認証復号装置、およびプログラム |
JP6187462B2 (ja) | 2012-07-18 | 2017-08-30 | 日本電気株式会社 | ユニバーサルハッシュ関数演算装置、方法およびプログラム |
EP3016935B1 (en) | 2013-07-04 | 2018-09-05 | Hetero Research Foundation | Process for the preparation of intermediate of dolutegravir |
RU2647685C2 (ru) * | 2013-08-02 | 2018-03-16 | Нек Корпорейшн | Устройство аутентифицированного шифрования, способ аутентифицированного шифрования и программа для аутентифицированного шифрования |
US9571270B2 (en) * | 2013-11-29 | 2017-02-14 | Portland State University | Construction and uses of variable-input-length tweakable ciphers |
US10623176B2 (en) | 2014-08-20 | 2020-04-14 | Nec Corporation | Authentication encryption method, authentication decryption method, and information-processing device |
JP2016075765A (ja) | 2014-10-03 | 2016-05-12 | 日本放送協会 | 認証暗号化装置および認証復号装置、ならびに、それらのプログラム |
JPWO2016067524A1 (ja) | 2014-10-30 | 2017-08-10 | 日本電気株式会社 | 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム |
JP6273226B2 (ja) | 2015-02-26 | 2018-01-31 | 日本電信電話株式会社 | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 |
-
2017
- 2017-02-21 JP JP2017561789A patent/JP6386198B1/ja active Active
- 2017-02-21 US US16/475,298 patent/US11349668B2/en active Active
- 2017-02-21 WO PCT/JP2017/006300 patent/WO2018154623A1/ja active Application Filing
- 2017-02-21 DE DE112017007095.3T patent/DE112017007095T5/de active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130077780A1 (en) * | 2001-07-30 | 2013-03-28 | Phillip W. Rogaway | Method and apparatus for facilitating efficient authenticated encryption |
WO2011105367A1 (ja) * | 2010-02-24 | 2011-09-01 | 日本電気株式会社 | ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム |
US20150261965A1 (en) * | 2014-03-11 | 2015-09-17 | Qualcomm Incorporated | Dynamic encryption keys for use with xts encryption systems employing reduced-round ciphers |
Non-Patent Citations (5)
Title |
---|
CHAKRABORTY, D. AND SARKAR, P.: "A General Construction of Tweakable Block Ciphers and Different Modes of Operations", IEEE TRANSACTION ON INFORMATION THEORY, vol. 54, no. 5, JPN6018009782, May 2008 (2008-05-01), pages 1991 - 2005, ISSN: 0003760842 * |
IEEE COMPUTER SOCIETY: "IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices", IEEE STD, vol. 1619-2007, JPN6018009785, 18 April 2008 (2008-04-18), ISSN: 0003760845 * |
KILLIAN, J. AND ROGAWAY, P.: "How to Protect DES Against Exhaustive Key Search", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1109, JPN6018009783, 1996, pages 252 - 267, ISSN: 0003760843 * |
KROVETZ, T. AND ROGAWAY, P.: "The Software Performance of Authenticated-Encryption Modes", LECTURE NOTES IN COMPUTER SCIENCE, vol. 6733, JPN6018009780, 2011, pages 306 - 327, XP055537348, ISSN: 0003760841, DOI: 10.1007/978-3-642-21702-9_18 * |
MENNINK, B.: "Optimally Secure Tweakable Blockciphers", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2015/363, JPN6018009784, 21 October 2015 (2015-10-21), ISSN: 0003760844 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020095382A1 (ja) * | 2018-11-07 | 2020-05-14 | 日本電気株式会社 | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム |
JPWO2020095382A1 (ja) * | 2018-11-07 | 2021-09-24 | 日本電気株式会社 | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム |
JP7136226B2 (ja) | 2018-11-07 | 2022-09-13 | 日本電気株式会社 | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム |
US11728968B2 (en) | 2018-11-07 | 2023-08-15 | Nrc Corporation | Authenticated encryption device, authenticated decryption device, authenticated encryption method, authenticated decryption method, authenticated encryption program, and authenticated decryption program |
Also Published As
Publication number | Publication date |
---|---|
US11349668B2 (en) | 2022-05-31 |
DE112017007095T5 (de) | 2019-11-21 |
JPWO2018154623A1 (ja) | 2019-02-28 |
US20190363891A1 (en) | 2019-11-28 |
WO2018154623A1 (ja) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6386198B1 (ja) | 暗号化装置及び復号装置 | |
KR101829267B1 (ko) | 암호문의 크기가 감소되는 동형 암호화 방법 | |
US10326589B2 (en) | Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium | |
JP7031580B2 (ja) | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 | |
US20120314857A1 (en) | Block encryption device, block decryption device, block encryption method, block decryption method and program | |
JPWO2019043921A1 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム | |
JP6033741B2 (ja) | 暗号化鍵更新システム及びその方法 | |
US9391770B2 (en) | Method of cryption | |
JP7347501B2 (ja) | Macタグリスト生成装置、macタグリスト検証装置、方法及びプログラム | |
WO2020044748A1 (ja) | Idベースハッシュ証明系構成装置、idベース暗号装置、idベースハッシュ証明系構成方法及びプログラム | |
JP6818949B2 (ja) | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム | |
JP5489115B2 (ja) | 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体 | |
JP2018092010A (ja) | 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム | |
JP6797337B2 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
JPWO2017056151A1 (ja) | メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
JP7136226B2 (ja) | 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム | |
US20230085577A1 (en) | Secured performance of an elliptic curve cryptographic process | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
Shaik et al. | A Compatible Hexadecimal Encryption-Booster Algorithm for Augmenting Security in the Advanced Encryption Standard | |
WO2020075224A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
Kanso | An efficient cryptosystem Delta for stream cipher applications | |
JP2004347885A (ja) | 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム | |
JP5818768B2 (ja) | マスク生成装置、情報処理装置、及びその方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171127 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171127 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171127 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6386198 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |