JP2016157055A - Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, and authentication method - Google Patents

Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, and authentication method Download PDF

Info

Publication number
JP2016157055A
JP2016157055A JP2015036192A JP2015036192A JP2016157055A JP 2016157055 A JP2016157055 A JP 2016157055A JP 2015036192 A JP2015036192 A JP 2015036192A JP 2015036192 A JP2015036192 A JP 2015036192A JP 2016157055 A JP2016157055 A JP 2016157055A
Authority
JP
Japan
Prior art keywords
bit
initial value
bits
encryption
tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015036192A
Other languages
Japanese (ja)
Other versions
JP6273226B2 (en
Inventor
悠 佐々木
Hisashi Sasaki
悠 佐々木
幹 安田
Miki Yasuda
幹 安田
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 JP2015036192A priority Critical patent/JP6273226B2/en
Publication of JP2016157055A publication Critical patent/JP2016157055A/en
Application granted granted Critical
Publication of JP6273226B2 publication Critical patent/JP6273226B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve a processing speed by providing novel means processing A before implementing a substitution computation f for the first time.SOLUTION: An encryption system of the present invention includes an encryption device and a decryption device. The encryption device is configured to: select N; embed the N in a rate part; generate an encryption initial value of a b-bit by embedding K in a capacity part; substitute the bit having the K embedded in an exclusive OR between a bit having the K of the encryption initial value embedded and a |K|-bit in bit additional authentication data; and let a result substituted by f be a state. The decryption device is configured to: embed the N in the rate part; generate a decryption initial value of a b-bit by embedding the K in the capacity part; substitute the bit having the K embedded in an exclusive OR between a bit having the K of the decryption initial value embedded and the |K|-bit in bit additional authentication data; and let a result substituted by f be the state.SELECTED DRAWING: Figure 5

Description

本発明は、追加認証データ付きの認証暗号を実行する暗号化システム、暗号化装置、復号装置、暗号化方法、メッセージなどの認証を実行する認証システム、認証子生成装置、検証装置、暗号化方法、認証方法に関する。   The present invention relates to an encryption system for executing authentication encryption with additional authentication data, an encryption device, a decryption device, an encryption method, an authentication system for executing authentication of a message, an authenticator generation device, a verification device, and an encryption method. , Relating to the authentication method.

追加認証データ付認証暗号とは、メッセージMの秘匿および、Mと追加認証データAの認証(改ざん検知)を同時に行う共通鍵暗号プリミティブである。暗号化関数と復号関数の2つの関数から構成される。追加認証データ認証暗号では、受信者と送信者はあらかじめ秘密の鍵Kを共有しておく。送信者は、メッセージM、追加認証データAに加えて、暗号化関数を呼び出すたびに変化する値(ナンスと呼ばれる)Nを選択する。暗号化関数は、M,A,Nに対応する暗号文CとタグTを生成し、(C,T,A,N)の組を受信者に送る。受信者は(C,T,A,N)を受け取るが、この時点でこれらの値が悪意ある第三者によって改ざんされていないという保証がない。受信者は受け取った(C,T,A,N)と自分が保有するKを用いて復号関数を計算する。復号関数は、メッセージM’とタグT’を計算する。計算して得られたT’と受信したTが同じ値であれば、受け取った(C,T,A,N)は正しい値であると判断し、復号されたメッセージとしてM’を出力する。T≠T’であれば、復号に失敗した(データが改ざんされた)という結果を出力する。   The authentication encryption with additional authentication data is a common key encryption primitive that performs concealment of the message M and authentication (falsification detection) of M and the additional authentication data A at the same time. It consists of two functions, an encryption function and a decryption function. In the additional authentication data authentication encryption, the receiver and the sender share a secret key K in advance. In addition to the message M and the additional authentication data A, the sender selects a value N (called nonce) that changes every time the encryption function is called. The encryption function generates a ciphertext C and a tag T corresponding to M, A, and N, and sends a set of (C, T, A, N) to the receiver. The recipient receives (C, T, A, N), but at this point there is no guarantee that these values have not been tampered with by a malicious third party. The receiver calculates the decryption function using the received (C, T, A, N) and K held by the receiver. The decryption function calculates a message M ′ and a tag T ′. If the calculated T ′ and the received T are the same value, it is determined that the received (C, T, A, N) is a correct value, and M ′ is output as a decoded message. If T ≠ T ′, a result indicating that decoding has failed (data has been altered) is output.

非特許文献1に記載されているSPONGEWRAPは、認証暗号の暗号化関数と復号関数の構成法である。保証したい安全性レベル(ビット数)に比べて比較的大きなサイズの置換(bijective map)を用いて暗号化関数、復号関数を構成するという特徴を持つ。   SPONGEWRAP described in Non-Patent Document 1 is a configuration method of an encryption function and a decryption function of an authentication encryption. The encryption function and the decryption function are configured using a relatively large size replacement (bijective map) compared to the security level (number of bits) to be guaranteed.

<SPONGEWRAP>
SPONGEWRAPの暗号化関数は、ステートと呼ばれるbビットのデータを、bビットの置換f:{0,1}→{0,1}と入力データ(N,A,M)と鍵Kを用いて繰り返しアップデートを行いながらCとTを計算する。またbビットのステートは、レートと呼ばれるrビットと、キャパシティと呼ばれるc(=b−r)ビットに分割される。暗号化関数の計算の際、ステートの値は予め定められた初期値IVと呼ばれるbビットの値に初期化され(例えばIV=0)、fによりbビットの置換が行われ、ステートが更新される。暗号化関数の具体的な計算手順は以下の手順1から手順4で説明される通りである。図1に、SPONGEWRAPの暗号化での計算構造を示す。
<SPONGEWRAP>
The encryption function of SPONGEWRAP uses b-bit data called a state, b-bit replacement f: {0, 1} b → {0, 1} b , input data (N, A, M), and key K. Then, C and T are calculated while repeatedly updating. The b-bit state is divided into r bits called rate and c (= b−r) bits called capacity. When calculating the encryption function, the value of the state is initialized to a predetermined b-bit value called an initial value IV (for example, IV = 0), the b-bit is replaced by f, and the state is updated. The The specific calculation procedure of the encryption function is as described in the following procedure 1 to procedure 4. Fig. 1 shows the calculation structure of SPONGEWRAP encryption.

<手順1>
鍵Kをr−1ビット毎に分割する。最終ブロックでは10*パディングと呼ばれるパディング処理を施す。具体的には、最終ブロックのビット長がr−1ビットより短い場合には、1ビットの値“1”を与し、その後r−1ビットになるまでビット“0”を付与する。最終ブロックのビット長が丁度r−1ビットの場合には、次のブロックの先頭のビットとして 1 ビットの値“1”を与し、その後r−1ビットになるまでビット“0”を付与する。
<Procedure 1>
The key K is divided every r−1 bits. In the final block, a padding process called 10 * padding is performed. Specifically, when the bit length of the last block is shorter than r−1 bits, a 1-bit value “1” is given, and then a bit “0” is given until r−1 bits. When the bit length of the final block is exactly r−1 bits, a 1-bit value “1” is given as the first bit of the next block, and then a bit “0” is given until r−1 bits. .

Kをr−1ビット毎に分割したそれぞれの値に、フレームビットと呼ばれる1ビットの値を連結し、rビットにする。具体的には、最初のブロックから最終ブロックの一つ手前のブロックまではフレームビットを“0”とし、最終ブロックのみフレームビットを“1”とする。bビットのステートのうちレート部分のrビットに対し、Kとフレームビットを連結したrビットの値との排他的論理和を計算し、置換fを計算する。fの出力を新たなステート値とする。この操作をKの最終ブロックが排他的論理和されるまで続ける。なお、この処理まではあらかじめ行っておくことができるので、手順1までを初期化と呼んでもよい。   A 1-bit value called a frame bit is concatenated with each value obtained by dividing K by r−1 bits to make r bits. Specifically, the frame bit is set to “0” from the first block to the block immediately before the final block, and the frame bit is set to “1” only for the final block. For the r bits in the rate portion of the b-bit state, the exclusive OR of K and the r-bit value obtained by concatenating the frame bits is calculated, and the permutation f is calculated. The output of f is a new state value. This operation is continued until the last block of K is exclusive ORed. Since this process can be performed in advance, the procedure up to step 1 may be called initialization.

<手順2>
ナンスNと追加認証データAを連結し、r−1ビット毎に分割する。最終ブロックに対しては10*パディングを施す。NとAの連結をr−1ビット毎に分割したそれぞれの値に、1ビットのフレームビットを連結し、rビットにする。具体的には、最初のブロックから最終ブロックの一つ手前のブロックまではフレームビットを“0”とし、最終ブロックのみフレームビットを“1”とする。bビットのステートのうち、レート部分のrビットに対し、NもしくはAとフレームビットを連結した rビットの値との排他的論理和を計算し、置換fを計算する。fの出力を新たなステート値とする。この操作をN,Aの最終ブロックが排他的論理和されるまで続ける。
<Procedure 2>
The nonce N and the additional authentication data A are concatenated and divided every r−1 bits. 10 * padding is applied to the final block. A frame bit of 1 bit is concatenated to each value obtained by dividing the concatenation of N and A every r−1 bits to make r bits. Specifically, the frame bit is set to “0” from the first block to the block immediately before the final block, and the frame bit is set to “1” only for the final block. In the b-bit state, the exclusive OR of N or A and the r-bit value obtained by concatenating the frame bits is calculated for the r bit of the rate part, and the permutation f is calculated. The output of f is a new state value. This operation is continued until the final blocks of N and A are exclusive ORed.

<手順3>
メッセージMをr−1ビット毎に分割する。最終ブロックに対しては10*パディングを施す。Mの連結をr−1ビット毎に分割したそれぞれの値に、1ビットのフレームビットを連結し、rビットにする。具体的には、最初のブロックから最終ブロックの一つ手前のブロックまではフレームビットを“1”とし、最終ブロックのみフレームビットを“0”とする。
<Procedure 3>
The message M is divided every r-1 bits. 10 * padding is applied to the final block. A frame bit of 1 bit is concatenated to each value obtained by dividing the concatenation of M every r−1 bits to make r bits. Specifically, the frame bit is set to “1” from the first block to the block immediately before the final block, and the frame bit is set to “0” only for the final block.

bビットのステートのうち、レート部分のrビットに対し、Mとフレームビットを連結した r ビットの値との排他的論理和を計算する。計算された rビットを暗号文のrビットとして出力する。ステートに対し置換fを計算し、fの出力を新たなステート値とする。この操作をMの最終ブロックが排他的論理和されるまで続ける。Mのサイズがrの倍数でない場合、最終ブロックは端数分のみを暗号文として出力し、ステートに排他的論理和する。   For the r bits in the rate portion of the b-bit state, an exclusive OR of M and the r-bit value obtained by concatenating the frame bits is calculated. The calculated r bits are output as the r bits of the ciphertext. The permutation f is calculated for the state, and the output of f is set as a new state value. This operation is continued until the final block of M is exclusive ORed. If the size of M is not a multiple of r, the last block outputs only the fractional part as ciphertext and performs an exclusive OR with the state.

<手順4>
bビットのステートのうち、レート部分のrビットをタグのrビットとして出力する。ステートに対し置換fを計算し、fの出力を新たなステート値とする。この操作をタグのビット数に達するまで続ける。タグ長がrの倍数でない場合、最後のrビットの出力を必要な端数に切り捨ててタグの出力とする。
<Procedure 4>
Among the b bit states, the r bit of the rate part is output as the r bit of the tag. The permutation f is calculated for the state, and the output of f is set as a new state value. This operation is continued until the number of bits of the tag is reached. If the tag length is not a multiple of r, the output of the last r bits is rounded down to the required fraction and used as the tag output.

<復号>
SPONGEWRAPの復号関数は、暗号化関数とほぼ同様の計算を行う。図2に、SPONGEWRAPの復号での計算構造を示す。ステートはIVに初期化され、暗号化関数の手順1,2同じ処理を行う。手順3は暗号化関数と異なっており、bビットのステートのうち、レート部分のrビットとCのrビットの排他的論理和をとり、パディングやフレームビット付与の逆手順を通した値をM’のr−1ビットとする。bビットのステートのうち、レート部分のrビットをCのrビットに置き換え、置換fを計算する。fの出力を新たなステート値とする。この操作をCの最終ブロックが排他的論理和されるまで続ける。Cの最終ブロックのサイズがrの倍数でない場合、端数分のみをM’の生成とステートの置き換えに利用する。手順3終了後、暗号化関数の手順4と同じ処理を行い、タグT’を得る。計算したT’と受け取ったTを比較し、同じ値であればM’を復号されたメッセージとして出力する。一致しなかった場合は、復号に失敗したという結果を出力する。
<Decryption>
SPONGEWRAP's decryption function performs almost the same calculation as the encryption function. FIG. 2 shows a calculation structure in the decoding of SPONGEWRAP. The state is initialized to IV, and the same processing as the procedure 1 and 2 of the encryption function is performed. The procedure 3 is different from the encryption function. In the b-bit state, the exclusive OR of the r bits of the rate part and the r bits of C is obtained, and the value obtained through the reverse procedure of padding and frame bit assignment is expressed as M. The r-1 bit of '. Of the b-bit states, replace the r bits of the rate part with the r bits of C, and calculate the permutation f. The output of f is a new state value. This operation is continued until the final block of C is exclusive ORed. When the size of the final block of C is not a multiple of r, only the fraction is used for generating M ′ and replacing the state. After the procedure 3 is completed, the same processing as the procedure 4 of the encryption function is performed to obtain a tag T ′. The calculated T ′ is compared with the received T, and if it is the same value, M ′ is output as a decoded message. If they do not match, a result indicating that decoding has failed is output.

<donkeySponge>
非特許文献2に示されたdonkeySpongeは、SPONGEWRAPの追加認証データ処理部分を利用してメッセージ認証コードを計算する方法である。図3にdonkeySpongeの計算構造を示す。メッセージ認証コードを生成する目的では、鍵Kおよび入力Aをbビットステートの全ビットに排他的論理和をしても安全性を損なうことが無く、効率的に入力データを処理することができる。
<DonkeySponge>
The donkeySponge shown in Non-Patent Document 2 is a method for calculating a message authentication code using the additional authentication data processing part of SPONGEWRAP. Fig. 3 shows the calculation structure of donkeySponge. For the purpose of generating the message authentication code, even if the key K and the input A are exclusively ORed with all the bits of the b bit state, the input data can be processed efficiently without impairing the security.

<monkeyDuplex>
非特許文献2に示されたmonkeyDuplexは、SPONGEWRAPのKとNの処理方法に工夫を加え、より効率的な計算を可能にする方法である。Kのcビットまでを、IVのcビットのキャパシティ部分とする。もしくは、Kのcビットまでと、別に定義されたcビット定数との排他的論理和をIVのcビットのキャパシティ部分とする。いずれの方法も、暗号化関数,復号関数で手順 1(Kの処理)におけるfの計算関数を少なくすることができるため、計算効率が上昇する。なお、Kがcビットに満たない場合、適切なパディングによりIVのcビットがすべて定義されるようにする。
<MonkeyDuplex>
The monkeyDuplex shown in Non-Patent Document 2 is a method that allows more efficient calculation by adding ingenuity to the K and N processing methods of SPONGEWRAP. The capacity part of c bits of IV is made up to c bits of K. Alternatively, an exclusive OR of up to K c bits and a separately defined c bit constant is used as a capacity portion of IV c bits. In any method, the calculation function of f can be reduced in the procedure 1 (K processing) with the encryption function and the decryption function, so that the calculation efficiency increases. If K is less than c bits, all c bits of IV are defined by appropriate padding.

また、Nのrビットまでを、IVのrビットのレート部分とする。もしくは、Nのrビットまでと、別に定義されたrビット定数との排他的論理和をIVのrビットのレート部分とする。手順2におけるfの計算関数を少なくすることができるため、計算効率が上昇する。なお、Nがrビットに満たない場合、適切なパディングによりIVのrビットがすべて定義されるようにする。monkeyDuplexによるステートの初期化およびK,Nの処理を図 4に示す。   Further, the rate part of IV r bits is defined up to N r bits. Alternatively, the exclusive OR of up to N r bits and a separately defined r bit constant is used as the rate portion of IV r bits. Since the calculation function of f in the procedure 2 can be reduced, the calculation efficiency increases. If N is less than r bits, all r bits of IV are defined by appropriate padding. Figure 4 shows the state initialization and K and N processing by monkeyDuplex.

<nonce stealing>
非特許文献3に示されたnonce stealingは、SPONGEWRAPとは異なり、ブロック暗号をベースに設計された追加認証データ付認証暗号で追加認証データAをより効率的に処理する方法である。ブロック暗号ベースの追加認証データ付認証暗号では、ナンスNを平文(初期値)としてブロック暗号を計算することが頻繁に行われる。この際、Nの長さは平文よりも小さいことが多い。nonce stealingではこの余剰スペースにAのデータを埋め込むことで、この後に処理されるA のビット数を少なくできる。
<Nonce stealing>
Unlike SPONGEWRAP, nonce stealing shown in Non-Patent Document 3 is a method for more efficiently processing additional authentication data A using an authentication encryption with additional authentication data designed based on block encryption. In the block cipher-based authentication cipher with additional authentication data, the block cipher is frequently calculated using the nonce N as plain text (initial value). At this time, the length of N is often smaller than plain text. In nonce stealing, the number of A bits processed after this can be reduced by embedding A data in this surplus space.

Guido Bertoni, Joan Daemen, Michael Peeters and Gilles Van Assche,“Duplexing the Sponge: Single-Pass Authenticated Encryption and Other Applications”, SAC 2011, (eds.) Ali Miri and Serge Vaudenay, LNCS, Vol. 7118, pages 320-337, Springer, 2012.Guido Bertoni, Joan Daemen, Michael Peeters and Gilles Van Assche, “Duplexing the Sponge: Single-Pass Authenticated Encryption and Other Applications”, SAC 2011, (eds.) Ali Miri and Serge Vaudenay, LNCS, Vol. 7118, pages 320- 337, Springer, 2012. Guido Bertoni, Joan Daemen, Michael Peeters and Gilles Van Assche,“Permutation-based encryption, authentication and authenticated encryption”, Workshop Records of DIAC 2012.Guido Bertoni, Joan Daemen, Michael Peeters and Gilles Van Assche, “Permutation-based encryption, authentication and authenticated encryption”, Workshop Records of DIAC 2012. Phillip Rogaway,“Authenticated-encryption with associated-data”, ACM CCS 2002, (ed.) Vijayalakshmi Atluri, pages 98-107, ACM, 2002.Phillip Rogaway, “Authenticated-encryption with associated-data”, ACM CCS 2002, (ed.) Vijayalakshmi Atluri, pages 98-107, ACM, 2002.

nonce stealingの概念をSPONGEWRAPに取り入れると、初期値IVの余剰スペースにAのデータを埋めることができる。従って、図4において、padの部分にAのデータを入れることで、この後に処理されるAのビット数を少なくできる。しかし、既存の追加認証データ付認証暗号技術では、最初の置換演算fを行う前にAを処理する手段がnonce stealingしかない。   If the concept of nonce stealing is adopted in SPONGEWRAP, the data of A can be filled in the surplus space of the initial value IV. Therefore, in FIG. 4, the number of bits of A processed after this can be reduced by putting A data in the pad portion. However, in the existing authentication encryption technology with additional authentication data, there is only nonce stealing as a means for processing A before performing the first replacement operation f.

本発明は、最初の置換演算fを行う前にAを処理する新たな手段を提供することで、処理スピードを向上させる。   The present invention improves processing speed by providing a new means for processing A before performing the first replacement operation f.

本発明の暗号化システムは、追加認証データ付認証暗号のための暗号化装置と復号装置を有する。まず、Kを暗号化装置と復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,bを1以上の整数、b=r+c、fをbビットの置換演算、||をビット数を示す記号とする。また、ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とする。暗号化装置は、Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの暗号化用初期値を生成し、前記暗号化用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする暗号化用初期値設定部を備えることを特徴とする。暗号化装置は、追加認証データAのうち暗号化用初期値設定部で用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力する。復号装置は、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの復号用初期値を生成し、前記復号用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする復号用初期値設定部を備えることを特徴とする。復号装置は、追加認証データAのうち復号用初期値設定部で用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較する。   The encryption system of the present invention has an encryption device and a decryption device for authentication encryption with additional authentication data. First, K is a secret key shared by both the encryption device and the decryption device, A is additional authentication data, M is a message, C is ciphertext, T is a tag, K, A, and M are bit strings, and N is all bits Is a bit string excluding a bit string of “0”, r, c, b are integers of 1 or more, b = r + c, f is a b-bit replacement operation, and || is a symbol indicating the number of bits. Further, the state is a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part. The encryption apparatus selects N, embeds N in the rate part, and embeds K in the capacity part to generate an initial value for b-bit encryption, and the bit in which the initial value K for encryption is embedded And an initial value setting unit for encryption in which the result obtained by substituting K is replaced with the exclusive OR of | K | It is characterized by. The encryption device treats the bit string A ′ formed by the bits not used in the initial value setting unit for encryption in the additional authentication data A as additional authentication data, obtains the ciphertext C and the tag T, and obtains C, T , A, N are output. The decoding device generates a b-bit initial value for decoding by embedding N in the rate part and embedding K in the capacity part, and includes the bit embedded in the initial value for decoding and the additional authentication data A A decoding initial value setting unit having a result obtained by replacing the bit in which K is embedded in an exclusive OR with | K | The decryption apparatus treats the bit string A ′ of the bits not used in the decryption initial value setting unit in the additional authentication data A as the additional authentication data, decrypts the message M ′, and generates the tag T ′. And the tag T ′.

本発明の認証システムは、認証子生成装置と検証装置を有する。Kを認証子生成装置と検証装置の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグ、K,Aをビット列、bを1以上の整数、fをbビットの置換演算とする。ステートをbビットのビット列とする。認証子生成装置は、Kを埋め込むことでbビットの生成用初期値を生成し、生成用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする生成用初期値設定部を備えることを特徴とする。認証子生成装置は、データAのうち生成用初期値設定部で用いなかったビットで形成されるビット列A’を認証対象のデータとして扱って、生成用初期値設定部が求めたステートを用いてタグTを求め、T,Aの組を出力する。検証装置は、Kを埋め込むことでbビットの検証用初期値を生成し、前記検証用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする検証用初期値設定部を備えることを特徴とする。検証装置は、データAのうち検証用初期値設定部で用いなかったビットA’を認証対象のデータとして扱って、検証用初期値設定部が求めたステートを用いてタグT’の生成と行い、タグTとタグT’とを比較する。   The authentication system of the present invention includes an authenticator generation device and a verification device. K is a secret key shared by both the authenticator generation device and the verification device, A is data to be authenticated, T is a tag, K and A are bit strings, b is an integer of 1 or more, and f is a b-bit replacement operation . The state is a bit string of b bits. The authenticator generation device generates a b-bit generation initial value by embedding K, and sets the result obtained by replacing the exclusive OR of the generation initial value and the b bit in the data A with f as a state. An initial value setting unit for generation is provided. The authenticator generation device treats a bit string A ′ formed by bits not used in the generation initial value setting unit in the data A as data to be authenticated, and uses the state obtained by the generation initial value setting unit. A tag T is obtained and a set of T and A is output. The verification device generates a b-bit verification initial value by embedding K, and uses the result obtained by replacing the exclusive OR of the verification initial value and the b bit in the data A with f as a state. And an initial value setting unit. The verification device handles the bit A ′ that is not used in the verification initial value setting unit in the data A as data to be authenticated, and generates a tag T ′ using the state obtained by the verification initial value setting unit. The tag T and the tag T ′ are compared.

排他的論理和の計算コストは、ビットの置換演算fの計算コストと比較すると無視できるほど小さい。そして、本発明の暗号化システムと認証システムによれば、初期化を行うとき(最初の置換演算fを行う前)に排他的論理和の計算で認証対象のデータの一部を用いるので、ビットの置換演算fの回数を少なくできる。したがって、処理スピードを向上できる。   The calculation cost of exclusive OR is negligibly small compared to the calculation cost of the bit replacement operation f. According to the encryption system and the authentication system of the present invention, since a part of data to be authenticated is used in the calculation of exclusive OR when performing initialization (before performing the first replacement operation f), the bit The number of replacement operations f can be reduced. Therefore, the processing speed can be improved.

SPONGEWRAPの暗号化での計算構造を示す図。The figure which shows the calculation structure in the encryption of SPONGEWRAP. SPONGEWRAPの復号での計算構造を示す図。The figure which shows the calculation structure in the decoding of SPONGEWRAP. donkeySpongeの計算構造を示す図。The figure which shows the calculation structure of donkeySponge. monkeyDuplexによるステートの初期化およびK,Nの処理を示す図。The figure which shows the initialization of the state by monkeyDuplex, and the process of K and N. 実施例1の暗号化システムの機能構成例を示す図。FIG. 3 is a diagram illustrating a functional configuration example of the encryption system according to the first embodiment. 実施例1の暗号化での計算構造の例を示す図。FIG. 3 is a diagram illustrating an example of a calculation structure in encryption according to the first embodiment. 実施例1の復号での計算構造の例を示す図。FIG. 6 is a diagram illustrating an example of a calculation structure in decoding according to the first embodiment. 実施例1の暗号化装置の処理フローを示す図。FIG. 3 is a diagram illustrating a processing flow of the encryption apparatus according to the first embodiment. 実施例1の復号装置の処理フローを示す図。FIG. 3 is a diagram illustrating a processing flow of the decoding apparatus according to the first embodiment. 実施例1変形例1の暗号化での計算構造の例を示す図。FIG. 10 is a diagram illustrating an example of a calculation structure in encryption according to the first modification. 実施例1変形例1の復号での計算構造の例を示す図。The figure which shows the example of the calculation structure in the decoding of Example 1 modification 1. FIG. 実施例2の認証システムの機能構成例を示す図。FIG. 6 is a diagram illustrating a functional configuration example of an authentication system according to a second embodiment. 実施例2の認証子生成での計算構造の例を示す図。FIG. 10 is a diagram illustrating an example of a calculation structure in authenticator generation according to the second embodiment. 実施例2の検証での計算構造の例を示す図。FIG. 10 is a diagram illustrating an example of a calculation structure in verification of the second embodiment. 実施例2の認証子生成装置の処理フローを示す図。The figure which shows the processing flow of the authenticator production | generation apparatus of Example 2. FIG. 実施例2の検証装置の処理フローを示す図。The figure which shows the processing flow of the verification apparatus of Example 2. FIG.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.

図5に実施例1の暗号化システムの機能構成例を示す。図6は実施例1の暗号化での計算構造の例を示す図、図7は実施例1の復号での計算構造の例を示す図である。また、図8は実施例1の暗号化装置の処理フロー、図9は実施例1の復号装置の処理フローを示す図である。実施例1の暗号化システムは、ネットワーク800を介して接続された暗号化装置100と復号装置200で構成される。まず、Kを暗号化装置100と復号装置200の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグとする。K,A,M,C,T,Nはビット列で表現される。なお、Nはすべてのビットが“0”のビット列を除くビット列である。タグTはあらかじめビット数Lが定められている。r,c,b,P,Q,Sを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、||をビット数を示す記号とする。また、ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とする。 FIG. 5 shows a functional configuration example of the encryption system according to the first embodiment. FIG. 6 is a diagram illustrating an example of a calculation structure in encryption according to the first embodiment, and FIG. 7 is a diagram illustrating an example of a calculation structure in decryption according to the first embodiment. FIG. 8 is a processing flow of the encryption apparatus according to the first embodiment, and FIG. 9 is a diagram illustrating a processing flow of the decryption apparatus according to the first embodiment. The encryption system according to the first embodiment includes an encryption device 100 and a decryption device 200 connected via a network 800. First, K is a secret key shared by both the encryption device 100 and the decryption device 200, A is additional authentication data, M is a message, C is a ciphertext, and T is a tag. K, A, M, C, T, and N are represented by bit strings. N is a bit string excluding a bit string in which all bits are “0”. Tag T is determined in advance the number of bits L T. r, c, b, P, Q, S are integers of 1 or more, b = r + c, p is an integer of 1 to P, q is an integer of 1 to Q, S is a predetermined integer of 1 or more, s Is an integer from 1 to S, f is a b-bit permutation operation, and || is a symbol indicating the number of bits. Further, the state is a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part.

実施例1の暗号化装置100の特徴は初期値設定部110である。初期値設定部110は、Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの初期値を生成する。そして、Kを埋め込んだビットを、初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に置き換えた上で、fにより置換した結果をステートとする。暗号化装置100のその他の構成部は従来と同じ構成もよいし、何らかの改良を施した構成でもよい。暗号化装置100は、追加認証データAのうち初期値設定部110で用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力する。「排他的論理和」はビット単位の排他的論理和であり、同じ位置のビット同士の排他的論理和を行う演算である。例えば、ビット列“10100”とビット列“00110”との排他的論理和の結果は“10010”である。   A feature of the encryption device 100 according to the first embodiment is an initial value setting unit 110. The initial value setting unit 110 selects N, embeds N in the rate portion, and embeds K in the capacity portion, thereby generating an initial value of b bits. Then, after replacing the bit embedded with K with an exclusive OR of the bit embedded with the initial value K and the | K | bit in the additional authentication data A, the result of replacement with f is the state. . The other components of the encryption device 100 may have the same configuration as the conventional one, or may have some improvements. The encryption device 100 treats the bit string A ′ formed by bits not used by the initial value setting unit 110 in the additional authentication data A as additional authentication data, obtains the ciphertext C and the tag T, and obtains C, T, A set of A and N is output. “Exclusive OR” is an exclusive OR of each bit, and is an operation for performing an exclusive OR of bits at the same position. For example, the result of the exclusive OR of the bit string “10100” and the bit string “00110” is “10010”.

実施例1の復号装置200の特徴も初期値設定部210である。初期値設定部210は、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの初期値を生成する。そして、Kを埋め込んだビットを、Kを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に置き換えた上で、fにより置換した結果をステートとする。復号装置200のその他の構成部は従来と同じ構成もよいし、何らかの改良を施した構成でもよい。復号装置200は、追加認証データAのうち初期値設定部210で用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較する。   The feature of the decoding device 200 of the first embodiment is also the initial value setting unit 210. The initial value setting unit 210 generates a b-bit initial value by embedding N in the rate portion and embedding K in the capacity portion. Then, after replacing the bit in which K is embedded with the exclusive OR of the bit in which K is embedded and the | K | bit in the additional authentication data A, the result of replacement with f is defined as a state. The other components of the decoding device 200 may have the same configuration as the conventional one, or a configuration with some improvement. The decryption apparatus 200 treats the bit string A ′ of the bits not used by the initial value setting unit 210 in the additional authentication data A as additional authentication data, decrypts the message M ′, and generates the tag T ′. And the tag T ′.

<暗号化装置>
図1に示した従来技術に上述の特徴を適用した例が図5,6,8に示された暗号化装置100である。図5に示した暗号化装置100は、初期値設定部110、追加認証データ分割部120、メッセージ分割部130、追加認証データ計算部140、暗号化部150、タグ計算部160、出力部190を備える。
<Encryption device>
An example in which the above-described features are applied to the prior art shown in FIG. 1 is an encryption device 100 shown in FIGS. The encryption apparatus 100 illustrated in FIG. 5 includes an initial value setting unit 110, an additional authentication data division unit 120, a message division unit 130, an additional authentication data calculation unit 140, an encryption unit 150, a tag calculation unit 160, and an output unit 190. Prepare.

初期値設定部110は、上述のように、Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの初期値を生成する。そして、Kを埋め込んだビットを、初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に置き換えた上で、fにより置換した結果をステートとする(S110)。「埋め込む」とは、例えば、Nのビット数がrより小さいときはパディングによってrビットにした上でレート部分にすることを意味している。fはSPONGEWRAPで説明した置換と同じであり、あらかじめ暗号化装置100と復号装置200との間で定めておく。なお、nonce stealingの概念とも組み合わせてもよい。すなわち、さらに以下のような処理を行ってもよい。初期値設定部110は、レート部分にNを埋め込む処理では、|N|がrよりも小さいときには、追加認証データAの中の(r−|N|)ビットとNとをレート部分とし、キャパシティ部分にKを埋め込む処理では、|K|がcよりも小さいときには、追加認証データAの中の別の(c−|K|)ビットとKとをキャパシティ部分とし、排他的論理和の計算で用いる|K|ビットは、初期値の生成に用いていないビットとすればよい。この場合、「追加認証データAのうち初期値設定部110で用いなかったビットで形成されるビット列A’」とは、レート部分に使用された(r−|N|)ビット、キャパシティ部分に使用された(c−|K|)ビット、排他的論理和に使用された|K|ビット以外のビットで形成されるビット列である。図6では、110を付した点線で囲まれた部分が初期値設定部に相当する。   As described above, the initial value setting unit 110 selects N, embeds N in the rate portion, and embeds K in the capacity portion, thereby generating an initial value of b bits. Then, after replacing the bit embedded with K with an exclusive OR of the bit embedded with the initial value K and the | K | bit in the additional authentication data A, the result of replacement with f is the state. (S110). “Embedding” means, for example, that when the number of bits of N is smaller than r, it is converted to r bits by padding and made into a rate portion. f is the same as the replacement described in SPONGEWRAP, and is determined in advance between the encryption device 100 and the decryption device 200. It may be combined with the concept of nonce stealing. That is, the following processing may be further performed. In the process of embedding N in the rate part, the initial value setting unit 110 sets the (r− | N |) bits and N in the additional authentication data A and N as the rate part when | N | In the process of embedding K in the city part, when | K | is smaller than c, another (c− | K |) bit and K in the additional authentication data A are used as the capacity part, and exclusive OR The | K | bit used in the calculation may be a bit that is not used for generating the initial value. In this case, “the bit string A ′ formed by bits not used in the initial value setting unit 110 in the additional authentication data A” means the (r− | N |) bits used for the rate portion and the capacity portion. This is a bit string formed by bits other than the (c− | K |) bits used and the | K | bits used for exclusive OR. In FIG. 6, a portion surrounded by a dotted line with 110 corresponds to the initial value setting unit.

図6の例では、追加認証データ分割部120は、追加認証データとして扱われるビット列A’を、パディングを用いてrビットごとの追加認証データブロックa’,…,a’に分割する(S120)。パディングとしては、例えば10*パディングを用いればよい。また、rの整数倍になるようにパディングを行った上で分割してもよいし、rより少ないビット数ごとに分割した上でrビットになるようにパディングを行ってもよい。図6では、120を付した点線で囲まれた部分が追加認証データ分割部に相当する。 In the example of FIG. 6, the additional authentication data dividing unit 120 divides the bit string A ′ treated as additional authentication data into additional authentication data blocks a 1 ′,..., A Q ′ for each r bits using padding ( S120). As padding, for example, 10 * padding may be used. Further, it may be divided after being padded so as to be an integral multiple of r, or may be divided so as to be r bits after being divided for each bit number smaller than r. In FIG. 6, a portion surrounded by a dotted line with 120 corresponds to the additional authentication data dividing unit.

メッセージ分割部130は、メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割する(S130)。パディングとしては、例えば10*パディングを用いればよい。図6では、130を付した点線で囲まれた部分がメッセージ分割部に相当する。 The message dividing unit 130 divides the message M into message blocks m 1 ,..., M P every r bits using padding (S130). As padding, for example, 10 * padding may be used. In FIG. 6, a part surrounded by a dotted line marked with 130 corresponds to a message dividing part.

追加認証データ計算部140、ステートのレート部分に対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S140)。図6では、140を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The additional authentication data calculation unit 140 calculates the exclusive OR with the additional authentication data block a q ′ for the rate part of the state, and further changes the result of replacement with f to a new state from q = 1. Repeat until q = Q (S140). In FIG. 6, a portion surrounded by a dotted line marked with 140 corresponds to an additional authentication data calculation unit.

