Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6723958B2 - Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program - Google Patents
[go: Go Back, main page]

JP6723958B2 - Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program - Google Patents

Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program Download PDF

Info

Publication number
JP6723958B2
JP6723958B2 JP2017134876A JP2017134876A JP6723958B2 JP 6723958 B2 JP6723958 B2 JP 6723958B2 JP 2017134876 A JP2017134876 A JP 2017134876A JP 2017134876 A JP2017134876 A JP 2017134876A JP 6723958 B2 JP6723958 B2 JP 6723958B2
Authority
JP
Japan
Prior art keywords
state
bit
data
exclusive
xor
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
JP2017134876A
Other languages
Japanese (ja)
Other versions
JP2019015915A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017134876A priority Critical patent/JP6723958B2/en
Publication of JP2019015915A publication Critical patent/JP2019015915A/en
Application granted granted Critical
Publication of JP6723958B2 publication Critical patent/JP6723958B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メッセージの秘匿と改ざん検知を同時に行う追加データ付き認証暗号技術に関する。 The present invention relates to an authentication encryption technique with additional data that simultaneously conceals a message and detects tampering.

追加データ付き認証暗号とは、メッセージMの秘匿、および、メッセージMと追加データAの認証(改ざん検知)を同時に行う共通鍵暗号プリミティブである。従来の追加データ付き認証暗号としては、例えば、非特許文献1および非特許文献2に記載されたAPE(Authenticated Permutation-Based Encryption)が挙げられる。追加データ付き認証暗号は、暗号化関数および復号関数の二つの関数から構成される。追加データ付き認証暗号では、受信者と送信者との間であらかじめ秘密の鍵Kを共有しておく。 The authentication cipher with additional data is a common key cryptographic primitive for simultaneously concealing the message M and authenticating the message M and the additional data A (alteration detection). Examples of conventional authentication encryption with additional data include APE (Authenticated Permutation-Based Encryption) described in Non-Patent Document 1 and Non-Patent Document 2. The authentication cipher with additional data is composed of two functions, an encryption function and a decryption function. In the authentication encryption with additional data, the secret key K is shared in advance between the receiver and the sender.

送信者は、メッセージMと追加データAに加えて、暗号化関数を呼び出すたびに変化するナンスと呼ばれる値Nを選択する。暗号化関数は、メッセージM、追加データA、およびナンスNに対応する暗号化データCおよびタグTを生成し、(C,T,A,N)の組を受信者に送る。 In addition to the message M and the additional data A, the sender selects a value N called a nonce that changes each time the encryption function is called. The encryption function generates the encrypted data C and the tag T corresponding to the message M, the additional data A, and the nonce N, and sends the set (C,T,A,N) to the recipient.

受信者は(C,T,A,N)の組を受け取るが、この時点ではこれらの値が悪意ある第三者によって改ざんされていないという保証はない。受信者は受け取った(C,T,A,N)の組と自分が保有する鍵Kとを用いて検証を同時に行う復号関数を計算する。 The recipient receives the (C,T,A,N) pair, but at this point there is no guarantee that these values have not been tampered with by a malicious third party. The receiver uses the received (C, T, A, N) pair and the key K held by the receiver to calculate a decryption function for performing verification at the same time.

検証を同時に行う復号関数にはいくつかの種類がある。多くの追加データ付き認証暗号では、受信者が再計算したタグT'が送信者から受け取ったタグTと一致するかどうかで検証を行う。APEでは、受信者が再計算した中間ステートの値がある値に一致するかどうかで検証を行う。いずれにせよ値が一致しなかった場合は復号に失敗した(データが改ざんされた)という結果を出力する。 There are several types of decryption functions that perform verification at the same time. In many authentication ciphers with additional data, verification is performed by checking whether the tag T'recalculated by the receiver matches the tag T received from the sender. The APE verifies whether the value of the intermediate state recalculated by the receiver matches a certain value. In any case, when the values do not match, the result that the decryption has failed (data has been tampered with) is output.

APEは追加データ付き認証暗号の暗号化関数と復号関数の構成法である。保証したい安全性レベル(ビット数)に比べて比較的大きなサイズの置換(bijective map)を用いて暗号化関数と復号関数を構成するという特徴を持つ。APEの復号関数は、上記のとおり、従来の復号関数とは異なる特殊な方法で検証を行う。 APE is a method of constructing encryption and decryption functions for authentication encryption with additional data. The feature is that the encryption function and the decryption function are configured by using a permutation (bijective map) of a relatively large size compared to the security level (number of bits) to be guaranteed. As described above, the APE decryption function is verified by a special method different from the conventional decryption function.

図1を参照しながら、APEの暗号化関数の具体的な計算手順を説明する。APEの暗号化関数は、ステートと呼ばれるbビットのデータを、bビットの置換f:{0,1}b→{0,1}b、入力データ(N,A,M)、および鍵Kを用いて繰り返し更新しながら、暗号化データCおよびタグTを計算する。置換fの詳細は非特許文献2に記載されている。なお、ナンスNの入力は必須ではなく、ナンスNがある場合も、ナンスNは追加データAの一部となる。したがって、入力データは追加データA、メッセージM、および鍵Kを考慮すれば十分である。また、追加データAはメッセージMよりも先に処理される。そのような追加データAはヘッダと呼ばれる。追加データAとメッセージMの長さはいずれもrビットの倍長に限られる。 A specific calculation procedure of the APE encryption function will be described with reference to FIG. The APE encryption function replaces b-bit data called state with b-bit replacement f:{0,1} b →{0,1} b , input data (N,A,M), and key K. The encrypted data C and the tag T are calculated while iteratively updating using. The details of the substitution f are described in Non-Patent Document 2. Note that the nonce N is not required to be input, and even when the nonce N is present, the nonce N becomes a part of the additional data A. Therefore, it is sufficient for the input data to consider the additional data A, the message M, and the key K. Also, the additional data A is processed before the message M. Such additional data A is called a header. The length of both the additional data A and the message M is limited to the double length of r bits.

bビットのステートは、レートと呼ばれるrビットと、キャパシティと呼ばれるc(=b-r)ビットに分割される。暗号化関数を計算する場合、bビットのステートの値を、レート部分のrビットは0(すなわち、すべてのビットが0のビット列)に、キャパシティ部分のcビットは鍵Kの値に初期化する。 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 b-bit state is initialized to 0 for the r bits of the rate part (that is, a bit string in which all bits are 0) and the c bit of the capacity part to the value of the key K. To do.

手順1.追加データAをrビットのブロックに分割する。bビットのステートのうちレート部分のrビットに対し、追加データAの第一ブロックとの排他的論理和を計算し、bビットのステートに対し、置換fを計算する。この置換fの出力を新たなステートの値とする。この操作を追加データAの最終ブロックが排他的論理和されるまで繰り返す。 Step 1. The additional data A is divided into blocks of r bits. An exclusive OR with the first block of the additional data A is calculated for the r bits in the rate portion of the b-bit state, and the permutation f is calculated for the b-bit state. The output of this replacement f is taken as the value of the new state. This operation is repeated until the final block of the additional data A is exclusive ORed.

手順2.bビットのステートのうちキャパシティ部分のcビットに対し、整数値1(すなわち、最下位ビットのみが1のビット列)との排他的論理和を計算する。 Step 2. For the c bits in the capacity portion of the b bit state, the exclusive OR is calculated with the integer value 1 (that is, the bit string in which only the least significant bit is 1).

手順3.メッセージMをrビットのブロックに分割する。bビットのステートのうちレート部分のrビットに対し、メッセージMの第一ブロックとの排他的論理和を計算し、bビットのステートに対し、置換fを計算する。この置換fの出力を新たなステートの値とし、レート部分のrビットを暗号化データCの第一ブロックとして出力する。この操作をメッセージMの最終ブロックが排他的論理和されるまで繰り返す。 Step 3. Divide message M into blocks of r bits. An exclusive OR with the first block of the message M is calculated for the r bits in the rate portion of the b-bit state, and the permutation f is calculated for the b-bit state. The output of this replacement f is used as a new state value, and the r bits of the rate portion are output as the first block of the encrypted data C. This operation is repeated until the final block of the message M is exclusive ORed.

手順4.bビットのステートのうちキャパシティ部分のcビットに対し、cビットの鍵Kとの排他的論理和を計算し、計算結果をcビットのタグTとして出力する。
図2を参照しながら、APEの復号関数の具体的な計算手順を説明する。APEの復号関数は、APEの暗号化関数の計算をほぼ逆順に行う。復号関数は、通常(C,T,A,N)の組を入力にとるが、APEではナンスNは追加データAの一部とみなすことができるため、(C,T,A)の組を入力にとるとみなす。
Step 4. An exclusive OR of the c bits in the capacity portion of the b bit state with the c bit key K is calculated, and the calculation result is output as a c bit tag T.
A specific calculation procedure of the APE decoding function will be described with reference to FIG. The APE decryption function performs the calculation of the APE encryption function in almost reverse order. The decryption function normally takes a set of (C,T,A,N) as an input, but since the nonce N can be regarded as a part of the additional data A in APE, the set of (C,T,A) is Considered as input.

復号関数を計算する場合、bビットのステートの値を、rビットの暗号化データCの最終ブロック(図2の例ではC2)とcビットのタグTとを連結した値に初期化する。 When calculating the decryption function, the value of the b-bit state is initialized to a value obtained by concatenating the final block (C 2 in the example of FIG. 2 ) of the r-bit encrypted data C and the c-bit tag T.

手順1.bビットのステートのうちキャパシティ部分のcビットに対し、cビットの鍵Kとの排他的論理和を計算し、計算結果によりキャパシティ部分のcビットを更新する。 Step 1. An exclusive OR of the c bits in the capacity part of the b-bit state with the c-bit key K is calculated, and the c bits in the capacity part are updated according to the calculation result.

手順2.bビットのステートに対し、置換fの逆関数f-1:{0,1}b→{0,1}bを計算する。この置換fの逆関数f-1の出力を新たなステートの値とする。レート部分のrビットに対し、暗号化データCの最終ブロックの一つ前のブロック(図2の例ではC1)との排他的論理和を計算し、計算結果をメッセージMの最終ブロック(図2の例ではM2)として出力する。また、レート部分のrビットを、暗号化データCの最終ブロックの一つ前のブロック(図2の例ではC1)により更新し、更新されたステートを新たなステートの値とする。この操作を暗号化データCの第一ブロック(図2の例ではC0)が処理されるまで繰り返す。これにより、メッセージMの最終ブロック(図2の例ではM2)から第二ブロック(図2の例ではM1)までが復元される。最後に更新されたステートのうち、レート部分のrビットの値をSr、キャパシティ部分のcビットの値をScとする。 Step 2. For the b-bit state, calculate the inverse function f −1 :{0,1} b →{0,1} b of the permutation f. The output of the inverse function f -1 of this permutation f is taken as the value of the new state. For the r bits of the rate part, the exclusive OR of the block immediately before the final block of the encrypted data C (C 1 in the example of FIG. 2) is calculated, and the calculation result is the final block of the message M (see FIG. In the example of 2, it is output as M 2 ). Further, the r bits of the rate portion are updated by the block immediately before the final block of the encrypted data C (C 1 in the example of FIG. 2), and the updated state is set as a new state value. This operation is repeated until the first block (C 0 in the example of FIG. 2) of the encrypted data C is processed. Thus, the last block of the message M (M 2 in the example of FIG. 2) to a second block (M 1 in the example of FIG. 2) is restored. Of the last updated state, the r-bit value of the rate part is S r , and the c-bit value of the capacity part is S c .

手順3.メッセージMの第一ブロック(図2の例ではM0)の復元方法は、それ以外のブロックとは異なる。まず、暗号化関数の手順1から手順2までと同じ計算を行う。更新されたステートのうち、レート部分のrビットの値をS'r、キャパシティ部分のcビットの値をS'cとする。rビットの値Srとrビットの値S'rとの排他的論理和を計算し、計算結果をメッセージMの第一ブロック(図2の例ではM0)として出力する。 Step 3. The method of restoring the first block (M 0 in the example of FIG. 2) of the message M is different from the other blocks. First, the same calculation as the procedure 1 to the procedure 2 of the encryption function is performed. Of the updated state, the value of r bits of rate portion S 'r, the value of c bit capacity portion S' and c. The exclusive OR of the r-bit value S r and the r-bit value S′ r is calculated, and the calculation result is output as the first block (M 0 in the example of FIG. 2) of the message M.

手順4.cビットの値Scとcビットの値S'cとを比較し、値が一致すれば復号されたメッセージM(図2の例ではM=M0||M1||M2)を出力する。なお、復号されたメッセージMを復号データともいう。一致しなかった場合は、メッセージMは出力せず、復号に失敗した旨を表すエラーコードのみを出力する。 Step 4. The c-bit value S c is compared with the c-bit value S′ c, and if the values match, the decoded message M (M=M 0 ||M 1 ||M 2 in the example of FIG. 2 ) is output. To do. The decrypted message M is also referred to as decrypted data. If they do not match, the message M is not output, and only the error code indicating that the decoding has failed is output.

