JP6273224B2 - ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD - Google Patents

ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD Download PDF

Info

Publication number
JP6273224B2
JP6273224B2 JP2015036190A JP2015036190A JP6273224B2 JP 6273224 B2 JP6273224 B2 JP 6273224B2 JP 2015036190 A JP2015036190 A JP 2015036190A JP 2015036190 A JP2015036190 A JP 2015036190A JP 6273224 B2 JP6273224 B2 JP 6273224B2
Authority
JP
Japan
Prior art keywords
state
authentication data
additional authentication
tag
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015036190A
Other languages
Japanese (ja)
Other versions
JP2016157053A (en
Inventor
悠 佐々木
悠 佐々木
幹 安田
幹 安田
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 JP2015036190A priority Critical patent/JP6273224B2/en
Publication of JP2016157053A publication Critical patent/JP2016157053A/en
Application granted granted Critical
Publication of JP6273224B2 publication Critical patent/JP6273224B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、追加認証データ付きの認証暗号を実行する暗号化システム、暗号化装置、復号装置、暗号化方法に関する。   The present invention relates to an encryption system, an encryption device, a decryption device, and an encryption method for executing authentication encryption with additional authentication data.

追加認証データ付認証暗号とは、メッセージ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 substitution 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.

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.

しかしながら、SPONGEWRAPでは、追加認証データAをr−1ビットごとに処理するため、置換演算fの回数が多くなり非効率である。そこで、本発明は、置換演算fの演算回数を少なくすることを目的とする。   However, in SPONGEWRAP, the additional authentication data A is processed for every r−1 bits, so the number of replacement operations f increases and is inefficient. Accordingly, an object of the present invention is to reduce the number of operations of the replacement operation f.

本発明の暗号化システムは、暗号化装置と復号装置を有する。まず、Kを暗号化装置と復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,Uを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、uを1以上U以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とする。また、ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とする。 The encryption system of the present invention has an encryption device and a decryption device. 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, P, Q, U 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, u Is an integer of 1 to U, S is an integer of 1 or more, s is an integer of 1 to S, f is a b-bit permutation operation, g is an integer of 0 to 2 c −1 It is assumed that the element is multiplied by a predetermined constant other than 0 and 1 on a finite field. 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の暗号化装置は、暗号化用初期値設定部、暗号化用追加認証データヘッダ分割部、メッセージ分割部、暗号化用追加認証データトレイラ分割部、暗号化用追加認証データヘッダ計算部、暗号化部、暗号化用追加認証データトレイラ計算部、暗号化用タグ計算部、出力部を備える。暗号化用初期値設定部は、Nを選択し、NとKを用いてbビットの暗号化用初期値を生成し、暗号化用初期値をfにより置換した結果をステートとする。暗号化用追加認証データヘッダ分割部は、追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する。メッセージ分割部は、メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割する。暗号化用追加認証データトレイラ分割部は、追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する。暗号化用追加認証データヘッダ計算部は、ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す。暗号化部は、次の(1)〜(3)の処理を実行する。 The first encryption device according to the present invention includes an encryption initial value setting unit, an encryption additional authentication data header division unit, a message division unit, an encryption additional authentication data trailer division unit, and an encryption additional authentication data header. A calculation unit, an encryption unit, an encryption additional authentication data trailer calculation unit, an encryption tag calculation unit, and an output unit are provided. The encryption initial value setting unit selects N, generates a b-bit encryption initial value using N and K, and sets the result of replacing the encryption initial value with f as a state. Encryption for additional authentication data header dividing portion, 'the additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., is divided into a Q '. The message dividing unit divides the message M into message blocks m 1 ,..., M P every r bits using padding. If there is a trailer A ″ of additional authentication data A, the additional authentication data trailer for encryption uses the trailer A ″ of additional authentication data A as an additional authentication data block a 1 ″ for each b bits using padding. ,..., A U ”. The encryption additional authentication data header calculation unit calculates the exclusive OR of the additional authentication data block a q ′ with respect to the state, and further sets q = 1 as the result obtained by replacing with f. To q = Q. The encryption unit executes the following processes (1) to (3).

(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により置換した結果を新たなステートとする処理を行う。 (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.

(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める。
暗号化用追加認証データトレイラ計算部は、追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す。
(3) The ciphertext C is obtained using the combination processing of the cipher blocks d 1 ,..., D P.
When there is a trailer A ″ of additional authentication data A, the encryption additional authentication data trailer calculation unit calculates an exclusive OR with the additional authentication data block a u ″ for the state, and further replaces it with f The process of setting the result as a new state is repeated from u = 1 to u = U.

暗号化用タグ計算部は、S=1の場合はステートのレート部分からタグTを求め、S≧2の場合は、ステートのレート部分をタグブロックtとし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返し、タグブロックt,…,tを用いてタグTを求める。出力部は、C,T,A,Nの組を出力する。 The tag calculation unit for encryption obtains the tag T from the rate portion of the state when S = 1, and when S ≧ 2, sets the rate portion of the state as the tag block t 1 and further replaces the state with f. the results the process of the tag block t s the rate portion as a new state repeatedly from s = 2 to s = S, tag block t 1, ..., determine the tag T using t S. The output unit outputs a set of C, T, A, and N.

本発明の第1の復号装置は、入力部、復号用初期値設定部、復号用追加認証データヘッダ分割部、暗号文分割部、復号用追加認証データトレイラ分割部、復号用追加認証データヘッダ計算部、復号部、復号用追加認証データトレイラ計算部、復号用タグ計算部、検証部を備える。入力部は、C,T,A,Nの組を取得する。復号用初期値設定部は、NとKを用いてbビットの復号用初期値を生成し、復号用初期値をfにより置換した結果をステートとする。復号用追加認証データヘッダ分割部は、追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する。暗号文分割部は、暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する。復号用追加認証データトレイラ分割部は、追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する。復号用追加認証データヘッダ計算部は、ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す。復号部は、次の(1)〜(3)の処理を実行する。 The first decryption device of the present invention includes an input unit, a decryption initial value setting unit, a decryption additional authentication data header splitting unit, a ciphertext splitting unit, a decryption additional authentication data trailer splitting unit, and a decryption additional authentication data header calculation. A decryption unit, a decryption additional authentication data trailer calculation unit, a decryption tag calculation unit, and a verification unit. The input unit acquires a set of C, T, A, and N. The initial value setting unit for decoding generates a b-bit initial value for decoding using N and K, and sets the result obtained by replacing the initial value for decoding with f as a state. Additional authentication data header dividing portion for decoding, 'the additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., is divided into a Q '. The ciphertext dividing unit divides the ciphertext C into r-bit cipher blocks d 1 ,..., D P. When the trailer A ″ of the additional authentication data A exists, the decryption additional authentication data trailer dividing unit converts the additional authentication data A trailer A ″ to the additional authentication data block a 1 ″ for each b bits using padding. ..., a U ". The additional authentication data header calculation unit for decryption calculates an exclusive OR with the additional authentication data block a q ′ for the state, and further changes the result replaced with f to a new state from q = 1. Repeat until q = Q. The decoding unit executes the following processes (1) to (3).

(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により置換した結果を新たなステートとする処理を行う。 (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.

(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする。
復号用追加認証データトレイラ計算部は、追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す。復号用タグ計算部は、S=1の場合はステートのレート部分からタグT’を求め、S≧2の場合は、ステートのレート部分をタグブロックt’とし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返し、タグブロックt’,…,t’を用いてタグT’を求める。検証部は、タグTとタグT’とを比較する。
(3) A message M ′ is formed by combining the message blocks m 1 ′,..., M P ′ by removing the bits added by padding.
When there is a trailer A ″ of additional authentication data A, the decryption additional authentication data trailer calculation unit calculates an exclusive OR with the additional authentication data block a u ″ for the state, and further replaces it with f The process of setting the result as a new state is repeated from u = 1 to u = U. The decoding tag calculation unit obtains the tag T ′ from the rate portion of the state when S = 1, and sets the rate portion of the state as the tag block t 1 ′ when S ≧ 2, and further replaces the state with f. as a result of the tag block t s the rate portion as a new state 'a process to be repeated from s = 2 to s = S, tag block t 1', ..., determine the 'tag T using a' t S. The verification unit compares the tag T and the tag T ′.

本発明の第2の暗号化装置は、暗号化用初期値設定部、暗号化用追加認証データ分割部、メッセージ分割部、暗号化用追加認証データ計算部、暗号化部、暗号化用タグ計算部、出力部を備える。第1の暗号化装置との相違点は、追加認証データをヘッダとトレイラに分けて処理するか否かである。暗号化用追加認証データヘッダ分割部、暗号化用追加認証データトレイラ分割部、暗号化用追加認証データヘッダ計算部、暗号化用追加認証データトレイラ計算部の代わりに、暗号化用追加認証データ分割部と暗号化用追加認証データ計算部を備えている。暗号化用追加認証データ分割部は、追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する。暗号化用追加認証データ計算部は、ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す。他の構成は第1の暗号化装置と同じである。 The second encryption apparatus of the present invention includes an encryption initial value setting unit, an encryption additional authentication data division unit, a message division unit, an encryption additional authentication data calculation unit, an encryption unit, and an encryption tag calculation. And an output unit. The difference from the first encryption device is whether or not the additional authentication data is processed separately for the header and trailer. Additional authentication data header division for encryption, additional authentication data trailer division for encryption, additional authentication data header calculation unit for encryption, additional authentication data trailer calculation unit for encryption And an additional authentication data calculation unit for encryption. The additional authentication data division unit for encryption divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q for each b bits using padding. The additional authentication data calculation unit for encryption 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 Repeat until = Q. Other configurations are the same as those of the first encryption device.

本発明の第2の復号装置は、入力部、復号用初期値設定部、復号用追加認証データ分割部、暗号文分割部、復号用追加認証データ計算部、復号部、復号用タグ計算部、検証部を備える。第1の復号装置との相違点は、追加認証データをヘッダとトレイラに分けて処理するか否かである。復号用追加認証データヘッダ分割部、復号用追加認証データトレイラ分割部、復号用追加認証データヘッダ計算部、復号用追加認証データトレイラ計算部の代わりに、復号用追加認証データ分割部、復号用追加認証データ計算部を備えている。復号用追加認証データ分割部は、追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する。復号用追加認証データ計算部は、ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す。他の構成は第1の復号装置と同じである。 The second decryption device of the present invention includes an input unit, an initial value setting unit for decryption, an additional authentication data division unit for decryption, a ciphertext division unit, an additional authentication data calculation unit for decryption, a decryption unit, a tag calculation unit for decryption, A verification unit is provided. The difference from the first decryption apparatus is whether or not the additional authentication data is processed by being divided into a header and a trailer. Decryption additional authentication data header division unit, Decryption additional authentication data trailer division unit, Decryption additional authentication data header calculation unit, Decryption additional authentication data trailer calculation unit, Decryption additional authentication data header division unit, Decoding additional addition An authentication data calculation unit is provided. The additional authentication data division unit for decryption divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q for every b bits using padding. The additional authentication data calculation unit for decryption calculates the 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 = Repeat until Q. Other configurations are the same as those of the first decoding device.

SPONGEWRAPでは追加認証データAをr−1ビットごとに処理していた。これに対し、本発明の暗号化システムによれば、キャパシティ部分に対して排他的論理和の演算を行っても、その結果を分からない状態にできるので安全な暗号化を実現できる。よって、追加認証データAの処理においてはbビットごとの排他的論理和(トレイラ全体との排他的論理和)を行うことができる。したがって、追加認証データとステートとの排他的論理和の演算を、少なくともb−1ビットごとに処理できるので、置換演算fの回数を少なくできる。   In SPONGEWRAP, the additional authentication data A is processed every r−1 bits. On the other hand, according to the encryption system of the present invention, even if an exclusive OR operation is performed on the capacity portion, the result cannot be understood, so that safe encryption can be realized. Therefore, in the process of the additional authentication data A, an exclusive OR for every b bits (exclusive OR with the entire trailer) can be performed. Therefore, since the operation of the exclusive OR between the additional authentication data and the state can be processed at least every b−1 bits, the number of replacement operations f can be reduced.

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 a functional configuration example of an encryption system according to a first modification. 実施例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. 実施例1変形例1の暗号化装置の処理フローを示す図。FIG. 10 is a diagram illustrating a processing flow of the encryption device according to the first modification. 実施例1変形例1の復号装置の処理フローを示す図。FIG. 10 is a diagram illustrating a processing flow of the decoding device according to the first modification.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   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を暗号化装置と復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをビット数Lのタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,Uを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、uを1以上U以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とする。また、ステートを、あらかじめ定められた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, a secret key, an additional authentication data A, message M, ciphertext C, tag number of bits T L T, K, A, M a bit sequence that shares K for both encryption device and the decryption device, N is a bit string excluding a bit string in which all bits are “0”, r, c, b, P, Q, U are integers of 1 or more, b = r + c, p is an integer of 1 to P, q is 1 to Q The following integers, u is an integer of 1 to U, S is an integer of 1 or more, s is an integer of 1 to S, f is a b-bit permutation operation, g is an integer of 0 to 2 c −1 Multiplication on a finite field between a finite field element consisting of and a predetermined constant other than 0 and 1. 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.

<暗号化装置>
暗号化装置100は、初期値設定部110、追加認証データヘッダ分割部120、メッセージ分割部130、追加認証データトレイラ分割部140、追加認証データヘッダ計算部150、暗号化部160、追加認証データトレイラ計算部170、タグ計算部180、出力部190を備える。初期値設定部110は、Nを選択し、NとKを用いてbビットの初期値を生成し、初期値をfにより置換した結果をステートとする(S110)。例えば、初期値設定部110は、初期値として、レート部分にNを埋め込み、キャパシティ部分にKを埋め込めばよい。「埋め込む」とは、例えば、Nのビット数がrより小さいときはパディングによってrビットにした上でレート部分にすることを意味している。また、Nのビット数がrよりも大きい場合はNからrビットを切り出す、もしくはハッシュ関数などを用いてrビットに変換してレート部分にしてもよい。fはSPONGEWRAPで説明した置換と同じであり、あらかじめ暗号化装置100と復号装置200との間で定めておく。図6では、110を付した点線で囲まれた部分が初期値設定部に相当する。
<Encryption device>
The encryption device 100 includes an initial value setting unit 110, an additional authentication data header division unit 120, a message division unit 130, an additional authentication data trailer division unit 140, an additional authentication data header calculation unit 150, an encryption unit 160, and an additional authentication data trailer. A calculation unit 170, a tag calculation unit 180, and an output unit 190 are provided. The initial value setting unit 110 selects N, generates a b-bit initial value using N and K, and sets the result obtained by replacing the initial value with f as a state (S110). For example, the initial value setting unit 110 may embed N in the rate portion and embed K in the capacity portion as the initial value. “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. When the number of bits of N is larger than r, r bits may be cut out from N, or converted into r bits using a hash function or the like to be a rate part. 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. In FIG. 6, a portion surrounded by a dotted line with 110 corresponds to the initial value setting unit.

追加認証データヘッダ分割部120は、追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する(S120)。パディングとして10*パディングを用いる場合は、b−1の整数倍になるようにヘッダA’にパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックa’に分割すればよい。また、パディングとして10*1パディング(最初と最後のビットが“1”、残りのビットが“0”のビット列を付加するパディング)を用いる場合は、bの整数倍になるようにヘッダA’にパディングを行い、bビットずつを切り出して追加認証データブロックa’に分割すればよい。図6では、120を付した点線で囲まれた部分がメッセージ分割部に相当する。 The additional authentication data header dividing unit 120 divides the header A ′ of the additional authentication data A into additional authentication data blocks a 1 ′,..., A Q ′ for every b bits using padding (S120). When 10 * padding is used as the padding, the header A ′ is padded so as to be an integral multiple of b−1, b−1 bits are cut out, frame bits are added, and the additional authentication data block a q ′ What is necessary is just to divide into. In addition, when 10 * 1 padding (padding for adding a bit string in which the first and last bits are “1” and the remaining bits are “0”) is used as the padding, the header A ′ has an integer multiple of b. Padding is performed, and b bits are cut out and divided into additional authentication data blocks a q ′. In FIG. 6, a portion surrounded by a dotted line with 120 corresponds to a message dividing unit.

メッセージ分割部130は、メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割する(S130)。メッセージ分割部130のパディングには10*パディングを用いればよい。図6では、130を付した点線で囲まれた部分がメッセージ分割部に相当する。なお、追加認証データヘッダ分割部120と追加認証データトレイラ分割部140が、10*パディングを用いる場合は、メッセージMからr−1ビットを切り出し、フレームビットを付加してrビットにすればよい。追加認証データヘッダ分割部120と追加認証データトレイラ分割部140が、10*1パディングを用いる場合は、それぞれの置換演算fが追加認証データAに対する処理かメッセージMに対する処理かを判別できるので、メッセージMをrビットごとに分割すればよい(フレームビットを省略できる)。 The message dividing unit 130 divides the message M into message blocks m 1 ,..., M P every r bits using padding (S130). For the padding of the message dividing unit 130, 10 * padding may be used. In FIG. 6, a part surrounded by a dotted line marked with 130 corresponds to a message dividing part. When the additional authentication data header dividing unit 120 and the additional authentication data trailer dividing unit 140 use 10 * padding, r-1 bits may be extracted from the message M, and frame bits may be added to make r bits. When the additional authentication data header dividing unit 120 and the additional authentication data trailer dividing unit 140 use 10 * 1 padding, it is possible to determine whether each replacement operation f is processing for the additional authentication data A or processing for the message M. M may be divided into r bits (frame bits can be omitted).

追加認証データトレイラ分割部140は、追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する(S140)。パディングとして10*パディングを用いる場合は、ヘッダA’がb−1の整数倍になるようにパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックa’に分割すればよい。また、パディングとして10*1パディングを用いる場合は、ヘッダA’がbの整数倍になるようにパディングを行い、bビットずつを切り出して追加認証データブロックa’に分割すればよい。追加認証データAのトレイラA”が存在しない場合は、追加認証データトレイラ分割部140は、何も処理を行わない。図6では、140を付した点線で囲まれた部分が追加認証データトレイラ分割部に相当する。 When there is a trailer A ″ of additional authentication data A, the additional authentication data trailer division unit 140 uses the padding to add the additional authentication data block a 1 ″,. , A U ″ (S140). When 10 * padding is used as the padding, padding is performed so that the header A ′ is an integral multiple of b−1, b−1 bits are cut out, frame bits are added, and the additional authentication data block a q ′ What is necessary is just to divide into. When 10 * 1 padding is used as padding, padding is performed so that the header A ′ is an integer multiple of b, and b bits are cut out and divided into additional authentication data blocks a q ′. If the trailer A ″ of the additional authentication data A does not exist, the additional authentication data trailer dividing unit 140 does not perform any processing. In FIG. 6, the portion surrounded by the dotted line marked with 140 is the additional authentication data trailer division. It corresponds to the part.

追加認証データヘッダ計算部150は、ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S150)。「排他的論理和」はビット単位の排他的論理和であり、同じ位置のビット同士の排他的論理和を行う演算である。例えば、ビット列“10100”とビット列“00110”との排他的論理和の結果は“10010”である。図6では、150を付した点線で囲まれた部分が追加認証データヘッダ計算部に相当する。 The additional authentication data header calculation unit 150 calculates the exclusive OR of the additional authentication data block a q ′ with respect to the state and changes the result of replacement with f to a new state from q = 1 to q Repeat until = Q (S150). “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”. In FIG. 6, a portion surrounded by a dotted line with 150 corresponds to an additional authentication data header calculation unit.

暗号化部160は、次の(1)〜(3)の処理を実行する(S160)。図6では、160を付した点線で囲まれた部分が暗号化部に相当する。   The encryption unit 160 executes the following processes (1) to (3) (S160). In FIG. 6, a portion surrounded by a dotted line with 160 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により置換した結果を新たなステートとする処理を行う。 (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.

(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める。「結合処理を用いて暗号文Cを求める」とは、単に暗号ブロックd,…,dを結合して暗号文Cとすること、各暗号ブロック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 concatenation processing” means simply combining cipher blocks d 1 ,..., D P into ciphertext C, and combining after removing frame bits from each cipher block d p. The ciphertext C, and the combined ciphertext C after removing the padding portion.

追加認証データトレイラ計算部170は、追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す(S170)。図6では、170を付した点線で囲まれた部分が追加認証データトレイラ計算部に相当する。追加認証データAのトレイラA”が存在しない場合は、追加認証データトレイラ計算部170は、何も処理を行わない。 The additional authentication data trailer calculation unit 170 calculates the exclusive OR of the additional authentication data block a u ″ for the state when the trailer A ″ of the additional authentication data A exists, and further replaces it with f Is repeated from u = 1 to u = U (S170). In FIG. 6, a portion surrounded by a dotted line with 170 corresponds to the additional authentication data trailer calculation unit. When the trailer A ″ of the additional authentication data A does not exist, the additional authentication data trailer calculation unit 170 performs no processing.

タグ計算部180は、S=1の場合はステートのレート部分からタグTを求める。S≧2の場合は、ステートのレート部分をタグブロックtとする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返す。そして、タグブロックt,…,tを用いてタグTを求める(S180)。S=1の場合は、レート部分をそのままタグTとしてもよいし、レート部の中からビット数Lだけを切り出してタグTとしてもよい。S≧2の場合は、例えば、タグブロックt,…,tを結合した結果をタグTとしてもよいし、タグブロックt,…,tを結合した結果からビット数Lよりも多いビット分を切り捨てて(ビット数L分を切り出して)タグTとしてもよい。また、各タグブロックtから所定のビットを切り出した後、それらを結合してタグTとしてもよい。なお、Sは、r×SがタグTのビット数L以上となるようにあらかじめ定めておけばよい。図6では、180を付した点線で囲まれた部分がタグ計算部に相当する。出力部190は、C,T,A,Nの組を出力する(S190)。出力されたC,T,A,Nの組が復号装置200に送信される。 Tag calculation section 180 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, and repeats the processing of the rate portion results state was replaced by f as a new state with the tag block t s from s = 2 to s = S. The tag block t 1, ..., determine the tag T using t S (S180). 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 portion surrounded by a dotted line with 180 corresponds to a 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.

<復号装置>
復号装置200は、入力部290、初期値設定部210、追加認証データヘッダ分割部220、暗号文分割部230、追加認証データトレイラ分割部240、追加認証データヘッダ計算部250、復号部260、追加認証データトレイラ計算部270、タグ計算部280、検証部285を備える。入力部290は、C,T,A,Nの組を取得する(S290)。
<Decoding device>
The decryption apparatus 200 includes an input unit 290, an initial value setting unit 210, an additional authentication data header division unit 220, a ciphertext division unit 230, an additional authentication data trailer division unit 240, an additional authentication data header calculation unit 250, a decryption unit 260, and an addition An authentication data trailer calculation unit 270, a tag calculation unit 280, and a verification unit 285 are provided. The input unit 290 acquires a set of C, T, A, and N (S290).

初期値設定部210は、NとKを用いてbビットの初期値を生成し、初期値をfにより置換した結果をステートとする(S210)。例えば、初期値設定部210は、初期値として、レート部分にNを埋め込み、キャパシティ部分にKを埋め込めばよい。図7では、210を付した点線で囲まれた部分が初期値設定部に相当する。   The initial value setting unit 210 generates a b-bit initial value using N and K, and sets the result obtained by replacing the initial value with f as a state (S210). For example, the initial value setting unit 210 may embed N in the rate part and K in the capacity part as the initial value. In FIG. 7, a portion surrounded by a dotted line marked with 210 corresponds to an initial value setting unit.

追加認証データヘッダ分割部220は、追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する(S220)。パディングとして10*パディングを用いる場合は、ヘッダA’がb−1の整数倍になるようにパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックa’に分割すればよい。また、パディングとして10*1パディング(最初と最後のビットを“1”とし、残りのビットを“0”にするパディング)を用いる場合は、ヘッダA’がbの整数倍になるようにパディングを行い、bビットずつを切り出して追加認証データブロックa’に分割すればよい。図7では、220を付した点線で囲まれた部分がメッセージ分割部に相当する。 The additional authentication data header dividing unit 220 divides the header A ′ of the additional authentication data A into additional authentication data blocks a 1 ′,..., A Q ′ for every b bits using padding (S220). When 10 * padding is used as the padding, padding is performed so that the header A ′ is an integral multiple of b−1, b−1 bits are cut out, frame bits are added, and the additional authentication data block a q ′ What is necessary is just to divide into. Also, when using 10 * 1 padding (padding where the first and last bits are “1” and the remaining bits are “0”), padding is performed so that the header A ′ is an integral multiple of b. And b bits are cut out and divided into additional authentication data blocks a q ′. In FIG. 7, a portion surrounded by a dotted line with 220 corresponds to a message dividing unit.

暗号文分割部230は、暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する(S230)。図7では、230を付した点線で囲まれた部分がメッセージ分割部に相当する。なお、追加認証データヘッダ分割部220と追加認証データトレイラ分割部240が、10*パディングを用いる場合は、暗号文Cからr−1ビットを切り出し、フレームビットを付加して暗号ブロックdにすればよい。追加認証データヘッダ分割部220と追加認証データトレイラ分割部240が、10*1パディングを用いる場合は、それぞれの置換演算fが追加認証データAに対する処理かメッセージMに対する処理かを判別できるので、暗号文Cからrビットを切り出して暗号ブロックdにすればよい。 The ciphertext dividing unit 230 divides the ciphertext C into cipher blocks d 1 ,..., D P every r bits (S230). In FIG. 7, a portion surrounded by a dotted line with 230 corresponds to a message dividing unit. Note that additional authentication data header dividing portion 220 and additional authentication data trailer dividing unit 240, when using a 10 * padding, excised r-1 bits from the ciphertext C, by the cipher block d p by adding a frame bit That's fine. When the additional authentication data header dividing unit 220 and the additional authentication data trailer dividing unit 240 use 10 * 1 padding, it is possible to determine whether each replacement operation f is processing for the additional authentication data A or processing for the message M. What is necessary is just to cut out r bits from the sentence C to make a cipher block d p .

追加認証データトレイラ分割部240は、追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する(S240)。パディングとして10*パディングを用いる場合は、ヘッダA’がb−1の整数倍になるようにパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックa’に分割すればよい。また、パディングとして10*1パディングを用いる場合は、ヘッダA’がbの整数倍になるようにパディングを行い、bビットずつを切り出して追加認証データブロックa’に分割すればよい。追加認証データAのトレイラA”が存在しない場合は、追加認証データトレイラ分割部240は、何も処理を行わない。図7では、240を付した点線で囲まれた部分が追加認証データトレイラ分割部に相当する。 If there is a trailer A ″ of the additional authentication data A, the additional authentication data trailer dividing unit 240 uses the padding to add the additional authentication data block a 1 ″,. , A U ″ (S240). When 10 * padding is used as the padding, padding is performed so that the header A ′ is an integral multiple of b−1, b−1 bits are cut out, frame bits are added, and the additional authentication data block a q ′ What is necessary is just to divide into. When 10 * 1 padding is used as padding, padding is performed so that the header A ′ is an integer multiple of b, and b bits are cut out and divided into additional authentication data blocks a q ′. When the trailer A ″ of the additional authentication data A does not exist, the additional authentication data trailer dividing unit 240 performs no processing. In FIG. 7, the portion surrounded by the dotted line denoted by 240 is the additional authentication data trailer division. It corresponds to the part.

追加認証データヘッダ計算部250は、ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S250)。図7では、250を付した点線で囲まれた部分が追加認証データヘッダ計算部に相当する。 The additional authentication data header calculation unit 250 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. Repeat until = Q (S250). In FIG. 7, a portion surrounded by a dotted line with 250 corresponds to the additional authentication data header calculation unit.

復号部260は、次の(1)〜(3)の処理を実行する(S260)。図7では、260を付した点線で囲まれた部分が復号部に相当する。   The decoding unit 260 executes the following processes (1) to (3) (S260). In FIG. 7, a portion surrounded by a dotted line denoted by 260 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により置換した結果を新たなステートとする処理を行う。 (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.

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

追加認証データトレイラ計算部270は、追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す(S270)。図7では、270を付した点線で囲まれた部分が追加認証データトレイラ計算部に相当する。 The additional authentication data trailer calculation unit 270 calculates the exclusive OR of the additional authentication data block a u ″ with respect to the state when the trailer A ″ of the additional authentication data A exists, and the result of replacement with f Is set to a new state from u = 1 to u = U (S270). In FIG. 7, a portion surrounded by a dotted line with 270 corresponds to the additional authentication data trailer calculation unit.

タグ計算部280は、S=1の場合はステートのレート部分からタグT’を求める。S≧2の場合は、ステートのレート部分をタグブロックt’とする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返す。そして、タグブロックt’,…,t’を用いてタグT’を求める(S280)。図7では、280を付した点線で囲まれた部分がタグ計算部に相当する。検証部285は、タグTとタグT’とを比較する(S285)。復号装置200は、T=T’のときはメッセージM’を復号されたメッセージとする。T≠T’のときは復号に失敗したという結果を出力する。 Tag calculation unit 280 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 portion 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 (S280). In FIG. 7, a portion surrounded by a dotted line with 280 corresponds to a tag calculation unit. The verification unit 285 compares the tag T and the tag T ′ (S285). 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.

<効果>
実施例1の暗号化システムでは、キャパシティ部分に対して排他的論理和の演算を行っても、その結果を分からない状態にすれば暗号化の安全性を確保できることに着目している。そして、暗号化部160と復号部260の(2)の処理でgの演算を行うことなどによって結果が分からないようにしている。よって、追加認証データAの処理においてはbビットごとの排他的論理和(トレイラ全体との排他的論理和)を行うことができる。そして、フレームビットを省略できない場合でも、追加認証データAとステートとの排他的論理和の演算を、b−1ビットごとに処理できるので、置換演算fの回数を少なくできる。さらに、追加認証データヘッダ分割部120,220と追加認証データトレイラ分割部140,240のパディングにおいて、10*1パディングを用いればフレームビットが不要にできるので、追加認証データとステートとの排他的論理和の演算をbビットごと、メッセージとステートのレート部分との排他的論理和の演算をrビットごとに処理できる。したがって、置換演算fの回数を少なくできる。
<Effect>
In the encryption system according to the first embodiment, attention is paid to the fact that even if the exclusive OR operation is performed on the capacity portion, the security of the encryption can be secured if the result is not understood. Then, g is calculated in the process (2) of the encryption unit 160 and the decryption unit 260 so that the result is not known. Therefore, in the process of the additional authentication data A, an exclusive OR for every b bits (exclusive OR with the entire trailer) can be performed. Even when the frame bit cannot be omitted, the exclusive OR operation between the additional authentication data A and the state can be processed for every b−1 bits, so that the number of replacement operations f can be reduced. Further, in the padding of the additional authentication data header dividing units 120 and 220 and the additional authentication data trailer dividing units 140 and 240, if 10 * 1 padding is used, a frame bit can be made unnecessary. The sum operation can be processed every b bits, and the exclusive OR operation between the message and the rate portion of the state can be processed every r bits. Therefore, the number of replacement operations f can be reduced.

[変形例1]
図10に本変形例の暗号化システムの機能構成例を示す。図11は本変形例の暗号化での計算構造の例を示す図、図12は本変形例の復号での計算構造の例を示す図である。また、図13は本変形例の暗号化装置の処理フロー、図14は本変形例の復号装置の処理フローを示す図である。本変形例の暗号化システムは、ネットワーク800を介して接続された暗号化装置300と復号装置400で構成される。
[Modification 1]
FIG. 10 shows an example of the functional configuration of the encryption system according to this modification. FIG. 11 is a diagram showing an example of a calculation structure in the encryption of this modification, and FIG. 12 is a diagram showing an example of a calculation structure in the decryption of this modification. FIG. 13 is a process flow of the encryption apparatus according to the present modification, and FIG. 14 is a diagram illustrating a process flow of the decryption apparatus according to the modification. The encryption system according to the present modification includes an encryption device 300 and a decryption device 400 connected via a network 800.

<暗号化装置>
暗号化装置300は、初期値設定部110、追加認証データ分割部320、メッセージ分割部130、追加認証データ計算部350、暗号化部160、タグ計算部180、出力部190を備える。初期値設定部110は、Nを選択し、NとKを用いてbビットの初期値を生成し、初期値をfにより置換した結果をステートとする(S110)。図11では、110を付した点線で囲まれた部分が初期値設定部に相当する。
<Encryption device>
The encryption device 300 includes an initial value setting unit 110, an additional authentication data division unit 320, a message division unit 130, an additional authentication data calculation unit 350, an encryption unit 160, a tag calculation unit 180, and an output unit 190. The initial value setting unit 110 selects N, generates a b-bit initial value using N and K, and sets the result obtained by replacing the initial value with f as a state (S110). In FIG. 11, a portion surrounded by a dotted line with 110 corresponds to an initial value setting unit.

追加認証データ分割部320は、追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する(S320)。パディングとして10*パディングを用いる場合は、b−1の整数倍になるように追加認証データAにパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックaに分割すればよい。また、パディングとして10*1パディングを用いる場合は、bの整数倍になるように追加認証データAにパディングを行い、bビットずつを切り出して追加認証データブロックaに分割すればよい。図11では、320を付した点線で囲まれた部分がメッセージ分割部に相当する。 The additional authentication data division unit 320 divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q for each b bits using padding (S320). When 10 * padding is used as padding, the additional authentication data A is padded so as to be an integer multiple of b−1, b−1 bits are cut out, frame bits are added, and additional authentication data block a q is added. What is necessary is just to divide into. When 10 * 1 padding is used as padding, additional authentication data A may be padded so as to be an integral multiple of b, and b bits may be cut out and divided into additional authentication data blocks aq . In FIG. 11, a portion surrounded by a dotted line with 320 corresponds to a message dividing unit.

メッセージ分割部130は、メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割する(S130)。メッセージ分割部130のパディングには10*パディングを用いればよい。図11では、130を付した点線で囲まれた部分がメッセージ分割部に相当する。なお、追加認証データ分割部320が、10*パディングを用いる場合は、メッセージMからr−1ビットを切り出し、フレームビットを付加してrビットにすればよい。追加認証データ分割部320が、10*1パディングを用いる場合は、それぞれの置換演算fが追加認証データAに対する処理かメッセージMに対する処理かを判別できるので、メッセージMをrビットごとに分割すればよい(フレームビットを省略できる)。 The message dividing unit 130 divides the message M into message blocks m 1 ,..., M P every r bits using padding (S130). For the padding of the message dividing unit 130, 10 * padding may be used. In FIG. 11, a part surrounded by a dotted line with 130 corresponds to a message dividing part. When the additional authentication data division unit 320 uses 10 * padding, r-1 bits may be extracted from the message M, and frame bits may be added to make r bits. When the additional authentication data dividing unit 320 uses 10 * 1 padding, it can be determined whether each replacement operation f is processing for the additional authentication data A or processing for the message M. Therefore, if the message M is divided into r bits, Good (can omit frame bits).

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

暗号化部160は、次の(1)〜(3)の処理を実行する(S160)。図11では、160を付した点線で囲まれた部分が暗号化部に相当する。   The encryption unit 160 executes the following processes (1) to (3) (S160). In FIG. 11, a portion surrounded by a dotted line with 160 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により置換した結果を新たなステートとする処理を行う。 (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.

(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める。「結合処理を用いて暗号文Cを求める」とは、単に暗号ブロックd,…,dを結合して暗号文Cとすること、各暗号ブロック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 concatenation processing” means simply combining cipher blocks d 1 ,..., D P into ciphertext C, and combining after removing frame bits from each cipher block d p. Meaning ciphertext C, and combining and removing the padding part to make ciphertext C.

タグ計算部180は、S=1の場合はステートのレート部分からタグTを求める。S≧2の場合は、ステートのレート部分をタグブロックtとする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返す。そして、タグブロックt,…,tを用いてタグTを求める(S180)。図11では、180を付した点線で囲まれた部分がタグ計算部に相当する。出力部190は、C,T,A,Nの組を出力する(S190)。出力されたC,T,A,Nの組が復号装置200に送信される。 Tag calculation section 180 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, and repeats the processing of the rate portion results state was replaced by f as a new state with the tag block t s from s = 2 to s = S. The tag block t 1, ..., determine the tag T using t S (S180). In FIG. 11, a portion surrounded by a dotted line with 180 corresponds to a 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.

<復号装置>
復号装置400は、入力部290、初期値設定部210、追加認証データ分割部420、暗号文分割部230、追加認証データ計算部450、復号部260、タグ計算部280、検証部285を備える。入力部290は、C,T,A,Nの組を取得する(S290)。
<Decoding device>
The decryption device 400 includes an input unit 290, an initial value setting unit 210, an additional authentication data division unit 420, a ciphertext division unit 230, an additional authentication data calculation unit 450, a decryption unit 260, a tag calculation unit 280, and a verification unit 285. The input unit 290 acquires a set of C, T, A, and N (S290).

初期値設定部210は、NとKを用いてbビットの初期値を生成し、初期値をfにより置換した結果をステートとする(S210)。図12では、210を付した点線で囲まれた部分が初期値設定部に相当する。   The initial value setting unit 210 generates a b-bit initial value using N and K, and sets the result obtained by replacing the initial value with f as a state (S210). In FIG. 12, a portion surrounded by a dotted line marked with 210 corresponds to an initial value setting unit.

追加認証データ分割部420は、追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する(S420)。パディングとして10*パディングを用いる場合は、b−1の整数倍になるように追加認証データAにパディングを行い、b−1ビットずつを切り出して、フレームビットを付加して追加認証データブロックaに分割すればよい。また、パディングとして10*1パディングを用いる場合は、bの整数倍になるように追加認証データAにパディングを行い、bビットずつを切り出して追加認証データブロックaに分割すればよい。図12では、420を付した点線で囲まれた部分がメッセージ分割部に相当する。 The additional authentication data division unit 420 divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q for each b bits using padding (S420). When 10 * padding is used as padding, the additional authentication data A is padded so as to be an integer multiple of b−1, b−1 bits are cut out, frame bits are added, and additional authentication data block a q is added. What is necessary is just to divide into. When 10 * 1 padding is used as padding, additional authentication data A may be padded so as to be an integral multiple of b, and b bits may be cut out and divided into additional authentication data blocks aq . In FIG. 12, a portion surrounded by a dotted line with 420 corresponds to a message dividing unit.

暗号文分割部230は、暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する(S230)。図12では、230を付した点線で囲まれた部分がメッセージ分割部に相当する。なお、追加認証データ分割部420が10*パディングを用いる場合は、暗号文Cからr−1ビットを切り出し、フレームビットを付加して暗号ブロックdにすればよい。追加認証データ分割部420が10*1パディングを用いる場合は、それぞれの置換演算fが追加認証データAに対する処理かメッセージMに対する処理かを判別できるので、暗号文Cからrビットを切り出して暗号ブロックdにすればよい。 The ciphertext dividing unit 230 divides the ciphertext C into cipher blocks d 1 ,..., D P every r bits (S230). In FIG. 12, a portion surrounded by a dotted line with 230 corresponds to a message dividing unit. In the case where the additional authentication data dividing unit 420 using 10 * padding excised r-1 bits from the ciphertext C, it is sufficient to cipher block d p by adding a frame bit. When the additional authentication data dividing unit 420 uses 10 * 1 padding, it is possible to determine whether each replacement operation f is processing for the additional authentication data A or processing for the message M. d p may be used.

追加認証データ計算部450は、ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す(S450)。図12では、450を付した点線で囲まれた部分が追加認証データ計算部に相当する。 The additional authentication data calculation unit 450 calculates the 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. Repeat until step S450. In FIG. 12, a portion surrounded by a dotted line denoted by 450 corresponds to an additional authentication data calculation unit.

復号部260は、次の(1)〜(3)の処理を実行する(S260)。図12では、260を付した点線で囲まれた部分が復号部に相当する。   The decoding unit 260 executes the following processes (1) to (3) (S260). In FIG. 12, a portion surrounded by a dotted line denoted by 260 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により置換した結果を新たなステートとする処理を行う。 (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.

(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.

タグ計算部280は、S=1の場合はステートのレート部分からタグT’を求める。S≧2の場合は、ステートのレート部分をタグブロックt’とする。S≧2の場合はさらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返す。そして、タグブロックt’,…,t’を用いてタグT’を求める(S280)。図12では、280を付した点線で囲まれた部分がタグ計算部に相当する。検証部285は、タグTとタグT’とを比較する(S285)。復号装置400は、T=T’のときはメッセージM’を復号されたメッセージとする。T≠T’のときは復号に失敗したという結果を出力する。 Tag calculation unit 280 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 portion 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 (S280). In FIG. 12, a portion surrounded by a dotted line with 280 corresponds to a tag calculation unit. The verification unit 285 compares the tag T and the tag T ′ (S285). The decoding device 400 sets the message M ′ as a decoded message when T = T ′. When T ≠ T ′, a result indicating that decoding has failed is output.

<効果>
本変形例の暗号化システムも、キャパシティ部分に対して排他的論理和の演算を行っても、その結果を分からない状態にすれば暗号化の安全性を確保できることに着目し、実現している。よって、実施例1と同様の効果が得られる。
<Effect>
The encryption system of this modification is also realized by paying attention to the fact that even if the exclusive OR operation is performed on the capacity part, the security of the encryption can be secured if the result is not understood. Yes. Therefore, the same effect as Example 1 is acquired.

[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[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,300 暗号化装置
110,210,310,410 初期値設定部
120,220 追加認証データヘッダ分割部
130 メッセージ分割部
140,240 追加認証データトレイラ分割部
150,250 追加認証データヘッダ計算部
160 暗号化部
170,270 追加認証データトレイラ計算部
180,280 タグ計算部 190 出力部
200,400 復号装置 230 暗号文分割部
260 復号部 285 検証部
290 入力部
320,420 追加認証データ分割部
350,450 追加認証データ計算部
800 ネットワーク
100, 300 Encryption device 110, 210, 310, 410 Initial value setting unit 120, 220 Additional authentication data header division unit 130 Message division unit 140, 240 Additional authentication data trailer division unit 150, 250 Additional authentication data header calculation unit 160 Encryption 170, 270 Additional authentication data trailer calculation unit 180, 280 Tag calculation unit 190 Output unit 200, 400 Decryption device 230 Ciphertext division unit 260 Decryption unit 285 Verification unit 290 Input unit 320, 420 Additional authentication data division unit 350, 450 Additional authentication data calculation unit 800 network

Claims (8)

暗号化装置と復号装置を有する暗号化システムであって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,Uを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、uを1以上U以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置は、
Nを選択し、NとKを用いてbビットの暗号化用初期値を生成し、前記暗号化用初期値をfにより置換した結果をステートとする暗号化用初期値設定部と、
追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する暗号化用追加認証データヘッダ分割部と、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割するメッセージ分割部と、
追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する暗号化用追加認証データトレイラ分割部と、
ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す暗号化用追加認証データヘッダ計算部と、
(1)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするともに、ステートのレート部分を当該計算結果に置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める
暗号化部と、
追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す暗号化用追加認証データトレイラ計算部と、
S=1の場合はステートのレート部分からタグTを求め、S≧2の場合は、ステートのレート部分をタグブロックtとし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返し、タグブロックt,…,tを用いてタグTを求める暗号化用タグ計算部と、
C,T,A,Nの組を出力する出力部と、
を備え、
前記復号装置は、
C,T,A,Nの組を取得する入力部と、
NとKを用いてbビットの復号用初期値を生成し、前記復号用初期値をfにより置換した結果をステートとする復号用初期値設定部と、
追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する復号用追加認証データヘッダ分割部と、
暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する暗号文分割部と、
追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する復号用追加認証データトレイラ分割部と、
ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す復号用追加認証データヘッダ計算部と、
(1)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするともに、ステートのレート部分を暗号ブロックdに置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする
復号部と、
追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す復号用追加認証データトレイラ計算部と、
S=1の場合はステートのレート部分からタグT’を求め、S≧2の場合は、ステートのレート部分をタグブロックt’とし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返し、タグブロックt’,…,t’を用いてタグT’を求める復号用タグ計算部と、
タグTとタグT’とを比較する検証部と
を備える
暗号化システム。
An encryption system having an encryption device and a decryption device,
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, P, Q, U 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, u Is an integer of 1 to U, S is an integer of 1 or more, s is an integer of 1 to S, f is a b-bit permutation operation, g is an integer of 0 to 2 c −1 Multiplying a finite field between the element and a predetermined constant other than 0 and 1,
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:
Selecting N, generating an initial value for b-bit encryption using N and K, and setting an initial value setting unit for encryption in which a result obtained by replacing the initial value for encryption with f is a state;
'The additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., and add for encryption authentication data header dividing portion for dividing into a Q ',
A message dividing unit that divides the message M into r-bit message blocks m 1 ,..., M P using padding;
If there is a trailer A ″ of additional authentication data A, encryption is performed to divide the trailer A ″ of additional authentication data A into additional authentication data blocks a 1 ″,..., A U ″ every b bits using padding. Additional authentication data trailer divider for
The additional authentication for encryption is repeated from q = 1 to q = Q by calculating the exclusive OR with the additional authentication data block a q ′ for the state and further changing the result of replacement with f to a new state. A data header calculator,
(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 replaced with f is set as a new state is repeated from p = 1 to p = P−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 part is treated as a finite field consisting of integers of 0 to 2 c −1 and multiplied by g, and the result of replacement with f is set as a new state.
(3) an encryption unit that obtains ciphertext C using a combination process of cipher blocks d 1 ,..., D P ;
When the trailer A ″ of the additional authentication data A exists, a process of calculating an exclusive OR with the additional authentication data block a u ″ with respect to the state and setting the result replaced with f as a new state, an additional authentication data trailer calculation unit for encryption that repeats from u = 1 to u = U;
For S = 1 obtains the tag T from the rate portion of the state, in the case of S ≧ 2, and the rate portion of the state and tag block t 1, further rate portion of the result of replacing the state by f as a new state repeating the process of the tag block t s from s = 2 to s = S, tag block t 1, ..., a tag calculation unit for encryption of obtaining a tag T using t S,
An output unit that outputs a set of C, T, A, and N;
With
The decoding device
An input unit for acquiring a set of C, T, A, and N;
A decoding initial value setting unit that generates a b-bit decoding initial value using N and K, and uses the result obtained by replacing the decoding initial value with f;
'The additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., and decoding the additional authentication data header dividing portion for dividing into a Q ',
A ciphertext dividing unit that divides the ciphertext C into cipher blocks d 1 ,..., D P every r bits;
When the trailer A ″ of the additional authentication data A exists, the trailer A ″ of the additional authentication data A is used for decoding to divide the additional authentication data block a 1 ″,..., A U ″ into b bits using padding. An additional authentication data trailer divider,
Additional authentication data for decryption that repeats the process of calculating the exclusive OR with the additional authentication data block a q ′ for the state and further changing the result replaced by f to a new state from q = 1 to q = Q A header calculator,
(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) 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 of the capacity part 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.
(3) a decoding unit that forms a message M ′ by combining the message blocks m 1 ′,..., M P ′ by removing the bits added by padding;
When the trailer A ″ of the additional authentication data A exists, a process of calculating an exclusive OR with the additional authentication data block a u ″ with respect to the state and setting the result replaced with f as a new state, an additional authentication data trailer calculation unit for decryption that repeats from u = 1 to u = U;
When S = 1, the tag T ′ is obtained from the rate portion of the state. When S ≧ 2, the rate portion of the state is set as a tag block t 1 ′, and the result of replacing the state with f is set as a new state. A tag calculation unit for decoding for obtaining a tag T ′ using the tag blocks t 1 ′,..., T S ′ by repeating the process of setting the rate part as the tag block t s ′ from s = 2 to s = S;
An encryption system comprising: a verification unit that compares the tag T and the tag T ′.
暗号化装置と復号装置を有する暗号化システムであって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置は、
Nを選択し、NとKを用いてbビットの暗号化用初期値を生成し、前記暗号化用初期値をfにより置換した結果をステートとする暗号化用初期値設定部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する暗号化用追加認証データ分割部と、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割するメッセージ分割部と、
ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す暗号化用追加認証データ計算部と、
(1)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするともに、ステートのレート部分を当該計算結果に置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める
暗号化部と、
S=1の場合はステートのレート部分からタグTを求め、S≧2の場合は、ステートのレート部分をタグブロックtとし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返し、タグブロックt,…,tを用いてタグTを求める暗号化用タグ計算部と、
C,T,A,Nの組を出力する出力部と、
を備え、
前記復号装置は、
C,T,A,Nの組を取得する入力部と、
NとKを用いてbビットの復号用初期値を生成し、前記復号用初期値をfにより置換した結果をステートとする復号用初期値設定部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する復号用追加認証データ分割部と、
暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する暗号文分割部と、
ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す復号用追加認証データ計算部と、
(1)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするともに、ステートのレート部分を暗号ブロックdに置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする
復号部と、
S=1の場合はステートのレート部分からタグT’を求め、S≧2の場合は、ステートのレート部分をタグブロックt’とし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返し、タグブロックt’,…,t’を用いてタグT’を求める復号用タグ計算部と、
タグTとタグT’とを比較する検証部と
を備える
暗号化システム。
An encryption system having an encryption device and a decryption device,
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, P, Q, b = r + c, p is an integer of 1 to P, q is an integer of 1 to Q, and S is a predetermined value of 1 or more An integer, s is an integer from 1 to S, f is a b-bit permutation operation, g is a finite field element consisting of integers from 0 to 2 c −1, and a predetermined constant other than 0 and 1 is on a finite field And multiply by
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:
Selecting N, generating an initial value for b-bit encryption using N and K, and setting an initial value setting unit for encryption in which a result obtained by replacing the initial value for encryption with f is a state;
An additional authentication data dividing unit for encryption that divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q every b bits by using padding;
A message dividing unit that divides the message M into r-bit message blocks m 1 ,..., M P using padding;
Additional authentication data for encryption that repeats the process of calculating an exclusive OR with the additional authentication data block a q for the state and further changing the result of replacement with f to a new state from q = 1 to q = Q A calculation unit;
(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 replaced with f is set as a new state is repeated from p = 1 to p = P−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 part is treated as a finite field consisting of integers of 0 to 2 c −1 and multiplied by g, and the result of replacement with f is set as a new state.
(3) an encryption unit that obtains ciphertext C using a combination process of cipher blocks d 1 ,..., D P ;
For S = 1 obtains the tag T from the rate portion of the state, in the case of S ≧ 2, and the rate portion of the state and tag block t 1, further rate portion of the result of replacing the state by f as a new state repeating the process of the tag block t s from s = 2 to s = S, tag block t 1, ..., a tag calculation unit for encryption of obtaining a tag T using t S,
An output unit that outputs a set of C, T, A, and N;
With
The decoding device
An input unit for acquiring a set of C, T, A, and N;
A decoding initial value setting unit that generates a b-bit decoding initial value using N and K, and uses the result obtained by replacing the decoding initial value with f;
A decryption additional authentication data dividing unit that divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q every b bits using padding;
A ciphertext dividing unit that divides the ciphertext C into cipher blocks d 1 ,..., D P every r bits;
Additional authentication data calculation for decryption is repeated from q = 1 to q = Q by calculating an exclusive OR with the additional authentication data block a q for the state and further changing the result of replacement with f to a new state. And
(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) 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 of the capacity part 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.
(3) a decoding unit that forms a message M ′ by combining the message blocks m 1 ′,..., M P ′ by removing the bits added by padding;
When S = 1, the tag T ′ is obtained from the rate portion of the state. When S ≧ 2, the rate portion of the state is set as a tag block t 1 ′, and the result of replacing the state with f is set as a new state. A tag calculation unit for decoding for obtaining a tag T ′ using the tag blocks t 1 ′,..., T S ′ by repeating the process of setting the rate part as the tag block t s ′ from s = 2 to s = S;
An encryption system comprising: a verification unit that compares the tag T and the tag T ′.
請求項1記載の暗号化システムであって、
追加認証データAのヘッダA’とトレイラA”に対するパディングは10*1パディングである
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
The padding of additional authentication data A with respect to header A ′ and trailer A ″ is 10 * 1 padding.
請求項2記載の暗号化システムであって、
追加認証データAに対するパディングは10*1パディングである
ことを特徴とする暗号化システム。
The encryption system according to claim 2, wherein
A padding for additional authentication data A is 10 * 1 padding.
請求項1から4のいずれかに記載の暗号化システムが有する暗号化装置。   The encryption apparatus which the encryption system in any one of Claim 1 to 4 has. 請求項1から4のいずれかに記載の暗号化システムが有する復号装置。   The decryption apparatus which the encryption system in any one of Claim 1 to 4 has. 暗号化装置と復号装置を用いる暗号化方法であって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,Uを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、uを1以上U以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置が、
Nを選択し、NとKを用いてbビットの暗号化用初期値を生成し、前記暗号化用初期値をfにより置換した結果をステートとする暗号化用初期値設定ステップと、
追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する暗号化用追加認証データヘッダ分割ステップと、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割するメッセージ分割ステップと、
追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する暗号化用追加認証データトレイラ分割ステップと、
ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す暗号化用追加認証データヘッダ計算ステップと、
(1)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするともに、ステートのレート部分を当該計算結果に置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める
暗号化ステップと、
追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す暗号化用追加認証データトレイラ計算ステップと、
S=1の場合はステートのレート部分からタグTを求め、S≧2の場合は、ステートのレート部分をタグブロックtとし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返し、タグブロックt,…,tを用いてタグTを求める暗号化用タグ計算ステップと、
C,T,A,Nの組を出力する出力ステップと、
を実行し、
前記復号装置が、
C,T,A,Nの組を取得する入力ステップと、
NとKを用いてbビットの復号用初期値を生成し、前記復号用初期値をfにより置換した結果をステートとする復号用初期値設定ステップと、
追加認証データAのヘッダA’を、パディングを用いてbビットごとの追加認証データブロックa’,…,a’に分割する復号用追加認証データヘッダ分割ステップと、
暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する暗号文分割ステップと、
追加認証データAのトレイラA”が存在する場合は、追加認証データAのトレイラA”を、パディングを用いてbビットごとの追加認証データブロックa”,…,a”に分割する復号用追加認証データトレイラ分割ステップと、
ステートに対して追加認証データブロックa’との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す復号用追加認証データヘッダ計算ステップと、
(1)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするともに、ステートのレート部分を暗号ブロックdに置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする
復号ステップと、
追加認証データAのトレイラA”が存在する場合は、ステートに対して追加認証データブロックa”との排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、u=1からu=Uまで繰り返す復号用追加認証データトレイラ計算ステップと、
S=1の場合はステートのレート部分からタグT’を求め、S≧2の場合は、ステートのレート部分をタグブロックt’とし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返し、タグブロックt’,…,t’を用いてタグT’を求める復号用タグ計算ステップと、
タグTとタグT’とを比較する検証ステップと
を実行する
暗号化方法。
An encryption method using an encryption device and a decryption device,
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, P, Q, U 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, u Is an integer of 1 to U, S is an integer of 1 or more, s is an integer of 1 to S, f is a b-bit permutation operation, g is an integer of 0 to 2 c −1 Multiplying a finite field between the element and a predetermined constant other than 0 and 1,
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
Selecting N, generating an initial value for b-bit encryption using N and K, and setting the initial value for encryption with the result obtained by replacing the initial value for encryption with f as a state;
'The additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., and encryption for additional authentication data header dividing step of dividing the a Q ',
A message division step of dividing the message M into message blocks m 1 ,..., M P every r bits using padding;
If there is a trailer A ″ of additional authentication data A, encryption is performed to divide the trailer A ″ of additional authentication data A into additional authentication data blocks a 1 ″,..., A U ″ every b bits using padding. Additional authentication data trailer splitting step,
The additional authentication for encryption is repeated from q = 1 to q = Q by calculating the exclusive OR with the additional authentication data block a q ′ for the state and further changing the result of replacement with f to a new state. A data header calculation step;
(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 replaced with f is set as a new state is repeated from p = 1 to p = P−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 part is treated as a finite field consisting of integers of 0 to 2 c −1 and multiplied by g, and the result of replacement with f is set as a new state.
(3) an encryption step for obtaining a ciphertext C using a combination process of cipher blocks d 1 ,..., D P ;
When the trailer A ″ of the additional authentication data A exists, a process of calculating an exclusive OR with the additional authentication data block a u ″ with respect to the state and setting the result replaced with f as a new state, an additional authentication data trailer calculation step for encryption that repeats from u = 1 to u = U;
For S = 1 obtains the tag T from the rate portion of the state, in the case of S ≧ 2, and the rate portion of the state and tag block t 1, further rate portion of the result of replacing the state by f as a new state The tag block t s is repeated from s = 2 to s = S, and the encryption tag calculation step for obtaining the tag T using the tag blocks t 1 ,..., T S ,
An output step for outputting a set of C, T, A, and N;
Run
The decoding device is
An input step for obtaining a set of C, T, A, and N;
A decoding initial value setting step of generating a b-bit decoding initial value using N and K, and setting the result obtained by replacing the decoding initial value by f as a state;
'The additional authentication data blocks a 1 per b bits using padding' header A of additional authentication data A, ..., and additional decryption authentication data header dividing step of dividing the a Q ',
A ciphertext dividing step of dividing the ciphertext C into cipher blocks d 1 ,..., D P every r bits;
When the trailer A ″ of the additional authentication data A exists, the trailer A ″ of the additional authentication data A is used for decoding to divide the additional authentication data block a 1 ″,..., A U ″ into b bits using padding. Additional authentication data trailer splitting step;
Additional authentication data for decryption that repeats the process of calculating the exclusive OR with the additional authentication data block a q ′ for the state and further changing the result replaced by f to a new state from q = 1 to q = Q A header calculation step;
(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) 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 of the capacity part 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.
(3) a decoding step of combining the message block m 1 ′,..., M P ′ by removing the bits added by padding into a message M ′;
When the trailer A ″ of the additional authentication data A exists, a process of calculating an exclusive OR with the additional authentication data block a u ″ with respect to the state and setting the result replaced with f as a new state, a decryption additional authentication data trailer calculation step that repeats from u = 1 to u = U;
When S = 1, the tag T ′ is obtained from the rate portion of the state. When S ≧ 2, the rate portion of the state is set as a tag block t 1 ′, and the result of replacing the state with f is set as a new state. A decoding tag calculation step for determining the tag T ′ using the tag blocks t 1 ′,..., T S ′ by repeating the process of setting the rate portion as the tag block t s ′ from s = 2 to s = S;
A verification method for comparing the tag T and the tag T ′.
暗号化装置と復号装置を用いる暗号化方法であって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Q,b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを0〜2−1の整数からなる有限体の元と0と1以外のあらかじめ定めた定数との有限体上での乗算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置が、
Nを選択し、NとKを用いてbビットの暗号化用初期値を生成し、前記暗号化用初期値をfにより置換した結果をステートとする暗号化用初期値設定ステップと、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する暗号化用追加認証データ分割ステップと、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm,…,mに分割するメッセージ分割ステップと、
ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す暗号化用追加認証データ計算ステップと、
(1)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするとともに、ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対してメッセージブロックmとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdとするともに、ステートのレート部分を当該計算結果に置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)暗号ブロックd,…,dの結合処理を用いて暗号文Cを求める
暗号化ステップと、
S=1の場合はステートのレート部分からタグTを求め、S≧2の場合は、ステートのレート部分をタグブロックtとし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックtとする処理をs=2からs=Sまで繰り返し、タグブロックt,…,tを用いてタグTを求める暗号化用タグ計算ステップと、
C,T,A,Nの組を出力する出力ステップと、
を実行し、
前記復号装置が、
C,T,A,Nの組を取得する入力ステップと、
NとKを用いてbビットの復号用初期値を生成し、前記復号用初期値をfにより置換した結果をステートとする復号用初期値設定ステップと、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa,…,aに分割する復号用追加認証データ分割ステップと、
暗号文Cを、rビットごとの暗号ブロックd,…,dに分割する暗号文分割ステップと、
ステートに対して追加認証データブロックaとの排他的論理和を計算し、さらにfにより置換した結果を新たなステートとする処理を、q=1からq=Qまで繰り返す復号用追加認証データ計算ステップと、
(1)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするとともに、ステートのレート部分を暗号ブロックdに置き換えた上でfにより置換した結果を新たなステートとする処理を、p=1からp=P−1まで繰り返し、
(2)ステートのレート部分に対して暗号ブロックdとの排他的論理和を計算し、計算結果をrビットのメッセージブロックm’とするともに、ステートのレート部分を暗号ブロックdに置き換え、キャパシティ部分のcビットを0〜2−1の整数からなる有限体として扱ってgによる乗算を行った上で、fにより置換した結果を新たなステートとする処理を行い、
(3)メッセージブロックm’,…,m’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とする
復号ステップと、
S=1の場合はステートのレート部分からタグT’を求め、S≧2の場合は、ステートのレート部分をタグブロックt’とし、さらに、ステートをfにより置換した結果を新たなステートとしてレート部分をタグブロックt’とする処理をs=2からs=Sまで繰り返し、タグブロックt’,…,t’を用いてタグT’を求める復号用タグ計算ステップと、
タグTとタグT’とを比較する検証ステップと
を実行する
暗号化方法。
An encryption method using an encryption device and a decryption device,
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, P, Q, b = r + c, p is an integer of 1 to P, q is an integer of 1 to Q, and S is a predetermined value of 1 or more An integer, s is an integer from 1 to S, f is a b-bit permutation operation, g is a finite field element consisting of integers from 0 to 2 c −1, and a predetermined constant other than 0 and 1 is on a finite field And multiply by
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
Selecting N, generating an initial value for b-bit encryption using N and K, and setting the initial value for encryption with the result obtained by replacing the initial value for encryption with f as a state;
An additional authentication data division step for encryption that divides the additional authentication data A into additional authentication data blocks a 1 ,..., A Q every b bits using padding;
A message division step of dividing the message M into message blocks m 1 ,..., M P every r bits using padding;
Additional authentication data for encryption that repeats the process of calculating an exclusive OR with the additional authentication data block a q for the state and further changing the result of replacement with f to a new state from q = 1 to q = Q A calculation step;
(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 replaced with f is set as a new state is repeated from p = 1 to p = P−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 part is treated as a finite field consisting of integers of 0 to 2 c −1 and multiplied by g, and the result of replacement with f is set as a new state.
(3) an encryption step for obtaining a ciphertext C using a combination process of cipher blocks d 1 ,..., D P ;
For S = 1 obtains the tag T from the rate portion of the state, in the case of S ≧ 2, and the rate portion of the state and tag block t 1, further rate portion of the result of replacing the state by f as a new state The tag block t s is repeated from s = 2 to s = S, and the encryption tag calculation step for obtaining the tag T using the tag blocks t 1 ,..., T S ,
An output step for outputting a set of C, T, A, and N;
Run
The decoding device is
An input step for obtaining a set of C, T, A, and N;
A decoding initial value setting step of generating a b-bit decoding initial value using N and K, and setting the result obtained by replacing the decoding initial value by f as a state;
Decryption additional authentication data division step for dividing additional authentication data A into additional authentication data blocks a 1 ,..., A Q for each b bits using padding;
A ciphertext dividing step of dividing the ciphertext C into cipher blocks d 1 ,..., D P every r bits;
Additional authentication data calculation for decryption is repeated from q = 1 to q = Q by calculating an exclusive OR with the additional authentication data block a q for the state and further changing the result of replacement with f to a new state. Steps,
(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) 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 of the capacity part 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.
(3) a decoding step of combining the message block m 1 ′,..., M P ′ by removing the bits added by padding into a message M ′;
When S = 1, the tag T ′ is obtained from the rate portion of the state. When S ≧ 2, the rate portion of the state is set as a tag block t 1 ′, and the result of replacing the state with f is set as a new state. A decoding tag calculation step for determining the tag T ′ using the tag blocks t 1 ′,..., T S ′ by repeating the process of setting the rate portion as the tag block t s ′ from s = 2 to s = S;
A verification method for comparing the tag T and the tag T ′.
JP2015036190A 2015-02-26 2015-02-26 ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD Active JP6273224B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015036190A JP6273224B2 (en) 2015-02-26 2015-02-26 ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015036190A JP6273224B2 (en) 2015-02-26 2015-02-26 ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD

Publications (2)

Publication Number Publication Date
JP2016157053A JP2016157053A (en) 2016-09-01
JP6273224B2 true JP6273224B2 (en) 2018-01-31

Family

ID=56826081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015036190A Active JP6273224B2 (en) 2015-02-26 2015-02-26 ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD

Country Status (1)

Country Link
JP (1) JP6273224B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111052670B (en) * 2017-09-01 2024-02-09 三菱电机株式会社 Encryption device, decryption device, encryption method, decryption method, and computer-readable storage medium
CN108900869B (en) * 2018-05-04 2021-02-02 烽火通信科技股份有限公司 Communication group information encryption and decryption method and system

Family Cites Families (6)

* 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
JPWO2006019152A1 (en) * 2004-08-19 2008-05-08 株式会社日立製作所 Message authenticator generation device, message authenticator verification device, and message authenticator generation method
EP1995710A1 (en) * 2006-03-14 2008-11-26 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
JP5852518B2 (en) * 2012-06-18 2016-02-03 日本電信電話株式会社 Authentication encryption device, authentication decryption device, and program
TWI510046B (en) * 2013-07-04 2015-11-21 Univ Nat Cheng Kung Method for authenticated encryption and decryption

Also Published As

Publication number Publication date
JP2016157053A (en) 2016-09-01

Similar Documents

Publication Publication Date Title
CN110348231B (en) Data homomorphic encryption and decryption method and device for realizing privacy protection
JP5710460B2 (en) Encryption key generation apparatus and program
KR20120127607A (en) Device and method for obtaining a cryptographic key
CN105721156B (en) Data are carried out with the method and relevant device of coding and digital signature
JP6305642B2 (en) Message authenticator generating apparatus, message authenticator generating method, and message authenticator generating program
US9762384B2 (en) Generation and verification of alternate data having specific format
JP6884284B2 (en) White box calculation of keyed message authentication code
CN110493201B (en) Data processing method, device and system
WO2021179518A1 (en) Methods and apparatuses for oblivious transfer using trusted environment
CN107534549B (en) Readable storage medium, method and system for encrypting data stream block
JP6273226B2 (en) Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method
US10417187B2 (en) Secure compression
US20200186328A1 (en) Encryption device, decryption device, encryption method, decryption method, and computer readable medium
JP6273224B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD
CN113132078B (en) Block chain privacy protection method and block chain system based on homomorphism promise
RU2710310C2 (en) Electronic forming device
CN109951275B (en) Key generation method and device, computer equipment and storage medium
WO2020188906A1 (en) Signature device, verification device, signature method, verification method, signature program, and verification program
JP6059159B2 (en) Share conversion system, share conversion method, program
JP6273225B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, ENCRYPTION PROGRAM, DECRYPTION PROGRAM
JP6305643B2 (en) Message authenticator generating apparatus, message authenticator generating method, and message authenticator generating program
JP6273223B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, ENCRYPTION PROGRAM, DECRYPTION PROGRAM
JP6797337B2 (en) Message authentication device, message authentication method and message authentication program
JP6180375B2 (en) Commitment method, commitment system, sender device, receiver device, and program
CN111052206B (en) Secret calculation device, secret calculation method, and recording medium

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150