暗号化部150は、ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=Pまで繰り返す。そして、暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める(S150)。「結合処理を用いて暗号文Cを求める」とは、単に暗号ブロックd,…,dを結合して暗号文Cとすること、および、結合した上でパディング部分を取り除いて暗号文Cとすることを含み意味である。図6では、150を付した点線で囲まれた部分が暗号化部に相当する。 Encryption unit 150, an exclusive OR of the message block m p calculated for rate portion of the state, the calculation result with a cipher block d p of r bits, the rate portion of the state to the calculation result After the replacement, the process of setting the result replaced by f as a new state is repeated from p = 1 to p = P. Then, the ciphertext C is obtained by using the combination processing of the cipher blocks d 1 ,..., D P (S150). “Determining ciphertext C using the combining process” means simply combining the cipher blocks d 1 ,..., D P into the ciphertext C, and combining and removing the padding portion to obtain the ciphertext C It is meant to include. In FIG. 6, a portion surrounded by a dotted line with 150 corresponds to the encryption unit.

タグ計算部160は、S=1の場合はステートのレート部分からタグTを求める。S≧2の場合は、ステートのレート部分をタグブロックtとする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとし、レート部分をタグブロックtとする処理を、s=2からs=Sまで繰り返す。そして、タグブロックt,…,tを用いてタグTを求める(S160)。S=1の場合は、レート部分をそのままタグTとしてもよいし、レート部の中からビット数Lだけを切り出してタグTとしてもよい。S≧2の場合は、例えば、タグブロックt,…,tを結合した結果をタグTとしてもよいし、タグブロックt,…,tを結合した結果からビット数Lよりも多いビット分を切り捨てて(ビット数L分を切り出して)タグTとしてもよい。また、各タグブロックtから所定のビットを切り出した後、それらを結合してタグTとしてもよい。なお、Sは、r×SがタグTのビット数L以上となるようにあらかじめ定めておけばよい。図6では、160を付した点線で囲まれた部分がタグ計算部に相当する。出力部190は、C,T,A,Nの組を出力する(S190)。出力されたC,T,A,Nの組が復号装置200に送信される。 Tag calculation section 160 obtains tag T from the rate portion of the state when S = 1. If S ≧ 2, the rate portion of the state is the tag block t 1 . Further in the case of S ≧ 2, the results of the state has been replaced by f as a new state, the process of the rate portion and tag block t s, repeated from s = 2 to s = S. The tag block t 1, ..., determine the tag T using t S (S160). For S = 1, to the rate portion may be directly tag T, may be a tag T by only the cut-out number of bits L T from the rate portion. For S ≧ 2, for example, tag block t 1, ..., may be set as the tag T a result of coupling the t S, tag block t 1, ..., than the number of bits L T from the result obtained by combining the t S truncated more bits (cut out the number of bits L T min) or as a tag T. Further, after cutting out a predetermined bit from each tag block t s, or as a tag T attached to them. Note, S is, it is sufficient to set in advance so as r × S is equal to or greater than the number of bits L T of the tag T. In FIG. 6, a part surrounded by a dotted line with 160 corresponds to the tag calculation unit. The output unit 190 outputs a set of C, T, A, and N (S190). The set of C, T, A, and N output is transmitted to the decoding device 200.

