JP2013134414A - Key encryption device, key decryption device, key encryption method, key decryption method, and program - Google Patents

Key encryption device, key decryption device, key encryption method, key decryption method, and program Download PDF

Info

Publication number
JP2013134414A
JP2013134414A JP2011285515A JP2011285515A JP2013134414A JP 2013134414 A JP2013134414 A JP 2013134414A JP 2011285515 A JP2011285515 A JP 2011285515A JP 2011285515 A JP2011285515 A JP 2011285515A JP 2013134414 A JP2013134414 A JP 2013134414A
Authority
JP
Japan
Prior art keywords
key
data
encryption
fixed
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011285515A
Other languages
Japanese (ja)
Inventor
Kazuhide Fukushima
和英 福島
Shinsaku Kiyomoto
晋作 清本
Masaru Miyake
優 三宅
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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2011285515A priority Critical patent/JP2013134414A/en
Publication of JP2013134414A publication Critical patent/JP2013134414A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a key encryption device, a key decryption device, a key encryption method, a key decryption method, and a program to which a key encryption algorithm is applied of which efficiency of processing is enhanced compared to conventional ones by reducing the number of times of encryption/decryption processing by a common key encryption algorithm for verifying key authenticity.SOLUTION: A key encryption device 10 comprises: a fixed length data calculation unit 11 which, in decrypting an encrypted data key, calculates fixed length data to be used for verifying authenticity of the decrypted data key from the data key by using a one-way function; a coupling unit 12 which couples the calculated fixed length data and the data key; and an encryption unit 13 which encrypts the data key coupled with the calculated fixed length data with a key encryption key, and generates key encrypted data.

Description

本発明は、鍵を暗号化する鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラムに関する。   The present invention relates to a key encryption device, a key decryption device, a key encryption method, a key decryption method, and a program for encrypting a key.

一般に、ネットワークを介して販売・流通されるコンテンツは、コンテンツを暗号化し、さらに、このコンテンツの暗号化に用いた鍵(コンテンツ鍵)をユーザ毎に異なる鍵(ユーザ鍵)で暗号化する手法が用いられている。この手法を用いることにより、コンテンツがネットワーク上の盗聴やコンテンツ権利者の意図しない二次配布等の理由で漏洩するのを防止することができる。また、コンテンツ鍵を用いることにより、サイズの大きなコンテンツをユーザ鍵で個別に暗号化する必要がなくなり、処理を効率的に行うことができる。   In general, content that is sold and distributed via a network has a method of encrypting the content, and further encrypting the key (content key) used for encrypting the content with a different key (user key) for each user. It is used. By using this method, it is possible to prevent content from leaking for reasons such as wiretapping on the network or secondary distribution unintended by the content right holder. Further, by using the content key, it is not necessary to individually encrypt a large content with the user key, and the processing can be performed efficiently.

このようなデータの暗号化に用いられた鍵を別の鍵で暗号化するための鍵暗号化アルゴリズムは、鍵の暗号化アルゴリズムと復号アルゴリズムとからなり、鍵を秘匿するだけでなく、鍵の復号時に鍵の正当性を検証することもできる。   A key encryption algorithm for encrypting a key used for encrypting such data with another key is composed of a key encryption algorithm and a decryption algorithm. It is also possible to verify the validity of the key at the time of decryption.

鍵暗号化アルゴリズムには、例えば、NISTが提案している、AESを利用し暗号鍵を暗号化するために設計されたAES Key Warp(例えば、非特許文献1参照。)、TWKW(例えば、非特許文献2参照。)、AKW1およびAKW2(例えば、非特許文献3参照。)、がある。   The key encryption algorithm includes, for example, AES Key Warp (for example, see Non-Patent Document 1) designed to encrypt an encryption key using AES, which is proposed by NIST, and TWKW (for example, non-patent document). Patent Document 2), AKW1 and AKW2 (for example, see Non-Patent Document 3).

Microsoft,”SecurityAlgorithmSuite Class”,http://msdn.microsoft.com/en−us/library/system.servicemodel.security.securityalgorithmsuite.aspx[2011年11月8日検索]Microsoft, “Security Algorithm Suite Class”, http: // msdn. Microsoft. com / en-us / library / system. servicemodel. security. securityalgorithmsuite. aspx [retrieved on November 8, 2011] J.Schaad,R.Housley”Advanced Encryption Standard(AES) Key Wrap Algorithm”,Request for Comments:3394,http://tools.ietf.org/html/rfc3394[2011年11月4日検索]J. et al. Schaad, R.A. Houseley “Advanced Encryption Standard (AES) Key Wrap Algorithm”, Request for Comments: 3394, http: // tools. ietf. org / html / rfc3394 [retrieved on November 4, 2011] ”Request for Review of Key Wrap Algorithms.”,http://eprint.iacr.org/2004/340.pdf[2011年11月4日検索]"Request for Review of Key Wrap Algorithms.", Http: // eprint. iacr. org / 2004/340. pdf [retrieved on November 4, 2011]

しかしながら、鍵暗号化アルゴリズムは、鍵自体を暗号化/復号するとともに、復号時に暗号化された鍵の正当性を検証するために、例えば、AES Key Warpは128ビットの鍵を暗号化/復号する際に、AESによる暗号化/復号を6回も行わなければならず、その他の鍵暗号化アルゴリズムにおいても、128ビットの鍵を暗号化/復号する際には、共通鍵暗号化アルゴリズムで暗号化/復号を複数回行わなければならないという問題点があった。また、鍵暗号化アルゴリズムは、正当な権利なく、コンテンツを入手しようとする攻撃者からの解析対象となりやすい一方、アルゴリズムが解析されてしまうとそのアルゴリズムは2度と使用できないという問題点もあった。   However, for example, AES Key Warp encrypts / decrypts a 128-bit key to encrypt / decrypt the key itself and to verify the validity of the encrypted key at the time of decryption. At the same time, encryption / decryption by AES must be performed six times, and in other key encryption algorithms, when a 128-bit key is encrypted / decrypted, it is encrypted by a common key encryption algorithm. / There was a problem that the decoding had to be performed a plurality of times. In addition, the key encryption algorithm is subject to analysis by an attacker who wants to obtain content without a legitimate right. However, once the algorithm is analyzed, the algorithm cannot be used again. .

そこで、本発明は、上述の課題に鑑みてなされたものであり、鍵の正当性を検証するために行う共通鍵暗号化アルゴリズムによる暗号化/復号の処理回数を減らすことによって、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラムを提供することを目的とする。また、アルゴリズムを変化させることができる鍵暗号化アルゴリズムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and reduces the number of times of encryption / decryption processing by a common key encryption algorithm performed for verifying the validity of the key. It is an object of the present invention to provide a key encryption device, a key decryption device, a key encryption method, a key decryption method, and a program to which a key encryption algorithm with improved processing efficiency is applied. It is another object of the present invention to provide a key encryption algorithm that can change the algorithm.

本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。   The present invention proposes the following matters in order to solve the above problems. In addition, in order to make an understanding easy, although the code | symbol corresponding to embodiment of this invention is attached | subjected and demonstrated, it is not limited to this.

(1) 本発明は、データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置であって、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する固定長データ算出手段(例えば、固定長データ算出部11に相当)と、算出された固定長データと前記データ鍵とを結合する結合手段(例えば、結合部12に相当)と、前記算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する暗号化手段(例えば、暗号化部13に相当)と、を備えることを特徴とする鍵暗号化装置を提案している。   (1) The present invention is a key encryption device that encrypts a data key used for data encryption, and verifies the validity of the decrypted data key when decrypting the encrypted data key. Fixed-length data calculating means (for example, equivalent to the fixed-length data calculating unit 11) that calculates fixed-length data used for the above-mentioned data key using a one-way function, the calculated fixed-length data and the data key A combining means (for example, corresponding to the combining unit 12), and an encryption means (for example, a key encryption key) for encrypting a data key combined with the calculated fixed-length data with a key encryption key (for example, , Corresponding to the encryption unit 13).

この発明によれば、固定長データ検出手算出段は、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、データ鍵から一方向性関数を用いて算出する。結合手段は、算出された固定長データとデータ鍵とを結合する。暗号化手段は、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する。したがって、暗号化の処理を1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を一方向性関数を用いて1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵暗号化装置を構築することができる。   According to the present invention, the fixed-length data detector calculating stage converts the fixed-length data used for verifying the validity of the decrypted data key from the data key in one-way direction when decrypting the encrypted data key. Calculate using a function. The combining means combines the calculated fixed-length data and the data key. The encryption unit encrypts a data key combined with the calculated fixed-length data with a key encryption key, and generates key-encrypted data. Therefore, encryption processing is performed once, and processing for generating fixed length data used for verifying the validity of the data key encrypted by the key encryption key is performed once using a one-way function. Thus, it is possible to construct a key encryption device to which a key encryption algorithm whose processing is more efficient than the conventional one is applied.

(2) 本発明は、(1)の鍵暗号化装置について、一方向性関数が、ハッシュ関数またはMAC関数であることを特徴とする鍵暗号化装置を提案している。   (2) The present invention proposes a key encryption device in which the one-way function is a hash function or a MAC function with respect to the key encryption device of (1).