Elena Andreeva, Begul Bilgin, Andrey Bogdanov, Atul Luykx, Bart Mennink, Nicky Mouha and Kan Yasuda, "APE: Authenticated Permutation-Based Encryption for Lightweight Cryptography," FSE 2014, (eds.) Carlos Cid and Christian Rechberger, LNCS, Vol. 8540, pages 168-186, Springer, 2015.Elena Andreeva, Begul Bilgin, Andrey Bogdanov, Atul Luykx, Bart Mennink, Nicky Mouha and Kan Yasuda, "APE: Authenticated Permutation-Based Encryption for Lightweight Cryptography," FSE 2014, (eds.) Carlos Cid and Christian Rechberger, LNCS, Vol 8540, pages 168-186, Springer, 2015. Elena Andreeva, Begul Bilgin, Andrey Bogdanov, Atul Luykx, Florian Mendel, Bart Mennink, Nicky Mouha, Qingju Wang and Kan Yasuda, "PRIMATEs v1 | Submission to the CAESAR Competition," Submitted to CAESAR, 2014.Elena Andreeva, Begul Bilgin, Andrey Bogdanov, Atul Luykx, Florian Mendel, Bart Mennink, Nicky Mouha, Qingju Wang and Kan Yasuda, "PRIMATEs v1 | Submission to the CAESAR Competition," Submitted to CAESAR, 2014.

しかしながら、従来技術のAPEは仕様上、追加データA(ナンスNを含んでもよい)もメッセージMもレート部分のビット数rの倍長であることを前提にしている。そのため、応用先に制限がでてしまう。 However, the APE of the prior art is based on the specifications that both the additional data A (which may include the nonce N) and the message M are double lengths of the number r of bits in the rate portion. Therefore, the application destination is limited.

例えば、任意長のA,Mを受け付ける方法として以下の方法が考えられる。A,Mのそれぞれに対し、サイズがrの倍数ではない場合、ビット1を付与し、その後rの倍数になるまでビット0を付与する。この操作を10*パディングと呼ぶ。10*パディングでは最大でr-1ビットの情報が付与される。 For example, the following method can be considered as a method of accepting A and M of arbitrary length. For each of A and M, if the size is not a multiple of r, add bit 1 and then add bit 0 until it becomes a multiple of r. This operation is called 10 * padding. 10 * padding adds a maximum of r-1 bits of information.

10*パディングを含んだ、任意長のA,Mを受け付けるように改変されたAPEの暗号化処理を図3に示す。この暗号化処理では、Mの長さがrの倍数でなかった場合に、暗号化データCの長さがメッセージMの長さよりも長くなり通信コストが増加する。 FIG. 3 shows the encryption process of APE modified to accept A and M of arbitrary length including 10 * padding. In this encryption processing, if the length of M is not a multiple of r, the length of the encrypted data C becomes longer than the length of the message M, and the communication cost increases.

本発明は、任意長の追加データA,メッセージMを受け付けるとともに、通信コストの増加を抑制することができる暗号化データ生成装置、復号データ生成装置、追加データ付き認証暗号システム、その方法、及びプログラムを提供することを目的とする。 The present invention accepts additional data A and message M of arbitrary length, and can suppress an increase in communication cost, an encrypted data generation device, a decryption data generation device, an authentication encryption system with additional data, a method thereof, and a program. The purpose is to provide.

上記の課題を解決するために、本発明の一態様によれば、追加データ付き認証暗号システムは、暗号化データ生成装置と復号データ生成装置とを含む。暗号化データ生成装置は、秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とし、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'を求める埋め込み部と、追加データAまたは追加データAからデータAxを除いた部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求めるパディング部と、値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、値A'を|A'|/r個に分割して得られる各値をA'nとし、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0とし、bビットの暗号化ステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める第一排他的論理和部と、bビットのビット列dをbビットのビット列eに置換する関数を置換fとし、暗号化ステートSn-1のレート部分SR,n-1を排他的論理和SR,n-1 XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める第一置換部と、暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させる境界設定部と、メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、メッセージM'を|M'|/r個に分割して得られる各値をM'mとし、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める第二排他的論理和部と、暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1を排他的論理和SR,|A'|/r+m-1 XOR M'mに置換えたビット列を置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、暗号化ステートS|A'|/r+mのレート部分SR,|A'|/r+mのrビットを暗号化データCmとし、|M'|/r個の暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する第二置換部と、暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと秘密鍵Kとの排他的論理和をタグTとして出力するタグ生成部と、暗号化データCとタグTと部分A''とを出力する出力部を含む。復号データ生成装置は、暗号化データCとタグTと部分A''とを受け取る入力部と、追加データAのビット長|A|と部分A''のビット長|A''|とに基づきデータAxのビット長|Ax|を求める削除ビット長計算部と、暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットのタグTとを連結した値をステートSmの初期値S|M'|/rとし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rとcビットの秘密鍵Kとの排他的論理和SC,|M'|/r XOR Kを求める第三排他的論理和部と、置換fの逆関数をf-1とし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rを排他的論理和SC,|M'|/r XOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める第三置換部と、m=1,2,3,…,|M'|/r-2において、ステートSmのレート部分SR,mと、暗号化データCmとの排他的論理和SR,m XOR Cmを復号データMm+1,Dとして出力する第四排他的論理和部と、m=1,2,…,|M'|/r-1において、ステートSmのレート部分SR,mを暗号化データCmに置換えたビット列を逆関数f-1を用いて置換し、ステートSm-1を求める第四置換部と、ステートS|M'|/rのレート部分SR,|M'|/rと、暗号化データC|M'|/rとの排他的論理和SR,|M'|/r XOR C|M'|/rを、ビット長|Ax|を用いて、データAxに対応するxビットとその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビットを削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する分割部と、排他的論理和SR,|M'|/rXOR C|M'|/rのxビットを部分A''に結合し、復号追加データADとする結合部と、復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求めるパディング部と、値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとし、予め定めたビット列と秘密鍵Kとを連結した値を復号ステートの初期値S0,Dとし、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,D XOR A'D,nを求める第五排他的論理和部と、復号ステートSn-1,Dのレート部分SR,n-1,Dを排他的論理和SR,n-1,D XOR A'n,Dに置換えたビット列を置換fを用いて置換し、復号ステートSn,Dを求める第五置換部と、復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させ、復号ステートS|A'_D|/r,Dを更新する境界除去部と、更新された復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行い、一致する場合には、復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,DとステートS0のレート部分SR,0との排他的論理和を復号データM1,Dとして出力する認証部とを含む。 In order to solve the above problems, according to an aspect of the present invention, an authentication cryptographic system with additional data includes an encrypted data generation device and a decrypted data generation device. The encrypted data generation device sets the bit length of the secret key K to c bits, sets the b bit information including the r bit rate part and the c bit capacity part to the state, and sets the bit length |M| of the message M to The remainder when divided by r bits is (rx), x bits of data A x included in the additional data A is embedded in the message M, and the embedding part that obtains the message M'after embedding and the additional data A or additional data The part A'' from the data A excluding the data A x is added with a predetermined bit string so that the bit length is a minimum integer multiple of r, and the padding part for obtaining the value A'after the addition and the value A' of the bit length | a '| and then, n = 1,2, ..., | a' | / and r, 'a | a' | value a / r is divided into pieces each value obtained by the a 'n , A value obtained by concatenating a predetermined bit string and the secret key K is the initial value S 0 of the encryption state, and for the r-bit of the rate part S R,n-1 of the b-bit encryption state S n-1 , 'XOR S R and n, n-1 XOR a' value a and the first exclusive OR unit for obtaining the n, the function of replacing the bit string d b-bit bit string e of b bits and replacing f , rate portion of the encrypted state S n-1 S R, the exclusive OR S R a n-1, the bit string is replaced with n-1 XOR a 'n to replace with substitution f, encrypted state S n To determine the bit length of the message M', and the boundary setting part that inverts the predetermined bits of the capacity part S C,|A'|/r of the encryption state S |A'|/r. | M '| and then, m = 1,2, ..., | M' | / r and, 'a | M' | message M / r pieces each value obtained by dividing the a M 'm, b bits encryption state S | a '| rate portion of the / r + m-1 S R , | a' | / r + to r bits of m-1, the exclusive OR S R of the message M 'm, | a | a second exclusive OR unit for obtaining a '/ r + m-1 XOR M' m, encrypted state S | a '| / r + m-1 of the rate portion S R, | a' | / r + m-1 XOR S R, | a | a '/ r + m-1 XOR M' bit string is replaced with m replaced with a substituent f, encrypted state S | a '| / r + m, and the r bits of the rate part S R,|A'|/r+m of the encryption state S |A'|/r+m is the encrypted data C m, and |M'|/r Encrypted data including encrypted data C m C=(C 1 , C 2 ,..., C |M'|/r ), and the second permutation that outputs the encryption state S |A'|/r+|M'|/r capacity part S C,|A'|/r+|M'| A tag generation unit that outputs the exclusive OR of /r and the secret key K as a tag T, and an output unit that outputs the encrypted data C, the tag T, and the portion A″. The decrypted data generation device is based on the input unit that receives the encrypted data C, the tag T, and the part A″, and the bit length |A| of the additional data A and the bit length |A″| of the part A″. data bit length of a x | a x | and delete bit length calculation unit for obtaining the encrypted data C = (C 1, C 2 , ..., C | M '| / r) encrypted data contained in the C | M A value obtained by concatenating the ||r and the c-bit tag T is set as the initial value S |M'|/r of the state S m , and the capacity part S C,|M'| of the state S |M'|/r is set. The exclusive OR of S /C and |M'|/r XOR K of /r and the secret key K of c bit and the inverse function of the permutation f are f -1 , and the state S | M '| / r capacity portion S C of, | M' | / r XOR S C, | M '| / r bit string is replaced with XOR K was replaced with an inverse function f -1 , State S |M'|/r-1 for the third permutation part, and m=1,2,3,...,|M'|/r-2, for rate part S R,m of state S m , a fourth exclusive OR unit that outputs the exclusive OR S R and the encrypted data C m, the m XOR C m as decoded data M m + 1, D, m = 1,2, ..., | M '|/r-1, the fourth permutation for obtaining the state S m-1 by substituting the bit string in which the rate part S R,m of the state S m is replaced with the encrypted data C m by using the inverse function f -1 And the rate part S R,|M'|/r of the state S |M'|/r and the encrypted data C |M'|/r S R,|M'|/r XOR C |M'|/r is divided into x bits corresponding to data A x and other rx bits using bit length |A x |, and exclusive OR S R,|M'|/ r XOR C |M'|/r A division unit that outputs rx bits of data with x bits removed as decoded data M |M'|/r,D and an exclusive OR S R,|M'|/ r XOR C |M'|/r combines x bits into the part A'' to form the decoded additional data A D , and the decoded additional data A D has a bit length that is the smallest integer multiple of r adding a predetermined bit sequence as, 'padding unit for obtaining the D, the value a' the value a after adding the bit length of the D | a 'D | and then, n = 1,2, ..., | a' D | /r, and each value obtained by dividing the value A'D into |A' D |/r is A'n ,D. And a value obtained by connecting the meta bit stream and the secret key K and an initial value S 0, D decoding state, the b-bit decoding state S n-1, D rate portion S R, the r-bit n-1, D contrast, the value a 'n, XOR S R, n-1, D XOR a and D' D, a fifth exclusive OR unit for obtaining the n, rate portion of the decoding state S n-1, D S R, and substituted with n-1, exclusive of D S R, n-1, D XOR a 'n, replacing the bit string is replaced with D f, the decoding state S n, the fifth obtaining the D The replacement part and the decoding part S |A'_D|/r,D of the capacity part S C,|A'_D|/r,D of the predetermined bit is inverted and the decoding state S |A'_D|/r , The boundary removal part that updates D , and the updated decoding state S |A'_D|/r,D capacity part S C,|A'_D|/r,D and state S 0 capacity part S Message authentication is performed depending on whether or not C,0 matches , and if they match , the rate part S R,|A'_D|/r,D of the decoding state S |A'_D|/r,D An authentication unit that outputs the exclusive OR of the rate part S R,0 of the state S 0 as the decoded data M 1,D .

本発明によれば、任意長の追加データA,メッセージMを受け付けるとともに、通信コストの増加を抑制することができるという効果を奏する。 According to the present invention, it is possible to receive the additional data A and the message M having an arbitrary length and to suppress an increase in communication cost.

従来の暗号化関数を説明するための図。The figure for demonstrating the conventional encryption function. 従来の復号関数を説明するための図。The figure for demonstrating the conventional decoding function. 従来の暗号化関数を説明するための図。The figure for demonstrating the conventional encryption function. 追加データ付き認証暗号システムの機能構成を例示する図。The figure which illustrates the functional structure of the authentication encryption system with additional data. 暗号化装置の機能構成を例示する図。The figure which illustrates the functional structure of an encryption device. 追加データ計算部の機能構成を例示する図。The figure which illustrates the functional structure of an additional data calculation part. メッセージ計算部の機能構成を例示する図。The figure which illustrates the functional structure of a message calculation part. 復号装置の機能構成を例示する図。The figure which illustrates the functional structure of a decoding device. 暗号化データ逆計算部の機能構成を例示する図。The figure which illustrates the functional structure of the encrypted data inverse calculation part. 追加データ計算部の機能構成を例示する図。The figure which illustrates the functional structure of an additional data calculation part. 暗号化方法の処理手続きを例示する図。The figure which illustrates the processing procedure of an encryption method. 実施形態の暗号化関数の一例を説明するための図。The figure for demonstrating an example of the encryption function of embodiment. 復号方法の処理手続きを例示する図。The figure which illustrates the processing procedure of a decoding method. 実施形態の復号関数の一例を説明するための図。The figure for demonstrating an example of the decoding function of embodiment.

以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described. In the drawings used for the following description, components having the same function and steps for performing the same process are denoted by the same reference numerals, and duplicate description will be omitted.

<第一実施形態>
この発明の実施形態は、APEを任意長のメッセージMに自明に拡張した方式で、A(もしくはAの一部であるナンスN)の長さが復号処理の前に復号をする受信者と共有できている場合に、メッセージMの長さがステートのレート部分の長さrの倍数でなかった場合のパディングとして10*パディングを施すのではなく、A(もしくはAの一部であるナンスN)の一部をメッセージMの最後尾にレート部分の長さrの倍長になるまで埋め込む。埋め込んだデータは別途受信者に送信されず、受信者が復号処理の途中に復元する。
<First embodiment>
The embodiment of the present invention is a method in which APE is obviously extended to a message M of arbitrary length, and the length of A (or nonce N which is a part of A) is shared with the recipient who decrypts before the decryption process. If yes, then A (or nonce N that is part of A) rather than 10 * padding as the padding if the length of message M is not a multiple of length r of the rate portion of the state Is embedded at the end of the message M until the length r of the rate part is doubled. The embedded data is not separately transmitted to the receiver, but is restored by the receiver during the decoding process.

実施形態の追加データ付き認証暗号システムは、図4に示すように、追加データ付き認証暗号の暗号化関数を実行する暗号化装置1と、追加データ付き認証暗号の復号関数を実行する復号装置2とを含む。この実施形態では、暗号化装置1および復号装置2はそれぞれ通信網3へ接続される。通信網3は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網3を介してオンラインで通信可能である必要はない。例えば、暗号化装置1が出力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から復号装置2へオフラインで入力するように構成してもよい。 As shown in FIG. 4, the authentication encryption system with additional data according to the embodiment includes an encryption device 1 that executes an encryption function of an authentication encryption with additional data and a decryption device 2 that executes a decryption function of an authentication encryption with additional data. Including and In this embodiment, the encryption device 1 and the decryption device 2 are each connected to the communication network 3. The communication network 3 is a circuit-switched or packet-switched communication network configured so that the connected devices can communicate with each other. For example, the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network). Etc. can be used. Note that each device does not necessarily need to be able to communicate online via the communication network 3. For example, the information output from the encryption device 1 may be stored in a portable recording medium such as a magnetic tape or a USB memory, and the offline information may be input to the decryption device 2 from the portable recording medium.