<復号装置>
図2に示した従来技術に上述の特徴を適用した例が図5,7,9に示された復号装置200である。図5に示した復号装置200は、初期値設定部210、追加認証データ分割部220、暗号文分割部230、追加認証データ計算部240、復号部250、タグ計算部260、検証部270、入力部290を備える。入力部290は、暗号化装置100が送信したC,T,A,Nの組を取得する(S290)。
<Decoding device>
An example in which the above-described features are applied to the prior art shown in FIG. 2 is a decoding device 200 shown in FIGS. 5 includes an initial value setting unit 210, an additional authentication data division unit 220, a ciphertext division unit 230, an additional authentication data calculation unit 240, a decryption unit 250, a tag calculation unit 260, a verification unit 270, and an input. Part 290. The input unit 290 acquires a set of C, T, A, and N transmitted from the encryption device 100 (S290).

初期値設定部210は、上述のように、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの初期値を生成する。そして、Kを埋め込んだビットを、Kを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に置き換えた上で、fにより置換した結果をステートとする(S210)。なお、nonce stealingの概念とも組み合わせてもよい。すなわち、さらに以下のような処理を行ってもよい。初期値設定部210は、レート部分にNを埋め込む処理では、|N|がrよりも小さいときには、追加認証データAの中の(r−|N|)ビットとNとをレート部分とし、キャパシティ部分にKを埋め込む処理では、|K|がcよりも小さいときには、追加認証データAの中の別の(c−|K|)ビットとKとをキャパシティ部分とし、排他的論理和の計算で用いる|K|ビットは、初期値の生成に用いていないビットとすればよい。この場合、「追加認証データAのうち初期値設定部210で用いなかったビットで形成されるビット列A’」とは、レート部分に使用された(r−|N|)ビット、キャパシティ部分に使用された(c−|K|)ビット、排他的論理和に使用された|K|ビット以外のビットで形成されるビット列である。図7では、210を付した点線で囲まれた部分が初期値設定部に相当する。   As described above, the initial value setting unit 210 embeds N in the rate part and embeds K in the capacity part to generate a b-bit initial value. The bit embedded with K is replaced with the exclusive OR of the bit embedded with K and the | K | bit in the additional authentication data A, and the result of replacement with f is set as a state (S210). . It may be combined with the concept of nonce stealing. That is, the following processing may be further performed. In the process of embedding N in the rate part, the initial value setting unit 210 sets the (r− | N |) bit and N in the additional authentication data A and N as the rate part when | N | In the process of embedding K in the city part, when | K | is smaller than c, another (c− | K |) bit and K in the additional authentication data A are used as the capacity part, and exclusive OR The | K | bit used in the calculation may be a bit that is not used for generating the initial value. In this case, “the bit string A ′ formed by bits not used in the initial value setting unit 210 in the additional authentication data A” is the (r− | N |) bits used for the rate portion and the capacity portion. This is a bit string formed by bits other than the (c− | K |) bits used and the | K | bits used for exclusive OR. In FIG. 7, a portion surrounded by a dotted line marked with 210 corresponds to an initial value setting unit.