この発明によれば、一方向性関数が、ハッシュ関数またはMAC関数である。したがって、鍵暗号化鍵により暗号化された鍵の正当性を検証するための固定長データを、ハッシュ関数およびMAC関数により生成することができる。それにより、データ鍵の正当性を検証するために用いる固定長データの生成に、従来の共通鍵暗号化アルゴリズムに代わってハッシュ関数またはMAC関数を用いることにより、データ鍵の正当性を検証するために用いる固定長データのデータ長に制約をなくすことができる。   According to the present invention, the one-way function is a hash function or a MAC function. Therefore, fixed-length data for verifying the validity of the key encrypted by the key encryption key can be generated by the hash function and the MAC function. In order to verify the validity of the data key by using a hash function or a MAC function instead of the conventional common key encryption algorithm for generating fixed-length data used for verifying the validity of the data key. It is possible to remove the restriction on the data length of the fixed length data used for the data.

(3) 本発明は、(1)または(2)の鍵暗号化装置について、前記暗号化手段が、所定の処理を複数回実行し、前記算出された固定長データと結合されたデータ鍵から前記鍵暗号化データを生成するラウンド関数(例えば、図3に相当)から構成され、前記ラウンド関数が、入力されたアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする鍵暗号化装置を提案している。   (3) The present invention relates to the key encryption device according to (1) or (2), wherein the encryption unit executes a predetermined process a plurality of times and uses a data key combined with the calculated fixed-length data. It is composed of a round function (for example, corresponding to FIG. 3) for generating the key encrypted data, and the round function has a portion where the algorithm is variable according to bit information of the input algorithm key. A key encryption device is proposed.

この発明によれば、暗号化手段は、所定の処理を複数回実行し、算出された固定長データと結合されたデータ鍵から鍵暗号化データを生成するラウンド関数から構成される。ラウンド関数は、入力されたアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有する。したがって、暗号化手段がアルゴリズムの特定部分を可変にできるラウンド関数から構成されることから、鍵暗号化装置のアルゴリズムを可変型とすることができる。   According to the present invention, the encryption means is composed of a round function that executes predetermined processing a plurality of times and generates key encrypted data from the data key combined with the calculated fixed-length data. The round function has a portion where the algorithm varies according to the bit information of the input algorithm key. Therefore, since the encryption means is composed of a round function that can change a specific part of the algorithm, the algorithm of the key encryption device can be made variable.

(4) 本発明は、(1)から(3)の鍵暗号化装置について、前記固定長データ算出手段が、前記データ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行するラウンド関数処理手段(例えば、図2のラウンド関数処理部100に相当)と、前記ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、前記固定長データを生成する終端処理手段(例えば、図2の終端処理部200に相当)と、を備え、前記ラウンド関数処理手段が、入力された第2のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする鍵暗号化装置を提案している。   (4) According to the present invention, in the key encryption device of (1) to (3), the fixed length data calculation means performs a predetermined process on each of a plurality of data groups obtained by dividing the data key into predetermined bits. A round function processing means (for example, equivalent to the round function processing unit 100 in FIG. 2) to be executed a plurality of times and a plurality of data groups that have been processed by the round function processing means Terminal processing means (for example, corresponding to the terminal processing section 200 in FIG. 2) for generating the fixed-length data, and the round function processing means according to the input bit information of the second algorithm key A key encryption device characterized by having a variable algorithm part has been proposed.

この発明によれば、ラウンド関数処理手段は、入力された第2のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有し、データ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行する。終端処理手段は、ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、固定長データを生成する。したがって、固定長データ算出手段が、アルゴリズムの特定部分を可変にできるラウンド関数処理手段を備えつつ、終端処理手段を備えることにより、固定長データの一方向性を確保しつつ、鍵暗号化装置のアルゴリズムを可変型とすることができる。   According to the present invention, the round function processing means has a portion in which the algorithm varies according to the bit information of the input second algorithm key, and each of the plurality of data groups in which the data key is divided into predetermined bits. The predetermined process is executed a plurality of times. The termination processing unit performs an exclusive OR operation on the plurality of data groups processed by the round function processing unit to generate fixed-length data. Therefore, the fixed-length data calculation means includes the round function processing means that can change the specific part of the algorithm, and the termination processing means, thereby ensuring the unidirectionality of the fixed-length data and the key encryption device. The algorithm can be variable.

(5) 本発明は、データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置であって、前記鍵暗号化データを前記鍵暗号化鍵で復号する復号手段(例えば、図7の復号部21に相当)と、復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する固定長データ算出手段(例えば、図7の固定長データ算出部22に相当)と、前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する検証手段(例えば、図7の検証部23に相当)と、を備えることを特徴とする鍵復号装置を提案している。   (5) The present invention provides a key encryption key that combines a data key used for data encryption and fixed-length data that is coupled to a predetermined position of the data key and used to verify the validity of the data key. A key decryption device for decrypting the key-encrypted data encrypted by the decryption means for decrypting the key-encrypted data with the key-encryption key (for example, corresponding to the decryption unit 21 in FIG. 7) The data key is extracted from the key-encrypted data based on the position of the fixed-length data and the key length of the data key, and the fixed-length data is calculated from the extracted data key using a one-way function Fixed-length data calculation means (for example, equivalent to the fixed-length data calculation unit 22 in FIG. 7), and the remaining data excluding the extracted data key from the decrypted key-encrypted data were calculated. Compare with fixed-length data, Verification means for verifying the validity of the issued data key (e.g., corresponding to a verification unit 23 of FIG. 7) proposes a key decryption device, characterized in that it comprises a, a.

この発明によれば、復号手段は、データの暗号化に用いたデータ鍵と、データ鍵の所定の位置に結合され、データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを鍵暗号化鍵で復号する。固定長データ算出手段は、復号された鍵暗号化データから、固定長データの位置およびデータ鍵の鍵長に基づいてデータ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する。検証手段は、復号された鍵暗号化データのうち、抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、抽出されたデータ鍵の正当性を検証する。したがって、復号の処理を1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を一方向性関数を用いて1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵復号装置を構築することができる。   According to this invention, the decrypting means encrypts the data key used for data encryption and the fixed-length data that is coupled to a predetermined position of the data key and used to verify the validity of the data key. Key encrypted data encrypted with the key is decrypted with the key encryption key. The fixed length data calculation means extracts a data key from the decrypted key encryption data based on the position of the fixed length data and the key length of the data key, and uses a one-way function from the extracted data key, Calculate fixed length data. The verification means compares the remaining data excluding the extracted data key in the decrypted key-encrypted data with the calculated fixed-length data, and verifies the validity of the extracted data key. Therefore, the decryption process is performed once, and the process of generating fixed-length data used for verifying the validity of the data key encrypted by the key encryption key is performed once by using the one-way function. Thus, it is possible to construct a key decryption device to which a key encryption algorithm whose processing is more efficient than the conventional one is applied.

(6) 本発明は、(5)の鍵復号装置について、前記一方向性関数が、ハッシュ関数またはMAC関数であることを特徴とする鍵復号装置を提案している。   (6) The present invention proposes a key decryption device characterized in that the one-way function is a hash function or a MAC function with respect to the key decryption device of (5).

この発明によれば、一方向性関数が、ハッシュ関数またはMAC関数である。したがって、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するための固定長データを、ハッシュ関数およびMAC関数により生成することができる。それにより、データ鍵の正当性を検証するために用いる固定長データの生成に、従来の共通鍵暗号化アルゴリズムに代わってハッシュ関数またはMAC関数を用いることから、データ鍵の正当性を検証するために用いる固定長データのデータ長に制約をなくすことができる。   According to the present invention, the one-way function is a hash function or a MAC function. Therefore, fixed length data for verifying the validity of the data key encrypted by the key encryption key can be generated by the hash function and the MAC function. In order to verify the validity of the data key, a hash function or a MAC function is used instead of the conventional common key encryption algorithm for generation of fixed-length data used for verifying the validity of the data key. It is possible to remove the restriction on the data length of the fixed length data used for the data.

(7) 本発明は、(5)または(6)の鍵復号装置について、前記復号手段が、所定の処理を複数回実行し、前記固定長データが前記所定の位置に結合されたデータ鍵を前記鍵暗号化データから生成するラウンド関数(例えば、図3に相当)から構成され、前記ラウンド関数が、入力された第3のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする鍵復号装置を提案している。   (7) According to the present invention, in the key decryption device according to (5) or (6), the decryption unit performs a predetermined process a plurality of times, and uses a data key in which the fixed-length data is combined at the predetermined position. It is composed of a round function (e.g., corresponding to FIG. 3) generated from the key encrypted data, and the round function has a portion where the algorithm is variable according to the bit information of the input third algorithm key. A key decryption device is proposed.

この発明によれば、復号手段が、所定の処理を複数回実行し、固定長データが所定の位置に結合されたデータ鍵を鍵暗号化データから生成するラウンド関数から構成される。ラウンド関数が、入力された第3のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有する。したがって、復号手段がアルゴリズムの特定部分を可変にできるラウンド関数から構成されることから、鍵復号装置のアルゴリズムを可変型とすることができる。   According to this invention, the decryption means is constituted by a round function that executes a predetermined process a plurality of times and generates a data key in which fixed-length data is combined at a predetermined position from the key encrypted data. The round function has a portion where the algorithm varies according to the bit information of the input third algorithm key. Therefore, since the decryption means is composed of a round function that can vary the specific part of the algorithm, the algorithm of the key decryption device can be made variable.