追加データ付き認証暗号システムに含まれる暗号化装置1は、図5に示すように、記憶部10、入力部11、初期化部12、埋め込み部13、追加データ計算部14、境界設定部15、メッセージ計算部16、タグ生成部17、および出力部18を含む。暗号化装置1に含まれる追加データ計算部14は、図6に示すように、パディング部140、分割部141、排他的論理和部142、および置換部143を含む。暗号化装置1に含まれるメッセージ計算部16は、図7に示すように、分割部161、排他的論理和部162、置換部163を含む。 As shown in FIG. 5, the encryption device 1 included in the authentication encryption system with additional data includes a storage unit 10, an input unit 11, an initialization unit 12, an embedding unit 13, an additional data calculation unit 14, a boundary setting unit 15, It includes a message calculation unit 16, a tag generation unit 17, and an output unit 18. As shown in FIG. 6, the additional data calculation unit 14 included in the encryption device 1 includes a padding unit 140, a dividing unit 141, an exclusive OR unit 142, and a replacing unit 143. The message calculation unit 16 included in the encryption device 1 includes a division unit 161, an exclusive OR unit 162, and a replacement unit 163, as shown in FIG. 7.

追加データ付き認証暗号システムに含まれる復号装置2は、図8に示すように、例えば、記憶部20、入力部21、削除ビット長計算部211、第一初期化部22、タグ復号部23、暗号化データ逆計算部24、分割部251、結合部252、パディング部253、追加データ計算部26、境界除去部27、認証部29、および出力部30を含む。復号装置2に含まれる暗号化データ逆計算部24は、図9に示すように、逆置換部241、および排他的論理和部242を含む。復号装置2に含まれる追加データ計算部26は、図10に示すように、分割部261、排他的論理和部263、および置換部264を含む。 As shown in FIG. 8, the decryption device 2 included in the authentication encryption system with additional data includes, for example, a storage unit 20, an input unit 21, a deletion bit length calculation unit 211, a first initialization unit 22, a tag decryption unit 23, The encrypted data inverse calculation unit 24, the division unit 251, the combination unit 252, the padding unit 253, the additional data calculation unit 26, the boundary removal unit 27, the authentication unit 29, and the output unit 30 are included. The encrypted data inverse calculation unit 24 included in the decryption device 2 includes an inverse replacement unit 241 and an exclusive OR unit 242, as shown in FIG. 9. As shown in FIG. 10, the additional data calculation unit 26 included in the decoding device 2 includes a division unit 261, an exclusive OR unit 263, and a replacement unit 264.

暗号化装置1が図11に示す各ステップの処理を行い、復号装置2が図13に示す各ステップの処理を行うことにより実施形態の追加データ付き認証暗号方法が実現される。なお、追加データ付き認証暗号方法のうち暗号化装置1が実行する部分を暗号化方法とも呼び、復号装置2が実行する部分を復号方法とも呼ぶ。 The encryption device 1 performs the process of each step shown in FIG. 11, and the decryption device 2 performs the process of each step shown in FIG. 13 to implement the authentication encryption method with additional data of the embodiment. Note that, of the authentication encryption method with additional data, the part executed by the encryption device 1 is also called an encryption method, and the part executed by the decryption device 2 is also called a decryption method.

暗号化装置1および復号装置2は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。暗号化装置1および復号装置2は、例えば、中央演算処理装置の制御のもとで各処理を実行する。暗号化装置1および復号装置2に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。暗号化装置1および復号装置2の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。暗号化装置1および復号装置2が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。 For the encryption device 1 and the decryption device 2, for example, a special program is read by a known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), and the like. It is a special device configured. The encryption device 1 and the decryption device 2 execute each process under the control of the central processing unit, for example. The data input to the encryption device 1 and the decryption device 2 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is sent to the central processing unit as necessary. It is read and used for other processing. At least a part of each processing unit of the encryption device 1 and the decryption device 2 may be configured by hardware such as an integrated circuit. Each storage unit included in the encryption device 1 and the decryption device 2 is, for example, a main storage device such as a RAM (Random Access Memory), a hard disk, an optical disk, or an auxiliary device configured by a semiconductor memory element such as a flash memory (Flash Memory). It can be configured by a storage device or middleware such as a relational database or a key-value store.

<暗号化装置1>
図11、図12を参照して、実施形態の追加データ付き認証暗号システムが実行する追加データ付き認証暗号方法のうち、暗号化装置1が実行する暗号化方法について説明する。
<Encryption device 1>
Of the authentication encryption method with additional data executed by the authentication encryption system with additional data according to the embodiment, an encryption method executed by the encryption device 1 will be described with reference to FIGS. 11 and 12.

<記憶部10>
暗号化装置1の記憶部10には、rビットのレート部分とcビットのキャパシティ部分とからなるbビットのステート(以下、復号装置2の記憶部20に記憶されるステートと区別するために、暗号化ステートとも呼ぶ)と、復号装置2との間であらかじめ共有した共通鍵Kとが記憶されている。例えば、ステートは512ビットとし、レート部分は256ビット、キャパシティ部分は256ビットに構成する(すなわち、b=512,r=256,c=256)。レート部分とキャパシティ部分の長さの比は、処理速度と安全性のトレードオフの関係となっている。レート部分の長さが大きくなると、処理速度は向上するが安全性は低下する。逆に、キャパシティ部分の長さが大きくなると、安全性が向上するが処理速度が低下する。したがって、b,r,cの各値は、所望の処理速度と安全性のバランスを鑑みて適宜設計すればよい。
<Memory unit 10>
The storage unit 10 of the encryption device 1 has a b-bit state composed of an r-bit rate part and a c-bit capacity part (hereinafter, to be distinguished from the state stored in the storage part 20 of the decryption device 2). , And the common key K shared in advance with the decryption device 2 are stored. For example, the state is 512 bits, the rate part is 256 bits, and the capacity part is 256 bits (that is, b=512, r=256, c=256). The ratio of the length of the rate part to the length of the capacity part has a trade-off relationship between processing speed and safety. As the length of the rate portion increases, the processing speed increases, but the safety decreases. On the contrary, if the length of the capacity portion is increased, the safety is improved but the processing speed is reduced. Therefore, the values of b, r, and c may be appropriately designed in consideration of the desired balance between processing speed and safety.

<入力部11>
ステップS11において、暗号化装置1の入力部11へ、追加データAとメッセージMとの組(A,M)が入力される。なお、ナンスNが従来のAPEと同様に追加データの一部として入力されてもよい。追加データAとメッセージMとはいずれも任意長のデータとする。入力部11は、メッセージM及び追加データAを埋め込み部13へ入力する。
<Input unit 11>
In step S11, the set (A,M) of the additional data A and the message M is input to the input unit 11 of the encryption device 1. Note that the nonce N may be input as a part of the additional data as in the conventional APE. Both the additional data A and the message M are data of arbitrary length. The input unit 11 inputs the message M and the additional data A to the embedding unit 13.

<初期化部12>
ステップS12において、暗号化装置1の初期化部12は、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0として設定する。例えば、初期化部12は、記憶部10に記憶されている暗号化ステートのうち、レート部分の値を0(すなわち、すべてのビットが0のビット列)に、キャパシティ部分の値を共通鍵Kの値に設定して初期化する。
<Initializer 12>
In step S12, the initialization unit 12 of the encryption device 1 sets a value obtained by concatenating the predetermined bit string and the secret key K as the initial value S 0 of the encryption state. For example, in the encryption state stored in the storage unit 10, the initialization unit 12 sets the value of the rate portion to 0 (that is, a bit string in which all bits are 0) and sets the value of the capacity portion to the common key K. Set to the value of and initialize.

<埋め込み部13>
ステップS13において、暗号化装置1の埋め込み部13は、入力部11からメッセージM及び追加データAを受け取り、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'と、追加データAからデータAxを除いた部分A''とを求める。ここで、メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とする。例えば、埋め込み部13は、メッセージMがrビットの倍長よりもxビット(1≦x≦r-1)不足していた場合、メッセージMの最後尾に追加データAの最後尾xビット(データAx)を埋め込み、メッセージM'と部分A''とを求める。
<Embedding part 13>
In step S13, the embedding unit 13 of the encryption device 1 receives the message M and the additional data A from the input unit 11, embeds x bits of data A x included in the additional data A in the message M, and inserts the message after the embedding. M′ and a portion A″ obtained by removing the data A x from the additional data A are obtained. Here, the remainder when the bit length |M| of the message M is divided by r bits is (rx). For example, when the message M has x bits (1≦x≦r−1) shorter than the double length of r bits, the embedding unit 13 adds the last x bits of the additional data A to the end of the message M (data A x ) is embedded and the message M′ and the part A″ are obtained.

<追加データ計算部14>
ステップS14において、暗号化装置1の追加データ計算部14は、入力部11から追加データAまたは埋め込み部13から部分A''を受け取り、その追加データAまたは部分A''を用いて記憶部10に記憶された暗号化ステートの値を更新する。
<Additional data calculation unit 14>
In step S14, the additional data calculation unit 14 of the encryption device 1 receives the additional data A from the input unit 11 or the part A″ from the embedding unit 13, and uses the additional data A or the part A″ to store the data in the storage unit 10. Update the encryption state value stored in.

この場合、追加データ計算部14は以下のように構成する。 In this case, the additional data calculation unit 14 is configured as follows.

(パディング部140)
パディング部140は、入力部11から追加データAまたは埋め込み部13から部分A''を受け取り、追加データAまたは部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求める。例えば、追加データAがrビットの倍長でなかった場合、Aを10*パディングが施された値に更新する。更新され、rの倍長になった値をA'とする。なお、ナンス性が部分A''で保証されている場合、部分A''だけに対して10*パディングを施し値A'とする。
(Padding part 140)
The padding unit 140 receives the additional data A from the input unit 11 or the part A″ from the embedding unit 13, and a predetermined bit string such that the additional data A or the part A″ has a bit length that is a minimum integer multiple of r. Is added, and the value A′ after the addition is calculated. For example, if the additional data A is not double-length r bits, A is updated to a value with 10 * padding. The value that has been updated and is a multiple of r is A'. If the nonce is guaranteed in the portion A″, only the portion A″ is padded with 10 * to obtain the value A′.

(分割部141)
追加データ計算部14の分割部141は、値A'をrビットのブロックに分割する。なお、値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、値A'を|A'|/r個に分割して得られる各値をA'nとする。
(Split unit 141)
The division unit 141 of the additional data calculation unit 14 divides the value A′ into blocks of r bits. Note that the bit length of the value A'is |A'|, n=1,2,...,|A'|/r, and each value obtained by dividing the value A'into |A'|/r Be A'n .

(排他的論理和部142)
追加データ計算部14の排他的論理和部142は、bビットのステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める。
(Exclusive OR section 142)
The exclusive-OR unit 142 of the additional data calculation unit 14 performs an exclusive-OR S R, with the value A′ n for the r bits of the rate portion S R,n−1 of the b-bit state S n−1 . seek n-1 XOR a 'n.

(置換部143)
追加データ計算部14の置換部143は、暗号化ステートSn-1のレート部分SR,n-1を排他的論理和SR,n-1XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める。なお、置換f:{0,1}b→{0,1}bは、bビットのビット列dをbビットのビット列eに置換する関数であり、入力された値を復元する逆関数f-1:{0,1}b→{0,1}b(bビットのビット列eをbビットのビット列dに置換する関数)を定義できる関数である。置換fとしては、例えば、非特許文献2に記載されている技術を用いることができる。n=1から順にn=|A'|/rまで排他的論理和部142及び置換部143の処理を繰り返す。
(Replacement unit 143)
The replacement unit 143 of the additional data calculation unit 14 replaces the bit string in which the rate part S R,n-1 of the encryption state S n-1 is replaced with the exclusive OR S R,n-1 XOR A′ n by the replacement f. Substitution is performed to obtain the encryption state S n . The replacement f:{0,1} b → {0,1} b is a function that replaces the b-bit bit string d with the b-bit bit string e, and the inverse function f -1 that restores the input value. :{0,1} b →{0,1} b (function that replaces b-bit bit string e with b-bit bit string d). As the substitution f, for example, the technique described in Non-Patent Document 2 can be used. The processing of the exclusive OR section 142 and the replacing section 143 is repeated from n=1 to n=|A′|/r in order.