図7の例では、追加認証データ分割部220は、追加認証データとして扱われるビット列A’を、パディングを用いてrビットごとの追加認証データブロックa’,…,a’に分割する(S220)。図7では、220を付した点線で囲まれた部分が追加認証データ分割部に相当する。 In the example of FIG. 7, the additional authentication data dividing unit 220 divides the bit string A ′ treated as additional authentication data into additional authentication data blocks a 1 ′,..., A Q ′ for each r bits using padding ( S220). In FIG. 7, a portion surrounded by a dotted line with 220 corresponds to the additional authentication data dividing unit.

暗号文分割部230は、暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する(S230)。暗号文Cのビット数がrの整数倍でないときは、パディングによってrビットごとの暗号ブロックに分割すればよい。図7では、230を付した点線で囲まれた部分が暗号文分割部に相当する。 The ciphertext dividing unit 230 divides the ciphertext C into cipher blocks d 1 ,..., D P every r bits (S230). When the number of bits of the ciphertext C is not an integer multiple of r, the ciphertext C may be divided into r-bit cipher blocks by padding. In FIG. 7, a portion surrounded by a dotted line with 230 corresponds to the ciphertext dividing unit.

追加認証データ計算部240は、ステートのレート部分に対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S240)。図7では、240を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The additional authentication data calculation unit 240 calculates an exclusive OR with the additional authentication data block a q ′ for the rate part of the state, and further changes the result replaced with f to a new state q = 1. To q = Q (S240). In FIG. 7, a portion surrounded by a dotted line denoted by 240 corresponds to an additional authentication data calculation unit.