(8) 本発明は、(5)から(7)の鍵復号装置について、前記固定長データ算出手段が、前記抽出されたデータ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行するラウンド関数処理手段(例えば、図2のラウンド関数処理部100に相当)と、前記ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、前記固定長データを生成する終端処理手段(例えば、図2の終端処理部200に相当)と、を備え、前記ラウンド関数処理手段が、入力された第4のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする鍵復号装置を提案している。   (8) The present invention provides the key decryption device according to (5) to (7), wherein the fixed-length data calculation means has a predetermined data amount for each of a plurality of data groups obtained by dividing the extracted data key into predetermined bits. Round function processing means (for example, equivalent to the round function processing unit 100 in FIG. 2) that executes processing a plurality of times, and exclusive OR operation on a plurality of data groups that have been processed by the round function processing means Termination processing means (for example, corresponding to the termination processing unit 200 in FIG. 2) that executes the fixed-length data, and the round function processing means converts the bit information of the input fourth algorithm key In response to this, a key decryption device is proposed in which the algorithm has a variable part.

この発明によれば、ラウンド関数処理手段は、入力された第4のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有し、抽出されたデータ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行する。終端処理手段は、ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、固定長データを生成する。したがって、固定長データ算出手段が、アルゴリズムの特定部分を可変にできるラウンド関数処理手段を備えつつ、終端処理手段を備えることにより、固定長データの一方向性を確保しつつ、鍵復号装置のアルゴリズムを可変型とすることができる。   According to the present invention, the round function processing means has a portion in which the algorithm varies according to the bit information of the input fourth algorithm key, and a plurality of data obtained by dividing the extracted data key into predetermined bits A predetermined process is executed a plurality of times for each group. The termination processing unit performs an exclusive OR operation on the plurality of data groups processed by the round function processing unit to generate fixed-length data. Accordingly, the fixed-length data calculation means includes the round function processing means that can change a specific part of the algorithm, and the termination processing means, thereby ensuring the unidirectionality of the fixed-length data and the algorithm of the key decryption device. Can be made variable.

(9) 本発明は、固定長データ算出手段と、結合手段と、暗号化手段とを備え、データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置における鍵暗号化方法であって、前記固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する第1のステップ(例えば、図6のステップS1に相当)と、前記結合手段が、算出された固定長データと前記データ鍵とを結合する第2のステップ(例えば、図6のステップS2に相当)と、前記暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する第3のステップ(例えば、図6のステップS3に相当)と、を含むことを特徴とする鍵暗号化方法を提案している。   (9) The present invention is a key encryption method in a key encryption apparatus that includes a fixed-length data calculation unit, a combination unit, and an encryption unit, and encrypts a data key used for data encryption. The fixed-length data calculating means calculates fixed-length data used for verifying the validity of the decrypted data key using the one-way function when decrypting the encrypted data key. A first step (for example, corresponding to step S1 in FIG. 6) and a second step (for example, in step S2 in FIG. 6) in which the combining means combines the calculated fixed-length data and the data key. And the encryption means encrypts the data key combined with the calculated fixed-length data with the key encryption key to generate key encrypted data (for example, step S3 in FIG. 6). Equivalent to It has proposed a key encryption method which is characterized the door.

この発明によれば、まず、第1のステップにおいて、固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、データ鍵から一方向性関数を用いて算出する。次に、第2のステップにおいて、結合手段が、算出された固定長データとデータ鍵とを結合する。次に、第3のステップにおいて、暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する。したがって、暗号化の処理を1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を一方向性関数を用いて1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵暗号化方法を提供することができる。   According to this invention, first, in the first step, the fixed-length data calculation means uses the fixed-length data used for verifying the validity of the decrypted data key when decrypting the encrypted data key. Calculate from the data key using a one-way function. Next, in the second step, the combining unit combines the calculated fixed length data and the data key. Next, in a third step, the encryption unit encrypts the data key combined with the calculated fixed-length data with the key encryption key to generate key encrypted data. Therefore, encryption processing is performed once, and processing for generating fixed length data used for verifying the validity of the data key encrypted by the key encryption key is performed once using a one-way function. Thus, it is possible to provide a key encryption method to which a key encryption algorithm that is more efficient than the conventional method is applied.

(10) 本発明は、復号手段と、固定長データ算出手段と、検証手段とを備え、データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置における鍵復号方法であって、前記復号手段が、前記鍵暗号化データを前記鍵暗号化鍵で復号する第1のステップ(例えば、図8のステップS11に相当)と、前記固定長データ算出手段が、復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する第2のステップ(例えば、図8のステップS12に相当)と、前記検証手段が、前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する第3のステップ(例えば、図8のステップS13〜S15に相当)と、を含むことを特徴とする鍵復号方法を提案している。   (10) The present invention includes a decryption unit, a fixed-length data calculation unit, and a verification unit, and is coupled to a data key used for data encryption and a predetermined position of the data key. A key decryption method in a key decryption device for decrypting key-encrypted data obtained by encrypting fixed-length data used for verifying validity with a key encryption key, wherein the decryption means converts the key-encrypted data into A first step of decrypting with the key encryption key (e.g., corresponding to step S11 in FIG. 8), and the fixed length data calculating means, from the decrypted key encrypted data, the position of the fixed length data and the A second step of extracting the data key based on the key length of the data key and calculating fixed-length data from the extracted data key using a one-way function (for example, corresponding to step S12 in FIG. 8) And the above test The means compares the remaining data excluding the extracted data key in the decrypted key-encrypted data with the calculated fixed-length data, and verifies the validity of the extracted data key And a third step (e.g., corresponding to steps S13 to S15 in FIG. 8).

この発明によれば、まず、第1のステップにおいて、復号手段が、データの暗号化に用いたデータ鍵と、データ鍵の所定の位置に結合され、データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを鍵暗号化鍵で復号する。次に、第2のステップにおいて、固定長データ算出手段が、復号された鍵暗号化データから、固定長データの位置およびデータ鍵の鍵長に基づいてデータ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する。次に、第3のステップにおいて、検証手段が、復号された鍵暗号化データのうち、抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、抽出されたデータ鍵の正当性を検証する。したがって、復号の処理を1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を一方向性関数を用いて1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵復号方法を提供することができる。   According to this invention, first, in the first step, the decryption means is combined with the data key used for data encryption and a predetermined position of the data key, and used to verify the validity of the data key. Key encrypted data obtained by encrypting fixed-length data with a key encryption key is decrypted with a key encryption key. Next, in the second step, the fixed length data calculation means extracts a data key from the decrypted key encrypted data based on the position of the fixed length data and the key length of the data key, and the extracted data key From the above, fixed length data is calculated using a one-way function. Next, in the third step, the verification means extracts the extracted key-encrypted data by comparing the remaining data excluding the extracted data key with the calculated fixed-length data. Verify the validity of the data key. Therefore, the decryption process is performed once, and the process of generating fixed-length data used for verifying the validity of the data key encrypted by the key encryption key is performed once by using the one-way function. Therefore, it is possible to provide a key decryption method to which a key encryption algorithm whose processing is more efficient than the conventional one is applied.

(11) 本発明は、固定長データ算出手段と、結合手段と、暗号化手段とを備え、データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置における鍵暗号化方法をコンピュータに実行させるプログラムであって、前記固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する第1のステップ(例えば、図6のステップS1に相当)と、前記結合手段が、算出された固定長データと前記データ鍵とを結合する第2のステップ(例えば、図6のステップS2に相当)と、前記暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する第3のステップ(例えば、図6のステップS3に相当)と、をコンピュータに実行させるプログラムを提案している。   (11) The present invention provides a computer with a key encryption method in a key encryption apparatus that includes a fixed-length data calculation unit, a combination unit, and an encryption unit, and encrypts a data key used for data encryption. A program to be executed, wherein the fixed-length data calculation means uses fixed-direction data used for verifying the validity of the decrypted data key in one direction from the data key when decrypting the encrypted data key. A first step (for example, corresponding to step S1 in FIG. 6) calculated using a sex function, and a second step (for example, the combining unit combines the calculated fixed-length data and the data key). 6 corresponds to step S2 in FIG. 6 and the encryption means encrypts a data key combined with the calculated fixed-length data with a key encryption key to generate key-encrypted data (for example, And equivalent) in step S3 in FIG. 6, it proposes a program for executing a computer.

この発明によれば、まず、第1のステップにおいて、固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、データ鍵から一方向性関数を用いて算出する。次に、第2のステップにおいて、結合手段が、算出された固定長データとデータ鍵とを結合する。次に、第3のステップにおいて、暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する。したがって、暗号化の処理を一方向性関数を用いて1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用したプログラムを提供することができる。   According to this invention, first, in the first step, the fixed-length data calculation means uses the fixed-length data used for verifying the validity of the decrypted data key when decrypting the encrypted data key. Calculate from the data key using a one-way function. Next, in the second step, the combining unit combines the calculated fixed length data and the data key. Next, in a third step, the encryption unit encrypts the data key combined with the calculated fixed-length data with the key encryption key to generate key encrypted data. Therefore, encryption processing is performed once using a one-way function, and processing for generating fixed-length data used for verifying the validity of a data key encrypted with a key encryption key is performed once. Therefore, it is possible to provide a program to which a key encryption algorithm whose processing is more efficient than the conventional one is applied.