<境界設定部15>
ステップS15において、暗号化装置1の境界設定部15は、追加データ計算部14から暗号化ステートS|A'|/rを受け取り、暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させ、暗号化ステートS|A'|/rを更新する。例えば、境界設定部15は、暗号化ステートのキャパシティ部分と整数値1(すなわち、最下位ビットのみが1のビット列)との排他的論理和を計算し、その計算結果により暗号化ステートのキャパシティ部分を更新する。言い換えると、境界設定部15は、暗号化ステートの最下位ビットのみを反転させる。この操作は、受信者が暗号化データCと追加データAとの境界を判別できるようにするために行われるものである。
<Boundary setting unit 15>
In step S15, the boundary setting unit 15 of the encryption apparatus 1 the encrypted state S from the additional data generator 14 | '| receive / r, encrypted state S | A' | A / Capacity part of r S C ,|A'|/r is inverted, and the encryption state S |A'|/r is updated. For example, the boundary setting unit 15 calculates the exclusive OR of the capacity part of the encryption state and the integer value 1 (that is, the bit string in which only the least significant bit is 1), and the calculation result determines the capacity of the encryption state. Update the city part. In other words, the boundary setting unit 15 inverts only the least significant bit of the encryption state. This operation is performed so that the receiver can distinguish the boundary between the encrypted data C and the additional data A.

<メッセージ計算部16>
ステップS16において、暗号化装置1のメッセージ計算部16は、埋め込み部13からメッセージM'を受け取り、そのメッセージM'を用いて記憶部10に記憶された暗号化ステートの値を更新する。
<Message calculator 16>
In step S16, the message calculation unit 16 of the encryption device 1 receives the message M′ from the embedding unit 13 and updates the value of the encryption state stored in the storage unit 10 using the message M′.

(分割部161)
メッセージ計算部16の分割部161は、メッセージM'をrビットのブロックに分割する。メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、メッセージM'を|M'|/r個に分割して得られる各値をM'mとする。
(Dividing unit 161)
The division unit 161 of the message calculation unit 16 divides the message M′ into blocks of r bits. The bit length of the message M'is |M'|, m=1,2,...,|M'|/r, and each value obtained by dividing the message M'into |M'|/r is M. ' m .

(排他的論理和部162)
メッセージ計算部16の排他的論理和部162は、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める。
(Exclusive OR section 162)
Exclusive OR of the message calculation unit 16 162, b-bit encryption state S | A '| / r + m-1 of the rate portion S R, | A' | / r + a r-bit m-1 against, 'XOR S R with m, | a' | message M Request / r + m-1 XOR M 'm.

(置換部163)
メッセージ計算部16の置換部163は、暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1を排他的論理和SR,|A'|/r+m-1XOR M'mに置換えたビット列を置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、暗号化ステートS|A'|/r+mのレート部分のrビットを暗号化データCmとし、|M'|/r個の暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する。
(Replacement unit 163)
The substitution unit 163 of the message calculation unit 16 performs an exclusive OR S R,|A on the rate part S R,|A′|/r+m−1 of the encryption state S |A′|/r+m−1. '|/r+m-1 XOR M'The bit string replaced with m is replaced with the replacement f to obtain the encryption state S |A'|/r+m , and the encryption state S |A'|/r Let r bits of the rate part of +m be the encrypted data C m, and the encrypted data C=(C 1 , C 2 , ..., C |M'| that contains |M'|/r encrypted data C m. /r ) is output.

<タグ生成部17>
ステップS17において、暗号化装置1のタグ生成部17は、暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと秘密鍵Kとの排他的論理和を計算し、その計算結果をタグTとして出力する。
<Tag generator 17>
In step S17, the tag generator 17 of the encryption apparatus 1 the encrypted state S | A '| / r + | M' | / capacity portion r S C, | A '| / r + | M' | / r And an exclusive OR of the secret key K with the secret key K, and the calculation result is output as a tag T.

<出力部18>
ステップS18において、暗号化装置1の出力部18は、暗号化データCとタグTと追加データAからデータAxを除いた部分A''との組(C,T,A'')を復号装置2へ送信する。
<Output unit 18>
In step S18, the output unit 18 of the encryption device 1 decrypts the set (C,T,A'') of the encrypted data C, the tag T, and the portion A″ of the additional data A excluding the data A x. Send to device 2.

<復号装置2>
図13から図14を参照して、実施形態の追加データ付き認証暗号システムが実行する追加データ付き認証暗号方法のうち、復号装置2が実行する復号方法について説明する。
<Decoding device 2>
Of the authentication encryption method with additional data executed by the authentication encryption system with additional data according to the embodiment, the decryption method executed by the decryption device 2 will be described with reference to FIGS. 13 to 14.

<記憶部20>
復号装置2の記憶部20には、rビットのレート部分とcビットのキャパシティ部分とからなるbビットの2つのステート(以下、暗号化装置1の記憶部10に記憶される暗号化ステートと区別するために、一方のステートを単にステートと呼び、他方を復号ステートと呼ぶ)と、暗号化装置1との間であらかじめ共有した共通鍵Kと追加データAのビット長|A|とが記憶されている。b,r,cの各値は、暗号化装置1の記憶部10に記憶されたステートと同じものとする。なお、追加データAのビット長|A|は、復号処理に先立ち暗号化装置1と復号装置2との間(または送信者と受信者の間)で共有できているものとする。
<Memory unit 20>
In the storage unit 20 of the decryption device 2, two b-bit states each consisting of an r-bit rate portion and a c-bit capacity portion (hereinafter, the encryption state stored in the storage unit 10 of the encryption device 1 and For the sake of distinction, one state is simply referred to as a state and the other is referred to as a decryption state), and the common key K shared in advance with the encryption device 1 and the bit length |A| of the additional data A are stored. Has been done. The values of b, r, and c are the same as the states stored in the storage unit 10 of the encryption device 1. It is assumed that the bit length |A| of the additional data A can be shared between the encryption device 1 and the decryption device 2 (or between the sender and the receiver) prior to the decryption process.

<入力部21>
ステップS21において、復号装置2の入力部21へ、暗号化装置1から受信した暗号化データCとタグTと追加データAからデータAxを除いた部分A''との組(C,T,A'')が入力される。入力部21は、暗号化データCの最終ブロックとタグTとを第一初期化部22へ、部分A''を追加データ計算部26及び削除ビット長計算部211へ、暗号化データCの最終ブロック以外の各ブロックを暗号化データ逆計算部24へそれぞれ入力する。
<Input unit 21>
In step S21, the set (C, T, T) of the encrypted data C received from the encryption device 1, the tag T, and the part A″ from which the data A x is removed from the additional data A is input to the input unit 21 of the decryption device 2. A'') is entered. The input unit 21 transfers the final block of the encrypted data C and the tag T to the first initialization unit 22, the part A″ to the additional data calculation unit 26 and the deleted bit length calculation unit 211, and the final block of the encrypted data C. Each block other than the block is input to the encrypted data inverse calculation unit 24.

<削除ビット長計算部211>
ステップS211において、復号装置2の削除ビット長計算部211は、入力部21から部分A''を受け取り、記憶部20から追加データAのビット長|A|を取り出し、ビット長|A|とビット長|A''|とに基づきデータAxのビット長|Ax|(=|A|-|A''|)を求める。このような構成により、本来のAの長さと、実際に受信したA''の長さから、Aのうち最後尾の何ビットがMに埋め込まれたかを(つまりxの値を)計算することができる。
<Deleted bit length calculation unit 211>
In step S211, the deletion bit length calculation unit 211 of the decoding device 2 receives the part A″ from the input unit 21, extracts the bit length |A| of the additional data A from the storage unit 20, and determines the bit length |A| The bit length |A x |(=|A|-|A″|) of the data A x is calculated based on the length |A″|. With this configuration, calculate how many bits at the end of A are embedded in M (that is, the value of x) from the original length of A and the length of A'' that was actually received. You can