復号部250は、ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=Pまで繰り返す。ここでの「排他的論理和」もビット単位の排他的論理和であり、同じ位置のビット同士の排他的論理和を行う演算である。そして、メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする(S250)。図7では、250を付した点線で囲まれた部分が復号部に相当する。 The decryption unit 250 calculates an exclusive OR with the cipher block d p for the rate part of the state, sets the calculation result to an r-bit message block m p ′, and uses the rate part of the state as the cipher block d p. The process of replacing with f and setting the result of replacement with f as a new state is repeated from p = 1 to p = P. The “exclusive OR” here is also an exclusive OR of each bit, and is an operation for performing an exclusive OR of bits at the same position. Then, a message M ′ is obtained by combining the message blocks m 1 ′,..., M P ′ by removing the bits added by padding (S250). In FIG. 7, a part surrounded by a dotted line with 250 corresponds to a decoding unit.

タグ計算部260は、S=1の場合はステートのレート部分からタグT’を求める。S≧2の場合は、ステートのレート部分をタグブロックt’とする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとし、レート部分をタグブロックt’とする処理を、s=2からs=Sまで繰り返す。そして、タグブロックt’,…,t’を用いてタグT’を求める(S260)。図7では、260を付した点線で囲まれた部分がタグ計算部に相当する。検証部270は、タグTとタグT’とを比較する(S270)。復号装置200は、T=T’のときはメッセージM’を復号されたメッセージとする。T≠T’のときは復号に失敗したという結果を出力する。 The tag calculation unit 260 obtains the tag T ′ from the rate portion of the state when S = 1. When S ≧ 2, the rate portion of the state is the tag block t 1 ′. In the case of S ≧ 2, the process of replacing the state with f as a new state and setting the rate part as the tag block t s ′ is repeated from s = 2 to s = S. The tag block t 1 ', ..., t S ' Request tag T 'using (S260). In FIG. 7, a portion surrounded by a dotted line denoted by 260 corresponds to a tag calculation unit. The verification unit 270 compares the tag T with the tag T ′ (S270). The decoding device 200 sets the message M ′ as a decoded message when T = T ′. When T ≠ T ′, a result indicating that decoding has failed is output.

<効果>
排他的論理和の計算コストは、ビットの置換演算fの計算コストと比較すると無視できるほど小さい。そして、本発明の暗号化システムによれば、初期化を行うとき(最初の置換演算fを行う前)に排他的論理和の計算で認証対象のデータの一部を用いるので、ビットの置換演算fの回数を少なくできる。したがって、処理スピードを向上できる。
<Effect>
The calculation cost of exclusive OR is negligibly small compared to the calculation cost of the bit replacement operation f. According to the encryption system of the present invention, when initialization is performed (before the first replacement operation f), a part of the data to be authenticated is used in the exclusive OR calculation, so that the bit replacement operation is performed. The number of times f can be reduced. Therefore, the processing speed can be improved.

[変形例1]
実施例1では、図1,2に示した従来技術に本発明の特徴である初期値設定部を適用した例を示した。しかし、初期値設定部110,210以外の構成は、図1,2の構成に限定する必要はない。上述のように、暗号化装置100は、追加認証データAのうち初期値設定部110で用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力すればよい。また、復号装置200は、追加認証データAのうち初期値設定部210で用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較すればよい。
[Modification 1]
In Example 1, the example which applied the initial value setting part which is the characteristics of this invention to the prior art shown in FIG. However, the configuration other than the initial value setting units 110 and 210 need not be limited to the configuration of FIGS. As described above, the encryption apparatus 100 obtains the ciphertext C and the tag T by treating the bit string A ′ formed by the bits not used by the initial value setting unit 110 in the additional authentication data A as additional authentication data. , C, T, A, and N may be output. Further, the decryption apparatus 200 treats the bit string A ′ of the bits not used by the initial value setting unit 210 in the additional authentication data A as additional authentication data, performs the decryption of the message M ′ and the generation of the tag T ′, The tag T and the tag T ′ may be compared.

図10に本変形例の暗号化での計算構造の例を、図11に本変形例の復号での計算構造の例を示す。暗号化システムの機能構成例は図5と同じ、暗号化装置の処理フローは図8と同じ、復号装置の処理フローは図9と同じである。実施例1と処理の内容が異なるのは、追加認証データ分割部120、追加認証データ計算部140、暗号化部150、追加認証データ分割部220、追加認証データ計算部240、復号部250であり、他の構成部の処理は同じである。   FIG. 10 shows an example of the calculation structure in the encryption of this modification, and FIG. 11 shows an example of the calculation structure in the decryption of this modification. The functional configuration example of the encryption system is the same as in FIG. 5, the processing flow of the encryption device is the same as in FIG. 8, and the processing flow of the decryption device is the same as in FIG. The processing contents differ from the first embodiment in the additional authentication data division unit 120, the additional authentication data calculation unit 140, the encryption unit 150, the additional authentication data division unit 220, the additional authentication data calculation unit 240, and the decryption unit 250. The processing of the other components is the same.

図10の例では、追加認証データ分割部120は、追加認証データとして扱われるビット列A’を、10*1パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する(S120)。10*1パディングは、最初と最後のビットを“1”とし、残りのビットを“0”とするパディングである。図10では、120を付した点線で囲まれた部分が追加認証データ分割部に相当する。 In the example of FIG. 10, the additional authentication data dividing unit 120 converts the bit string A ′ treated as additional authentication data into additional authentication data blocks a 1 ′,..., A Q ′ for each b bit using 10 * 1 padding. Divide (S120). The 10 * 1 padding is padding in which the first and last bits are “1” and the remaining bits are “0”. In FIG. 10, a portion surrounded by a dotted line with 120 corresponds to the additional authentication data dividing unit.

追加認証データ計算部140、ステート(bビット)に対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S140)。図10では、140を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The additional authentication data calculation unit 140 calculates an exclusive OR with the additional authentication data block a q ′ for the state (b bits), and further sets the result of replacing with f as a new state, q = 1 To q = Q (S140). In FIG. 10, a portion surrounded by a dotted line marked with 140 corresponds to an additional authentication data calculation unit.

暗号化部150は、次の(1)〜(3)の処理を行う(S150)。図10では、150を付した点線で囲まれた部分が暗号化部に相当する。   The encryption unit 150 performs the following processes (1) to (3) (S150). In FIG. 10, a portion surrounded by a dotted line with 150 corresponds to the encryption unit.

(1)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返す。 (1) the exclusive OR of the message block m p calculated for rate portion of the state, the calculation result with a cipher block d p of r bits, on the rate portion of the state is replaced with the calculated results The process in which the result of replacement by f is used as a new state is repeated from p = 1 to p = P-1.

(2)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするともに、ステートのレート部分を当該計算結果に置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行う。なお、gは0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算である。 (2) An exclusive OR with the message block m P is calculated for the rate part of the state, the calculation result is an r-bit cipher block d P, and the rate part of the state is replaced with the calculation result. The c bit of the city portion is treated as a finite field consisting of integers of 0 to 2 c −1, multiplication by g is performed, and the result of replacement by f is set as a new state. Incidentally, g is the multiplication on a finite field with a predetermined constant other than 1 as the original and 0 of the finite field of integers of 0 to 2 c -1.

(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める。「結合処理を用いて暗号文Cを求める」とは、単に暗号ブロックd,…,dを結合して暗号文Cとすること、および、結合した上でパディング部分を取り除いて暗号文Cとすることを含み意味である。 (3) The ciphertext C is obtained using the combination processing of the cipher blocks d 1 ,..., D P. “Determining ciphertext C using the combining process” means simply combining the cipher blocks d 1 ,..., D P into the ciphertext C, and combining and removing the padding portion to obtain the ciphertext C It is meant to include.

図11の例では、追加認証データ分割部220は、追加認証データとして扱われるビット列A’を、10*1パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する(S220)。図11では、220を付した点線で囲まれた部分が追加認証データ分割部に相当する。 In the example of FIG. 11, the additional authentication data dividing unit 220 converts the bit string A ′ treated as additional authentication data into additional authentication data blocks a 1 ′,..., A Q ′ for each b bit using 10 * 1 padding. Divide (S220). In FIG. 11, a portion surrounded by a dotted line with 220 corresponds to the additional authentication data dividing unit.

追加認証データ計算部240は、ステート(bビット)に対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S240)。図11では、240を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The additional authentication data calculation unit 240 calculates the exclusive OR of the additional authentication data block a q ′ with respect to the state (b bits), and further changes the result replaced with f to a new state q = Repeat from 1 to q = Q (S240). In FIG. 11, a portion surrounded by a dotted line denoted by 240 corresponds to an additional authentication data calculation unit.

復号部250は、次の(1)〜(3)の処理を行う(S250)。図11では、250を付した点線で囲まれた部分が復号部に相当する。   The decryption unit 250 performs the following processes (1) to (3) (S250). In FIG. 11, a part surrounded by a dotted line with 250 corresponds to a decoding unit.

(1)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返す。 (1) An exclusive OR with the cipher block d p is calculated for the rate part of the state, the calculation result is an r-bit message block m p ′, and the rate part of the state is replaced with the cipher block d p In addition, the process of setting the result replaced with f as a new state is repeated from p = 1 to p = P-1.

(2)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするともに、ステートのレート部分を暗号ブロックdに置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行う。gは暗号化装置100で用いた有限体上での定数の乗算と同じである。 (2) An exclusive OR with the cipher block d P is calculated for the rate part of the state, and the calculation result is an r-bit message block m P ′, and the rate part of the state is replaced with the cipher block d P Then, the c bit in the capacity portion is treated as a finite field consisting of integers of 0 to 2 c −1, multiplication by g is performed, and the result of replacement by f is set as a new state. g is the same as the constant multiplication on the finite field used in the encryption apparatus 100.