(12) 本発明は、復号手段と、固定長データ算出手段と、検証手段とを備え、データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置における鍵復号方法をコンピュータに実行させるプログラムであって、前記復号手段が、前記鍵暗号化データを前記鍵暗号化鍵で復号する第1のステップ(例えば、図8のステップS11に相当)と、前記固定長データ算出手段が、復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する第2のステップ(例えば、図8のステップS12に相当)と、前記検証手段が、前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する第3のステップ(例えば、図8のステップS13〜S15に相当)と、をコンピュータに実行させるプログラムを提案している。   (12) The present invention includes a decryption unit, a fixed-length data calculation unit, and a verification unit, and is coupled to a data key used for data encryption and a predetermined position of the data key. A program that causes a computer to execute a key decryption method in a key decryption device that decrypts key-encrypted data obtained by encrypting fixed-length data used for verifying validity with a key encryption key, and the decryption means includes: A first step (for example, corresponding to step S11 in FIG. 8) for decrypting the key encrypted data with the key encryption key, and the fixed length data calculating means, from the decrypted key encrypted data, A second step of extracting the data key based on the position of the long data and the key length of the data key, and calculating fixed-length data from the extracted data key using a one-way function (for example, FIG. And the verifying unit compares the remaining data excluding the extracted data key with the calculated fixed-length data in the decrypted key-encrypted data, and A program for causing a computer to execute a third step (for example, corresponding to steps S13 to S15 in FIG. 8) for verifying the validity of the extracted data key is proposed.

この発明によれば、まず、第1のステップにおいて、復号手段が、データの暗号化に用いたデータ鍵と、データ鍵の所定の位置に結合され、データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを鍵暗号化鍵で復号する。次に、第2のステップにおいて、固定長データ算出手段が、復号された鍵暗号化データから、固定長データの位置およびデータ鍵の鍵長に基づいてデータ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する。次に、第3のステップにおいて、検証手段が、復号された鍵暗号化データのうち、抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、抽出されたデータ鍵の正当性を検証する。したがって、復号の処理を1回、鍵暗号化鍵により暗号化されたデータ鍵の正当性を検証するために用いる固定長データを生成する処理を一方向性関数を用いて1回とすることにより、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用したプログラムを提供することができる。   According to this invention, first, in the first step, the decryption means is combined with the data key used for data encryption and a predetermined position of the data key, and used to verify the validity of the data key. Key encrypted data obtained by encrypting fixed-length data with a key encryption key is decrypted with a key encryption key. Next, in the second step, the fixed length data calculation means extracts a data key from the decrypted key encrypted data based on the position of the fixed length data and the key length of the data key, and the extracted data key From the above, fixed length data is calculated using a one-way function. Next, in the third step, the verification means extracts the extracted key-encrypted data by comparing the remaining data excluding the extracted data key with the calculated fixed-length data. Verify the validity of the data key. Therefore, the decryption process is performed once, and the process of generating fixed-length data used for verifying the validity of the data key encrypted by the key encryption key is performed once by using the one-way function. Therefore, it is possible to provide a program to which a key encryption algorithm whose processing is more efficient than the conventional one is applied.

本発明によれば、暗号化対象の鍵の正当性を検証するために行っていた共通鍵暗号化アルゴリズムによる暗号化/復号の処理を一方向性関数で行うことによって、処理回数を減らし、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラムを提供することができる。また、一方向性関数処理もしくは暗号化処理の少なくとも1つのアルゴリズムを可変にすることにより、鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラムに適用する鍵暗号化アルゴリズムを可変にすることができる。   According to the present invention, the number of processes is reduced by performing the encryption / decryption process by the common key encryption algorithm, which has been performed for verifying the validity of the key to be encrypted, with a one-way function. It is possible to provide a key encryption device, a key decryption device, a key encryption method, a key decryption method, and a program to which a key encryption algorithm whose processing is more efficient than that of the above is applied. A key encryption device, a key decryption device, a key encryption method, a key decryption method, and a key encryption algorithm applied to a program by making at least one algorithm of one-way function processing or encryption processing variable Can be made variable.

本実施形態に係る鍵暗号化装置の機能構成を示す図である。It is a figure which shows the function structure of the key encryption apparatus which concerns on this embodiment. 本実施形態に係るアルゴリズム可変型固定長データ算出部の機能構成を示す図である。It is a figure which shows the function structure of the algorithm variable type fixed length data calculation part which concerns on this embodiment. 本実施形態に係るアルゴリズム可変型暗号化部の機能構成を示す図である。It is a figure which shows the function structure of the algorithm variable encryption part which concerns on this embodiment. 可変型暗号化アルゴリズムを用いて128ビット級安全を有する、本実施形態に係る暗号化処理を示す図である。It is a figure which shows the encryption process which concerns on this embodiment which has 128 bit class security using a variable encryption algorithm. 可変型暗号化アルゴリズムを用いて256ビット級安全を有する、本実施形態に係る暗号化処理を示す図である。It is a figure which shows the encryption process which concerns on this embodiment which has 256-bit class safety | security using a variable encryption algorithm. 本実施形態に係る鍵暗号化装置における鍵暗号化処理のフローを示す図である。It is a figure which shows the flow of the key encryption process in the key encryption apparatus which concerns on this embodiment. 本実施形態に係る鍵復号装置の機能構成を示す図である。It is a figure which shows the function structure of the key decryption apparatus which concerns on this embodiment. 本実施形態に係る鍵復号装置における鍵復号処理のフローを示す図である。It is a figure which shows the flow of the key decryption process in the key decryption apparatus which concerns on this embodiment.

以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含むさまざまなバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the components in the present embodiment can be appropriately replaced with existing components and the like, and various variations including combinations with other existing components are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.

<鍵暗号化装置の機能構成>
図1は、本実施形態に係る鍵暗号化装置10の機能構成を示す図である。鍵暗号化装置10は、データの暗号化に用いた鍵(以下、対象鍵とする)を暗号化する装置であって、図1に示すように、固定長データ算出部11と、結合部12と、暗号化部13とから構成される。
<Functional configuration of key encryption device>
FIG. 1 is a diagram showing a functional configuration of a key encryption device 10 according to the present embodiment. The key encryption device 10 is a device for encrypting a key used for data encryption (hereinafter referred to as a target key). As shown in FIG. 1, a fixed length data calculation unit 11 and a combining unit 12 are used. And the encryption unit 13.

固定長データ算出部11は、一方向性関数を用いて、対象鍵から固定長データを算出する。固定長データ算出部11により算出される固定長データは、後述する暗号化部13で暗号化された対象鍵を後述する鍵復号装置20で復号する時に、復号された対象鍵の正当性を検証するために用いられる。   The fixed length data calculation unit 11 calculates fixed length data from the target key using a one-way function. The fixed length data calculated by the fixed length data calculation unit 11 verifies the validity of the decrypted target key when the target key encrypted by the encryption unit 13 described later is decrypted by the key decryption device 20 described later. Used to do.

一方向性関数として、例えば、ハッシュ関数やMAC関数を用いることができる。従来、復号された対象鍵の正当性を検証するために用いる固定長データは共通鍵暗号化アルゴリズムを用いて生成されていたため、データ長は共通鍵暗号化アルゴリズムのブロック長に制約をうけていた。しかし、本実施形態では、復号された対象鍵の正当性を検証するために用いる固定長データを一方向性関数を用いて生成するために、固定長データのデータ長は制約をうけず、任意の長さとすることができる。また、従来、固定長データは、共通鍵暗号化アルゴリズムによる暗号化を複数回実行することにより生成されていたが、本実施形態においては、一方向性関数による処理を1回行うことで生成することができる。   As the one-way function, for example, a hash function or a MAC function can be used. Conventionally, fixed-length data used to verify the validity of the decrypted target key was generated using a common key encryption algorithm, so the data length was limited by the block length of the common key encryption algorithm. . However, in the present embodiment, since the fixed-length data used for verifying the validity of the decrypted target key is generated using a one-way function, the data length of the fixed-length data is not limited and is arbitrary. Can be of length. Conventionally, fixed-length data is generated by performing encryption by a common key encryption algorithm a plurality of times. In the present embodiment, the fixed-length data is generated by performing processing by a one-way function once. be able to.

固定長データ算出部11は、出願人が先に出願した特願2011−239651号に記載の方法を適用し、アルゴリズムが変化するアルゴリズム可変型とすることができる。ここでは、特願2011−239651号に記載の方法を提供した固定長データ算出部11について、図2を用いて簡便に説明する。図2では、512ビットの対象鍵から256ビットの固定長データを生成する場合について例示している。   The fixed length data calculation unit 11 may be a variable algorithm type in which the algorithm changes by applying the method described in Japanese Patent Application No. 2011-239651 filed earlier by the applicant. Here, the fixed length data calculation unit 11 that provides the method described in Japanese Patent Application No. 2011-239651 will be briefly described with reference to FIG. FIG. 2 illustrates a case where 256-bit fixed length data is generated from a 512-bit target key.

固定長データ算出部11は、アルゴリズムが可変であるラウンド関数処理部100と、一方向性を確保するための排他的論理和演算を行う終端処理部200とから構成される。ラウンド関数処理部100は、巡回シフト部N1〜N4と、排他的論理和演算部110a〜110fと、スイッチS1〜S6と、攪拌部C1〜C4とから構成される。   The fixed-length data calculation unit 11 includes a round function processing unit 100 having a variable algorithm and a termination processing unit 200 that performs an exclusive OR operation for ensuring unidirectionality. The round function processing unit 100 includes cyclic shift units N1 to N4, exclusive OR operation units 110a to 110f, switches S1 to S6, and stirring units C1 to C4.

巡回シフト部N1〜N4は、対象鍵を所定ビット毎に区切った複数のブロックそれぞれに、入力されたアルゴリズム鍵のビット情報に応じて決定したビットの巡回シフトを行う。ここで、アルゴリズム鍵は、ラウンド関数処理部100のアルゴリズムを決定するための鍵であって、一方向性関数がMAC関数の場合にはMAC鍵、ハッシュ関数の場合には任意の固定値である。   Cyclic shift units N1 to N4 perform cyclic shift of bits determined according to bit information of the input algorithm key on each of a plurality of blocks obtained by dividing the target key every predetermined bit. Here, the algorithm key is a key for determining the algorithm of the round function processing unit 100, and is a MAC key when the one-way function is a MAC function, and an arbitrary fixed value when the one-way function is a hash function. .

排他的論理和演算部110a〜110fは、2つの入力データに対して、排他的論理和演算を実行する。スイッチS1〜S6は、アルゴリズム鍵のビット情報に応じて開閉を決定し、排他的論理和演算部110c〜110fによる演算の実行の有無を制御する。攪拌部C1〜C4は、排他的論理和演算部110a〜110fの演算結果に対して非線形処理を行う。   The exclusive OR operation units 110a to 110f execute an exclusive OR operation on the two input data. The switches S1 to S6 determine opening and closing according to the bit information of the algorithm key, and control whether or not the exclusive OR operation units 110c to 110f execute the operation. The agitation units C1 to C4 perform nonlinear processing on the calculation results of the exclusive OR calculation units 110a to 110f.

このように、入力されたアルゴリズム鍵に基づいて、巡回シフト部N1〜N4において巡回シフトを行うビット数と、排他的論理和演算部110a〜110fでの演算の実施の有無を制御するスイッチS1〜S6の開閉とを決定することにより、ラウンド関数処理部100のアルゴリズムを可変にし、固定長データ算出部11のアルゴリズムを可変にすることができる。   As described above, based on the input algorithm key, the switches S1 to S1 that control the number of bits to be cyclically shifted in the cyclic shift units N1 to N4 and whether or not the exclusive OR calculation units 110a to 110f perform the calculation. By determining whether to open or close S6, the algorithm of the round function processing unit 100 can be made variable, and the algorithm of the fixed length data calculation unit 11 can be made variable.

図1に戻って、結合部12は、固定長データ算出部11で算出された固定長データを、対象鍵と結合する。具体的には、対象鍵の所定の位置、例えば、対象鍵の先頭や末尾に、固定長データを結合する。   Returning to FIG. 1, the combining unit 12 combines the fixed-length data calculated by the fixed-length data calculating unit 11 with the target key. Specifically, fixed-length data is combined at a predetermined position of the target key, for example, at the beginning or end of the target key.

暗号化部13は、結合部12で固定長データを結合した対象鍵を、鍵暗号化鍵を用いて共通鍵暗号化アルゴリズムで暗号化して、鍵暗号化データを生成する。なお、鍵暗号化鍵は、ユーザ毎に、乱数やユーザの固有な情報を利用して生成される。暗号化部13は、共通鍵暗号化アルゴリズムとしてAES等を用いることができる。また、暗号化部13は、出願人が先に出願した特願2011−30553号に記載の方法を適用し、アルゴリズムが変化するアルゴリズム可変型の共通鍵暗号化アルゴリズムを用いることもできる。ここでは、特願2011−30553号に記載の方法を適用した暗号化部13について、図3を用いて簡便に説明する。図3では、128ビットの対象鍵を暗号化する場合について例示している。   The encryption unit 13 encrypts the target key combined with the fixed-length data by the combining unit 12 using a key encryption key with a common key encryption algorithm, and generates key encrypted data. The key encryption key is generated for each user by using a random number or information unique to the user. The encryption unit 13 can use AES or the like as a common key encryption algorithm. In addition, the encryption unit 13 can use a method described in Japanese Patent Application No. 2011-30553 filed earlier by the applicant and use an algorithm variable common key encryption algorithm in which the algorithm changes. Here, the encryption unit 13 to which the method described in Japanese Patent Application No. 2011-30553 is applied will be briefly described with reference to FIG. FIG. 3 illustrates a case where a 128-bit target key is encrypted.

暗号化部13は、ラウンド関数から構成され、その詳細は、図3に示すように、巡回シフト部N5、N6と、排他的論理和演算部120a、120bと、演算決定部130a、130bと、非線形関数器L1、L2とから構成されている。   The encryption unit 13 includes a round function. As shown in FIG. 3, the encryption unit 13 has cyclic shift units N5 and N6, exclusive OR operation units 120a and 120b, operation determination units 130a and 130b, It comprises non-linear function units L1 and L2.

巡回シフト部N5、N6は、入力されたデータを所定ビット毎に区切ったブロックを、入力されたアルゴリズム鍵のビット情報に応じて入れ替える。具体的には、128ビットの入力データを4バイトの倍数分、例えば、右へ巡回シフトするものとする。ここで、アルゴリズム鍵は、暗号化部13のアルゴリズムを決定するための鍵である。   Cyclic shift units N5 and N6 replace blocks obtained by dividing input data into predetermined bits according to bit information of the input algorithm key. Specifically, it is assumed that 128-bit input data is cyclically shifted to the right by a multiple of 4 bytes, for example. Here, the algorithm key is a key for determining the algorithm of the encryption unit 13.

排他的論理和演算部120a、120bは、2つの入力データに対して、排他的論理和演算を実行する。   The exclusive OR operation units 120a and 120b execute an exclusive OR operation on the two input data.

演算決定部130a、130bは、巡回シフト部N5、N6に接続される排他的論理和演算部120a、120bにおいて演算の実行の有無を鍵ビット情報に応じて決定する。具体的には、鍵ビットに応じてデータに「0」をかけるか「1」をかけるかを決定し、排他的論理和演算部120a、120bにおいて演算の実行の有無を制御する。   The operation determination units 130a and 130b determine whether or not the operation is performed in the exclusive OR operation units 120a and 120b connected to the cyclic shift units N5 and N6 according to the key bit information. Specifically, it is determined whether to apply “0” or “1” to the data according to the key bit, and the execution of the operation is controlled in the exclusive OR operation units 120a and 120b.

非線形関数器L1、L2は、非線形置換と線形変換とから構成される関数であって、排他的論理和演算部120a、120bの演算結果に対して非線形処理を行う。   The non-linear function units L1 and L2 are functions composed of non-linear replacement and linear transformation, and perform non-linear processing on the calculation results of the exclusive OR calculation units 120a and 120b.

このように、入力されたアルゴリズム鍵に基づいて、巡回シフト部N5、N6において巡回シフトを行うビット数と、排他的論理和演算部120a、120bでの演算の実施の有無を制御する演算決定部130a、130bの処理とを決定し、ラウンド関数のアルゴリズムを可変にすることによって、暗号化部13の共通鍵暗号化アルゴリズムを可変にすることができる。   As described above, based on the input algorithm key, the operation determination unit that controls the number of bits to be cyclically shifted in the cyclic shift units N5 and N6 and whether or not the exclusive OR operation units 120a and 120b perform the operation. The common key encryption algorithm of the encryption unit 13 can be made variable by determining the processing of 130a and 130b and making the round function algorithm variable.

上述したアルゴリズム可変型の共通鍵暗号化アルゴリズムを用いて、鍵暗号化装置10が128ビット級の安全性を有する場合の暗号化部13における暗号化処理について、図4を用いて説明する。なお、鍵長およびブロック長が256ビットであって、アルゴリズム可変型の共通鍵暗号化アルゴリズムを用いる。   An encryption process in the encryption unit 13 when the key encryption device 10 has 128-bit class security using the algorithm variable type common key encryption algorithm described above will be described with reference to FIG. Note that the key length and block length are 256 bits, and an algorithm variable type common key encryption algorithm is used.

鍵暗号化装置10が128ビット級の安全性を有するので、対象鍵は128ビットであるが、暗号化部13の共通鍵暗号化アルゴリズムの鍵長およびブロック長は256ビットであるので、対象鍵は、0でパディングし256ビットとする。そして、256ビットの対象鍵を、暗号化部13に入力する。暗号化部13は、任意長のアルゴリズム鍵により共通鍵暗号化アルゴリズムを決定し、決定された共通鍵暗号化アルゴリズムで鍵暗号化鍵を用いて256ビットの対象鍵を暗号化し、256ビットの暗号文1を生成する。   Since the key encryption device 10 has 128-bit class security, the target key is 128 bits, but the key length and block length of the common key encryption algorithm of the encryption unit 13 are 256 bits. Is padded with 0 to 256 bits. Then, the 256-bit target key is input to the encryption unit 13. The encryption unit 13 determines a common key encryption algorithm using an algorithm key having an arbitrary length, encrypts a 256-bit target key using the determined common key encryption algorithm, and uses a 256-bit encryption Generate sentence 1.

一方、固定長データには、対象鍵から生成された256ビットのデータを用いる。固定長データは、例えば、SHA−256を用いて生成された256ビットのハッシュ値である。固定長データは256ビットであるので、そのまま暗号化部13に入力する。暗号化部13は、対象鍵の場合と同様に、任意長のアルゴリズム鍵により共通鍵暗号化アルゴリズムを決定し、決定した共通鍵暗号化アルゴリズムで鍵暗号化鍵を用いて256ビットの固定長データを暗号化し、256ビットの暗号文2を生成する。   On the other hand, 256-bit data generated from the target key is used as fixed-length data. The fixed length data is, for example, a 256-bit hash value generated using SHA-256. Since the fixed-length data is 256 bits, it is input to the encryption unit 13 as it is. As in the case of the target key, the encryption unit 13 determines a common key encryption algorithm using an arbitrary-length algorithm key, and uses the determined common key encryption algorithm to use 256-bit fixed-length data using the key encryption key. Is encrypted and 256-bit ciphertext 2 is generated.

次に、アルゴリズム可変型の共通鍵暗号化アルゴリズムを用いて、鍵暗号化装置10が256ビット級の安全性を有する場合の暗号化部13における暗号化処理について、図5を用いて説明する。この場合、対象鍵は256ビットであるので、そのまま暗号化部13に入力する。そして、暗号化部13は、任意長のアルゴリズム鍵により共通鍵暗号化アルゴリズムを決定し、決定した共通鍵暗号化アルゴリズムで鍵暗号化鍵を用いて256ビットの暗号文3を生成する。   Next, encryption processing in the encryption unit 13 when the key encryption device 10 has 256-bit class security using a variable algorithm type common key encryption algorithm will be described with reference to FIG. In this case, since the target key is 256 bits, it is input to the encryption unit 13 as it is. Then, the encryption unit 13 determines a common key encryption algorithm using an algorithm key having an arbitrary length, and generates a 256-bit ciphertext 3 using the key encryption key using the determined common key encryption algorithm.

一方、固定長データには、対象鍵から生成された512ビットのデータを用いる。固定長データは、例えば、SHA−512を用いて生成された512ビットのハッシュ値である。暗号化部13は、固定長データが512ビットであるので、256ビットずつ暗号化を行う。具体的には、暗号化部13は、任意長のアルゴリズム鍵により共通化暗号化アルゴリズムが決定し、決定した共通化暗号化アルゴリズムで鍵暗号化鍵を用いて、固定長データを256ビットずつ暗号化し、256ビットの暗号文4および暗号文5を生成する。   On the other hand, 512-bit data generated from the target key is used as fixed-length data. The fixed length data is, for example, a 512-bit hash value generated using SHA-512. Since the fixed-length data is 512 bits, the encryption unit 13 performs encryption by 256 bits. Specifically, the encryption unit 13 determines a common encryption algorithm using an algorithm key having an arbitrary length, and encrypts fixed-length data 256 bits at a time using the key encryption key based on the determined common encryption algorithm. And 256-bit ciphertext 4 and ciphertext 5 are generated.

<鍵暗号化処理>
図6は、本実施形態に係る鍵暗号化装置10における鍵暗号化処理フローを示す図である。鍵暗号化装置10に、対象鍵が入力されると処理が開始する。
<Key encryption processing>
FIG. 6 is a diagram showing a key encryption processing flow in the key encryption device 10 according to the present embodiment. When the target key is input to the key encryption device 10, the process starts.

まず、ステップS1において、固定長データ算出部11は、一方向性関数を用いて、対象鍵から固定長データを算出する。   First, in step S1, the fixed length data calculation unit 11 calculates fixed length data from the target key using a one-way function.

次に、ステップS2において、結合部12は、ステップS1で算出された固定長データを、対象鍵に結合する。   Next, in step S2, the combining unit 12 combines the fixed length data calculated in step S1 with the target key.

次に、ステップS3において、暗号化部13は、ステップS2で固定長データが結合された対象鍵を、鍵暗号化鍵を用いて共通鍵暗号化アルゴリズムで暗号化して、鍵暗号化データを生成する。   Next, in step S3, the encryption unit 13 encrypts the target key combined with the fixed-length data in step S2 with a common key encryption algorithm using the key encryption key to generate key encrypted data. To do.

<鍵復号装置の機能構成>
図7は、本実施形態に係る鍵復号装置20の機能構成を示す図である。鍵復号装置20は、上述した鍵暗号化装置10で暗号化された鍵暗号化データを復号して、対象鍵を取得する。鍵復号装置20は、図7に示すように、復号部21と、固定長データ算出部22と、検証部23とから構成される。
<Functional configuration of key decryption device>
FIG. 7 is a diagram illustrating a functional configuration of the key decryption apparatus 20 according to the present embodiment. The key decryption device 20 decrypts the key encrypted data encrypted by the key encryption device 10 described above, and acquires the target key. As illustrated in FIG. 7, the key decryption device 20 includes a decryption unit 21, a fixed length data calculation unit 22, and a verification unit 23.

復号部21は、鍵暗号化データを、鍵暗号化鍵を用いて共通鍵暗号化アルゴリズムで復号する。復号された鍵暗号化データは、固定長データと結合された対象鍵である。復号部21は、共通鍵暗号化アルゴリズムとしてAES等を用いることができる。また、復号部21は、出願人が先に出願した特願2011−30553号に記載の方法を適用し、アルゴリズムが変化するアルゴリズム可変型の共通鍵暗号化アルゴリズムを用いることもできる。特願2011−30553号に記載の方法を適用した復号部21は、図3を用いて説明した特願2011−30553号に記載の方法を適用した暗号化部13の巡回シフト部N5、N6の巡回方向を逆方向とし、非線形関数器L1、L2の非線形関数に逆関数を用いることにより実現することができる。   The decrypting unit 21 decrypts the key encrypted data using a common key encryption algorithm using the key encryption key. The decrypted key-encrypted data is a target key combined with fixed-length data. The decryption unit 21 can use AES or the like as a common key encryption algorithm. In addition, the decryption unit 21 can use a method described in Japanese Patent Application No. 2011-30553 filed earlier by the applicant and use an algorithm variable type common key encryption algorithm in which the algorithm changes. The decryption unit 21 to which the method described in Japanese Patent Application No. 2011-30553 is applied, the cyclic shift units N5 and N6 of the encryption unit 13 to which the method described in Japanese Patent Application No. 2011-30553 described with reference to FIG. It can be realized by using the inverse function as the non-linear function of the non-linear function units L1 and L2 with the circulation direction as the reverse direction.

固定長データ算出部22は、復号された鍵暗号化データから、対象鍵を抽出する。具体的には、対象鍵の所定の位置に固定長データは結合されているので、固定長データの所定の位置から対象鍵の位置を求め、求められた対象鍵の位置と対象鍵の鍵長とに基づいて、復号された鍵暗号化データから対象鍵自体を抽出する。例えば、対象鍵の先頭に固定長データが結合されている場合には、復号された鍵暗号化データの末尾から対象鍵の鍵長分のデータを復号された鍵暗号化データから取得することで、対象鍵自体を取得することができる。   The fixed length data calculation unit 22 extracts the target key from the decrypted key encryption data. Specifically, since fixed length data is combined with a predetermined position of the target key, the position of the target key is obtained from the predetermined position of the fixed length data, and the obtained position of the target key and the key length of the target key are obtained. And the target key itself is extracted from the decrypted key-encrypted data. For example, when fixed-length data is combined at the beginning of the target key, data for the key length of the target key is obtained from the decrypted key-encrypted data from the end of the decrypted key-encrypted data. The target key itself can be acquired.

そして、固定長データ算出部22は、抽出した対象鍵から、一方向性関数を用いて固定長データを算出する。一方向性関数には、鍵暗号化装置10の固定長データ算出部11と同様に、ハッシュ関数やMAC関数を用いることができる。鍵復号装置20の固定長データ算出部22も、鍵暗号化装置10の固定長データ算出部11同様に、図3を用いて説明した、出願人が先に出願した特願2011−239651号に記載の方法を適用し、アルゴリズムが変化するアルゴリズム可変型とすることができる。   Then, the fixed length data calculation unit 22 calculates fixed length data from the extracted target key using a one-way function. As the one-way function, a hash function or a MAC function can be used as in the fixed-length data calculation unit 11 of the key encryption device 10. Similarly to the fixed length data calculation unit 11 of the key encryption device 10, the fixed length data calculation unit 22 of the key decryption device 20 is also disclosed in Japanese Patent Application No. 2011-239651 filed by the applicant previously described with reference to FIG. By applying the described method, an algorithm variable type in which the algorithm changes can be obtained.

検証部23は、復号された鍵暗号化データのうち対象鍵を除いた残りのデータ、すなわち、復号された鍵暗号化データに含まれる固定長データと、固定長データ算出部22で算出された固定長データとを比較し、復号された鍵暗号化データの対象鍵の正当性を検証する。両者が一致し、対象鍵の正当性が確認できた場合には、対象鍵を出力する。一方、両者が一致せず、対象鍵の正当性が確認できない場合には、エラーを出力する。   The verification unit 23 calculates the remaining data excluding the target key from the decrypted key encrypted data, that is, the fixed length data included in the decrypted key encrypted data and the fixed length data calculation unit 22. The validity of the target key of the decrypted key-encrypted data is verified by comparing with the fixed-length data. If both match and the validity of the target key is confirmed, the target key is output. On the other hand, if they do not match and the validity of the target key cannot be confirmed, an error is output.

<鍵復号処理>
図8は、本実施形態に係る鍵復号装置20における鍵復号処理フローを示す図である。鍵暗号化データが入力されると処理が開始する。
<Key decryption process>
FIG. 8 is a diagram showing a key decryption process flow in the key decryption apparatus 20 according to the present embodiment. Processing starts when key-encrypted data is input.

まず、ステップS11において、復号部21は、鍵暗号化データを、鍵暗号化鍵を用いて共通鍵暗号化アルゴリズムで復号する。   First, in step S11, the decryption unit 21 decrypts the key encrypted data using the common key encryption algorithm using the key encryption key.

次に、ステップS12において、固定長データ算出部22は、ステップS11で復号された鍵暗号化データから対象鍵を抽出し、抽出した対象鍵から一方向性関数を用いて固定長データを算出する。   Next, in step S12, the fixed length data calculation unit 22 extracts a target key from the key encrypted data decrypted in step S11, and calculates fixed length data from the extracted target key using a one-way function. .

次に、ステップS13において、検証部23は、復号された鍵暗号化データに含まれる固定長データと、ステップS12で算出された固定長データとを比較し、対象鍵の正当性を検証する。両者が一致し、対象鍵の正当性が確認できた場合には、ステップS14に処理をすすめる。一方、両者が一致せず、対象鍵の正当性が確認できない場合には、ステップS15に処理を進める   Next, in step S13, the verification unit 23 compares the fixed length data included in the decrypted key encrypted data with the fixed length data calculated in step S12, and verifies the validity of the target key. If they match and the validity of the target key is confirmed, the process proceeds to step S14. On the other hand, if they do not match and the validity of the target key cannot be confirmed, the process proceeds to step S15.

次に、ステップS14において、検証部23は、ステップS12で抽出した対象鍵を出力する。   Next, in step S14, the verification unit 23 outputs the target key extracted in step S12.

次に、ステップS15において、検証部23は、エラーを出力する。   Next, in step S15, the verification unit 23 outputs an error.

以上説明したように、本実施形態によれば、暗号化対象の鍵の正当性を検証するために行っていた共通鍵暗号化アルゴリズムによる暗号化/復号の処理を一方向性関数で行うことによって、処理回数を減らし、従来と比較して処理を効率化した鍵暗号化アルゴリズムを適用した鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラムを提供することができる。また、一方向性関数の処理もしくは暗号化処理の少なくとも1つのアルゴリズムを可変にすることにより、鍵暗号化アルゴリズムを可変にすることができる。   As described above, according to the present embodiment, the encryption / decryption processing by the common key encryption algorithm, which has been performed for verifying the validity of the encryption target key, is performed by a one-way function. It is possible to provide a key encryption device, a key decryption device, a key encryption method, a key decryption method, and a program to which a key encryption algorithm that reduces the number of processing times and makes the processing more efficient than the conventional method is applied. Also, the key encryption algorithm can be made variable by making at least one algorithm of the one-way function processing or encryption processing variable.

なお、鍵暗号化装置および鍵復号装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを鍵暗号化装置および鍵復号装置に読み込ませ、実行することによって本発明の鍵暗号化装置および鍵復号装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   The processing of the key encryption device and the key decryption device is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by the key encryption device and the key decryption device and executed. The key encryption device and the key decryption device can be realized. The computer system here includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.

10 鍵暗号化装置
11 固定長データ算出部
12 結合部
13 暗号化部
DESCRIPTION OF SYMBOLS 10 Key encryption apparatus 11 Fixed length data calculation part 12 Connection part 13 Encryption part

Claims (12)

データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置であって、
暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する固定長データ算出手段と、
算出された固定長データと前記データ鍵とを結合する結合手段と、
前記算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する暗号化手段と、
を備えることを特徴とする鍵暗号化装置。
A key encryption device for encrypting a data key used for data encryption,
Fixed-length data calculating means for calculating fixed-length data used for verifying the validity of the decrypted data key from the data key using a one-way function when decrypting the encrypted data key;
Coupling means for coupling the calculated fixed-length data and the data key;
An encryption means for encrypting a data key combined with the calculated fixed-length data with a key encryption key and generating key-encrypted data;
A key encryption device comprising:
前記一方向性関数が、ハッシュ関数またはMAC関数であることを特徴とする請求項1に記載の鍵暗号化装置。   The key encryption apparatus according to claim 1, wherein the one-way function is a hash function or a MAC function. 前記暗号化手段が、所定の処理を複数回実行し、前記算出された固定長データと結合されたデータ鍵から前記鍵暗号化データを生成するラウンド関数から構成され、
前記ラウンド関数が、入力されたアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする請求項1または2に記載の鍵暗号化装置。
The encryption means includes a round function that executes a predetermined process a plurality of times and generates the key encrypted data from a data key combined with the calculated fixed-length data,
The key encryption apparatus according to claim 1, wherein the round function includes a portion where the algorithm is variable according to bit information of the input algorithm key.
前記固定長データ算出手段が、
前記データ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行するラウンド関数処理手段と、
前記ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、前記固定長データを生成する終端処理手段と、
を備え、
前記ラウンド関数処理手段が、入力された第2のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする請求項1から3のいずれか1項に記載の鍵暗号化装置。
The fixed length data calculation means is
Round function processing means for executing a predetermined process a plurality of times for each of a plurality of data groups obtained by dividing the data key into predetermined bits;
Termination processing means for performing exclusive OR operation on a plurality of data groups processed by the round function processing means, and generating the fixed-length data;
With
4. The key encryption device according to claim 1, wherein the round function processing unit includes a portion in which the algorithm is variable according to bit information of the input second algorithm key. 5. .
データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置であって、
前記鍵暗号化データを前記鍵暗号化鍵で復号する復号手段と、
復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する固定長データ算出手段と、
前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する検証手段と、
を備えることを特徴とする鍵復号装置。
Key encryption in which a data key used for data encryption and fixed-length data that is combined with a predetermined position of the data key and used to verify the validity of the data key are encrypted with a key encryption key A key decryption device for decrypting data,
Decryption means for decrypting the key encrypted data with the key encryption key;
From the decrypted key encrypted data, the data key is extracted based on the position of the fixed-length data and the key length of the data key, and the fixed-length data is converted from the extracted data key using a one-way function. Fixed length data calculating means for calculating;
Verification means for comparing the remaining data excluding the extracted data key in the decrypted key-encrypted data with the calculated fixed-length data and verifying the validity of the extracted data key When,
A key decryption device comprising:
前記一方向性関数が、ハッシュ関数またはMAC関数であることを特徴とする請求項5に記載の鍵復号装置。   The key decryption apparatus according to claim 5, wherein the one-way function is a hash function or a MAC function. 前記復号手段が、所定の処理を複数回実行し、前記固定長データが前記所定の位置に結合されたデータ鍵を前記鍵暗号化データから生成するラウンド関数から構成され、
前記ラウンド関数が、入力された第3のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする請求項5または6に記載の鍵復号装置。
The decryption means includes a round function that executes a predetermined process a plurality of times and generates a data key in which the fixed-length data is combined at the predetermined position from the key-encrypted data,
The key decryption apparatus according to claim 5 or 6, wherein the round function has a portion in which the algorithm varies according to bit information of the input third algorithm key.
前記固定長データ算出手段が、
前記抽出されたデータ鍵を所定ビット毎に区切った複数のデータ群それぞれに、所定の処理を複数回実行するラウンド関数処理手段と、
前記ラウンド関数処理手段で処理が実行された複数のデータ群に対して排他的論理和演算を実行し、前記固定長データを生成する終端処理手段と、
を備え、
前記ラウンド関数処理手段が、入力された第4のアルゴリズム鍵のビット情報に応じてアルゴリズムが可変する部分を有することを特徴とする請求項5から7のいずれか1項に記載の鍵復号装置。
The fixed length data calculation means is
Round function processing means for executing a predetermined process a plurality of times for each of a plurality of data groups obtained by dividing the extracted data key into predetermined bits;
Termination processing means for performing exclusive OR operation on a plurality of data groups processed by the round function processing means, and generating the fixed-length data;
With
8. The key decryption device according to claim 5, wherein the round function processing unit includes a portion in which the algorithm varies according to bit information of the input fourth algorithm key. 9.
固定長データ算出手段と、結合手段と、暗号化手段とを備え、データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置における鍵暗号化方法であって、
前記固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する第1のステップと、
前記結合手段が、算出された固定長データと前記データ鍵とを結合する第2のステップと、
前記暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する第3のステップと、
を含むことを特徴とする鍵暗号化方法。
A key encryption method in a key encryption apparatus, comprising a fixed length data calculation means, a combination means, and an encryption means, and encrypts a data key used for data encryption,
The fixed-length data calculation means calculates fixed-length data used for verifying the validity of the decrypted data key using the one-way function when decrypting the encrypted data key. A first step;
A second step in which the combining means combines the calculated fixed-length data and the data key;
A third step in which the encryption means encrypts a data key combined with the calculated fixed-length data with a key encryption key, and generates key-encrypted data;
A key encryption method comprising:
復号手段と、固定長データ算出手段と、検証手段とを備え、データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置における鍵復号方法であって、
前記復号手段が、前記鍵暗号化データを前記鍵暗号化鍵で復号する第1のステップと、
前記固定長データ算出手段が、復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する第2のステップと、
前記検証手段が、前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する第3のステップと、
を含むことを特徴とする鍵復号方法。
A decryption unit, a fixed-length data calculation unit, and a verification unit, coupled to a data key used for data encryption and a predetermined position of the data key, for verifying the validity of the data key; A key decryption method in a key decryption device for decrypting key-encrypted data obtained by encrypting fixed-length data to be used with a key encryption key,
A first step in which the decryption means decrypts the key encrypted data with the key encryption key;
The fixed-length data calculation means extracts the data key from the decrypted key-encrypted data based on the position of the fixed-length data and the key length of the data key, and uses the one-way function from the extracted data key A second step of calculating fixed length data using
The verification means compares the remaining data excluding the extracted data key in the decrypted key-encrypted data with the calculated fixed-length data, and the validity of the extracted data key A third step of verifying
Including a key decryption method.
固定長データ算出手段と、結合手段と、暗号化手段とを備え、データの暗号化に用いたデータ鍵を暗号化する鍵暗号化装置における鍵暗号化方法をコンピュータに実行させるプログラムであって、
前記固定長データ算出手段が、暗号化されたデータ鍵の復号時に、復号されたデータ鍵の正当性を検証するために用いる固定長データを、前記データ鍵から一方向性関数を用いて算出する第1のステップと、
前記結合手段が、算出された固定長データと前記データ鍵とを結合する第2のステップと、
前記暗号化手段が、算出された固定長データが結合されたデータ鍵を鍵暗号化鍵で暗号化し、鍵暗号化データを生成する第3のステップと、
をコンピュータに実行させるプログラム。
A program for causing a computer to execute a key encryption method in a key encryption device that includes a fixed length data calculation unit, a combination unit, and an encryption unit, and encrypts a data key used for data encryption,
The fixed-length data calculation means calculates fixed-length data used for verifying the validity of the decrypted data key using the one-way function when decrypting the encrypted data key. A first step;
A second step in which the combining means combines the calculated fixed-length data and the data key;
A third step in which the encryption means encrypts a data key combined with the calculated fixed-length data with a key encryption key, and generates key-encrypted data;
A program that causes a computer to execute.
復号手段と、固定長データ算出手段と、検証手段とを備え、データの暗号化に用いたデータ鍵と、当該データ鍵の所定の位置に結合され、当該データ鍵の正当性を検証するために用いる固定長データとを鍵暗号化鍵で暗号化した鍵暗号化データを復号する鍵復号装置における鍵復号方法をコンピュータに実行させるプログラムであって、
前記復号手段が、前記鍵暗号化データを前記鍵暗号化鍵で復号する第1のステップと、
前記固定長データ算出手段が、復号された鍵暗号化データから、前記固定長データの位置および前記データ鍵の鍵長に基づいて当該データ鍵を抽出し、抽出されたデータ鍵から一方向性関数を用いて、固定長データを算出する第2のステップと、
前記検証手段が、前記復号された鍵暗号化データのうち、前記抽出されたデータ鍵を除いた残りのデータと、算出された固定長データとを比較し、前記抽出されたデータ鍵の正当性を検証する第3のステップと、
をコンピュータに実行させるプログラム。
A decryption unit, a fixed-length data calculation unit, and a verification unit, coupled to a data key used for data encryption and a predetermined position of the data key, for verifying the validity of the data key; A program that causes a computer to execute a key decryption method in a key decryption device that decrypts key-encrypted data obtained by encrypting fixed-length data to be used with a key encryption key,
A first step in which the decryption means decrypts the key encrypted data with the key encryption key;
The fixed-length data calculation means extracts the data key from the decrypted key-encrypted data based on the position of the fixed-length data and the key length of the data key, and uses the one-way function from the extracted data key A second step of calculating fixed length data using
The verification means compares the remaining data excluding the extracted data key in the decrypted key-encrypted data with the calculated fixed-length data, and the validity of the extracted data key A third step of verifying
A program that causes a computer to execute.
JP2011285515A 2011-12-27 2011-12-27 Key encryption device, key decryption device, key encryption method, key decryption method, and program Pending JP2013134414A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011285515A JP2013134414A (en) 2011-12-27 2011-12-27 Key encryption device, key decryption device, key encryption method, key decryption method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011285515A JP2013134414A (en) 2011-12-27 2011-12-27 Key encryption device, key decryption device, key encryption method, key decryption method, and program

Publications (1)

Publication Number Publication Date
JP2013134414A true JP2013134414A (en) 2013-07-08

Family

ID=48911124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011285515A Pending JP2013134414A (en) 2011-12-27 2011-12-27 Key encryption device, key decryption device, key encryption method, key decryption method, and program

Country Status (1)

Country Link
JP (1) JP2013134414A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07177139A (en) * 1993-12-20 1995-07-14 Fujitsu Ltd Data disturbance circuit
JPH08248879A (en) * 1995-02-06 1996-09-27 Internatl Business Mach Corp <Ibm> Method and apparatus for encryption by using two keys
JP2000047580A (en) * 1998-05-29 2000-02-18 Hitachi Ltd Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device
JP2000506620A (en) * 1995-12-08 2000-05-30 ノーザン・テレコム・リミテッド Symmetric cryptography construction method using CAST design procedure
JP2007514377A (en) * 2003-12-11 2007-05-31 エーティーエム・ダイレクト・インコーポレイテッド System and method for secure information transfer
WO2010020910A2 (en) * 2008-08-19 2010-02-25 Nxp B.V. Method for generating a cipher-based message authentication code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07177139A (en) * 1993-12-20 1995-07-14 Fujitsu Ltd Data disturbance circuit
JPH08248879A (en) * 1995-02-06 1996-09-27 Internatl Business Mach Corp <Ibm> Method and apparatus for encryption by using two keys
JP2000506620A (en) * 1995-12-08 2000-05-30 ノーザン・テレコム・リミテッド Symmetric cryptography construction method using CAST design procedure
JP2000047580A (en) * 1998-05-29 2000-02-18 Hitachi Ltd Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device
JP2007514377A (en) * 2003-12-11 2007-05-31 エーティーエム・ダイレクト・インコーポレイテッド System and method for secure information transfer
WO2010020910A2 (en) * 2008-08-19 2010-02-25 Nxp B.V. Method for generating a cipher-based message authentication code

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015007554; ROGAWAY, P. and SHRIMPTON, T.: 'Deterministic Authenticated-Encryption, A Provable-Security Treatment of the Key-Wrap Problem' Cryptology ePrint Archive Report 2006/221, 20070820 *
JPN6015007555; Menezes, A. J. et al.: HANDBOOK of APPLIED CRYPTOGRAPHY , 1997, p.364-368, CRC Press *

Similar Documents

Publication Publication Date Title
AU2016218981B2 (en) Confidential communication management
Bernstein et al. The security impact of a new cryptographic library
Meyer et al. SoK: Lessons learned from SSL/TLS attacks
WO2016027454A1 (en) Authentication encryption method, authentication decryption method, and information-processing device
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
RU2005104953A (en) EFFECTIVE ENCRYPTION AND AUTHENTICATION FOR DATA PROCESSING SYSTEMS
Ristić Bulletproof SSL and TLS
Günther et al. A formal treatment of multi-key channels
Berndt et al. ASAP: algorithm substitution attacks on cryptographic protocols
JP5324813B2 (en) Key generation apparatus, certificate generation apparatus, service provision system, key generation method, certificate generation method, service provision method, and program
Cordova et al. Comparative analysis on the performance of selected security algorithms in cloud computing
Banoth et al. Classical and Modern Cryptography for Beginners
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
Nivethini et al. Data security using blockchain technology
JP6631989B2 (en) Encryption device, control method, and program
Bai et al. Ensuring Security at Data Level in Cloud using Multi Cloud Architecture
JP2013134414A (en) Key encryption device, key decryption device, key encryption method, key decryption method, and program
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP2010056848A (en) Encryption apparatus, encryption method, program, and program storage medium
WO2023199379A1 (en) Information processing device, method, and program
KR20110042419A (en) Mode of operation adapted to multimedia environments
JP5136234B2 (en) Decryption program, decryption apparatus, decryption method, and encryption system
Madden Misuse-resistant cryptography for jose/jwt
Haunts et al. Symmetric Encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150630