<第一初期化部22>
ステップS22において、復号装置2の第一初期化部22は、入力部21から暗号化データCの最終ブロックとタグTとを受け取り、記憶部20に記憶されているステートのうち、レート部分の値を暗号化データCの最終ブロックの値に、キャパシティ部分の値をタグTの値に設定して初期化する。言い換えると、第一初期化部22は、暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットのタグTとを連結した値をステートSmの初期値S|M'|/rとして設定する。なお、以降の処理において、m=|M'|/r,(|M'|/r)-1,…,0の順でステートSmを更新していく。
<First initialization unit 22>
In step S22, the first initialization unit 22 of the decryption device 2 receives the final block of the encrypted data C and the tag T from the input unit 21, and determines the value of the rate portion of the states stored in the storage unit 20. Is set to the value of the final block of the encrypted data C, and the value of the capacity part is set to the value of the tag T for initialization. In other words, the first initialization unit 22 uses the encrypted data C |M'|/r and c-bit data of the encrypted data C=(C 1 , C 2 ,..., C |M'|/r ) included in the encrypted data C=(C 1 , C 2 ,... The value that is connected with the tag T is set as the initial value S |M'|/r of the state S m . In the subsequent processing, the state S m is updated in the order of m=|M'|/r,(|M'|/r)-1,...,0.

<タグ復号部23>
ステップS23において、復号装置2のタグ復号部23は、第一初期化部22からステートS|M'|/rを受け取り、そのキャパシティ部分SC,|M'|/rとcビットの秘密鍵Kとの排他的論理和SC,|M'|/r XOR Kを求める。
<Tag decoding unit 23>
In step S23, the tag decoding unit 23 of the decoding device 2 receives the state S |M'|/r from the first initialization unit 22, and its capacity part S C,|M'|/r and the c-bit secret. Find exclusive OR S C,|M'|/r XOR K with key K.

<暗号化データ逆計算部24>
ステップS24において、復号装置2の暗号化データ逆計算部24は、入力部21から暗号化データCの最終ブロック以外の各ブロックを受け取り、その暗号化データCの各ブロックCmを用いて記憶部20に記憶されたステートSmの値を更新する。
<Encrypted data inverse calculation unit 24>
In step S24, the encrypted data inverse calculation unit 24 of the decryption device 2 receives each block other than the final block of the encrypted data C from the input unit 21, and uses each block C m of the encrypted data C as a storage unit. The value of the state S m stored in 20 is updated.

(逆置換部241)
暗号化データ逆計算部24の逆置換部241は、bビットのステート全体に対し、置換fの置換fの逆関数f-1を計算し、その計算結果を新たなステートの値とする。例えば、m=|M'|/r(暗号化データCの最終ブロック)において、逆置換部241は、ステートS|M'|/rのキャパシティ部分SC,|M'|/rを排他的論理和SC,|M'|/rXOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める。また、m=(|M'|/r)-1,(|M'|/r)-2,…,1において、逆置換部241は、ステートSmのレート部分SR,mを暗号化データCmに置換えたビット列を逆関数f-1を用いて置換し、ステートSm-1を求める。なお、逆関数f-1:{0,1}b→{0,1}bは、置換fの逆関数であり、bビットのビット列eをbビットのビット列dに置換する関数である。
(Reverse replacement unit 241)
The inverse permutation unit 241 of the encrypted data inverse calculation unit 24 calculates the inverse function f −1 of the permutation f of the permutation f with respect to the entire b-bit state, and sets the calculation result as the value of the new state. For example, in m=|M'|/r (the final block of the encrypted data C), the inverse replacement unit 241 excludes the capacity part S C,|M'|/r of the state S |M'|/r. The bit string replaced with the logical OR S C,|M'|/r XOR K is replaced with the inverse function f -1 to obtain the state S |M'|/r-1 . Also, in m=(|M'|/r)-1,(|M'|/r)-2,...,1, the inverse permutation unit 241 encrypts the rate part S R,m of the state S m . The bit string replaced with the data C m is replaced with the inverse function f −1 to obtain the state S m −1 . Note that the inverse function f −1 :{0,1} b →{0,1} b is an inverse function of the permutation f and replaces the b-bit bit string e with the b-bit bit string d.

(排他的論理和部242)
m=(|M'|/r)-2,(|M'|/r)-3,…,3,2,1において、暗号化データ逆計算部24の排他的論理和部242は、ステートSmのレート部分SR,mと、暗号化データCmとの排他的論理和SR,m XOR Cmを計算し、計算結果を復号データMm+1,Dとして出力部30から出力する。なお、|M'|/r個の復号データMm,Dを結合したものを最終的に出力する復号データMD=(M1,D||M2,D||…||M|M'|/r,D)とする。ただし、復号データM|M'|/r,Dは、排他的論理和SR,M'|/r XOR CM'|/r-1をそのまま用いるのではなく、後述する分割部251において分割された値を用いる。また、復号データM1,Dは、後述する認証部29において得られる値を用いる。改ざん等なされていなければM=MDとなる。
(Exclusive OR unit 242)
In m=(|M'|/r)-2,(|M'|/r)-3,..., 3,2,1, the exclusive OR unit 242 of the encrypted data inverse calculation unit 24 is rate portion of the S m S R, and m, the exclusive OR S R and the encrypted data C m, to calculate the m XOR C m, output from the output unit 30 the calculation result as decoded data M m + 1, D To do. Note that the decoded data M D =(M 1,D ||M 2,D ||...||M |M that is the final output of the combination of |M'|/r decoded data M m,D '|/r,D ). However, the decoded data M |M'|/r,D is not used as it is as the exclusive OR S R,M'|/r XOR C M'|/r-1 , but is divided by the dividing unit 251 described later. Value is used. Further, as the decrypted data M 1 and D , values obtained by the authentication unit 29 described later are used. If it has not been tampered with, M=M D.

<分割部251>
S251において、分割部251は、排他的論理和SR,|M'|/rXOR C|M'|/rを排他的論理和部242から、ビット長|Ax|を削除長計算部211から受け取り、ビット長|Ax|を用いて、排他的論理和SR,|M'|/rXOR C|M'|/rをデータAxに対応するxビット(例えば最後尾xビット)とその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビット(例えば最後尾xビット)を削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する。
<Dividing unit 251>
In S251, the dividing unit 251 causes the exclusive OR S R,|M′|/r XOR C |M′|/r to be output from the exclusive OR unit 242 and the bit length |A x | to be deleted. , And the exclusive OR S R,|M'|/r XOR C |M'|/r with the bit length |A x | is the x bit corresponding to the data A x (for example, the last x bit) And other rx bits, and the exclusive OR S R,|M'|/r XOR C |M'|/r removes x bits (for example, the last x bits) and decodes the rx bit data Output as data M |M'|/r,D .

<結合部252>
S252において、結合部252は、部分A''を入力部21から、排他的論理和SR,|M'|/r XOR C|M'|/rをデータAxに対応するxビットを分割部251から受け取り、排他的論理和SR,|M'|/r XOR C|M'|/rのxビットを部分A''に結合し、復号追加データADとし、出力する。例えば、排他的論理和SR,|M'|/r XOR C|M'|/rの最後尾のxビットを部分A''の最後尾に追加する。
<Coupling unit 252>
In S252, the combining unit 252 divides the part A″ from the input unit 21 into the exclusive OR S R,|M′|/r XOR C |M′|/r into x bits corresponding to the data A x. The X bit of the exclusive OR S R,|M′|/r XOR C |M′|/r is received from the unit 251 and is combined with the portion A″ to obtain the decoded additional data A D , which is output. For example, the last x bits of the exclusive OR S R,|M'|/r XOR C |M'|/r are added to the end of the part A″.

<パディング部253>
S253において、パディング部253は、結合部252から復号追加データADを受け取り、復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求める。例えば、復号追加データADがrビットの倍長でなかった場合、復号追加データADを10*パディングが施された値に更新する。
<Padding section 253>
In S253, the padding unit 253 receives the decoded additional data A D from binding unit 252, the decoded additional data A D is, adding a predetermined bit string so as to minimize the integral multiple of the bit length of r, after addition obtaining a value a 'D. For example, if the decoded additional data A D is not a double length of r bits, the decoded additional data A D is updated to a value with 10 * padding.

<追加データ計算部26>
ステップS26において、復号装置2の追加データ計算部26は、パディング部253から値A'Dを受け取り、その値A'Dを用いて記憶部20に記憶された復号ステートの値を更新する。この場合、追加データ計算部26は以下のように構成する。
<Additional data calculation unit 26>
In step S26, the additional data calculation unit 26 of the decoding device 2 receives the value A′ D from the padding unit 253 and updates the value of the decoding state stored in the storage unit 20 using the value A′ D. In this case, the additional data calculation unit 26 is configured as follows.

(分割部261)
追加データ計算部26の分割部261は、値A'Dをrビットのブロックに分割する。なお、値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとする。
(Division unit 261)
The division unit 261 of the additional data calculation unit 26 divides the value A′ D into r-bit blocks. Note that 'the bit length of the D | A' value A D | and then, n = 1,2, ..., | '| a / r, the value A D' a D | A A 'D | / r pieces to divide Let each value obtained by this be A'n,D .

(排他的論理和部263)
追加データ計算部26の排他的論理和部263は、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,D XOR A'D,nを求める。なお、復号ステートSn-1,Dの初期値S0,Dは、暗号化装置1で用いた初期値S0と同じ値を用いる。
(Exclusive OR unit 263)
The exclusive OR unit 263 of the additional data calculation unit 26 compares the value A′ n,D with the r bits of the rate part S R,n-1,D of the b-bit decoding state S n-1,D . exclusive OR S R, n-1, D XOR a 'D, seek n. As the initial value S 0,D of the decryption state S n-1,D , the same value as the initial value S 0 used in the encryption device 1 is used.

(置換部264)
追加データ計算部26の置換部264は、復号ステートSn-1,Dのレート部分SR,n-1,Dを排他的論理和SR,n-1,DXOR A'n,Dに置換えたビット列を置換fを用いて置換し、復号ステートSn,Dを求める。置換部163と同様の方法により置換することができる。
(Replacement unit 264)
Substitution unit 264 of the additional data generator 26, the decoded state S n-1, D rate portion S R, n-1, D XOR S R, n-1, D XOR A 'n, the D The replaced bit string is replaced using the replacement f to obtain the decoding state S n,D . The replacement can be performed by the same method as the replacement unit 163.

追加データ計算部26は、n=1から順にn=|A'D|/rまで排他的論理和部263及び置換部264の処理を繰り返す。 The additional data calculation unit 26 repeats the processes of the exclusive OR unit 263 and the replacement unit 264 from n=1 to n=|A′ D |/r.

<境界除去部27>
ステップS27において、復号装置2の境界除去部27は、復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させる。なお、下付き添え字A'_Dは、A'Dを意味する。例えば、復号ステートのキャパシティ部分と整数値1との排他的論理和を計算し、その計算結果により復号ステートのキャパシティ部分を更新する。すなわち、境界除去部27は、復号ステートの最下位ビットのみを反転させる。
<Border removal unit 27>
In step S27, the boundary removing unit 27 of the decoding device 2 inverts a predetermined bit of the capacity part S C,|A′_D|/r,D of the decoding state S |A′_D|/r,D . Incidentally, subscript A'_D means A 'D. For example, the exclusive OR of the capacity part of the decoding state and the integer value 1 is calculated, and the capacity part of the decoding state is updated by the calculation result. That is, the boundary removing unit 27 inverts only the least significant bit of the decoding state.

<認証部29>
ステップS29において、復号装置2の認証部29は、暗号化データ逆計算部24からステートS0を受け取り、境界除去部27から更新されたキャパシティ部分SC,|A'_D|/r,D(元のキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させたビット列)を受け取り、キャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行う。例えば、復号ステートS|A'_D|/r,DとステートS0とを記憶部20などに記憶する。その後、記憶部20に記憶されたSC,|A'_D|/r,DとSC,0とを比較する。2つの値が等しい場合は、ステップS301へ処理を進め、復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,DとステートS0のレート部分SR,0との排他的論理和を、復号データMDの第一ブロック(復号データM1,D)として出力部30から出力する。二つの値が等しくない場合は、ステップS302へ処理を進め、復号に失敗した旨を表すエラーコードを出力部30から出力する。
<Authentication unit 29>
In step S29, the authentication unit 29 of the decryption device 2 receives the state S 0 from the encrypted data inverse calculation unit 24, and the updated capacity portion S C,|A′_D|/r,D from the boundary removal unit 27. (Original capacity part S C,|A'_D|/r,D is a bit string obtained by inverting a predetermined bit), and the capacity part S C,|A'_D|/r,D and state S 0 are received. Message authentication is performed depending on whether or not the capacity part S C,0 of the is matched. For example, the decoding state S |A′_D|/r,D and the state S 0 are stored in the storage unit 20 or the like. Then, S C,|A′_D|/r,D stored in the storage unit 20 is compared with S C,0 . If the two values are equal, the process proceeds to step S301, and the decoding state S |A'_D|/r,D rate part S R,|A'_D|/r,D and state S 0 rate part S R, 0 the exclusive OR of the outputs from the output unit 30 as the first block of the decoded data M D (decoded data M 1, D). If the two values are not equal, the process proceeds to step S302, and an error code indicating that the decoding has failed is output from the output unit 30.

<効果>
以上の構成により、埋め込んだA(もしくはAの一部であるナンスN)の一部Axは受信者に送信されないため、埋め込んだxビット分、通信コストが改善される。
<Effect>
With the above configuration, a part A x of the embedded A (or the nonce N that is a part of A) is not transmitted to the receiver, so that the embedded x bits improve the communication cost.

なお、本実施形態に係る暗号化装置のことを暗号化データを生成するという意味で暗号化データ生成装置ともいい、本実施形態に係る復号装置のことを復号データを生成するという意味で復号データ生成装置ともいう。なお、暗号化データ及び復号データは電子計算機による処理の用に供する情報であり、(i)暗号化データ生成装置を用いた暗号化データ生成方法に係る発明及び(ii)復号データ生成装置を用いた復号データ生成方法に係る発明が、特許法第二条第三項第三号の「物を生産する方法の発明」に該当することは言うまでもない。 Note that the encryption device according to the present embodiment is also referred to as an encrypted data generation device in the sense that it generates encrypted data, and the decryption device according to the present embodiment is in the sense that it generates decryption data. Also called a generator. Note that the encrypted data and the decrypted data are information used for processing by the electronic computer, and (i) the invention relating to the encrypted data generating method using the encrypted data generating device and (ii) the decrypted data generating device are used. It goes without saying that the invention relating to the decrypted data generation method described above corresponds to the “invention of a method for producing a product” in Article 2, paragraph 3, item 3 of the Patent Law.

<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<Other modifications>
The present invention is not limited to the above embodiments and modifications. For example, the above-described various processes may be executed not only in time series according to the description but also in parallel or individually according to the processing capability of the device that executes the process or the need. Other changes can be made as appropriate without departing from the spirit of the present invention.

<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
<Program and recording medium>
Further, various processing functions in each device described in the above-described embodiments and modifications may be realized by a computer. In that case, the processing content of the function that each device should have is described by the program. Then, by executing this program on a computer, various processing functions of the above devices are realized on the computer.

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

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

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

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

Claims (8)

秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、
メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とし、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'を求める埋め込み部と、
前記追加データAまたは前記追加データAから前記データAxを除いた部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求めるパディング部と、
前記値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、前記値A'を|A'|/r個に分割して得られる各値をA'nとし、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0とし、bビットの暗号化ステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める第一排他的論理和部と、
bビットのビット列dをbビットのビット列eに置換する関数を置換fとし、前記暗号化ステートSn-1の前記レート部分SR,n-1を前記排他的論理和SR,n-1XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める第一置換部と、
暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させる境界設定部と、
前記メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、前記メッセージM'を|M'|/r個に分割して得られる各値をM'mとし、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める第二排他的論理和部と、
前記暗号化ステートS|A'|/r+m-1の前記レート部分SR,|A'|/r+m-1を前記排他的論理和SR,|A'|/r+m-1XOR M'mに置換えたビット列を前記置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、前記暗号化ステートS|A'|/r+mのレート部分SR,|A'|/r+mのrビットを暗号化データCmとし、|M'|/r個の前記暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する第二置換部と、
暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと前記秘密鍵Kとの排他的論理和をタグTとして出力するタグ生成部と、
前記暗号化データCと前記タグTと前記部分A''とを出力する出力部を含む、
暗号化データ生成装置。
The bit length of the secret key K is c bits, and the b bit information including the r bit rate part and the c bit capacity part is the state,
The remainder when the bit length |M| of message M is divided by r bits is set to (rx), x bits of data A x included in additional data A are embedded in message M, and message M'after embedding is obtained. Embedded part,
The additional data A or the portion A″ obtained by removing the data A x from the additional data A is added with a predetermined bit string so that the bit length is a minimum integer multiple of r, and the value A′ after the addition is added. The desired padding section,
Each value obtained by dividing the value A′ into |A′|/r pieces by setting the bit length of the value A′ to |A′|, n=1,2,..., |A′|/r was the a 'n, and the predetermined bit sequence and a value obtained by connecting the secret key K and an initial value S 0 of the encrypted state, rate portion of the encrypted state S n-1 of b bits S R, the n-1 to r bits, 'XOR S R and n, n-1 XOR a' value a and the first exclusive OR unit for obtaining the n,
A function that replaces a b-bit bit string d with a b-bit bit string e is a permutation f, and the rate portion S R,n-1 of the encryption state S n-1 is the exclusive OR S R,n-1. the bit string is replaced with XOR a 'n to replace with substitution f, a first replacement unit for obtaining an encrypted state S n,
A boundary setting unit that inverts a predetermined bit of the capacity part S C,|A'|/r of the encryption state S |A'|/r ,
Each value obtained by dividing the message M′ into |M′|/r pieces by setting the bit length of the message M′ to |M′|, m=1,2,..., |M′|/r the 'and m, b-bit encryption state S | a' | M / r + m-1 of the rate portion S R, | a '| to / r + m-1 of r bits, the message M' and m exclusive OR S R of, | a | '/ r + m-1 XOR M' second exclusive OR unit for determining the m, a
The exclusive OR S R,|A'|/r+m- of the rate portion S R,|A'|/r+m-1 of the encryption state S |A'|/r+m-1 1 XOR M 'bit string is replaced with m and substituted with the substituent f, encrypted state S | a' | / r + seek m, the encrypted state S | rate portion of the / r + m | a ' S R, | a '| a r bits / r + m and the encrypted data C m, | M' | / encrypted data containing the r the encrypted data C m C = (C 1, C 2, ,, C |M'|/r ) and the second permutation part,
A tag T is an exclusive OR of the capacity part S C,|A'|/r+|M'|/r of the encryption state S |A'|/r+ |M'|/r and the secret key K. A tag generator that outputs
An output unit that outputs the encrypted data C, the tag T, and the portion A'',
Encrypted data generator.
秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、メッセージMのビット長を|M|とし、
暗号化データCとタグTと追加データAからデータAxを除いた部分A''とを受け取る入力部と、
前記追加データAのビット長|A|と前記部分A''のビット長|A''|とに基づき前記データAxのビット長|Ax|を求める削除ビット長計算部と、
ビット長|M|をrビットで割ったときの剰余を(r-x)とし、前記メッセージMに前記追加データAに含まれるxビット分の前記データAxを埋め込んで得られるデータをM'とし、データM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、|M'|/r個の暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットの前記タグTとを連結した値をステートSmの初期値S|M'|/rとし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rとcビットの前記秘密鍵Kとの排他的論理和SC,|M'|/rXOR Kを求める第三排他的論理和部と、
暗号化する際に用いた置換fの逆関数をf-1とし、前記ステートS|M'|/rの前記キャパシティ部分SC,|M'|/rを前記排他的論理和SC,|M'|/r XOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める第三置換部と、
m=1,2,3,…,|M'|/r-2において、ステートSmのレート部分SR,mと、暗号化データCmとの排他的論理和SR,m XOR Cmを復号データMm+1,Dとして出力する第四排他的論理和部と、
m=1,2,…,|M'|/r-1において、前記ステートSmの前記レート部分SR,mを暗号化データCmに置換えたビット列を前記逆関数f-1を用いて置換し、ステートSm-1を求める第四置換部と、
ステートS|M'|/rのレート部分SR,|M'|/rと、暗号化データC|M'|/rとの排他的論理和SR,|M'|/rXOR C|M'|/rを、ビット長|Ax|を用いて、データAxに対応するxビットとその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビットを削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する分割部と、
前記排他的論理和SR,|M'|/r XOR C|M'|/rのxビットを前記部分A''に結合し、復号追加データADとする結合部と、
前記復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求めるパディング部と、
前記値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、前記値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとし、予め定めたビット列と前記秘密鍵Kとを連結した値を復号ステートの初期値S0,Dとし、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,DXOR A'D,nを求める第五排他的論理和部と、
前記復号ステートSn-1,Dの前記レート部分SR,n-1,Dを前記排他的論理和SR,n-1,DXOR A'n,Dに置換えたビット列を前記置換fを用いて置換し、復号ステートSn,Dを求める第五置換部と、
復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させ、復号ステートS|A'_D|/r,Dを更新する境界除去部と、
更新された前記復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行い、一致する場合には、前記復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,Dと前記ステートS0のレート部分SR,0との排他的論理和を復号データM1,Dとして出力する認証部とを含む、
復号データ生成装置。
The bit length of the secret key K is c bits, the b bit information including the r bit rate part and the c bit capacity part is the state, and the bit length of the message M is |M|
An input unit for receiving the encrypted data C, the tag T, and the part A'' obtained by removing the data A x from the additional data A,
A deletion bit length calculation unit for obtaining a bit length |A x | of the data A x based on the bit length |A| of the additional data A and the bit length |A″| of the portion A″,
The remainder when the bit length |M| is divided by r bits is (rx), and the data obtained by embedding the data A x for x bits included in the additional data A in the message M is M′, The bit length of the data M′ is |M′|, m=1,2,...,|M′|/r, and the encrypted data C=(includes |M′|/r encrypted data C m. C 1, C 2, ..., C | M '| / encrypted data C included in r) | M' | / r and state a value obtained by connecting the tag T of the c-bit S m initial value S of | Let M'|/r be the exclusive OR S C,|M'|/ of the capacity part S C,|M'|/r of the state S |M'| /r and the c-bit secret key K. a third exclusive OR section for finding r XOR K,
The inverse function of the permutation f used for encryption is f −1, and the capacity portion S C,|M′|/r of the state S |M′|/r is the exclusive OR S C, A third permutation unit that finds the state S |M'|/r-1 by substituting the bit string replaced with |M'|/r XOR K using the inverse function f -1 ;
m = 1,2,3, ..., | M '| / In r-2, state S rate portion S R of m, m and an exclusive OR S R and the encrypted data C m, m XOR C m And a fourth exclusive OR unit for outputting as decoded data M m+1,D ,
m = 1,2, ..., | M '| / In r-1, the rate portion S R of the state S m, the bit string is replaced with the encrypted data C m and m by using the inverse function f -1 A fourth permutation unit that substitutes for the state S m-1 ;
Exclusive OR S R,|M'|/r XOR C | of rate part S R,|M'|/r of state S |M'|/r and encrypted data C |M'|/r The bit length |A x | is used to divide M'|/r into x bits corresponding to the data A x and other rx bits, and the exclusive OR S R,|M'|/r XOR C A dividing unit that outputs rx-bit data obtained by removing x bits from |M'|/r as decoded data M |M'|/r,D ,
The exclusive OR S R,|M'|/r XOR C |M'|/r is connected to the portion A'', and a combining unit is used as decoded additional data A D ,
The decoding additional data A D is a padding unit that adds a predetermined bit string so that the bit length is a minimum integer multiple of r, and obtains a value A′ D after the addition,
The bit length of the value A′ D is |A′ D |, n=1,2,...,|A′ D |/r, and the value A′ D is divided into |A′ D |/r. Each value obtained by A'n,D, a value obtained by concatenating a predetermined bit string and the secret key K is the initial value S 0,D of the decryption state, b-bit decryption state S n-1,D the rate portion S R, with respect to r-bit n-1, D, the value a 'n, XOR S R and D, n-1, D XOR a' D, a fifth exclusive OR to obtain the n With Wabe,
A bit string obtained by replacing the rate part S R,n-1,D of the decoding state S n-1,D with the exclusive OR S R,n-1,D XOR A'n ,D is replaced with the replacement f. A fifth permutation unit for substituting using , to obtain the decoding state S n,D ,
Decryption state S |A'_D|/r,D capacity part S C,|A'_D|/r,D is inverted and the decoding state S |A'_D|/r,D is updated. A boundary removal section that
Whether or not the updated decoding state S |A'_D|/r,D capacity part S C,|A'_D|/r,D matches the capacity part S C,0 of state S 0 The message authentication is performed by the above, and if they match , the rate portion S R,|A'_D|/r,D of the decryption state S |A'_D|/r,D and the rate portion S of the state S 0 are An authentication unit that outputs an exclusive OR with R,0 as decrypted data M 1,D ,
Decoded data generation device.
暗号化データ生成装置と復号データ生成装置とを含む追加データ付き認証暗号システムであって、
前記暗号化データ生成装置は、
秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、
メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とし、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'を求める埋め込み部と、
前記追加データAまたは前記追加データAから前記データAxを除いた部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求めるパディング部と、
前記値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、前記値A'を|A'|/r個に分割して得られる各値をA'nとし、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0とし、bビットの暗号化ステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める第一排他的論理和部と、
bビットのビット列dをbビットのビット列eに置換する関数を置換fとし、前記暗号化ステートSn-1の前記レート部分SR,n-1を前記排他的論理和SR,n-1XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める第一置換部と、
暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させる境界設定部と、
前記メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、前記メッセージM'を|M'|/r個に分割して得られる各値をM'mとし、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める第二排他的論理和部と、
前記暗号化ステートS|A'|/r+m-1の前記レート部分SR,|A'|/r+m-1を前記排他的論理和SR,|A'|/r+m-1XOR M'mに置換えたビット列を前記置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、前記暗号化ステートS|A'|/r+mのレート部分SR,|A'|/r+mのrビットを暗号化データCmとし、|M'|/r個の前記暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する第二置換部と、
暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと前記秘密鍵Kとの排他的論理和をタグTとして出力するタグ生成部と、
前記暗号化データCと前記タグTと前記部分A''とを出力する出力部を含み、
前記復号データ生成装置は、
前記暗号化データCと前記タグTと前記部分A''とを受け取る入力部と、
前記追加データAのビット長|A|と前記部分A''のビット長|A''|とに基づき前記データAxのビット長|Ax|を求める削除ビット長計算部と、
前記暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットの前記タグTとを連結した値をステートSmの初期値S|M'|/rとし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rとcビットの前記秘密鍵Kとの排他的論理和SC,|M'|/rXOR Kを求める第三排他的論理和部と、
前記置換fの逆関数をf-1とし、前記ステートS|M'|/rの前記キャパシティ部分SC,|M'|/rを前記排他的論理和SC,|M'|/r XOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める第三置換部と、
m=1,2,3,…,|M'|/r-2において、ステートSmのレート部分SR,mと、暗号化データCmとの
排他的論理和SR,m XOR Cmを復号データMm+1,Dとして出力する第四排他的論理和部と、
m=1,2,…,|M'|/r-1において、前記ステートSmの前記レート部分SR,mを暗号化データCmに置換えたビット列を前記逆関数f-1を用いて置換し、ステートSm-1を求める第四置換部と、
ステートS|M'|/rのレート部分SR,|M'|/rと、暗号化データC|M'|/rとの排他的論理和SR,|M'|/rXOR C|M'|/rを、ビット長|Ax|を用いて、データAxに対応するxビットとその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビットを削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する分割部と、
前記排他的論理和SR,|M'|/r XOR C|M'|/rのxビットを前記部分A''に結合し、復号追加データADとする結合部と、
前記復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求めるパディング部と、
前記値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、前記値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとし、予め定めたビット列と前記秘密鍵Kとを連結した値を復号ステートの初期値S0,Dとし、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,DXOR A'D,nを求める第五排他的論理和部と、
前記復号ステートSn-1,Dの前記レート部分SR,n-1,Dを前記排他的論理和SR,n-1,DXOR A'n,Dに置換えたビット列を前記置換fを用いて置換し、復号ステートSn,Dを求める第五置換部と、
復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させ、復号ステートS|A'_D|/r,Dを更新する境界除去部と、
更新された前記復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行い、一致する場合には、前記復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,Dと前記ステートS0のレート部分SR,0との排他的論理和を復号データM1,Dとして出力する認証部とを含む、
追加データ付き認証暗号システム。
An authentication encryption system with additional data including an encrypted data generation device and a decryption data generation device,
The encrypted data generation device,
The bit length of the secret key K is c bits, and the b bit information including the r bit rate part and the c bit capacity part is the state,
The remainder when the bit length |M| of message M is divided by r bits is set to (rx), x bits of data A x included in additional data A are embedded in message M, and message M'after embedding is obtained. Embedded part,
The additional data A or the portion A″ obtained by removing the data A x from the additional data A is added with a predetermined bit string so that the bit length is a minimum integer multiple of r, and the value A′ after the addition is added. The desired padding section,
Each value obtained by dividing the value A′ into |A′|/r pieces by setting the bit length of the value A′ to |A′|, n=1,2,..., |A′|/r was the a 'n, and the predetermined bit sequence and a value obtained by connecting the secret key K and an initial value S 0 of the encrypted state, rate portion of the encrypted state S n-1 of b bits S R, the n-1 to r bits, 'XOR S R and n, n-1 XOR a' value a and the first exclusive OR unit for obtaining the n,
A function that replaces a b-bit bit string d with a b-bit bit string e is a permutation f, and the rate portion S R,n-1 of the encryption state S n-1 is the exclusive OR S R,n-1. the bit string is replaced with XOR a 'n to replace with substitution f, a first replacement unit for obtaining an encrypted state S n,
A boundary setting unit that inverts a predetermined bit of the capacity part S C,|A'|/r of the encryption state S |A'|/r ,
Each value obtained by dividing the message M′ into |M′|/r pieces by setting the bit length of the message M′ to |M′|, m=1,2,..., |M′|/r the 'and m, b-bit encryption state S | a' | M / r + m-1 of the rate portion S R, | a '| to / r + m-1 of r bits, the message M' and m exclusive OR S R of, | a | '/ r + m-1 XOR M' second exclusive OR unit for determining the m, a
The exclusive OR S R,|A'|/r+m- of the rate portion S R,|A'|/r+m-1 of the encryption state S |A'|/r+m-1 1 XOR M 'bit string is replaced with m and substituted with the substituent f, encrypted state S | a' | / r + seek m, the encrypted state S | rate portion of the / r + m | a ' S R, | a '| a r bits / r + m and the encrypted data C m, | M' | / encrypted data containing the r the encrypted data C m C = (C 1, C 2, ,, C |M'|/r ) and the second permutation part,
A tag T is an exclusive OR of the capacity part S C,|A'|/r+|M'|/r of the encryption state S |A'|/r+ |M'|/r and the secret key K. A tag generator that outputs
An output unit for outputting the encrypted data C, the tag T, and the portion A'',
The decrypted data generation device,
An input unit for receiving the encrypted data C, the tag T, and the portion A'',
A deletion bit length calculation unit for obtaining a bit length |A x | of the data A x based on the bit length |A| of the additional data A and the bit length |A″| of the portion A″,
The value obtained by concatenating the encrypted data C |M'|/r and the c-bit tag T included in the encrypted data C=(C 1 , C 2 , ..., C |M'|/r ) is the state. '| and / r, state S | M' | M | initial value S of the S m / capacity portion r S C, | M '| / r and exclusive OR S between the secret key K c bits C,|M'|/r XOR K third exclusive OR section,
Wherein the inverse function of the substitution f and f -1, the state S | M '| / the capacity portion of r S C, | M' | said / r XOR S C, | M '| / r A third permutation part for substituting the bit string replaced with XOR K using the inverse function f -1 to obtain the state S |M'|/r-1 ;
m = 1,2,3, ..., | M '| / In r-2, state S rate portion S R of m, m and an exclusive OR S R and the encrypted data C m, m XOR C m And a fourth exclusive OR unit for outputting as decoded data M m+1,D ,
m = 1,2, ..., | M '| / In r-1, the rate portion S R of the state S m, the bit string is replaced with the encrypted data C m and m by using the inverse function f -1 A fourth permutation unit that substitutes for the state S m-1 ;
Exclusive OR S R,|M'|/r XOR C | of rate part S R,|M'|/r of state S |M'|/r and encrypted data C |M'|/r The bit length |A x | is used to divide M'|/r into x bits corresponding to the data A x and other rx bits, and the exclusive OR S R,|M'|/r XOR C A dividing unit that outputs rx-bit data obtained by removing x bits from |M'|/r as decoded data M |M'|/r,D ,
The exclusive OR S R,|M'|/r XOR C |M'|/r is connected to the portion A'', and a combining unit is used as decoded additional data A D ,
The decoding additional data A D is a padding unit that adds a predetermined bit string so that the bit length is a minimum integer multiple of r, and obtains a value A′ D after the addition,
The bit length of the value A′ D is |A′ D |, n=1,2,...,|A′ D |/r, and the value A′ D is divided into |A′ D |/r. Each value obtained as A'n,D, a value obtained by concatenating a predetermined bit string and the secret key K is the initial value S 0,D of the decryption state, and the b-bit decryption state S n-1,D the rate portion S R, with respect to r-bit n-1, D, the value a 'n, XOR S R and D, n-1, D XOR a' D, a fifth exclusive OR to obtain the n With Wabe,
A bit string in which the rate portion S R,n-1,D of the decoding state S n-1 ,D is replaced with the exclusive OR S R,n-1,D XOR A′ n,D is replaced with the replacement f. A fifth permutation unit that performs the permutation using to obtain the decoding state S n,D ,
Decryption state S |A'_D|/r,D capacity part S C,|A'_D|/r,D is inverted and the decoding state S |A'_D|/r,D is updated. A boundary removal section that
Whether or not the updated decoding state S |A'_D|/r,D capacity part S C,|A'_D|/r,D matches the capacity part S C,0 of state S 0 Message authentication is performed by the above, and if they match , the rate portion S R,|A'_D|/r,D of the decryption state S |A'_D|/r,D and the rate portion S of the state S 0 An authentication unit that outputs an exclusive OR with R,0 as decrypted data M 1,D ,
Authentication encryption system with additional data.
秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、
暗号化データ生成装置が、
メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とし、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'を求める埋め込みステップと、
前記追加データAまたは前記追加データAから前記データAxを除いた部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求めるパディングステップと、
前記値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、前記値A'を|A'|/r個に分割して得られる各値をA'nとし、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0とし、bビットの暗号化ステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める第一排他的論理和ステップと、
bビットのビット列dをbビットのビット列eに置換する関数を置換fとし、前記暗号化ステートSn-1の前記レート部分SR,n-1を前記排他的論理和SR,n-1XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める第一置換ステップと、
暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させる境界設定ステップと、
前記メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、前記メッセージM'を|M'|/r個に分割して得られる各値をM'mとし、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める第二排他的論理和ステップと、
前記暗号化ステートS|A'|/r+m-1の前記レート部分SR,|A'|/r+m-1を前記排他的論理和SR,|A'|/r+m-1XOR M'mに置換えたビット列を前記置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、前記暗号化ステートS|A'|/r+mのレート部分SR,|A'|/r+mのrビットを暗号化データCmとし、|M'|/r個の前記暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する第二置換ステップと、
暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと前記秘密鍵Kとの排他的論理和をタグTとして出力するタグ生成ステップと、
前記暗号化データCと前記タグTと前記部分A''とを出力する出力ステップを実行する、
暗号化データ生成方法。
The bit length of the secret key K is c bits, and the b bit information including the r bit rate part and the c bit capacity part is the state,
The encrypted data generation device
The remainder when the bit length |M| of message M is divided by r bits is set to (rx), x bits of data A x included in additional data A are embedded in message M, and message M'after embedding is obtained. Embedding step,
The additional data A or the portion A″ obtained by removing the data A x from the additional data A is added with a predetermined bit string so that the bit length is a minimum integer multiple of r, and the value A′ after the addition is added. The desired padding step,
Each value obtained by dividing the value A′ into |A′|/r pieces by setting the bit length of the value A′ to |A′|, n=1,2,..., |A′|/r was the a 'n, and the predetermined bit sequence and a value obtained by connecting the secret key K and an initial value S 0 of the encrypted state, rate portion of the encrypted state S n-1 of b bits S R, the n-1 to r bits, 'XOR S R and n, n-1 XOR a' value a and the first exclusive OR step of determining n,
A function that replaces a b-bit bit string d with a b-bit bit string e is a permutation f, and the rate portion S R,n-1 of the encryption state S n-1 is the exclusive OR S R,n-1. the bit string is replaced with XOR a 'n to replace with substitution f, a first replacement step of obtaining the encrypted state S n,
A demarcation step of inverting a given bit of the capacity part S C,|A'|/r of the encryption state S |A'|/r ,
Each value obtained by dividing the message M′ into |M′|/r pieces by setting the bit length of the message M′ to |M′|, m=1,2,..., |M′|/r the 'and m, b-bit encryption state S | a' | M / r + m-1 of the rate portion S R, | a '| to / r + m-1 of r bits, the message M' and m exclusive OR S R of, | a second exclusive OR step of obtaining | '/ r + m-1 XOR M' m, a
The exclusive OR S R,|A'|/r+m- of the rate portion S R,|A'|/r+m-1 of the encryption state S |A'|/r+m-1 1 XOR M 'bit string is replaced with m and substituted with the substituent f, encrypted state S | a' | / r + seek m, the encrypted state S | rate portion of the / r + m | a ' S R, | a '| a r bits / r + m and the encrypted data C m, | M' | / encrypted data containing the r the encrypted data C m C = (C 1, C 2, ,, C |M'|/r ) and the second permutation step,
A tag T is an exclusive OR of the capacity part S C,|A'|/r+|M'|/r of the encryption state S |A'|/r+ |M'|/r and the secret key K. Tag generation step to output,
Performing an output step of outputting the encrypted data C, the tag T, and the portion A'',
Encrypted data generation method.
秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、メッセージMのビット長を|M|とし、
復号データ生成装置が、
暗号化データCとタグTと追加データAからデータAxを除いた部分A''とを受け取る入力ステップと、
前記追加データAのビット長|A|と前記部分A''のビット長|A''|とに基づき前記データAxのビット長|Ax|を求める削除ビット長計算ステップと、
ビット長|M|をrビットで割ったときの剰余を(r-x)とし、前記メッセージMに前記追加データAに含まれるxビット分の前記データAxを埋め込んで得られるデータをM'とし、データM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、|M'|/r個の暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットの前記タグTとを連結した値をステートSmの初期値S|M'|/rとし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rとcビットの前記秘密鍵Kとの排他的論理和SC,|M'|/rXOR Kを求める第三排他的論理和ステップと、
暗号化する際に用いた置換fの逆関数をf-1とし、前記ステートS|M'|/rの前記キャパシティ部分SC,|M'|/rを前記排他的論理和SC,|M'|/r XOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める第三置換ステップと、
m=1,2,3,…,|M'|/r-2において、ステートSmのレート部分SR,mと、暗号化データCmとの排他的論理和SR,m XOR Cmを復号データMm+1,Dとして出力する第四排他的論理和ステップと、
m=1,2,…,|M'|/r-1において、前記ステートSmの前記レート部分SR,mを暗号化データCmに置換えたビット列を前記逆関数f-1を用いて置換し、ステートSm-1を求める第四置換ステップと、
ステートS|M'|/rのレート部分SR,|M'|/rと、暗号化データC|M'|/rとの排他的論理和SR,|M'|/rXOR C|M'|/rを、ビット長|Ax|を用いて、データAxに対応するxビットとその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビットを削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する分割ステップと、
前記排他的論理和SR,|M'|/r XOR C|M'|/rのxビットを前記部分A''に結合し、復号追加データADとする結合ステップと、
前記復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求めるパディングステップと、
前記値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、前記値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとし、予め定めたビット列と前記秘密鍵Kとを連結した値を復号ステートの初期値S0,Dとし、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,DXOR A'D,nを求める第五排他的論理和ステップと、
前記復号ステートSn-1,Dの前記レート部分SR,n-1,Dを前記排他的論理和SR,n-1,DXOR A'n,Dに置換えたビット列を前記置換fを用いて置換し、復号ステートSn,Dを求める第五置換ステップと、
復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させ、復号ステートS|A'_D|/r,Dを更新する境界除去ステップと、
更新された前記復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行い、一致する場合には、前記復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,Dと前記ステートS0のレート部分SR,0との排他的論理和を復号データM1,Dとして出力する認証ステップとを実行する、
復号データ生成方法。
The bit length of the secret key K is c bits, the b bit information including the r bit rate part and the c bit capacity part is the state, and the bit length of the message M is |M|
The decrypted data generator is
An input step of receiving the encrypted data C, the tag T, and the portion A'' of the additional data A excluding the data A x ,
A deletion bit length calculation step of obtaining a bit length |A x | of the data A x based on the bit length |A| of the additional data A and the bit length |A″| of the portion A″,
The remainder when the bit length |M| is divided by r bits is (rx), and the data obtained by embedding the data A x for x bits included in the additional data A in the message M is M′, The bit length of the data M′ is |M′|, m=1,2,...,|M′|/r, and the encrypted data C=(includes |M′|/r encrypted data C m. C 1, C 2, ..., C | M '| / encrypted data C included in r) | M' | / r and state a value obtained by connecting the tag T of the c-bit S m initial value S of | Let M'|/r be the exclusive OR S C,|M'|/ of the capacity part S C,|M'|/r of the state S |M'| /r and the c-bit secret key K. a third exclusive-OR step to find r XOR K,
The inverse function of the permutation f used for encryption is f −1, and the capacity portion S C,|M′|/r of the state S |M′|/r is the exclusive OR S C, A third permutation step of permuting the bit string permuted with |M'|/r XOR K using the inverse function f -1 to obtain the state S |M'|/r-1 ;
m = 1,2,3, ..., | M '| / In r-2, state S rate portion S R of m, m and an exclusive OR S R and the encrypted data C m, m XOR C m A fourth exclusive-OR step for outputting as decoded data M m+1,D ,
m = 1,2, ..., | M '| / In r-1, the rate portion S R of the state S m, the bit string is replaced with the encrypted data C m and m by using the inverse function f -1 A fourth permutation step of substituting to obtain the state S m-1 ;
Exclusive OR S R,|M'|/r XOR C | of rate part S R,|M'|/r of state S |M'|/r and encrypted data C |M'|/r The bit length |A x | is used to divide M'|/r into x bits corresponding to the data A x and other rx bits, and the exclusive OR S R,|M'|/r XOR C A dividing step of outputting rx-bit data obtained by deleting x bits from |M'|/r as decoded data M |M'|/r,D ,
A combination step of combining the exclusive OR S R,|M'|/r XOR C |M'|/r with x bits of the part A'' to obtain decoded additional data A D ;
The decoding additional data A D is a padding step of adding a predetermined bit string so that the bit length is a minimum integer multiple of r, and obtaining a value A′ D after the addition,
The bit length of the value A′ D is |A′ D |, n=1,2,...,|A′ D |/r, and the value A′ D is divided into |A′ D |/r. Each value obtained by A'n,D, a value obtained by concatenating a predetermined bit string and the secret key K is the initial value S 0,D of the decryption state, b-bit decryption state S n-1,D the rate portion S R, with respect to r-bit n-1, D, the value a 'n, XOR S R and D, n-1, D XOR a' D, a fifth exclusive OR to obtain the n Sum step,
A bit string obtained by replacing the rate part S R,n-1,D of the decoding state S n-1,D with the exclusive OR S R,n-1,D XOR A'n ,D is replaced with the replacement f. A fifth permutation step of substituting using , to obtain the decoding state S n,D ,
Decryption state S |A'_D|/r,D capacity part S C,|A'_D|/r,D is inverted and the decoding state S |A'_D|/r,D is updated. A boundary removal step to
Whether or not the updated decoding state S |A'_D|/r,D capacity part S C,|A'_D|/r,D matches the capacity part S C,0 of state S 0 The message authentication is performed by the above, and if they match , the rate portion S R,|A'_D|/r,D of the decryption state S |A'_D|/r,D and the rate portion S of the state S 0 are And an authentication step of outputting an exclusive OR with R,0 as decrypted data M 1,D ,
Decoded data generation method.
暗号化データ生成装置と復号データ生成装置とを用いる追加データ付き認証暗号方法であって、
前記暗号化データ生成装置が、
秘密鍵Kのビット長をcビットとし、rビットのレート部分とcビットのキャパシティ部分とを含むbビットの情報をステートとし、
メッセージMのビット長|M|をrビットで割ったときの剰余を(r-x)とし、追加データAに含まれるxビット分のデータAxをメッセージMに埋め込み、埋め込み後のメッセージM'を求める埋め込みステップと、
前記追加データAまたは前記追加データAから前記データAxを除いた部分A''が、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'を求めるパディングステップと、
前記値A'のビット長を|A'|とし、n=1,2,…,|A'|/rとし、前記値A'を|A'|/r個に分割して得られる各値をA'nとし、予め定めたビット列と秘密鍵Kとを連結した値を暗号化ステートの初期値S0とし、bビットの暗号化ステートSn-1のレート部分SR,n-1のrビットに対し、値A'nとの排他的論理和SR,n-1 XOR A'nを求める第一排他的論理和ステップと、
bビットのビット列dをbビットのビット列eに置換する関数を置換fとし、前記暗号化ステートSn-1の前記レート部分SR,n-1を前記排他的論理和SR,n-1XOR A'nに置換えたビット列を置換fを用いて置換し、暗号化ステートSnを求める第一置換ステップと、
暗号化ステートS|A'|/rのキャパシティ部分SC,|A'|/rの所定のビットを反転させる境界設定ステップと、
前記メッセージM'のビット長を|M'|とし、m=1,2,…,|M'|/rとし、前記メッセージM'を|M'|/r個に分割して得られる各値をM'mとし、bビットの暗号化ステートS|A'|/r+m-1のレート部分SR,|A'|/r+m-1のrビットに対し、メッセージM'mとの排他的論理和SR,|A'|/r+m-1 XOR M'mを求める第二排他的論理和ステップと、
前記暗号化ステートS|A'|/r+m-1の前記レート部分SR,|A'|/r+m-1を前記排他的論理和SR,|A'|/r+m-1XOR M'mに置換えたビット列を前記置換fを用いて置換し、暗号化ステートS|A'|/r+mを求め、前記暗号化ステートS|A'|/r+mのレート部分SR,|A'|/r+mのrビットを暗号化データCmとし、|M'|/r個の前記暗号化データCmを含む暗号化データC=(C1,C2,…,C|M'|/r)を出力する第二置換ステップと、
暗号化ステートS|A'|/r+|M'|/rのキャパシティ部分SC,|A'|/r+|M'|/rと前記秘密鍵Kとの排他的論理和をタグTとして出力するタグ生成ステップと、
前記暗号化データCと前記タグTと前記部分A''とを出力する出力ステップを実行し、
前記復号データ生成装置が、
前記暗号化データCと前記タグTと前記部分A''とを受け取る入力ステップと、
前記追加データAのビット長|A|と前記部分A''のビット長|A''|とに基づき前記データAxのビット長|Ax|を求める削除ビット長計算ステップと、
前記暗号化データC=(C1,C2,…,C|M'|/r)に含まれる暗号化データC|M'|/rとcビットの前記タグTとを連結した値をステートSmの初期値S|M'|/rとし、ステートS|M'|/rのキャパシティ部分SC,|M'|/rとcビットの前記秘密鍵Kとの排他的論理和SC,|M'|/rXOR Kを求める第三排他的論理和ステップと、
前記置換fの逆関数をf-1とし、前記ステートS|M'|/rの前記キャパシティ部分SC,|M'|/rを前記排他的論理和SC,|M'|/r XOR Kに置換えたビット列を逆関数f-1を用いて置換し、ステートS|M'|/r-1を求める第三置換ステップと、
m=1,2,3,…,|M'|/r-2において、ステートSmのレート部分SR,mと、暗号化データCmとの排他的論理和SR,m XOR Cmを復号データMm+1,Dとして出力する第四排他的論理和ステップと、
m=1,2,…,|M'|/r-1において、前記ステートSmの前記レート部分SR,mを暗号化データCmに置換えたビット列を前記逆関数f-1を用いて置換し、ステートSm-1を求める第四置換ステップと、
ステートS|M'|/rのレート部分SR,|M'|/rと、暗号化データC|M'|/rとの排他的論理和SR,|M'|/rXOR C|M'|/rを、ビット長|Ax|を用いて、データAxに対応するxビットとその他のr-xビットとに分割し、排他的論理和SR,|M'|/r XOR C|M'|/rからxビットを削除したr-xビットのデータを復号データM|M'|/r,Dとして出力する分割ステップと、
前記排他的論理和SR,|M'|/r XOR C|M'|/rのxビットを前記部分A''に結合し、復号追加データADとする結合ステップと、
前記復号追加データADが、rの最小の整数倍のビット長となるように所定のビット列を付加し、付加後の値A'Dを求めるパディングステップと、
前記値A'Dのビット長を|A'D|とし、n=1,2,…,|A'D|/rとし、前記値A'Dを|A'D|/r個に分割して得られる各値をA'n,Dとし、予め定めたビット列と前記秘密鍵Kとを連結した値を復号ステートの初期値S0,Dとし、bビットの復号ステートSn-1,Dのレート部分SR,n-1,Dのrビットに対し、値A'n,Dとの排他的論理和SR,n-1,DXOR A'D,nを求める第五排他的論理和ステップと、
前記復号ステートSn-1,Dの前記レート部分SR,n-1,Dを前記排他的論理和SR,n-1,DXOR A'n,Dに置換えたビット列を前記置換fを用いて置換し、復号ステートSn,Dを求める第五置換ステップと、
復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,Dの所定のビットを反転させ、復号ステートS|A'_D|/r,Dを更新する境界除去ステップと、
更新された前記復号ステートS|A'_D|/r,Dのキャパシティ部分SC,|A'_D|/r,DとステートS0のキャパシティ部分SC,0とが一致するか否かによりメッセージ認証を行い、一致する場合には、前記復号ステートS|A'_D|/r,Dのレート部分SR,|A'_D|/r,Dと前記ステートS0のレート部分SR,0との排他的論理和を復号データM1,Dとして出力する認証ステップとを実行する、
追加データ付き認証暗号方法。
An authentication encryption method with additional data using an encrypted data generation device and a decryption data generation device,
The encrypted data generation device,
The bit length of the secret key K is c bits, and the b bit information including the r bit rate part and the c bit capacity part is the state,
The remainder when the bit length |M| of message M is divided by r bits is set to (rx), x bits of data A x included in additional data A are embedded in message M, and message M'after embedding is obtained. Embedding step,
The additional data A or the portion A″ obtained by removing the data A x from the additional data A is added with a predetermined bit string so that the bit length is a minimum integer multiple of r, and the value A′ after the addition is added. The desired padding step,
Each value obtained by dividing the value A′ into |A′|/r pieces by setting the bit length of the value A′ to |A′|, n=1,2,..., |A′|/r was the a 'n, and the predetermined bit sequence and a value obtained by connecting the secret key K and an initial value S 0 of the encrypted state, rate portion of the encrypted state S n-1 of b bits S R, the n-1 to r bits, 'XOR S R and n, n-1 XOR a' value a and the first exclusive OR step of determining n,
A function that replaces a b-bit bit string d with a b-bit bit string e is a permutation f, and the rate portion S R,n-1 of the encryption state S n-1 is the exclusive OR S R,n-1. the bit string is replaced with XOR a 'n to replace with substitution f, a first replacement step of obtaining the encrypted state S n,
A demarcation step of inverting a given bit of the capacity part S C,|A'|/r of the encryption state S |A'|/r ,
Each value obtained by dividing the message M′ into |M′|/r pieces by setting the bit length of the message M′ to |M′|, m=1,2,..., |M′|/r the 'and m, b-bit encryption state S | a' | M / r + m-1 of the rate portion S R, | a '| to / r + m-1 of r bits, the message M' and m exclusive OR S R of, | a second exclusive OR step of obtaining | '/ r + m-1 XOR M' m, a
The exclusive OR S R,|A'|/r+m- of the rate portion S R,|A'|/r+m-1 of the encryption state S |A'|/r+m-1 1 XOR M 'bit string is replaced with m and substituted with the substituent f, encrypted state S | a' | / r + seek m, the encrypted state S | rate portion of the / r + m | a ' S R, | a '| a r bits / r + m and the encrypted data C m, | M' | / encrypted data containing the r the encrypted data C m C = (C 1, C 2, ,, C |M'|/r ) and the second permutation step,
A tag T is an exclusive OR of the capacity part S C,|A'|/r+|M'|/r of the encryption state S |A'|/r+ |M'|/r and the secret key K. Tag generation step to output,
Performing an output step of outputting the encrypted data C, the tag T, and the portion A'',
The decrypted data generation device,
An input step of receiving the encrypted data C, the tag T, and the portion A'',
A deletion bit length calculation step of obtaining a bit length |A x | of the data A x based on the bit length |A| of the additional data A and the bit length |A″| of the portion A″,
The value obtained by concatenating the encrypted data C |M'|/r and the c-bit tag T included in the encrypted data C=(C 1 , C 2 , ..., C |M'|/r ) is the state. '| and / r, state S | M' | M | initial value S of the S m / capacity portion r S C, | M '| / r and exclusive OR S between the secret key K c bits A third exclusive-OR step for finding C,|M'|/r XOR K,
Wherein the inverse function of the substitution f and f -1, the state S | M '| / the capacity portion of r S C, | M' | said / r XOR S C, | M '| / r A third permutation step for permuting the bit string substituted for XOR K using the inverse function f −1 to obtain the state S |M'|/r-1 ;
m = 1,2,3, ..., | M '| / In r-2, state S rate portion S R of m, m and an exclusive OR S R and the encrypted data C m, m XOR C m A fourth exclusive-OR step for outputting as decoded data M m+1,D ,
m = 1,2, ..., | M '| / In r-1, the rate portion S R of the state S m, the bit string is replaced with the encrypted data C m and m by using the inverse function f -1 A fourth permutation step of substituting to obtain the state S m-1 ;
Exclusive OR S R,|M'|/r XOR C | of rate part S R,|M'|/r of state S |M'|/r and encrypted data C |M'|/r The bit length |A x | is used to divide M'|/r into x bits corresponding to the data A x and other rx bits, and the exclusive OR S R,|M'|/r XOR C A dividing step of outputting rx-bit data obtained by deleting x bits from |M'|/r as decoded data M |M'|/r,D ,
A combination step of combining the exclusive OR S R,|M'|/r XOR C |M'|/r with x bits of the part A'' to obtain decoded additional data A D ;
The decoding additional data A D is a padding step of adding a predetermined bit string so that the bit length is a minimum integer multiple of r, and obtaining a value A′ D after the addition,
The bit length of the value A′ D is |A′ D |, n=1,2,...,|A′ D |/r, and the value A′ D is divided into |A′ D |/r. Each value obtained by A'n,D, a value obtained by concatenating a predetermined bit string and the secret key K is the initial value S 0,D of the decryption state, b-bit decryption state S n-1,D the rate portion S R, with respect to r-bit n-1, D, the value a 'n, XOR S R and D, n-1, D XOR a' D, a fifth exclusive OR to obtain the n Sum step,
A bit string obtained by replacing the rate part S R,n-1,D of the decoding state S n-1,D with the exclusive OR S R,n-1,D XOR A'n ,D is replaced with the replacement f. A fifth permutation step of substituting using , to obtain the decoding state S n,D ,
Decryption state S |A'_D|/r,D capacity part S C,|A'_D|/r,D is inverted and the decoding state S |A'_D|/r,D is updated. A boundary removal step to
Whether or not the updated decoding state S |A'_D|/r,D capacity part S C,|A'_D|/r,D matches the capacity part S C,0 of state S 0 The message authentication is performed by the above, and if they match , the rate portion S R,|A'_D|/r,D of the decryption state S |A'_D|/r,D and the rate portion S of the state S 0 are And an authentication step of outputting an exclusive OR with R,0 as decrypted data M 1,D ,
Authentication encryption method with additional data.
請求項1の暗号化データ生成装置として、コンピュータを機能させるためのプログラム。 And an encrypted data generation equipment according to claim 1, a program for causing a computer to function. 請求項2の復号データ生成装置として、コンピュータを機能させるためのプログラム。 A program for causing a computer to function as the decrypted data generation device according to claim 2.
JP2017134876A 2017-07-10 2017-07-10 Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program Active JP6723958B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017134876A JP6723958B2 (en) 2017-07-10 2017-07-10 Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017134876A JP6723958B2 (en) 2017-07-10 2017-07-10 Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program

Publications (2)

Publication Number Publication Date
JP2019015915A JP2019015915A (en) 2019-01-31
JP6723958B2 true JP6723958B2 (en) 2020-07-15

Family

ID=65358653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017134876A Active JP6723958B2 (en) 2017-07-10 2017-07-10 Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program

Country Status (1)

Country Link
JP (1) JP6723958B2 (en)

Also Published As

Publication number Publication date
JP2019015915A (en) 2019-01-31

Similar Documents

Publication Publication Date Title
CN106878013B (en) File encryption and decryption method and device
US11468009B2 (en) Secure compression
CN111052670B (en) Encryption device, decryption device, encryption method, decryption method, and computer-readable storage medium
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
JP2006121689A (en) Method and apparatus for sharing and generating a system key in a DRM system
CN104756120A (en) Storing and accessing data
CN113342802A (en) Method and device for storing block chain data
JP6273226B2 (en) Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method
US20250330330A1 (en) Authentication and key regeneration using a regenerated secret
JP6881111B2 (en) Cryptographic data generator, decryption data generator, authenticated cryptosystem with additional data, its method, and program
CN110781511A (en) Transaction information storage method, device, computer equipment and storage medium
JP4843587B2 (en) Information recording medium security method, information processing apparatus, program, and recording medium
CN116888597A (en) Multi-key secure deduplication using locked fingerprints
JP6723958B2 (en) Encrypted data generation device, decrypted data generation device, authentication encryption system with additional data, method thereof, and program
JP6830867B2 (en) Authenticated encryption system with additional data, decryption device, authenticated encryption method with additional data, and program
JP6881112B2 (en) Cryptographic data generator, decryption data generator, authenticated cryptosystem with additional data, its method, and program
JP7428239B2 (en) Memory processing device, memory verification device, memory update device, memory protection system, method and program
JP7012920B2 (en) Cryptographic device, decryption device, encryption method, decryption method, encryption program and decryption program
JP6732698B2 (en) Authentication encryption system with additional data, encryption device, decryption device, authentication encryption method with additional data, and program
JP6830868B2 (en) Authenticated encryption system with additional data, decryption device, authenticated encryption method with additional data, and program
JP7573788B1 (en) Authentication encryption device, authentication encryption method, and authentication encryption program
JP5268413B2 (en) Disclosure restriction processing apparatus, data processing system, and program
JP2018182398A (en) INFORMATION PROCESSING DEVICE, DEVICE, DEVICE MANAGEMENT SYSTEM, AND INFORMATION PROCESSING METHOD
JP2003345243A (en) Convolutional encryption method, convolutional encryption device, and convolutional encryption program
Mukhi et al. Survey on triple system security in cloud computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200624

R150 Certificate of patent or registration of utility model

Ref document number: 6723958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350