(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする。 (3) A message M ′ is formed by combining the message blocks m 1 ′,..., M P ′ by removing the bits added by padding.

このような構成でも、本発明の特徴である初期値設定部110,210を適用すれば、初期化を行うとき(最初の置換演算fを行う前)に排他的論理和の計算で認証対象のデータの一部を用いるので、ビットの置換演算fの回数を少なくできる。つまり、実施例1と同じ効果が得られる。   Even in such a configuration, by applying the initial value setting units 110 and 210, which is a feature of the present invention, when performing initialization (before performing the first replacement operation f) Since part of the data is used, the number of bit replacement operations f can be reduced. That is, the same effect as in the first embodiment can be obtained.

図12に実施例2の認証システムの機能構成例を示す。図13は実施例2の認証子生成での計算構造の例を示す図、図14は実施例2の検証での計算構造の例を示す図である。また、図15は実施例2の認証子生成装置の処理フロー、図16は実施例2の検証装置の処理フローを示す図である。実施例2の認証システムは、ネットワーク800を介して接続された認証子生成装置300と検証装置400で構成される。まず、Kを認証子生成装置300と検証装置400の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグとする。K,A,Tはビット列で表現される。タグTはあらかじめビット数Lが定められている。r,c,b,Q,Sを1以上の整数、b=r+c、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、||をビット数を示す記号とする。また、ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とする。 FIG. 12 shows a functional configuration example of the authentication system according to the second embodiment. FIG. 13 is a diagram illustrating an example of a calculation structure in authenticator generation according to the second embodiment. FIG. 14 is a diagram illustrating an example of a calculation structure in verification according to the second embodiment. FIG. 15 is a processing flow of the authenticator generation device according to the second embodiment, and FIG. 16 is a diagram illustrating a processing flow of the verification device according to the second embodiment. The authentication system according to the second embodiment includes an authenticator generation apparatus 300 and a verification apparatus 400 connected via a network 800. First, K is a secret key shared by both the authenticator generation device 300 and the verification device 400, A is data to be authenticated, and T is a tag. K, A, and T are represented by bit strings. Tag T is determined in advance the number of bits L T. r, c, b, Q, and S are integers of 1 or more, b = r + c, q is an integer of 1 to Q, S is a predetermined integer of 1 or more, s is an integer of 1 to S, and f is b Bit substitution operation, || is a symbol indicating the number of bits. Further, the state is a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part.

実施例2の認証子生成装置300の特徴は初期値設定部310である。初期値設定部310は、Kを埋め込むことでbビットの初期値を生成し、初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする。認証子生成装置300は、データAのうち初期値設定部310で用いなかったビットで形成されるビット列A’を認証対象のデータとして扱って、初期値設定部が求めたステートを用いてタグTを求め、T,Aの組を出力する。   A feature of the authenticator generation device 300 according to the second embodiment is an initial value setting unit 310. The initial value setting unit 310 embeds K, generates a b-bit initial value, and sets the result obtained by replacing the exclusive OR of the initial value and the b-bit in the data A with f. The authenticator generation device 300 treats a bit string A ′ formed by bits not used in the initial value setting unit 310 in the data A as data to be authenticated, and uses the state obtained by the initial value setting unit to generate a tag T And outputs a set of T and A.

実施例2の検証装置400の特徴は初期値設定部410である。初期値設定部410は、Kを埋め込むことでbビットの初期値を生成し、初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする。検証装置400は、データAのうち初期値設定部410で用いなかったビットA’を認証対象のデータとして扱って、初期値設定部410が求めたステートを用いてタグT’の生成と行い、タグTとタグT’とを比較する。   A feature of the verification apparatus 400 according to the second embodiment is an initial value setting unit 410. The initial value setting unit 410 generates a b-bit initial value by embedding K, and sets the result obtained by replacing the exclusive OR of the initial value and the b-bit in the data A with f. The verification apparatus 400 treats the bit A ′ that is not used in the initial value setting unit 410 in the data A as data to be authenticated, generates the tag T ′ using the state obtained by the initial value setting unit 410, and Tag T and tag T ′ are compared.

<認証子生成装置>
図12に示した認証子生成装置300は、初期値設定部310、認証データ分割部320、認証データ計算部340、タグ計算部360、出力部390を備える。初期値設定部310は、上述のように、Kを埋め込むことでbビットの初期値を生成し、初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする(S310)。「埋め込む」とは、例えば、Kのビット数がbより小さいときはパディングによってbビットにすることを意味している。
<Authentication generator>
12 includes an initial value setting unit 310, an authentication data division unit 320, an authentication data calculation unit 340, a tag calculation unit 360, and an output unit 390. As described above, the initial value setting unit 310 generates a b-bit initial value by embedding K, and replaces the exclusive OR of the initial value and the b-bit in the data A with f as a state. (S310). “Embedding” means, for example, when the number of bits of K is smaller than b, b bits are set by padding.

認証データ分割部320は、認証対象のデータとして扱われるビット列A’を、パディングを用いてbビットごとの認証データブロックa’,…,a’に分割する(S320)。パディングとしては、例えば10*パディングを用いればよい。図13では、320を付した点線で囲まれた部分が追加認証データ分割部に相当する。 The authentication data dividing unit 320 divides the bit string A ′ treated as data to be authenticated into authentication data blocks a 1 ′,..., A Q ′ for every b bits using padding (S320). As padding, for example, 10 * padding may be used. In FIG. 13, a portion surrounded by a dotted line with 320 corresponds to the additional authentication data dividing unit.

認証データ計算部340は、ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S340)。図13では、340を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The authentication data calculation unit 340 calculates an exclusive OR with the additional authentication data block a q ′ for the state, and further changes the result of replacement with f to a new state from q = 1 to q = Q (S340). In FIG. 13, a portion surrounded by a dotted line marked with 340 corresponds to an additional authentication data calculation unit.

タグ計算部360は、S=1の場合はステートのレート部分からタグTを求める。S≧2の場合は、ステートのレート部分をタグブロックtとする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとし、レート部分をタグブロックtとする処理を、s=2からs=Sまで繰り返す。そして、タグブロックt,…,tを用いてタグTを求める(S360)。S=1の場合は、レート部分をそのままタグTとしてもよいし、レート部の中からビット数Lだけを切り出してタグTとしてもよい。S≧2の場合は、例えば、タグブロックt,…,tを結合した結果をタグTとしてもよいし、タグブロックt,…,tを結合した結果からビット数Lよりも多いビット分を切り捨てて(ビット数L分を切り出して)タグTとしてもよい。また、各タグブロックtから所定のビットを切り出した後、それらを結合してタグTとしてもよい。なお、Sは、r×SがタグTのビット数L以上となるようにあらかじめ定めておけばよい。図13では、360を付した点線で囲まれた部分がタグ計算部に相当する。出力部390は、T,Aの組を出力する(S390)。出力されたT,Aの組が検証装置400に送信される。 Tag calculation unit 360 obtains tag T from the rate portion of the state when S = 1. If S ≧ 2, the rate portion of the state is the tag block t 1 . Further in the case of S ≧ 2, the results of the state has been replaced by f as a new state, the process of the rate portion and tag block t s, repeated from s = 2 to s = S. The tag block t 1, ..., determine the tag T using t S (S360). For S = 1, to the rate portion may be directly tag T, may be a tag T by only the cut-out number of bits L T from the rate portion. For S ≧ 2, for example, tag block t 1, ..., may be set as the tag T a result of coupling the t S, tag block t 1, ..., than the number of bits L T from the result obtained by combining the t S truncated more bits (cut out the number of bits L T min) or as a tag T. Further, after cutting out a predetermined bit from each tag block t s, or as a tag T attached to them. Note, S is, it is sufficient to set in advance so as r × S is equal to or greater than the number of bits L T of the tag T. In FIG. 13, a portion surrounded by a dotted line with 360 corresponds to a tag calculation unit. The output unit 390 outputs a set of T and A (S390). The output T, A pair is transmitted to the verification device 400.

<検証装置>
図12に示した検証装置400は、初期値設定部410、認証データ分割部420、認証データ計算部440、タグ計算部460、検証部470、入力部490を備える。入力部490は、認証子生成装置300が送信したT,Aの組を取得する(S490)。
<Verification device>
12 includes an initial value setting unit 410, an authentication data division unit 420, an authentication data calculation unit 440, a tag calculation unit 460, a verification unit 470, and an input unit 490. The input unit 490 acquires the set of T and A transmitted by the authenticator generation device 300 (S490).

初期値設定部410は、上述のように、Kを埋め込むことでbビットの初期値を生成し、初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする(S410)。図14では、410を付した点線で囲まれた部分が初期値設定部に相当する。   As described above, the initial value setting unit 410 generates a b-bit initial value by embedding K, and replaces the exclusive OR of the initial value and the b-bit in the data A with f as a state. (S410). In FIG. 14, a portion surrounded by a dotted line denoted by 410 corresponds to an initial value setting unit.

認証データ分割部420は、認証対象のデータとして扱われるビット列A’を、パディングを用いてbビットごとの認証データブロックa’,…,a’に分割する(S420)。図14では、420を付した点線で囲まれた部分が認証データ分割部に相当する。 The authentication data dividing unit 420 divides the bit string A ′ treated as data to be authenticated into authentication data blocks a 1 ′,..., A Q ′ for each b bits using padding (S420). In FIG. 14, a portion surrounded by a dotted line with 420 corresponds to the authentication data dividing unit.

認証データ計算部440は、ステートに対して認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S440)。図14では、440を付した点線で囲まれた部分が認証データ計算部に相当する。 The authentication data calculation unit 440 calculates an exclusive OR with the authentication data block a q ′ for the state, and further changes the result of replacement with f to a new state from q = 1 to q = Q. Repeat (S440). In FIG. 14, a part surrounded by a dotted line marked with 440 corresponds to the authentication data calculation unit.

タグ計算部460は、S=1の場合はステートのレート部分からタグT’を求める。S≧2の場合は、ステートのレート部分をタグブロックt’とする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとし、レート部分をタグブロックt’とする処理を、s=2からs=Sまで繰り返す。そして、タグブロックt’,…,t’を用いてタグT’を求める(S460)。図14では、460を付した点線で囲まれた部分がタグ計算部に相当する。検証部470は、タグTとタグT’とを比較する(S470)。T=T’のときは認証子が正しいこと示す情報を出力する。T≠T’のときは認証に失敗したという結果を出力する。 Tag calculation unit 460 obtains tag T ′ from the rate portion of the state when S = 1. When S ≧ 2, the rate portion of the state is the tag block t 1 ′. In the case of S ≧ 2, the process of replacing the state with f as a new state and setting the rate part as the tag block t s ′ is repeated from s = 2 to s = S. The tag block t 1 ', ..., t S ' Request tag T 'using (S460). In FIG. 14, a portion surrounded by a dotted line denoted by 460 corresponds to a tag calculation unit. The verification unit 470 compares the tag T with the tag T ′ (S470). When T = T ′, information indicating that the authenticator is correct is output. When T ≠ T ′, a result indicating that the authentication has failed is output.

<効果>
本発明の認証システムによれば、初期化を行うとき(最初の置換演算fを行う前)に排他的論理和の計算で認証対象のデータの一部を用いるので、ビットの置換演算fの回数を少なくできる。したがって、処理スピードを向上できる。
<Effect>
According to the authentication system of the present invention, when initialization is performed (before the first replacement operation f), a part of the data to be authenticated is used in the exclusive OR calculation, so the number of bit replacement operations f Can be reduced. Therefore, the processing speed can be improved.

[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Program, recording medium]
The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

100 暗号化装置
110,210,310,410 初期値設定部
120,220 追加認証データ分割部 130 メッセージ分割部
140,240 追加認証データ計算部 150 暗号化部
160,260,360,460 タグ計算部
190,390 出力部 200 復号装置
230 暗号文分割部 250 復号部
270,470 検証部 290,490 入力部
300 認証子生成装置 320,420 認証データ分割部
340,440 認証データ計算部 400 検証装置
800 ネットワーク
100 Encryption device 110, 210, 310, 410 Initial value setting unit 120, 220 Additional authentication data division unit 130 Message division unit 140, 240 Additional authentication data calculation unit 150 Encryption unit 160, 260, 360, 460 Tag calculation unit 190 , 390 Output unit 200 Decryption device 230 Ciphertext division unit 250 Decryption unit 270, 470 Verification unit 290, 490 Input unit 300 Authentication code generation device 320, 420 Authentication data division unit 340, 440 Authentication data calculation unit 400 Verification device 800 Network

Claims (8)

追加認証データ付認証暗号のための暗号化装置と復号装置を有する暗号化システムであって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,bを1以上の整数、b=r+c、fをbビットの置換演算、||をビット数を示す記号とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置は、
Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの暗号化用初期値を生成し、前記暗号化用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする暗号化用初期値設定部を備え、
追加認証データAのうち前記暗号化用初期値設定部で用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力し、
前記復号装置は、
レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの復号用初期値を生成し、前記復号用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする復号用初期値設定部を備え、
追加認証データAのうち前記復号用初期値設定部で用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較する
暗号化システム。
An encryption system having an encryption device and a decryption device for authentication encryption with additional authentication data,
K is a secret key shared by both the encryption device and the decryption device, A is additional authentication data, M is a message, C is a ciphertext, T is a tag, K, A, and M are bit strings, and N is all bits Is a bit string excluding a bit string of “0”, r, c, b are integers of 1 or more, b = r + c, f is a b-bit replacement operation, || is a symbol indicating the number of bits,
The state is defined as a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part,
The encryption device is:
N is selected, N is embedded in the rate part, and K is embedded in the capacity part to generate an initial value for b-bit encryption, and the bit in which the initial value K for encryption is embedded and additional authentication data A An initial value setting unit for encryption having a result obtained by replacing the bit in which K is embedded in an exclusive OR with | K |
A bit string A ′ formed by bits not used in the initial value setting unit for encryption in the additional authentication data A is treated as additional authentication data to obtain a ciphertext C and a tag T, and C, T, A, N Output a set of
The decoding device
By embedding N in the rate part and embedding K in the capacity part, a b-bit initial value for decoding is generated, and the bit in which K of the initial value for decoding is embedded and | K | bit in the additional authentication data A And an initial value setting unit for decoding in which the result of replacement with f is replaced after replacing the bit embedded with K in the exclusive OR.
Of the additional authentication data A, the bit string A ′ of the bits not used in the initial value setting unit for decryption is treated as additional authentication data, the message M ′ is decoded and the tag T ′ is generated, and the tag T and the tag T 'Encryption system to compare with.
認証子生成装置と検証装置を有する認証システムであって、
Kを前記認証子生成装置と前記検証装置の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグ、K,Aをビット列、bを1以上の整数、fをbビットの置換演算とし、
ステートをbビットのビット列とし、
前記認証子生成装置は、
Kを埋め込むことでbビットの生成用初期値を生成し、前記生成用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする生成用初期値設定部を備え、
データAのうち前記生成用初期値設定部で用いなかったビットで形成されるビット列A’を認証対象のデータとして扱って、前記生成用初期値設定部が求めたステートを用いてタグTを求め、T,Aの組を出力し、
前記検証装置は、
Kを埋め込むことでbビットの検証用初期値を生成し、前記検証用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする検証用初期値設定部を備え、
データAのうち前記検証用初期値設定部で用いなかったビットA’を認証対象のデータとして扱って、前記検証用初期値設定部が求めたステートを用いてタグT’の生成と行い、タグTとタグT’とを比較する
認証システム。
An authentication system having an authenticator generation device and a verification device,
K is a secret key shared by both the authenticator generation device and the verification device, A is data to be authenticated, T is a tag, K and A are bit strings, b is an integer of 1 or more, and f is a b-bit replacement operation age,
The state is a bit string of b bits,
The authenticator generation device includes:
A generation initial value for b bits is generated by embedding K, and an initial value setting for generation in which the result obtained by substituting the exclusive OR of the generation initial value and the b bits in data A with f is used as a state. Part
The bit string A ′ formed by bits not used in the generation initial value setting unit in the data A is treated as data to be authenticated, and the tag T is obtained using the state obtained by the generation initial value setting unit. , T, A set,
The verification device includes:
An initial value for verification is generated by embedding K to generate a b-bit initial value for verification and replacing the exclusive OR of the initial value for verification and the b bit in data A with f. Part
The bit A ′ that is not used in the verification initial value setting unit in the data A is treated as data to be authenticated, and the tag T ′ is generated using the state obtained by the verification initial value setting unit. An authentication system for comparing T and tag T ′.
Kを暗号化装置と復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,bを1以上の整数、b=r+c、fをbビットの置換演算、||をビット数を示す記号とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの暗号化用初期値を生成し、前記暗号化用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする暗号化用初期値設定部を備えることを特徴とし、
追加認証データAのうち前記暗号化用初期値設定部で用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力する暗号化装置。
K is a secret key shared by both the encryption device and the decryption device, A is additional authentication data, M is a message, C is ciphertext, T is a tag, K, A, and M are bit strings, and N is all bits. A bit string excluding a bit string of 0 ″, r, c, b are integers of 1 or more, b = r + c, f is a b-bit replacement operation, || is a symbol indicating the number of bits,
The state is defined as a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part,
N is selected, N is embedded in the rate part, and K is embedded in the capacity part to generate an initial value for b-bit encryption, and the bit in which the initial value K for encryption is embedded and additional authentication data A An initial value setting unit for encryption having a result obtained by replacing the bit embedded with K in the exclusive OR with | K |
A bit string A ′ formed by bits not used in the initial value setting unit for encryption in the additional authentication data A is treated as additional authentication data to obtain a ciphertext C and a tag T, and C, T, A, N An encryption device that outputs a set of
Kを暗号化装置と復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,bを1以上の整数、b=r+c、fをbビットの置換演算、||をビット数を示す記号とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの復号用初期値を生成し、前記復号用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする復号用初期値設定部を備えることを特徴とし、
追加認証データAのうち前記復号用初期値設定部で用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較する復号装置。
K is a secret key shared by both the encryption device and the decryption device, A is additional authentication data, M is a message, C is ciphertext, T is a tag, K, A, and M are bit strings, and N is all bits. A bit string excluding a bit string of 0 ″, r, c, b are integers of 1 or more, b = r + c, f is a b-bit replacement operation, || is a symbol indicating the number of bits,
The state is defined as a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part,
By embedding N in the rate part and embedding K in the capacity part, a b-bit initial value for decoding is generated, and the bit in which K of the initial value for decoding is embedded and | K | bit in the additional authentication data A And a decoding initial value setting unit having a result obtained by substituting the bit embedded with K in the exclusive OR with the result of f.
Of the additional authentication data A, the bit string A ′ of the bits not used in the initial value setting unit for decryption is treated as additional authentication data, the message M ′ is decoded and the tag T ′ is generated, and the tag T and the tag T 'Decryption device to compare with.
Kを認証子生成装置と検証装置の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグ、K,Aをビット列、bを1以上の整数、fをbビットの置換演算とし、
ステートをbビットのビット列とし、
Kを埋め込むことでbビットの生成用初期値を生成し、前記生成用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする生成用初期値設定部を備えることを特徴とし、
データAのうち前記生成用初期値設定部で用いなかったビットで形成されるビット列A’を認証対象のデータとして扱って、前記生成用初期値設定部が求めたステートを用いてタグTを求め、T,Aの組を出力する認証子生成装置。
K is a secret key shared by both the authenticator generation device and the verification device, A is data to be authenticated, T is a tag, K and A are bit strings, b is an integer of 1 or more, and f is a substitution operation of b bits,
The state is a bit string of b bits,
A generation initial value for b bits is generated by embedding K, and an initial value setting for generation in which the result obtained by substituting the exclusive OR of the generation initial value and the b bits in data A with f is used as a state. Characterized by comprising a part,
The bit string A ′ formed by bits not used in the generation initial value setting unit in the data A is treated as data to be authenticated, and the tag T is obtained using the state obtained by the generation initial value setting unit. , T, A authenticator generating device that outputs a set.
Kを認証子生成装置と検証装置の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグ、K,Aをビット列、bを1以上の整数、fをbビットの置換演算とし、
ステートをbビットのビット列とし、
Kを埋め込むことでbビットの検証用初期値を生成し、前記検証用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする検証用初期値設定部を備えることを特徴とし、
データAのうち前記検証用初期値設定部で用いなかったビットA’を認証対象のデータとして扱って、前記検証用初期値設定部が求めたステートを用いてタグT’の生成と行い、タグTとタグT’とを比較する検証装置。
K is a secret key shared by both the authenticator generation device and the verification device, A is data to be authenticated, T is a tag, K and A are bit strings, b is an integer of 1 or more, and f is a substitution operation of b bits,
The state is a bit string of b bits,
An initial value for verification is generated by embedding K to generate a b-bit initial value for verification and replacing the exclusive OR of the initial value for verification and the b bit in data A with f. Characterized by comprising a part,
The bit A ′ that is not used in the verification initial value setting unit in the data A is treated as data to be authenticated, and the tag T ′ is generated using the state obtained by the verification initial value setting unit. A verification device for comparing T and a tag T ′.
追加認証データ付認証暗号のための暗号化装置と復号装置が実行する暗号化方法であって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,bを1以上の整数、b=r+c、fをbビットの置換演算、||をビット数を示す記号とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置が、
Nを選択し、レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの暗号化用初期値を生成し、前記暗号化用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする暗号化用初期値設定ステップを実行し、
追加認証データAのうち前記暗号化用初期値設定ステップで用いなかったビットで形成されるビット列A’を、追加認証データとして扱って暗号文CとタグTを求め、C,T,A,Nの組を出力し、
前記復号装置が、
レート部分にNを埋め込み、キャパシティ部分にKを埋め込むことでbビットの復号用初期値を生成し、前記復号用初期値のKを埋め込んだビットと追加認証データAの中の|K|ビットとの排他的論理和に、前記Kを埋め込んだビットを置き換えた上で、fにより置換した結果をステートとする復号用初期値設定ステップを実行し
追加認証データAのうち前記復号用初期値設定ステップで用いなかったビットのビット列A’を、追加認証データとして扱って、メッセージM’の復号とタグT’の生成と行い、タグTとタグT’とを比較する
暗号化方法。
An encryption method executed by an encryption device and a decryption device for authentication encryption with additional authentication data,
K is a secret key shared by both the encryption device and the decryption device, A is additional authentication data, M is a message, C is a ciphertext, T is a tag, K, A, and M are bit strings, and N is all bits Is a bit string excluding a bit string of “0”, r, c, b are integers of 1 or more, b = r + c, f is a b-bit replacement operation, || is a symbol indicating the number of bits,
The state is defined as a bit string of b bits in which a predetermined r bit is a rate part and c bit is a capacity part,
The encryption device is
N is selected, N is embedded in the rate part, and K is embedded in the capacity part to generate an initial value for b-bit encryption, and the bit in which the initial value K for encryption is embedded and additional authentication data A An initial value setting step for encryption having a result obtained by substituting the bit embedded with K in the exclusive OR with | K |
A bit string A ′ formed of bits not used in the initial value setting step for encryption in the additional authentication data A is treated as additional authentication data to obtain a ciphertext C and a tag T, and C, T, A, N Output a set of
The decoding device is
By embedding N in the rate part and embedding K in the capacity part, a b-bit initial value for decoding is generated, and the bit in which K of the initial value for decoding is embedded and | K | bit in the additional authentication data A In the exclusive OR, the bit embedded with the K is replaced, and the decryption initial value setting step is executed with the result replaced by f as the state. An encryption method in which a bit string A ′ of bits not used in the step is treated as additional authentication data, the message M ′ is decrypted and a tag T ′ is generated, and the tag T and the tag T ′ are compared.
認証子生成装置と検証装置が実行する認証方法であって、
Kを前記認証子生成装置と前記検証装置の両方で共有する秘密鍵、Aを認証対象のデータ、Tをタグ、K,Aをビット列、bを1以上の整数、fをbビットの置換演算とし、
ステートをbビットのビット列とし、
前記認証子生成装置が、
Kを埋め込むことでbビットの生成用初期値を生成し、前記生成用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする生成用初期値設定ステップを実行し、
データAのうち前記生成用初期値設定ステップで用いなかったビットで形成されるビット列A’を認証対象のデータとして扱って、前記生成用初期値設定ステップが求めたステートを用いてタグTを求め、T,Aの組を出力し、
前記検証装置が、
Kを埋め込むことでbビットの検証用初期値を生成し、前記検証用初期値とデータAの中のbビットとの排他的論理和をfにより置換した結果をステートとする検証用初期値設定ステップを実行し、
データAのうち前記検証用初期値設定ステップで用いなかったビットA’を認証対象のデータとして扱って、前記検証用初期値設定ステップが求めたステートを用いてタグT’の生成と行い、タグTとタグT’とを比較する
認証方法。
An authentication method executed by an authenticator generation device and a verification device,
K is a secret key shared by both the authenticator generation device and the verification device, A is data to be authenticated, T is a tag, K and A are bit strings, b is an integer of 1 or more, and f is a b-bit replacement operation age,
The state is a bit string of b bits,
The authenticator generating device is
A generation initial value for b bits is generated by embedding K, and an initial value setting for generation in which the result obtained by substituting the exclusive OR of the generation initial value and the b bits in data A with f is used as a state. Perform steps,
A bit string A ′ formed of bits not used in the generation initial value setting step in the data A is treated as data to be authenticated, and the tag T is obtained using the state obtained in the generation initial value setting step. , T, A set,
The verification device is
An initial value for verification is generated by embedding K to generate a b-bit initial value for verification and replacing the exclusive OR of the initial value for verification and the b bit in data A with f. Perform steps,
The bit A ′ not used in the verification initial value setting step in the data A is treated as data to be authenticated, and the tag T ′ is generated using the state obtained in the verification initial value setting step. An authentication method for comparing T and tag T ′.
JP2015036192A 2015-02-26 2015-02-26 Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method Active JP6273226B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015036192A JP6273226B2 (en) 2015-02-26 2015-02-26 Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015036192A JP6273226B2 (en) 2015-02-26 2015-02-26 Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method

Publications (2)

Publication Number Publication Date
JP2016157055A true JP2016157055A (en) 2016-09-01
JP6273226B2 JP6273226B2 (en) 2018-01-31

Family

ID=56825941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015036192A Active JP6273226B2 (en) 2015-02-26 2015-02-26 Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method

Country Status (1)

Country Link
JP (1) JP6273226B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019015918A (en) * 2017-07-10 2019-01-31 日本電信電話株式会社 Encryption data generating device, decryption data generating device, authentication cryptosystem with additional data, and method and program therefor
JP2019015919A (en) * 2017-07-10 2019-01-31 日本電信電話株式会社 Encryption data generating device, decryption data generating device, authentication cryptosystem with additional data, and method and program therefor
WO2019043921A1 (en) * 2017-09-01 2019-03-07 三菱電機株式会社 Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
US11349668B2 (en) 2017-02-21 2022-05-31 Mitsubishi Electric Corporation Encryption device and decryption device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005114870A (en) * 2003-10-03 2005-04-28 Japan Science & Technology Agency Cryptocommunication system
WO2006019152A1 (en) * 2004-08-19 2006-02-23 Hitachi, Ltd. Message authentication code generation device, message authentication code verification device, and message authentication code generation method
WO2007105709A1 (en) * 2006-03-14 2007-09-20 Nec Corporation Information processing system, information processing method, and information processing program
WO2012154129A1 (en) * 2011-05-10 2012-11-15 Nanyang Technological University Devices for computer-based generating of a mixing matrix for cryptographic processing of data, encrypting devices, methods for computer-based generating of a mixing matrix for cryptographic processing of data and encrypting methods
JP2013513312A (en) * 2009-12-04 2013-04-18 クリプトグラフィ リサーチ, インコーポレイテッド Verifiable leak-proof encryption and decryption
JP2014002230A (en) * 2012-06-18 2014-01-09 Nippon Telegr & Teleph Corp <Ntt> Authentication encryption device, authentication decryption device and program
US20150010142A1 (en) * 2013-07-04 2015-01-08 National Cheng Kung University Method for authenticated encryption and decryption
WO2015023550A1 (en) * 2013-08-13 2015-02-19 Fiske Software, LLC. Nado cryptography using one-way functions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005114870A (en) * 2003-10-03 2005-04-28 Japan Science & Technology Agency Cryptocommunication system
WO2006019152A1 (en) * 2004-08-19 2006-02-23 Hitachi, Ltd. Message authentication code generation device, message authentication code verification device, and message authentication code generation method
WO2007105709A1 (en) * 2006-03-14 2007-09-20 Nec Corporation Information processing system, information processing method, and information processing program
JP2013513312A (en) * 2009-12-04 2013-04-18 クリプトグラフィ リサーチ, インコーポレイテッド Verifiable leak-proof encryption and decryption
WO2012154129A1 (en) * 2011-05-10 2012-11-15 Nanyang Technological University Devices for computer-based generating of a mixing matrix for cryptographic processing of data, encrypting devices, methods for computer-based generating of a mixing matrix for cryptographic processing of data and encrypting methods
JP2014002230A (en) * 2012-06-18 2014-01-09 Nippon Telegr & Teleph Corp <Ntt> Authentication encryption device, authentication decryption device and program
US20150010142A1 (en) * 2013-07-04 2015-01-08 National Cheng Kung University Method for authenticated encryption and decryption
WO2015023550A1 (en) * 2013-08-13 2015-02-19 Fiske Software, LLC. Nado cryptography using one-way functions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELENA ANDREEVA, ET AL.: "APE: Authenticated Permutation-Based Encryption for Lightweight Cryptography", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2013/791, vol. Version: 20140514:125901, JPN6017048721, 14 May 2014 (2014-05-14) *
ELENA ANDREEVA, ET AL.: "Parallelizable and Authenticated Online Ciphers", LNCS, INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATION OF CRYPTOKOGY AND INFORMATION SECURITY, vol. Volume 8269, JPN6017048722, 2013, pages pp. 424-443 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11349668B2 (en) 2017-02-21 2022-05-31 Mitsubishi Electric Corporation Encryption device and decryption device
JP2019015918A (en) * 2017-07-10 2019-01-31 日本電信電話株式会社 Encryption data generating device, decryption data generating device, authentication cryptosystem with additional data, and method and program therefor
JP2019015919A (en) * 2017-07-10 2019-01-31 日本電信電話株式会社 Encryption data generating device, decryption data generating device, authentication cryptosystem with additional data, and method and program therefor
WO2019043921A1 (en) * 2017-09-01 2019-03-07 三菱電機株式会社 Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
CN111052670A (en) * 2017-09-01 2020-04-21 三菱电机株式会社 Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
US11438137B2 (en) 2017-09-01 2022-09-06 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, and computer readable medium
CN111052670B (en) * 2017-09-01 2024-02-09 三菱电机株式会社 Encryption device, decryption device, encryption method, decryption method, and computer-readable storage medium

Also Published As

Publication number Publication date
JP6273226B2 (en) 2018-01-31

Similar Documents

Publication Publication Date Title
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US8077863B2 (en) Secret sharing apparatus, method, and program
CN105721156B (en) Data are carried out with the method and relevant device of coding and digital signature
CN110391900A (en) Private key processing method, terminal and cipher key center based on SM2 algorithm
US11349668B2 (en) Encryption device and decryption device
JP6305642B2 (en) Message authenticator generating apparatus, message authenticator generating method, and message authenticator generating program
JP6884284B2 (en) White box calculation of keyed message authentication code
JP6273226B2 (en) Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method
KR101942030B1 (en) Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof
CN107534549B (en) Readable storage medium, method and system for encrypting data stream block
US20200186328A1 (en) Encryption device, decryption device, encryption method, decryption method, and computer readable medium
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
JP5992651B2 (en) ENCRYPTION METHOD, PROGRAM, AND SYSTEM
JP6273224B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD
RU2710670C2 (en) Cryptographic system and method
KR102024379B1 (en) Data transmission apparatus capable of digital signature based on biometric information and operating method thereof
JP6273225B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, ENCRYPTION PROGRAM, DECRYPTION PROGRAM
JP6273223B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, ENCRYPTION PROGRAM, DECRYPTION PROGRAM
US11095429B2 (en) Circuit concealing apparatus, calculation apparatus, and program
JP6830867B2 (en) Authenticated encryption system with additional data, decryption device, authenticated encryption method with additional data, and program
JP2011138015A (en) Encrypting system, encrypting device, decoding device, encrypting method, program, recording medium
JP6732698B2 (en) Authentication encryption system with additional data, encryption device, decryption device, authentication encryption method with additional data, and program
JP6723958B2 (en) Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program
JP2015025930A (en) Compressibility function calculation device, compressibility function calculation method, and program
CN116684125A (en) Bid party information encryption method and device based on blockchain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171211

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: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180105

R150 Certificate of patent or registration of utility model

Ref document number: 6273226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150