














本発明は、暗号処理装置、および暗号鍵生成方法、並びにコンピュータ・プログラムに関する。さらに詳細には、様々なデータの暗号化に適用する異なる暗号鍵の生成処理を効率的に実行することを可能とした暗号処理装置、および暗号鍵生成方法、並びにコンピュータ・プログラムに関する。 The present invention relates to an encryption processing device, an encryption key generation method, and a computer program. More particularly, the present invention relates to an encryption processing apparatus, an encryption key generation method, and a computer program that can efficiently execute different encryption key generation processes applied to encryption of various data.
昨今、ネットワーク通信、電子商取引の発展に伴い、通信におけるセキュリティ確保が重要な問題となっている。セキュリティ確保の1つの方法が暗号技術であり、現在、様々な暗号化手法を用いた通信が実際に行なわれている。 In recent years, with the development of network communication and electronic commerce, ensuring security in communication has become an important issue. One method of ensuring security is encryption technology, and currently, communication using various encryption methods is actually performed.
家庭内においても家電機器やコンピュータ、その他の周辺機器をネットワーク接続し、各機器間での通信を可能とした、いわゆるホームネットワークが浸透しつつある。ホームネットワークは、ネットワーク接続機器間で通信を行なうことにより各機器のデータ処理機能を共有することを可能とするものである。ネットワーク接続機器間のコンテンツ送受信等、ユーザに利便性・快適性を提供するものであり、今後、ますます普及することが予測される。 Even in the home, so-called home networks that allow home appliances, computers, and other peripheral devices to be connected to a network and enable communication between the devices are becoming popular. The home network makes it possible to share the data processing function of each device by communicating between the network connection devices. It provides convenience and comfort to users, such as sending and receiving content between network-connected devices, and is expected to become increasingly popular in the future.
例えば家庭内においてコンテンツサーバに格納したコンテンツをホームネットワークに接続された様々な機器において、再生する場合、暗号化コンテンツおよびその復号に適用する鍵を設定することが必要となる。 For example, when content stored in a content server in a home is played on various devices connected to the home network, it is necessary to set an encrypted content and a key applied to the decryption thereof.
しかし、コンテンツサーバに格納するコンテンツは時間とともに増大するが、これらの全てのコンテンツを1つの鍵を適用して暗号化して格納した場合、その1つの鍵の漏洩によって全ての格納コンテンツが復号されてしまい、第三者によって不正アクセスされた場合、コンテンツ漏洩の問題が大きくなってしまう。 However, the content stored in the content server increases with time, but when all these contents are encrypted and stored using one key, all stored contents are decrypted due to leakage of that one key. Thus, when unauthorized access is made by a third party, the problem of content leakage becomes large.
そこで、コンテンツサーバに格納するコンテンツをコンテンツ毎に異なる鍵を適用して暗号化すれば、万が一1つの鍵が漏洩しても、そのコンテンツ漏洩の被害は最小限にとどめることが可能となる。さらに、各コンテンツをあるデータ単位毎に分割し、そのそれぞれを異なる鍵により暗号化すれば、被害の範囲をさらに狭めることが可能となる。 Therefore, if the content stored in the content server is encrypted by applying a different key for each content, even if one key leaks, the damage of the content leakage can be minimized. Furthermore, if each content is divided into data units and each of them is encrypted with a different key, the damage range can be further narrowed.
すなわち、図1に示すように、コンテンツサーバ100には、多数の暗号化コンテンツ(コンテンツ1,2,3・・・m)が格納され、それぞれのコンテンツに対応する暗号鍵を異なる鍵(K1,K2,K3・・・Km)として設定し、ネットワークに接続された機器101,102,103でコンテンツを利用する場合、暗号化コンテンツと、その対応鍵を転送し、ネットワーク接続機器101,102,103は、暗号化コンテンツに対応する鍵を適用した復号処理を行ってコンテンツを再生、利用するものである。That is, as shown in FIG. 1, a large number of encrypted contents (
この場合、暗号化コンテンツの生成や、暗号化コンテンツの復号処理を実行するサーバ、PC等のネットワーク接続機器を構成する情報処理装置のメモリは限られたメモリ領域であり保持可能なデータ量には限りがあるため、全ての鍵を機器内に保存するのは、メモリ領域を浪費することにつながる。そこで、機器は自身が予め保持する固定サイズの鍵情報K(マスター鍵:Kmaster)から暗号化するコンテンツに対応する複数の鍵を生成可能な構成とするのが好ましい。このような構成とすることで、コンテンツ利用時など、必要に応じてコンテンツ対応の鍵を生成して利用することができる。In this case, the memory of the information processing apparatus that constitutes the network connection device such as a server that executes generation processing of encrypted content and decryption processing of encrypted content, and a PC, etc. is a limited memory area. Since there is a limit, storing all keys in the device leads to wasted memory space. Therefore, it is preferable that the device has a configuration capable of generating a plurality of keys corresponding to the content to be encrypted from the fixed-size key information K (master key: Kmaster ) held in advance. By adopting such a configuration, it is possible to generate and use a content-corresponding key as necessary when using the content.
マスター鍵から、暗号処理によってコンテンツ対応の鍵を生成するために適用可能なアルゴリズムとしては、共通鍵ブロック暗号方式がある。 As an algorithm applicable for generating a content-corresponding key from a master key by cryptographic processing, there is a common key block cryptosystem.
共通鍵ブロック暗号アルゴリズムを用いて機器自身が予め保持する固定サイズの鍵情報K(マスター鍵:Kmaster)から、暗号化するコンテンツ等の各種データ毎に対応する複数の鍵を生成する構成を考える。なお、以下では、機器自身が予め保持する固定サイズの鍵情報K(マスター鍵:Kmaster)に基づいて生成する鍵(K1,K2,・・Km)を適用した暗号化あるいは復号処理を実行するコンテンツやデータまたはそれらをあるデータ単位ごとに分割したものを分割領域データと称する。分割領域データには音楽、画像データ等のコンテンツ、ユーザデータ、プログラムなどの様々なデータが含まれる。Consider a configuration in which a plurality of keys corresponding to various data such as contents to be encrypted are generated from fixed-size key information K (master key: Kmaster ) held in advance by the device itself using a common key block encryption algorithm. . In the following, encryption or decryption processing using keys (K1 , K2 ,... Km ) generated based on fixed-size key information K (master key: Kmaster ) held in advance by the device itself. Content and data for executing the above, or data obtained by dividing the content or data into data units is referred to as divided area data. The divided area data includes various data such as contents such as music and image data, user data, and programs.
鍵生成に共通鍵ブロック暗号アルゴリズムを利用する場合の処理について、図2を参照して説明する。 Processing when the common key block encryption algorithm is used for key generation will be described with reference to FIG.
(1)まず機器が保有、または乱数等に基づいて生成する初期値(IV:Initial Value)202を機器の保有するマスター鍵Kmaster201により暗号化し、得られた暗号文を分割領域データ暗号化用の第一の鍵K1,211−1とする。
(2)さらに(1)のプロセスで得られた暗号文としての第一の鍵K1,211−1を再びマスター鍵Kmasterにより暗号化することで次の分割領域データ暗号化用の鍵K2,211−2を得る。
(3)上記(2)の処理を繰り返すことにより任意個(m個)の鍵K1,211−1〜Km,211−mを生成する。(1) First, an initial value (IV: Initial Value) 202 held by the device or generated based on a random number or the like is encrypted with a
(2) Further, the first key K1 , 211-1 as the ciphertext obtained in the process of (1) is encrypted again with the master key Kmaster, whereby the next divided area data encryption key K2 , 211-2.
(3) By repeating the process (2) above, arbitrary (m) keys K1 , 211-1 to Km , 211-m are generated.
鍵K1,211−1〜鍵Km,211−mは、分割領域データ1,212−1〜分割領域データm,212−mの各々に対応する暗号鍵とされる。The keys K1 , 211-1 to Km and 211-m are encryption keys corresponding to the divided
このとき用いられる共通鍵ブロック暗号アルゴリズムとしては、共通鍵暗号方式の代表的な方式である米国連邦標準暗号方式としてのDES(Data Encryption Standard)、あるいはAES(Advanced Encryption Standard)のように、単独の共通鍵ブロック暗号を利用する場合と、トリプルDESの様に共通鍵ブロック暗号を多重に利用することが可能である。多重の暗号化を行うことによりセキュリティレベルを向上させることが可能である。 The common key block cipher algorithm used at this time is DES (Data Encryption Standard) or AES (Advanced Encryption Standard), which is a typical common key cryptosystem. When the common key block cipher is used, it is possible to use multiple common key block ciphers as in triple DES. It is possible to improve the security level by performing multiple encryption.
図3にトリプルDESの適用による暗号鍵の生成処理例を示す。
(1)まず機器が保有、または乱数等に基づいて生成する初期値(IV:Initial Value)305を機器の保有する第1マスター鍵Kmaster1,301により暗号化し出力1を生成する。
(2)さらに(1)のプロセスで得られた出力1を第2マスター鍵Kmaster2,302により復号することで次の出力2を生成する。
(3)さらに(2)のプロセスで得られた出力2を第3マスター鍵Kmaster3,303により暗号化することで分割領域データ1,312に対応する暗号処理用の鍵であるデータ暗号鍵K1,311を得る。FIG. 3 shows an example of encryption key generation processing by applying triple DES.
(1) First, an initial value (IV: Initial Value) 305 held by the device or generated based on a random number or the like is encrypted with the first master key Kmaster1 , 301 held by the device to generate an
(2) Further, the
(3) Further, by encrypting the
以下、同様の処理を繰り返し、各分割領域データ暗号化用のデータ暗号鍵K2〜Kmを得る。このように、トリプルDESを適用することにより、セキュリティレベルの向上は図れるが、処理時間が増大するという問題がある。トリプルDESの場合は、シングルDESを適用した場合の3倍の時間を要する。なお、ここではトリプルDESを適用した例を示しているため、(2)において復号処理が行われているが、単独の共通鍵ブロック暗号を複数回利用する場合には、全て暗号化処理としてもよい。Thereafter, the same processing is repeated to obtain data encryption keys K2 to Km for encrypting each divided area data. In this way, by applying Triple DES, the security level can be improved, but there is a problem that the processing time increases. In the case of triple DES, it takes three times as long as when single DES is applied. In addition, since the example which applied triple DES is shown here, the decryption process is performed in (2). However, in the case where a single common key block cipher is used a plurality of times, all the encryption processes may be performed. Good.
一般に、鍵生成用の共通鍵ブロック暗号アルゴリズムとしてn重に多重化した暗号アルゴリズムを利用した場合、鍵生成にかかる演算時間はAESやDES暗号化処理を単独で利用する場合と比較してn倍となる。 In general, when an n-fold multiplexed encryption algorithm is used as a common key block encryption algorithm for key generation, the computation time required for key generation is n times that when AES or DES encryption processing is used alone. It becomes.
さらに、上述したn重暗号化及び復号処理(以下、単に暗号処理という)によって生成した複数の鍵を適用した分割データ(分割領域データ)に対する暗号処理についても、トリプルDESの様に例えばn重に多重化した暗号アルゴリズムを利用したとすると、鍵生成処理とデータ暗号化処理の総処理時間としての演算時間はn×n倍となり処理コストが著しく増大してしまう。 Furthermore, for encryption processing on divided data (divided area data) to which a plurality of keys generated by the above-described n-fold encryption and decryption processing (hereinafter simply referred to as encryption processing) is applied, for example, n-fold like triple DES. If the multiplexed encryption algorithm is used, the calculation time as the total processing time of the key generation processing and the data encryption processing is n × n times, and the processing cost is remarkably increased.
従来処理方式に従った、機器自身が予め保持する固定サイズの鍵情報K(マスター鍵:Kmaster)から暗号化対象となる分割領域データに対応する複数の鍵を生成する処理シーケンス例について、図4の暗号処理構成図、図5に示すフローチャートに従って説明する。FIG. 7 is a diagram showing an example of a processing sequence for generating a plurality of keys corresponding to the divided area data to be encrypted from fixed-size key information K (master key: Kmaster ) held in advance by the device according to the conventional processing method. 4 will be described with reference to the block diagram of FIG. 4 and the flowchart shown in FIG.
図4は、共通鍵ブロック暗号アルゴリズムに従って機器自身が予め保持する固定サイズの鍵情報K(マスター鍵:Kmaster)から暗号化する領域(分割領域データ)に対応する複数の鍵を生成する処理を説明する図である。図5はこの複数鍵の生成処理の手順を説明するフロー図である。FIG. 4 shows a process of generating a plurality of keys corresponding to an area to be encrypted (divided area data) from fixed-size key information K (master key: Kmaster ) held in advance by the device itself according to the common key block encryption algorithm. It is a figure explaining. FIG. 5 is a flowchart for explaining the procedure of the multi-key generation process.
各データの定義は、以下の通りである。
Kmaster:鍵生成用の秘密情報
IV :鍵生成時の初期値
x :分割領域データの個数
i :分割領域データ固有の番号
Eb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズム
kb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムのブロックのビッ Ki :i番目の分割領域データを暗号化するための鍵(i=1,2,…,x),|Ki|=kb
ト長(kb≧mb)
Eg :鍵生成用の共通鍵ブロック暗号アルゴリズム
kg :鍵生成用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mg :鍵生成用の共通鍵ブロック暗号アルゴリズムのブロックのビット長(kg≧mg)
t :kb/mg以上の最小の整数
TruncL(z1,…,zt):t個の入力zi(1<i<t)から、Lビットの値を出力する関数
‖ :ビットの連接
E(key,msg):共通鍵ブロック暗号アルゴリズムEにおける鍵(key)による平文(msg)の暗号文The definition of each data is as follows.
Kmaster : secret information for key generation IV: initial value at the time of key generation x: number of divided area data i: number specific to divided area data Eb : common key block cipher algorithm for dividing area data encryption kb : Bit length of the key of the common key block encryption algorithm for divided area data encryption mb : Bit of the block of the common key block encryption algorithm for divided area data encryption Ki : To encrypt the i-th divided area data Keys (i = 1, 2,..., X), | Ki | = kb
G length (kb ≧ mb )
Eg : Common key block cipher algorithm for key generation kg : Bit length of key of common key block cipher algorithm for key generation mg : Bit length of block of common key block cipher algorithm for key generation (kg ≧mg )
t: smallest integer greater than or equal to kb /mg TruncL (z1 ,..., zt ): Function that outputs L-bit value from t inputs zi (1 <i <t) ビ ッ ト: bit Concatenation E (key, msg): plaintext (msg) ciphertext with the key (key) in the common key block cipher algorithm E
各分割領域データを各々異なる鍵を用いて共通鍵ブロック暗号Ebにより暗号化する場合、複数の鍵が必要となる。これらの鍵を予め機器内に存在するマスター鍵としての秘密情報Kmasterから共通鍵ブロック暗号Egを利用して生成する。例えば図4に示す鍵生成ブロック351〜35xによって複数(x個)の暗号鍵を生成する。When each divided area data is encrypted by the common key block cipherEb using different keys, a plurality of keys are required. These keys are generated in advance from secret information Kmaster as a master key existing in the device by using a common key block cipher Eg . For example, a plurality of (x) encryption keys are generated by the
図5に示す処理シーケンスに従って各分割領域データ用の鍵Ki(i=1,…,x)を生成する。機器は、予めメモリに初期値IV(mbビット)、マスター鍵Kmaster(kgビット)を有し、暗号処理を実行する鍵生成処理部にこれらの値を入力して以下の処理を行う。Keys Ki (i = 1,..., X) for each divided area data are generated according to the processing sequence shown in FIG. The device has an initial value IV (mb bits) and a master key Kmaster (kg bits) in the memory in advance, and inputs these values into a key generation processing unit that executes cryptographic processing, and performs the following processing. .
ステップS101において、M0=IV(初期値)とし、ステップS102において、分割領域データの識別値としてのiをi=0と設定し、ステップS103において、鍵生成に必要となるMの識別子であるsをs=0とする初期設定を行う。In step S101, M0 = IV (initial value) is set. In step S102, i is set as i = 0 as the identification value of the divided area data. In step S103, the identifier of M necessary for key generation. Initial setting is made so that s = 0.
ステップS104において、iにi+1を代入し、ステップS105において、sにs+1を代入する。 In step S104, i + 1 is substituted for i, and in step S105, s + 1 is substituted for s.
ステップS106において、以下の計算により、Msを生成する。
Ms=Eg(Kmaster,Ms−1)In step S106, Ms is generated by the following calculation.
Ms = Eg (Kmaster , Ms-1 )
Eg(Ka,Mb)は、鍵KaによりメッセージMbを共通鍵ブロック暗号アルゴリズムEgを適用して暗号化する処理を意味する。上記処理は、メッセージMs−1をマスター鍵Kmasterを適用した共通鍵ブロック暗号アルゴリズムEgにより暗号化して、メッセージMsを生成する処理である。Eg (Ka , Mb ) means a process of encrypting the message Mb by applying the common key block cipher algorithm Eg with the key Ka . The above process is encrypted with a common key block cipher algorithmE g of the messageM s-1 was applied to the master keyK master, a process for generating a messageM s.
ステップS107では、t、すなわち、kb/mg以上の最小の整数tが、sを割り切るか否かを判定し、YesならばステップS108に進む。Noの場合は、ステップS105に戻り、ステップS105以下を繰り返す。In step S107, it is determined whether t, that is, the smallest integer t equal to or greater than kb /mg is divisible by s. If Yes, the process proceeds to step S108. In No, it returns to step S105 and repeats step S105 and subsequent steps.
ステップS108では、t個の値M(i−1)t+1,M(i−1)t+2,…,M(i−1)t+tを入力として、以下の式に従って、kbビットの鍵Kiを生成する。
Ki=Trunckb(M(i−1)t+1,M(i−1)t+2,…,M(i−1)t+t)At step S108, t number of
Ki = Trunkkb (M(i−1) t + 1 , M(i−1) t + 2 ,..., M(i−1) t + t )
前述したように、TruncL(z1,…,zt)は、t個の入力zi(1 < i < t)から、Lビットの値を出力する関数であり、上記式は、t個の入力:M(i−1)t+1,M(i−1)t+2,…,M(i−1)t+tから、kbビットの鍵Kiを生成する処理である。As described above, TruncL (z1 ,..., Zt ) is a function that outputs an L-bit value from t inputs zi (1 <i <t).input: M (i-1) t + 1, M (i-1)
ステップS109では、i=xならば、処理を終了する。そうでなければ、ステップS104に戻りステップS104以下を繰り返し実行する。 In step S109, if i = x, the process ends. Otherwise, the process returns to step S104 and step S104 and subsequent steps are repeatedly executed.
上述の処理手法によって、1つのマスター鍵Kmasterから複数の分割領域データ対応の暗号鍵K1〜Kxを生成することが可能である。前述したように、鍵生成処理に適用するアルゴリズムをトリプルDESのようにn重暗号処理アルゴリズムとすると、セキュリティレベルの向上は図れるが、処理時間が増大するという問題がある。トリプルDESの場合は、シングルDESを適用した場合の3倍の時間を要し、n重暗号処理によって生成した複数の鍵を適用した分割データ(分割領域データ)に対する暗号処理についても、トリプルDESの様に例えばn重に多重化した暗号アルゴリズムを利用したとすると、鍵生成処理とデータ暗号化処理の総処理時間としての演算時間はn×n倍となり処理コストが著しく増大してしまうという問題がある。By the above-described processing technique, it is possible to generate encryption keys K1 to Kx corresponding to a plurality of divided area data from one master key Kmaster . As described above, if the algorithm applied to the key generation process is an n-fold encryption algorithm such as Triple DES, the security level can be improved, but the processing time increases. In the case of triple DES, it takes three times as long as when single DES is applied, and encryption processing for divided data (divided area data) to which a plurality of keys generated by n-fold encryption processing is applied is also performed in Triple DES. For example, if an encryption algorithm multiplexed n times is used, the calculation time as the total processing time of the key generation processing and the data encryption processing is n × n times, and the processing cost is significantly increased. is there.
また、上述した従来方法ではi番目の鍵Kiを生成するためにK1,K2,…,Ki―1を全て生成する必要があり、iが大きくなればなるほど鍵生成に時間がかかりランダムアクセスに適さないというデメリットがある。In addition, in the above-described conventional method, it is necessary to generate all of K1 , K2 ,..., Ki-1 in order to generate the i-th key Ki. There is a demerit that it is not suitable for random access.
本発明は、上記問題点に鑑みてなされたものであり、分割領域データの暗号化及び復号演算にn重の多重化した共通鍵ブロック暗号アルゴリズムを利用しセキュリティレベルを向上させ、鍵生成には多重化しない共通鍵ブロック暗号アルゴリズムを利用することにより、鍵生成にかかる時間を上記の方式と比較してn分の1に短縮することが可能とするとともに、並列処理を行うことも可能な暗号処理装置、および暗号鍵生成方法、並びにコンピュータ・プログラムを提供する。 The present invention has been made in view of the above problems, and uses a common key block cipher algorithm with n-fold multiplexing for encryption and decryption operations of divided area data to improve the security level. By using a non-multiplexed common key block cipher algorithm, it is possible to reduce the time required for key generation to 1 / n compared to the above method and to perform parallel processing. A processing device, an encryption key generation method, and a computer program are provided.
また、上述したように、従来法ではi番目の鍵Kiを生成するためにK1,K2,…,Ki―1を全て生成する必要があり、iが大きくなればなるほど鍵生成に時間がかかりランダムアクセスに適さないというデメリットがあるが、本発明は、このようなデメリットを解消し、任意の分割領域データに対応する鍵を高速に生成可能とした暗号処理装置、および暗号鍵生成方法、並びにコンピュータ・プログラムを提供する。As described above, in the conventional method, it is necessary to generate all of K1 , K2 ,..., Ki-1 in order to generate the i-th key Ki , and the larger i is, the more the key generation is performed. Although there is a demerit that it takes time and is not suitable for random access, the present invention eliminates such a demerit and makes it possible to generate a key corresponding to arbitrary divided area data at high speed, and encryption key generation Methods and computer programs are provided.
本発明の第1の側面は、
暗号鍵生成処理を実行する暗号処理装置であり、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行う暗号処理部と、
複数の異なるマスター鍵を生成可能なマスター鍵対応情報を格納したメモリとを有し、
前記暗号処理部は、
前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、
前記第1のデータに対応する複数のデータ暗号鍵の構成データまたは鍵生成過程における生成データを、第2のデータに対応する複数のデータ暗号鍵の生成処理として行われる前記複数の異なるマスター鍵を個別に適用した暗号処理における各々の入力値として設定する構成を有することを特徴とする暗号処理装置にある。The first aspect of the present invention is:
A cryptographic processing device that executes cryptographic key generation processing;
An encryption processing unit for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted;
A memory storing master key correspondence information capable of generating a plurality of different master keys,
The cryptographic processing unit
Generating a plurality of data encryption keys to be applied to the multiplexed encryption process of the first data by a plurality of independent encryption processes individually applying the plurality of different master keys;
The configuration data of the plurality of data encryption keys corresponding to the first data or the generation data in the key generation process is used as the plurality of different master keys performed as the generation processing of the plurality of data encryption keys corresponding to the second data. The present invention resides in a cryptographic processing apparatus having a configuration for setting each input value in cryptographic processing applied individually.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を並列処理として実行する構成であることを特徴とする。 Furthermore, in an embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to execute, as parallel processing, a plurality of independent cryptographic processes to which the plurality of different master keys are individually applied. To do.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、前記第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵の生成において、初期値(IV)を生成し、該初期値を入力値とした暗号処理を実行する構成であることを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit generates an initial value (IV) in generating a plurality of data cryptographic keys applied to the multiplexed cryptographic processing of the first data. The encryption processing is executed using the initial value as an input value.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、複数のデータ暗号鍵各々の生成処理構成として、前段の暗号処理結果を入力として繰り返し暗号処理を実行する多段暗号処理構成を有し、前記多段暗号処理構成における最終段の暗号処理段の出力値を、異なるデータに対応するデータ暗号鍵の生成処理として行われる暗号処理における各々の入力値として設定する構成を有することを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to generate a plurality of data cryptographic keys, and to perform repeated cryptographic processing by inputting the previous cryptographic processing result as input. And the output value of the last encryption processing stage in the multi-stage encryption processing configuration is set as each input value in the encryption processing performed as the generation processing of the data encryption key corresponding to different data. Features.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、前記多段暗号処理構成における各段の出力値に基づいて前記データ暗号鍵を生成する構成であることを特徴とする。 Furthermore, in an embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to generate the data cryptographic key based on an output value at each stage in the multi-stage cryptographic processing configuration.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、複数のデータ暗号鍵各々の生成処理構成として、多段構成を持たない唯一の暗号処理を実行する暗号処理部構成を有し、前記暗号処理部からの出力値に基づいて前記データ暗号鍵を生成する構成であることを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit has a cryptographic processing unit configuration that executes a single cryptographic processing without a multistage configuration as a generation processing configuration of each of the plurality of data cryptographic keys. The data encryption key is generated based on an output value from the encryption processing unit.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、共通鍵ブロック暗号アルゴリズムに基づく暗号処理を実行する構成であることを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to perform cryptographic processing based on a common key block cryptographic algorithm.
さらに、本発明の第2の側面は、
暗号鍵生成処理を実行する暗号処理装置であり、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行う暗号処理部と、
複数の異なるマスター鍵を生成可能なマスター鍵対応情報を格納したメモリとを有し、
前記暗号処理部は、
前記複数の異なるマスター鍵を個別に適用し、予め生成したカウンタ値を入力とした独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、
前記第1のデータと異なる各データの多重化暗号処理に適用する複数のデータ暗号鍵の生成における暗号処理においては、前記カウンタ値を、順次増分した値を入力として、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を実行する構成を有することを特徴とする暗号処理装置にある。Furthermore, the second aspect of the present invention provides
A cryptographic processing device that executes cryptographic key generation processing;
An encryption processing unit for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted;
A memory storing master key correspondence information capable of generating a plurality of different master keys,
The cryptographic processing unit
Applying the plurality of different master keys individually, and generating a plurality of data encryption keys to be applied to the multiplexed encryption processing of the first data by a plurality of independent encryption processing using the previously generated counter value as input,
In encryption processing in generating a plurality of data encryption keys to be applied to multiplexed encryption processing of each data different from the first data, the counter value is sequentially incremented and the plurality of different master keys are input. A cryptographic processing apparatus having a configuration for executing a plurality of independent cryptographic processes applied individually.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を並列処理として実行する構成であることを特徴とする。 Furthermore, in an embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to execute, as parallel processing, a plurality of independent cryptographic processes to which the plurality of different master keys are individually applied. To do.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、複数のデータ暗号鍵各々の生成処理構成として、前段の暗号処理結果を入力として繰り返し暗号処理を実行する多段暗号処理構成を有することを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to generate a plurality of data cryptographic keys, and to perform repeated cryptographic processing by inputting the previous cryptographic processing result as input. It is characterized by having.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、前記多段暗号処理構成における各段の出力値に基づいて前記データ暗号鍵を生成する構成であることを特徴とする。 Furthermore, in an embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to generate the data cryptographic key based on an output value at each stage in the multi-stage cryptographic processing configuration.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、複数のデータ暗号鍵各々の生成処理構成として、多段構成を持たない唯一の暗号処理を実行する暗号処理部構成を有し、前記暗号処理部からの出力値に基づいて前記データ暗号鍵を生成する構成であることを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit has a cryptographic processing unit configuration that executes a single cryptographic processing without a multistage configuration as a generation processing configuration of each of the plurality of data cryptographic keys. The data encryption key is generated based on an output value from the encryption processing unit.
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理部は、共通鍵ブロック暗号アルゴリズムに基づく暗号処理を実行する構成であることを特徴とする。 Furthermore, in one embodiment of the cryptographic processing apparatus of the present invention, the cryptographic processing unit is configured to perform cryptographic processing based on a common key block cryptographic algorithm.
さらに、本発明の第3の側面は、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行う暗号鍵生成方法であり、
複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成するステップと、
前記第1のデータに対応する複数のデータ暗号鍵の構成データまたは鍵生成過程における生成データを、前記複数の異なるマスター鍵を個別に適用した暗号処理における各々の入力値として設定し、第2のデータに対応する複数のデータ暗号鍵の生成処理を実行するステップと、
を有することを特徴とする暗号鍵生成方法にある。Furthermore, the third aspect of the present invention provides
An encryption key generation method for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted.
Generating a plurality of data encryption keys to be applied to a multiplexed encryption process of the first data by a plurality of independent encryption processes individually applying a plurality of different master keys;
The configuration data of a plurality of data encryption keys corresponding to the first data or the generation data in the key generation process are set as respective input values in the encryption processing to which the plurality of different master keys are individually applied, and the second data Executing a process of generating a plurality of data encryption keys corresponding to the data;
There is an encryption key generation method characterized by comprising:
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を並列処理として実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further executes a plurality of independent encryption processes individually applying the plurality of different master keys as parallel processes. And
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、前記第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵の生成において、初期値(IV)を生成し、該初期値を入力値とした暗号処理を実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further includes an initial value (IV) in generating a plurality of data encryption keys applied to the multiplexed encryption processing of the first data. ) And the cryptographic process using the initial value as an input value is executed.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、複数のデータ暗号鍵各々の生成処理構成として、前段の暗号処理結果を入力として繰り返し暗号処理を実行する多段暗号処理を実行し、前記多段暗号処理における最終段の暗号処理段の出力値を、異なるデータに対応するデータ暗号鍵の生成処理として行われる暗号処理における各々の入力値として設定するステップを有することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further executes repeated encryption processing by inputting the result of the previous encryption processing as the generation processing configuration of each of the plurality of data encryption keys. Performing a multi-stage cryptographic process, and setting an output value of the final cryptographic process stage in the multi-stage cryptographic process as each input value in a cryptographic process performed as a process for generating a data encryption key corresponding to different data It is characterized by that.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、前記多段暗号処理における各段の出力値に基づいて前記データ暗号鍵を生成することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further generates the data encryption key based on an output value at each stage in the multistage encryption process.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、複数のデータ暗号鍵各々の生成処理として、多段暗号処理を適用せず唯一の暗号処理を実行し、該暗号処理出力値に基づいて前記データ暗号鍵を生成することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further performs a single encryption process without applying a multi-stage encryption process as a generation process of each of the plurality of data encryption keys, The data encryption key is generated based on the encryption processing output value.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、共通鍵ブロック暗号アルゴリズムに基づく暗号処理を実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method performs encryption processing based on a common key block encryption algorithm.
さらに、本発明の第4の側面は、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行う暗号鍵生成方法であり、
複数の異なるマスター鍵を個別に適用し、予め生成したカウンタ値を入力とした独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成するステップと、
前記第1のデータと異なる各データの多重化暗号処理に適用する複数のデータ暗号鍵の生成における暗号処理において、前記カウンタ値を、順次増分した値を入力として、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を実行するステップと、
を有することを特徴とする暗号鍵生成方法にある。Furthermore, the fourth aspect of the present invention provides
An encryption key generation method for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted.
Generating a plurality of data encryption keys to be applied to the multiplexed encryption processing of the first data by individually applying a plurality of different master keys and performing a plurality of independent encryption processings using a previously generated counter value as input; and ,
In encryption processing for generating a plurality of data encryption keys to be applied to multiplexed encryption processing of each data different from the first data, the counter values are sequentially incremented and the plurality of different master keys are individually input. Performing a plurality of independent cryptographic processes applied to
There is an encryption key generation method characterized by comprising:
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を並列処理として実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further executes a plurality of independent encryption processes individually applying the plurality of different master keys as parallel processes. And
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、複数のデータ暗号鍵各々の生成処理構成として、前段の暗号処理結果を入力として繰り返し暗号処理を実行する多段暗号処理を実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further executes repeated encryption processing by inputting the result of the previous encryption processing as the generation processing configuration of each of the plurality of data encryption keys. A multi-stage cryptographic process is executed.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、前記多段暗号処理における各段の出力値に基づいて前記データ暗号鍵を生成することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further generates the data encryption key based on an output value at each stage in the multistage encryption process.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、さらに、複数のデータ暗号鍵各々の生成処理として、多段構成を持たない唯一の暗号処理を実行し、前記暗号処理出力値に基づいて前記データ暗号鍵を生成することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method further executes a single encryption process having no multi-stage configuration as a generation process for each of the plurality of data encryption keys, The data encryption key is generated based on the processing output value.
さらに、本発明の暗号鍵生成方法の一実施態様において、前記暗号鍵生成方法は、共通鍵ブロック暗号アルゴリズムに基づく暗号処理を実行することを特徴とする。 Furthermore, in an embodiment of the encryption key generation method of the present invention, the encryption key generation method performs encryption processing based on a common key block encryption algorithm.
さらに、本発明の第5の側面は、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行うコンピュータ・プログラムであり、
複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成するステップと、
前記第1のデータに対応する複数のデータ暗号鍵の構成データまたは鍵生成過程における生成データを、前記複数の異なるマスター鍵を個別に適用した暗号処理における各々の入力値として設定し、第2のデータに対応する複数のデータ暗号鍵の生成処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。Furthermore, the fifth aspect of the present invention provides
A computer program for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted.
Generating a plurality of data encryption keys to be applied to a multiplexed encryption process of the first data by a plurality of independent encryption processes individually applying a plurality of different master keys;
The configuration data of a plurality of data encryption keys corresponding to the first data or the generation data in the key generation process are set as respective input values in the encryption processing to which the plurality of different master keys are individually applied, and the second data Executing a process of generating a plurality of data encryption keys corresponding to the data;
There is a computer program characterized by comprising:
さらに、本発明の第6の側面は、
暗号処理対象となる複数のデータ各々に対して多重化暗号処理アルゴリズムを実行するための複数の異なるデータ暗号鍵生成を行うコンピュータ・プログラムであり、
複数の異なるマスター鍵を個別に適用し、予め生成したカウンタ値を入力とした独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成するステップと、
前記第1のデータと異なる各データの多重化暗号処理に適用する複数のデータ暗号鍵の生成における暗号処理において、前記カウンタ値を、順次増分した値を入力として、前記複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。Furthermore, the sixth aspect of the present invention provides
A computer program for generating a plurality of different data encryption keys for executing a multiplexed encryption processing algorithm for each of a plurality of data to be encrypted.
Generating a plurality of data encryption keys to be applied to the multiplexed encryption processing of the first data by individually applying a plurality of different master keys and performing a plurality of independent encryption processings using a previously generated counter value as input; and ,
In encryption processing for generating a plurality of data encryption keys to be applied to multiplexed encryption processing of each data different from the first data, the counter values are sequentially incremented and the plurality of different master keys are individually input. Performing a plurality of independent cryptographic processes applied to
There is a computer program characterized by comprising:
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。 The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a computer system capable of executing various program codes, such as a CD, FD, or MO. It is a computer program that can be provided by a recording medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。 Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
本発明の構成によれば、暗号化の必要な多くのデータに対して、それぞれ異なる暗号鍵を適用したn重の多重暗号アルゴリズムを行う構成において、各データ対応の鍵をマスター鍵に基づいて生成することを可能とするとともに、複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、第1のデータに対応する複数のデータ暗号鍵の構成データまたは鍵生成過程における生成データを、複数の異なるマスター鍵を個別に適用した暗号処理における各々の入力値として設定し、第2のデータに対応する複数のデータ暗号鍵の生成処理を実行する構成とし、また、各データ対応の複数のデータ暗号鍵の生成を並列実行可能な構成としたので、効率的に複数の鍵を生成することができる。また、暗号鍵生成処理を実行する装置に格納する情報をマスター鍵、および初期値のみに限定することが可能となり、格納データの増大に伴って格納すべきデータ暗号鍵を増加させることのない構成が実現される。 According to the configuration of the present invention, a key corresponding to each data is generated based on a master key in a configuration in which an n-fold multiple encryption algorithm is applied to a lot of data that needs to be encrypted, each applying a different encryption key And generating a plurality of data encryption keys to be applied to a multiplexed encryption process of the first data by a plurality of independent encryption processes individually applying a plurality of different master keys, Configuration data of a plurality of data encryption keys corresponding to data or generated data in a key generation process is set as each input value in encryption processing to which a plurality of different master keys are individually applied, and a plurality of data corresponding to second data In addition, the configuration is such that the data encryption key generation process is executed and the generation of a plurality of data encryption keys corresponding to each data can be executed in parallel. It is possible to generate a key. Further, it is possible to limit the information stored in the device that executes the encryption key generation process to only the master key and the initial value, and the configuration that does not increase the data encryption key to be stored with the increase in stored data Is realized.
さらに、本発明の構成によれば、暗号化の必要な多くのデータに対して、それぞれ異なる暗号鍵を適用したn重の多重暗号アルゴリズムを行う構成において、複数の異なるマスター鍵を個別に適用し、予め生成したカウンタ値を入力とした独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、第1のデータと異なる各データの多重化暗号処理に適用する複数のデータ暗号鍵の生成に際しては、カウンタ値を、順次増分した値を入力として、複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を実行する構成としたので、多くのデータを多重暗号アルゴリズムによって暗号化し、格納する場合においても、カウンタ値と、データの識別値を対応付けることで、マスター鍵を適用した暗号処理における入力値を求めることが可能となり、処理対象のデータ選択に基づいて、即座にマスター鍵を適用して多重暗号アルゴリズムを行うためのデータ暗号鍵を生成することができる。 Furthermore, according to the configuration of the present invention, a plurality of different master keys are individually applied in a configuration in which an n-duplex multiple encryption algorithm is applied to each piece of data that needs to be encrypted. Generating a plurality of data encryption keys to be applied to the multiplexed encryption process of the first data by a plurality of independent encryption processes using the previously generated counter value as input, and multiplexing each data different from the first data When generating a plurality of data encryption keys to be applied to encryption processing, the counter value is input as sequentially incremented values, and a plurality of independent encryption processings are performed by individually applying a plurality of different master keys. Even when a large amount of data is encrypted and stored using a multiple encryption algorithm, the master key is applied appropriately by associating the counter value with the data identification value. Was possible to obtain the input value and becomes in the encryption process was based on the data selection to be processed, it is possible to generate a data encryption key for performing multiple cryptographic algorithms immediately by applying the master key.
以下、本発明の暗号処理装置、および暗号鍵生成方法、並びにコンピュータ・プログラムの詳細について説明する。 Details of the cryptographic processing apparatus, cryptographic key generation method, and computer program of the present invention will be described below.
本発明は、分割領域データの暗号化及び復号演算にn重の多重化した共通鍵ブロック暗号アルゴリズムを利用しセキュリティレベルを向上させ、鍵生成には多重化しない共通鍵ブロック暗号アルゴリズムを利用することにより、鍵生成にかかる時間を上記の方式と比較してn分の1に短縮することを可能にするとともに、さらに処理を並列にすることにより、鍵生成にかかる時間をより短縮することが可能な構成を持つ。 The present invention uses a common key block cipher algorithm that is multiplexed n times for encryption and decryption operations of divided area data to improve the security level, and uses a common key block cipher algorithm that is not multiplexed for key generation. As a result, the time required for key generation can be reduced to 1 / n compared to the above method, and the time required for key generation can be further reduced by parallel processing. It has a simple configuration.
また、従来法ではi番目の鍵Kiを生成するためにK1,K2,…,Ki―1を全て生成する必要があり、iが大きくなればなるほど鍵生成に時間がかかりランダムアクセスに適さないというデメリットがあるが、以下において説明する本発明の構成では、このようなデメリットを解消し、任意の分割領域データに対応する鍵を高速に生成することが可能となる。In addition, in the conventional method, it is necessary to generate all of K1 , K2 ,..., Ki-1 in order to generate the i-th key Ki. However, with the configuration of the present invention described below, such a disadvantage can be eliminated and a key corresponding to any divided area data can be generated at high speed.
図6以下を参照して、本発明の実施例1に係る構成を説明する。図6の構成例は、データ暗号鍵の生成処理に多重化しない暗号処理構成を用いた例である。例えば1つのDES暗号処理あるいは1つのAES暗号処理等の単独の共通鍵ブロック暗号処理構成を用いる。一方、コンテンツ、ユーザデータの暗号化対象としての分割領域データに対する暗号化処理としてはn重の多重化した共通鍵ブロック暗号アルゴリズム、例えばトリプルDESを適用した構成である。 The configuration according to the first embodiment of the present invention will be described with reference to FIG. The configuration example of FIG. 6 is an example using an encryption processing configuration that is not multiplexed in the data encryption key generation processing. For example, a single common key block cipher processing configuration such as one DES cipher process or one AES cipher process is used. On the other hand, as the encryption process for the divided area data as the encryption target of the content and user data, an n-fold multiplexed common key block encryption algorithm, for example, triple DES is applied.
なお、以下の説明において、データ暗号鍵は、コンテンツ、ユーザデータ等の分割領域データに対する暗号化処理、復号処理を実行するための鍵であり、機器、すなわち、コンテンツ、ユーザデータ等の分割領域データを暗号化して格納、あるいは復号して再生、利用する情報処理装置に格納されたマスター鍵Kmasterに基づいて生成される鍵である。In the following description, the data encryption key is a key for executing encryption processing and decryption processing for divided area data such as content and user data, and is divided into data such as equipment, that is, divided area data such as content and user data.Is a key generated based on a master key Kmaster stored in an information processing apparatus that encrypts and stores or decrypts and reproduces and uses the information.
まず、図6〜図8を参照して、データ暗号鍵の生成処理に単一の暗号化処理構成を用いた例について説明する。なお、以下に説明する例では、分割領域データに対する暗号化としてトリプルDESを適用した構成を説明するが、本発明は、コンテンツ、ユーザデータの暗号化対象としての分割領域データに対する暗号化処理としてn重の多重化した暗号アルゴリズムを適用する構成であれば、トリプルDESに限らず、様々な暗号化アルゴリズムの適用が可能である。 First, an example in which a single encryption processing configuration is used for data encryption key generation processing will be described with reference to FIGS. In the example described below, a configuration in which triple DES is applied as encryption for divided area data will be described. However, the present invention provides n as an encryption process for divided area data as an encryption target of content and user data. As long as a configuration in which a double multiplexed encryption algorithm is applied, various encryption algorithms can be applied without being limited to triple DES.
図6に示す構成を適用した鍵の生成処理、および分割領域データに対する暗号処理(暗号化、復号)について説明する。 A key generation process to which the configuration shown in FIG. 6 is applied and an encryption process (encryption and decryption) for divided area data will be described.
まず、図6に示す構成を適用した鍵生成処理、すなわちデータ暗号鍵の生成処理について説明する。データ暗号鍵は、情報処理装置に格納されたマスター鍵Kmasterに基づいて生成される。1つの分割領域データ1,431を対象としたデータ暗号鍵は、この実施例においては3つの暗号鍵が生成される。本実施例においては、分割領域データに対する暗号化処理としてはn重の多重化した共通鍵ブロック暗号アルゴリズムを適用する。本実施例ではトリプルDESの3重暗号処理であるので3つのデータ暗号鍵を生成する。First, a key generation process to which the configuration shown in FIG. 6 is applied, that is, a data encryption key generation process will be described. The data encryption key is generated based on the master key Kmaster stored in the information processing apparatus. In this embodiment, three encryption keys are generated as data encryption keys for one divided area data 1,431. In this embodiment, an n-fold multiplexed common key block cipher algorithm is applied as the encryption process for the divided area data. In this embodiment, since triple encryption processing is performed for triple DES, three data encryption keys are generated.
3つのデータ暗号鍵は、図6に示すK1,1411−1、K1,2411−2、K1,3411−3の3つである。これらは、いずれも情報処理装置内のメモリに格納されたマスター鍵に基づいて生成する。The three data encryption keys are K1,1 411-1, K1,2 411-2, and K1,3 411-3 shown in FIG. These are generated based on the master key stored in the memory in the information processing apparatus.
本実施例において、マスター鍵は、図に示すように、Kmaster1401、Kmaster2402、Kmaster3403の3種類あり、これら3つのマスター鍵が情報処理装置のメモリに格納される。In the present embodiment, there are three types of master keys,
まず、第1のデータ暗号鍵K1,1411−1は、第1のマスター鍵Kmaster1401を適用した暗号処理によって生成される。暗号処理アルゴリズムとしては、例えばDES、AES等の多重化しない共通鍵ブロック暗号アルゴリズムが適用される。First, the first data encryption key K1,1 411-1 is generated by encryption processing to which the first
初期値IV(Initial Value)405を入力として、第1のマスター鍵Kmaster1401を適用してDES、AES等の多重化しない共通鍵ブロック暗号アルゴリズムを実行して、第1のデータ暗号鍵K1,1411−1を生成する。初期値IVは、新たなデータ暗号鍵の生成の際に乱数に基づいて生成するか、あるいは情報処理装置内のメモリに予め格納された値を用いてもよい。An initial value IV (Initial Value) 405 is input and a first
図6に示す例では、第1のマスター鍵Kmaster1401、初期値IV405、いずれも64ビットデータであり、共通鍵ブロック暗号アルゴリズムの適用によって生成するデータ暗号鍵K1,1411−1も64ビット鍵である。In the example shown in FIG. 6, the first
第2のデータ暗号鍵K1,2411−2は、第2のマスター鍵Kmaster2402を適用し、初期値IV405を入力して、例えばDES、AES等の多重化しない共通鍵ブロック暗号アルゴリズムの適用により生成される。For the second data encryption key K1, 2 411-2, the second
第3のデータ暗号鍵K1,3411−3は、第3のマスター鍵Kmaster3403を適用し、初期値IV405を入力して、例えばDES、AES等の多重化しない共通鍵ブロック暗号アルゴリズムの適用により生成される。For the third data encryption key K1,3 411-3, the third
このように、データ暗号鍵の生成処理には、多重化しない共通鍵ブロック暗号アルゴリズムが適用される。この鍵生成処理によって生成された3つのデータ暗号鍵K1,1411−1、K1,2411−2、K1,3411−3の3つの鍵を適用して分割領域データ1,431に対する暗号化あるいは復号化の暗号処理が実行される。すなわち、分割領域データに対する暗号処理は、複数のデータ暗号鍵を適用したn重の共通鍵ブロック暗号アルゴリズムが適用される。In this way, the common key block cipher algorithm that is not multiplexed is applied to the data encryption key generation process. By applying the three data encryption keys K1,1 411-1, K1,2 411-2, and K1,3 411-3 generated by this key generation processing, the divided area data 1,431 is applied. Encryption processing for encryption or decryption is executed. In other words, the n-fold common key block cipher algorithm to which a plurality of data encryption keys are applied is applied to the encryption processing for the divided area data.
本実施例においては、分割領域データに対する暗号処理を、3重の共通鍵ブロック暗号アルゴリズムとしてのトリプルDESを適用した例を示している。 In the present embodiment, an example in which triple DES as a triple common key block cipher algorithm is applied to the encryption processing on the divided area data is shown.
分割領域データ1,431を入力として、データ暗号鍵K1,1411−1を適用したDES暗号処理、データ暗号鍵K1,2411−2を適用したDES復号処理、データ暗号鍵K1,3411−3を適用したDES暗号処理が連続して実行され、最終的な暗号化データとしての分割領域データ暗号化データ1,441が生成される。なお、ここでは、n重暗号化処理の一例としてトリプルDESを示しているが、AES暗号処理を多重化したり、DES暗号処理をさらに多重化した構成としてもよい。Using the divided area data 1,431 as an input, the DES encryption process to which the data encryption key K1,1 411-1 is applied, the DES decryption process to which the data encryption key K1, 411-2 is applied, the data encryption key K1, DES encryption processing to which3 411-3 is applied is continuously executed, and divided area data encrypted data 1,441 as final encrypted data is generated. Here, triple DES is shown as an example of n-fold encryption processing, but AES encryption processing may be multiplexed, or DES encryption processing may be further multiplexed.
図6には、1つの分割領域データ1,431に対応する3つのデータ暗号鍵K1,1411−1、K1,2411−2、K1,3411−3を生成する処理について示しているが、これらの3つのデータ暗号鍵K1,1411−1、K1,2411−2、K1,3411−3を初期値として、次の分割領域データ2,431に対応するデータ暗号鍵が生成される。FIG. 6 shows a process for generating three data encryption keys K1,1 411-1, K1,2 411-2, K1,3 411-3 corresponding to one divided area data 1,431. However, with these three data encryption keys K1,1 411-1, K1,2 411-2, and K1,3 411-3 as initial values, they correspond to the next divided area data 2,431. A data encryption key is generated.
図7を参照して、次の分割領域データ2,432に対応するデータ暗号鍵の生成処理について説明する。図7には、分割領域データ1,431、分割領域データ2,432の2つの分割領域データに対応する処理例を示している。 With reference to FIG. 7, the data encryption key generation processing corresponding to the next divided
分割領域データ1,431に対応する3つのデータ暗号鍵は、先に図6を参照して説明した通り、3つのマスター鍵Kmaster1401、Kmaster2402、Kmaster3403に基づいて、初期値IV405を入力として多重化しない共通鍵ブロック暗号アルゴリズムによって生成される。The three data encryption keys corresponding to the divided
このようにして生成された分割領域データ1,431に対応する3つのデータ暗号鍵K1,1411−1、K1,2411−2、K1,3411−3は、次の分割領域データ2,432に対応する3つのデータ暗号鍵K2,1412−1、K2,2412−2、K2,3412−3の生成時の入力値として適用される。The three data encryption keys K1,1 411-1, K1,2 411-2, and K1,3 411-3 corresponding to the divided area data 1,431 generated in this way are the next divided areas. This is applied as an input value when generating three data encryption keys K2,1 412-1, K2,2 412-2, and K2,3 412-3 corresponding to the
3つのデータ暗号鍵K1,1411−1、K1,2411−2、K1,3411−3は、それぞれ64ビットデータであり、その鍵データを入力として、3つのマスター鍵Kmaster1401、Kmaster2402、Kmaster3403に基づいて多重化しない共通鍵ブロック暗号アルゴリズムが実行され、次の分割領域データ2,432に対応する3つのデータ暗号鍵K2,1412−1、K2,2412−2、K2,3412−3が生成される。これらの3つのデータ暗号鍵K2,1412−1、K2,2412−2、K2,3412−3が分割領域データ2,432に対応する暗号鍵として、トリプルDES暗号処理用の鍵とされる。Each of the three data encryption keys K1,1 411-1, K1,2 411-2, K1,3 411-3 is 64-bit data, and the master data Kmaster1 is input with the key data. 401,
分割領域データ2,432に対応する3つのデータ暗号鍵K2,1412−1、K2,2412−2、K2,3412−3は、さらに、図示しない、分割領域データ3に対応する3つのデータ暗号鍵の生成処理の際の入力値として適用される。Three data encryption keys K2,1 412-1, K2,2 412-2, K2,3 412-3 corresponding to the divided
本実施例では、データ暗号鍵は、全て64ビットデータとして設定し、各データ暗号鍵生成処理において適用する共通鍵ブロック暗号アルゴリズムも64ビットデータの入力に対する処理構成としてある。 In this embodiment, all data encryption keys are set as 64-bit data, and the common key block encryption algorithm applied in each data encryption key generation process is also a processing configuration for the input of 64-bit data.
なお、データ暗号鍵が64ビットデータ以外のデータ長である場合には、例えばビット長を変換する予め設定された変換テーブルあるいは変換行列などを適用したビット調整処理を行った後、暗号処理を実行する構成とすればよい。 When the data encryption key has a data length other than 64-bit data, for example, after performing a bit adjustment process using a preset conversion table or conversion matrix for converting the bit length, the encryption process is executed. What is necessary is just to be the structure to do.
以下に、図7に示す処理、すなわち、分割領域データ1,2に対するそれぞれのデータ暗号鍵の生成と、分割領域データ1,2に対する暗号処理の各プロセスにおいて実行する暗号処理シーケンスを示す。 The encryption processing sequence executed in each process shown in FIG. 7, that is, generation of the respective data encryption keys for the divided
(1)分割領域データ1を対象とした処理
(1a)IVをKmaster1で暗号化し,K1,1生成
K1,1=E(Kmaster1,IV)
(1b)IVをKmaster2で暗号化し,K1,2生成
K1,2=E(Kmaster2,IV)
(1c)IVをKmaster3で暗号化し,K1,3生成
K1,3=E(Kmaster3,IV)
(1d)K1,1,K1,2,K1,3で分割領域データ1を暗号化
暗号化分割領域データ1=E(K1,3,D(K1,2,E(K1,1,分割領域データ1)))・・(3key T−DESを適用)ただし、AES等単独の共通鍵ブロック暗号を単に多重化する場合であれば、各暗号処理は暗号化処理のみ、もしくは暗号化処理と復号処理の組み合わせた処理であってもよい。(1) Processing for divided area data 1 (1a) IV is encrypted with Kmaster1 and K1,1 is generated K1,1 = E (Kmaster1 , IV)
(1b) a IV encrypted withK master2, K1,2 generatesK 1,2 = E (K master2, IV)
(1c) is encrypted withKmaster3 theIV, K 1, 3 generatesK 1,3 = E (K master3, IV)
(1d) Encrypting the divided
(2)分割領域データ2を対象とした処理
(2a)K1,1をKmaster1で暗号化し,K2,1生成
K2,1=E(Kmaster1,K1,1)
(2b)K1,2をKmaster2で暗号化し,K2,2生成
K2,2=E(Kmaster2,K1,2)
(2c)K1,3をKmaster3で暗号化し,K2,3生成
K2,3=E(Kmaster3,K1,3)
(2d)K2,1,K2,2,K2,3で分割領域データ2を暗号化
暗号化分割領域データ2=E(K2,3,D(K2,2,E(K2,1,分割領域データ2)))・・・(3key T−DESを適用)ただし、AES等単独の共通鍵ブロック暗号を単に多重化する場合であれば、各暗号処理は暗号化処理のみ、もしくは暗号化処理と復号処理の組み合わせた処理であってもよい。(2) Processing for divided region data 2 (2a) K1,1 is encrypted with Kmaster1 and K2,1 is generated K2,1 = E (Kmaster1 , K1,1 )
(2b) K 1,2 The encrypted withK master2, K2,2 generatesK 2,2 = E (K master2,
(2c) aK 1, 3 encrypted withK master3, K2,3 generatesK 2,3 = E (K master3,
(2d) Encrypting the divided
上記処理は、2つの分割領域データのみを対象とした処理例を示しているが、以下、第3の分割領域データ3に対応する3つのデータ暗号鍵の生成には、その前段の分割領域データ2,432に対応する3つのデータ暗号鍵K2,1412−1、K2,2412−2、K2,3412−3が入力値として利用され、さらに、第3の分割領域データ3に対応する3つのデータ暗号鍵は、第4の分割領域データ4に対応する3つのデータ暗号鍵の生成時の入力値として利用される。The above processing shows an example of processing for only two divided area data. Hereinafter, in order to generate three data encryption keys corresponding to the third divided area data 3, the divided area data of the preceding stage is generated. Three data encryption keys K2,1 412-1, K2,2 412-2, K2,3 412-3 corresponding to 2,432 are used as input values, and the third divided area data 3 The three data encryption keys corresponding to are used as input values when generating the three data encryption keys corresponding to the fourth divided area data 4.
すなわち、第1の分割領域データに対応するデータ暗号鍵の生成時にのみ初期値(IV)が入力として適用され、第2番目以降の分割領域データに対応するデータ暗号鍵の生成時には、前段の分割領域データに対応するデータ暗号鍵が入力値として利用される。すなわち分割領域データnに対応するデータ暗号鍵が入力値として分割領域データn−1に対応するデータ暗号鍵が適用される。ただし、n≧2である。 That is, the initial value (IV) is applied as an input only when the data encryption key corresponding to the first divided area data is generated, and when the data encryption key corresponding to the second and subsequent divided area data is generated, the initial division is performed. A data encryption key corresponding to the area data is used as an input value. That is, the data encryption key corresponding to the divided area data n−1 is applied with the data encryption key corresponding to the divided area data n as an input value. However, n ≧ 2.
このように、鍵生成には、多重化しない暗号処理アルゴリズムを適用し、コンテンツ等の分割領域データの暗号化には、トリプルDES等の多重化暗号アルゴリズムを適用したので、鍵生成処理における計算量が削減されるとともに、コンテンツ等の分割領域データを高いセキュリティレベルを持つ暗号化データの設定とすることが可能となる。 In this way, the encryption processing algorithm that is not multiplexed is applied to the key generation, and the multiplexed encryption algorithm such as triple DES is applied to the encryption of the divided area data such as the content. And the divided area data such as contents can be set to encrypted data having a high security level.
図8を参照して、鍵生成にも多重化暗号処理を適用した場合と、本実施例の処理構成との処理量について比較して説明する。 With reference to FIG. 8, a description will be given by comparing the amount of processing between the case where the multiplexed cryptographic processing is applied to key generation and the processing configuration of the present embodiment.
図8(A)は、データ暗号鍵の生成に、多重化暗号処理アルゴリズム、具体的にはトリプルDESを適用し、コンテンツ等の分割領域データの暗号処理にも多重化暗号処理アルゴリズム、具体的にはトリプルDESを適用した例である。一方、図8(B)は、上述した本発明の実施例1に従った処理例に従って、データ暗号鍵の生成に、多重化しない暗号処理アルゴリズム、具体的にはDESを適用し、コンテンツ等の分割領域データの暗号処理にのみ多重化暗号処理アルゴリズム、具体的にはトリプルDESを適用した例である。 FIG. 8A shows a case where a multiplexed encryption processing algorithm, specifically, triple DES is applied to the generation of a data encryption key, and a multiplexed encryption processing algorithm, specifically, encryption processing of divided area data such as content is performed. Is an example to which triple DES is applied. On the other hand, FIG. 8 (B) shows a case where, according to the above-described processing example according to the first embodiment of the present invention, an encryption processing algorithm that is not multiplexed, specifically DES, is applied to the generation of a data encryption key. This is an example in which a multiplexed encryption processing algorithm, specifically, triple DES is applied only to the encryption processing of divided area data.
図8(A)、(B)ともEnn、Ecnnは、データ暗号鍵生成処理に適用する共通鍵ブロック暗号処理の1単位、すなわち64ビットデータを入力とし、64ビット鍵を適用した暗号処理を実行して、64ビットのデータを暗号化する処理単位を示している。Ennはデータ暗号鍵の生成プロセス、Ecnnは分割領域データに対する暗号処理を示している。同様に、Dnn、Dcnnは、データ暗号鍵生成処理に適用する共通鍵ブロック暗号処理の1単位、すなわち64ビットデータを入力とし、64ビット鍵を適用した復号処理を実行して、64ビットのデータを復号する処理単位を示している。Dnnはデータ暗号鍵の生成プロセス、Dcnnは分割領域データに対する復号処理を示している。 In both FIGS. 8A and 8B, Enn and Ecnn execute one unit of common key block encryption processing applied to data encryption key generation processing, that is, 64-bit data as input, and execute encryption processing using a 64-bit key. A processing unit for encrypting 64-bit data is shown. Enn represents a data encryption key generation process, and Ecnn represents encryption processing for divided area data. Similarly, Dnn and Dcnn are one unit of the common key block encryption process applied to the data encryption key generation process, that is, 64-bit data is input and 64-bit data is executed by executing a decryption process using a 64-bit key. A processing unit for decoding is shown. Dnn represents a data encryption key generation process, and Dcnn represents a decryption process for the divided area data.
図8(A)の処理では、
分割領域データ1に対する3つのデータ暗号鍵を生成するための暗号処理単位は、
暗号化処理がE11〜E16の6単位
復号処理がD11〜D13の3単位
分割領域データ1に対する暗号処理に要する暗号処理単位は、
暗号化処理がEc11〜Ec12の2単位
復号処理がDc11の1単位
分割領域データ2に対する3つのデータ暗号鍵を生成するための暗号処理単位は、
暗号化処理がE21〜E26の6単位
復号処理がD21〜D23の3単位
分割領域データ2に対する暗号処理に要する暗号処理単位は、
暗号化処理がEc21〜Ec22の2単位
復号処理がDc21の1単位
の6+2+6+2=16の暗号化処理及び3+1+3+1=8の復号処理の実行が必要である。In the process of FIG.
The encryption processing unit for generating the three data encryption keys for the divided
6 units of encryption processing are E11 to E16, 3 units of decryption processing are D11 to D13, and the encryption processing unit required for the encryption processing for the divided
The encryption processing is 2 units of Ec11 to Ec12. The decryption processing is 1 unit of Dc11. The encryption processing unit for generating three data encryption keys for the divided
6 units of encryption processing from E21 to E26 3 units of decryption processing from D21 to D23 The encryption processing unit required for the encryption processing for the divided
It is necessary to execute 6 + 2 + 6 + 2 = 16 encryption processing and 3 + 1 + 3 + 1 = 8 decryption processing in which 2 units of encryption processing are Ec21 to Ec22 and 1 unit of decryption processing is Dc21.
一方、図8(B)の処理では、
分割領域データ1に対する3つのデータ暗号鍵を生成するための暗号処理単位は、
暗号化処理がE11〜E13の3単位
分割領域データ1に対する暗号処理に要する暗号処理単位は、
暗号化処理がEc11〜Ec12の2単位
復号処理がDc11の1単位
分割領域データ2に対する3つのデータ暗号鍵を生成するための暗号処理単位は、
暗号化処理がE21〜E23の3単位
分割領域データ2に対する暗号処理に要する暗号処理単位は、
暗号化処理がEc21〜Ec22の2単位
復号処理がDc21の1単位
の3+2+3+2=10の暗号化処理及び0+1+0+1=2の復号処理の実行のみとなる。On the other hand, in the process of FIG.
The encryption processing unit for generating the three data encryption keys for the divided
The encryption processing unit is 3 units of E11 to E13 The encryption processing unit required for the encryption processing for the divided
The encryption processing is 2 units of Ec11 to Ec12. The decryption processing is 1 unit of Dc11. The encryption processing unit for generating three data encryption keys for the divided
The encryption processing is 3 units of E21 to E23. The encryption processing unit required for the encryption processing for the divided
The encryption process is 2 units of Ec21 to Ec22. The decryption process is only the execution of the encryption process of 3 + 2 + 3 + 2 = 10 of 1 unit of Dc21 and the decryption process of 0 + 1 + 0 + 1 = 2.
上述のように、2つの分割領域データに対する処理量は、図8(A)の処理において暗号化処理が16処理単位であり復号処理が8処理単位、図8(B)の処理において暗号化処理が10処理単位であり復号処理が2処理単位となり、図8(B)の処理により、大幅な計算量の削減が実現される。 As described above, the processing amount for the two divided area data is 16 processing units for the encryption processing in the processing of FIG. 8A, 8 processing units for the decryption processing, and encryption processing in the processing of FIG. 8B. Is 10 processing units, and the decoding processing is 2 processing units, and the processing of FIG.
また、本実施例の処理においては、分割領域データ1に対するデータ暗号鍵の生成においてのみ初期値(IV)が適用され、その他の分割領域データに対するデータ暗号鍵の生成には、前段のデータ暗号鍵を適用するので、鍵生成を行う装置においてメモリに格納するデータは、本実施例の場合、3つのマスター鍵と、1つの初期値(IV)のみでよく、全ての分割領域に対応する鍵を保持する方式に比べてメモリに格納維持するデータ量が大幅に削減可能となる。 Further, in the processing of this embodiment, the initial value (IV) is applied only in the generation of the data encryption key for the divided
上述した説明では、コンテンツ、ユーザデータの暗号化対象としての分割領域データに対する暗号化処理としてトリプルDESを適用した例を説明したが、前述したようにn重の多重化した暗号アルゴリズムを適用する構成であれば、トリプルDESに限らず、様々な暗号アルゴリズムの適用が可能である。 In the above description, the example in which Triple DES is applied as the encryption processing for the divided area data as the encryption target of the content and user data has been described. However, as described above, the configuration in which the n-fold multiplexed encryption algorithm is applied. If so, not only triple DES but also various cryptographic algorithms can be applied.
上述した図6〜図8を参照した処理例は、データ暗号鍵の生成処理に単一の暗号化処理構成を用いた例であった。次に、データ暗号鍵の生成処理に複数のDES暗号処理や、複数のAES暗号処理構成等、複数の共通鍵ブロック暗号処理を並列に実行する構成例について説明する。 The processing examples with reference to FIGS. 6 to 8 described above are examples in which a single encryption processing configuration is used for the data encryption key generation processing. Next, a configuration example in which a plurality of common key block encryption processes such as a plurality of DES encryption processes and a plurality of AES encryption process configurations are executed in parallel for the data encryption key generation process will be described.
図9に分割領域データに対する暗号処理をn重(n≧2)の多重化した暗号アルゴリズムとした場合に必要とする各分割領域データの暗号処理に適用するn個のデータ暗号鍵の生成処理構成を説明する図を示す。 FIG. 9 shows a configuration for generating n data encryption keys to be applied to the encryption processing of each divided area data required when the encryption processing for the divided area data is an n-fold (n ≧ 2) multiplexed encryption algorithm. FIG.
上段の鍵生成ブロック501が第1の分割領域データ1に対応するn個のデータ暗号鍵K1,1〜K1,nを生成する処理ブロックである。下段の鍵生成ブロック50xが第xの分割領域データxに対応するn個のデータ暗号鍵Kx,1〜Kx,nを生成する処理ブロックである。The upper
各鍵生成ブロック501,50xにおいて、n個のデータ暗号鍵K1,1〜K1,nを生成する個々のデータ暗号鍵生成処理ブロック501−1〜nおよび50x−1〜nの各々には、複数(t'個)の暗号処理ブロックが含まれる。ただし、t'≧2である。例えばデータ暗号鍵生成処理ブロック501−1には、Ee1〜Eet'までのt'個の暗号処理ブロックが含まれる。In each of the key generation blocks 501 and 50x, each of the individual data encryption key generation processing blocks 501-1 to 50-n and 50x-1 to 50n to generaten data encryption keys K1,1 to K1, n , A plurality (t ′) of cryptographic processing blocks are included. However, t ′ ≧ 2. For example, the data encryption key generation processing block 501-1 includes t ′ encryption processing blocks from Ee1 to Eet ′ .
なお、t'=1の場合は、上述した処理例に相当し、1つのDES、AES等の共通鍵ブロック暗号処理アルゴリズムの適用によって1つのデータ暗号鍵K1,1を生成する構成となる。Note that t ′ = 1 corresponds to the above-described processing example, and one data encryption key K1,1 is generated by applying one common key block encryption processing algorithm such as DES and AES.
t'≧2とした本構成では、Ee1〜Eet'までの2以上の複数(t'個)の暗号処理ブロックの各々が1つのDES、AES等の共通鍵ブロック暗号アルゴリズムを実行し、その結果得られる暗号文出力、すなわちt'個の暗号文出力M1,1〜M1,t'に基づいて、1つのデータ暗号鍵K1,1を生成する。In this configuration in which t ′ ≧ 2, each of two or more (t ′) encryption processing blocks from Ee1 to Eet ′ executes one common key block encryption algorithm such as DES and AES, Based on the ciphertext output obtained as a result, that is, t ′ ciphertext outputs M1,1 to M1, t ′ , one data encryption key K1,1 is generated.
各鍵生成ブロック501,50xにおいて、n個のデータ暗号鍵K1,1〜K1,nを生成する個々のデータ暗号鍵生成処理ブロック501−1〜nおよび50x−1〜nの各々は、並列に動作可能である。すなわち、例えばブロック501に含まれるn個のデータ暗号鍵生成処理ブロック501−1〜nは並列に動作可能であり、並列処理により、n個のデータ暗号鍵K1,1〜K1,nを生成可能である。In each of the key generation blocks 501 and 50x, each of the individual data encryption key generation processing blocks 501-1 to 50n to 50n-1 to generaten data encryption keys K1,1 to K1, n Can operate in parallel. That is, for example, the n data encryption key generation processing blocks 501-1 to 501-n included in the
データ暗号鍵生成処理ブロック501−1においては、情報処理装置に格納された第1マスター鍵Kmaster1を適用した複数段(t'段)の暗号処理を行う処理構成であり、データ暗号鍵生成処理ブロック501−nにおいては、情報処理装置に格納された第nマスター鍵Kmasternを適用した複数段(t'段)の暗号処理を行う処理構成となっている。The data encryption key generation processing block 501-1 has a processing configuration for performing a plurality of stages (t ′ stages) of encryption processing using the first master key Kmaster1 stored in the information processing apparatus. in block 501-n, and it has a processing configuration for performing encryption processing in a plurality of stages according to the n-th master key KMASTERn stored in the information processing apparatus (t 'stage).
情報処理装置には、n個のマスター鍵が予め格納され、これらのマスター鍵を適用した暗号処理が並列に実行される。 In the information processing apparatus, n master keys are stored in advance, and encryption processing using these master keys is executed in parallel.
第1の分割領域データに対応するn個のデータ暗号鍵K1,1〜K1,nを生成する際の適用鍵は、n個のマスター鍵Kmaster1〜Kmasternであり、初期値(IV)を入力として、t'段の暗号処理構成によって、前段の暗号処理結果を入力として、後段の暗号処理が実行され、各段の暗号処理結果に基づいて1つのデータ暗号鍵が生成される。Applicable keys for generatingn data encryption keys K1,1 to K1, n corresponding to the first divided area data are n master keys Kmaster1 to Kmaster , and have an initial value (IV ) As an input, the subsequent encryption process is executed with the t′-stage encryption processing configuration as an input, and the subsequent encryption process is executed, and one data encryption key is generated based on the encryption process result at each stage.
例えばデータ暗号鍵生成処理ブロック501−1においては、初期値IVを入力として、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,1が出力され、暗号文M1,1は次段の暗号処理部に入力されて、さらに、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,2が出力され、暗号文M1,2は次段の暗号処理部に入力されて、さらに、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,3が出力され、以下、同様にt'段の暗号処理が実行される。For example, in a data encryption key generation processing block 501-1, as an input initial value IV, the results of the encryption processing applying the master keyK master1, ciphertextM 1, 1 is outputted, the ciphertextM 1, 1 following is input to the encryption processing section of the stage, furthermore, the result of the encryption processing applying the master key Kmaster1, is output ciphertext M1, 2, ciphertext M1, 2 are input to the next stage of the encryption processing unit Further, as a result of the encryption process using the master key Kmaster1 , ciphertexts M1 and 3 are output, and the t′-stage encryption process is executed in the same manner.
各段の出力暗号文M1,1〜M1,t'に基づいて、1つのデータ暗号鍵K1,1が生成される。データ暗号鍵K1,1は、以下の式に従って生成する。
K1,1=Trunkke(M1,1,・・・・M1,t')One data encryption key K1,1 is generated based on the output ciphertexts M1,1 to M1, t ′ of each stage. The data encryption key K1,1 is generated according to the following formula.
K1,1 = Trunkke (M1,1 ,... M1, t ′ )
なお、Trunkke(M1,1,・・・・M1,t')は、t'個の入力M1,1,・・・・M1,t'から、keビットの値を出力する関数である。この処理によってkeビットの1つのデータ暗号鍵が生成される。Trunkke (M1,1 ,... M1, t ′ ) outputs a ke-bit value fromt ′ inputs M1,1 ,... M1, t ′. It is a function. By this processing, one kebit data encryption key is generated.
同様の処理が、鍵生成ブロック501内に構成されたn個のデータ暗号鍵生成ブロック501−1〜nにおいて実行され、第1の分割領域データのn重暗号処理に適用するためのn個のデータ暗号鍵K1,1〜K1,nを生成する。なお、これらの処理は並列に実行可能である。Similar processing is executed in the n data encryption key generation blocks 501-1 to 501-n configured in the
なお、第2の分割領域データ以降のデータ暗号鍵の生成には、初期値(IV)は適用しない。前述した処理例では、前段の分割領域データに対応して生成されたデータ暗号鍵が、初期値に変わる入力値としたが、本処理例では、前段の分割領域データに対応して生成されたデータ暗号鍵自体ではなく、前段の分割領域データに対応するデータ暗号鍵生成ブロックの最終段の出力を入力値として適用する。 Note that the initial value (IV) is not applied to the generation of the data encryption key after the second divided area data. In the processing example described above, the data encryption key generated corresponding to the preceding divided area data is the input value that changes to the initial value, but in this processing example, it is generated corresponding to the preceding divided area data. The output of the last stage of the data encryption key generation block corresponding to the divided area data of the previous stage is applied as the input value, not the data encryption key itself.
例えば、図9の下段に示す第x番目の分割領域データに対応する鍵生成ブロック51xでは、前段(x−1)の分割領域データに対応する鍵生成ブロックの最終段の出力を入力値として適用する。 For example, in the key generation block 51x corresponding to the xth divided area data shown in the lower part of FIG. 9, the output of the last stage of the key generation block corresponding to the divided area data of the previous stage (x-1) is applied as the input value. To do.
例えば、データ暗号鍵生成ブロック50x−1では、前段(x−1)の分割領域データに対応するデータ暗号鍵生成ブロックの最終段の出力は、図9に示すようにM1,(x−1)t'であるので、この値をデータ暗号鍵生成ブロック50x−1の最初の暗号処理部Ee1の入力とした暗号処理を実行する。For example, in the data encryption
この構成により、データ暗号鍵Kn,mのビット数と、各暗号処理部Eenの処理ビット数は一致することが不要であり、それぞれ任意のビット数とすることができる。With this configuration, it is not necessary for the number of bits of the data encryption key Kn, m and the number of processing bits of each encryption processing unit Een to match, and the number of bits can be arbitrarily set.
図10に示すフローチャートを参照して、データ暗号鍵の生成処理シーケンスについて説明する。 The data encryption key generation processing sequence will be described with reference to the flowchart shown in FIG.
なお、各データの定義は、以下の通りである。
Kmaster:鍵生成用の秘密情報
IV :鍵生成時の初期値
x :分割領域データの個数
i :分割領域データ固有の番号
Ki :i番目の分割領域データを暗号化するための鍵(i=1,2,…,x),|Ki|=kb
Eb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズム
kb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムのブロックのビット長(kb≧mb)
Eg :鍵生成用の共通鍵ブロック暗号アルゴリズム
kg :鍵生成用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mg :鍵生成用の共通鍵ブロック暗号アルゴリズムのブロックのビット長(kg≧mg)
j :各分割領域データに対応して生成するデータ暗号鍵番号(j番目のデータ暗号鍵の生成にはj番目のマスター鍵Kmasterjが適用される。
t :kb/mg以上の最小の整数
TruncL(z1,…,zt):t個の入力zi(1<i<t)から、Lビットの値を出力する関数
‖ :ビットの連接
E(key,msg):共通鍵ブロック暗号アルゴリズムEにおける鍵(key)による平文(msg)の暗号文The definition of each data is as follows.
Kmaster : secret information for key generation IV: initial value at the time of key generation x: number of divided area data i: number specific to divided area data Ki : key for encrypting i-th divided area data (i = 1, 2,..., X), | Ki | = kb
Eb : Common key block encryption algorithm for encryption of divided area data kb : Bit length of key of common key block encryption algorithm for encryption of divided area data mb : Common key block encryption algorithm for encryption of divided area data Bit length of block (kb ≧ mb )
Eg : Common key block cipher algorithm for key generation kg : Bit length of key of common key block cipher algorithm for key generation mg : Bit length of block of common key block cipher algorithm for key generation (kg ≧mg )
j: Data encryption key number generated corresponding to each divided area data (j-th master key Kmasterj is applied to generate the j-th data encryption key.
t: smallest integer greater than or equal to kb /mg TruncL (z1 ,..., zt ): Function that outputs L-bit value from t inputs zi (1 <i <t) ビ ッ ト: bit Concatenation E (key, msg): plaintext (msg) ciphertext with the key (key) in the common key block cipher algorithm E
また、鍵生成処理を実行する情報処理装置は、前提条件として、以下の条件を満たすものとする。
(1)鍵生成を行うための秘密情報Kmasterとして予めnkeビットの鍵がメモリに格納されている。
(2)鍵生成には共通鍵ブロック暗号アルゴリズムEeが利用可能。
(3)分割領域データの共通鍵ブロック暗号アルゴリズムEbは単独の共通鍵ブロックアルゴリズムEeがn重に多重化されている。mb=me,kb=nkeIn addition, the information processing apparatus that executes the key generation process satisfies the following condition as a precondition.
(1) A nke- bit key is stored in advance in the memory as secret information Kmaster for generating a key.
(2) The common key block cipher algorithm Ee can be used for key generation.
(3) The common key block encryption algorithm Eb for the divided area data is a single common key block algorithm Ee multiplexed n times. mb = me , kb = nke
図10に示すフローチャートの各ステップについて説明する。図10のフローチャートは、x個の分割領域データに対応するデータ暗号鍵の生成処理フローであり、1つの分割領域データはn重暗号処理を行うためのn個の暗号鍵が設定される。図10の処理フローでは、x個のnkeビットの鍵K1,…,Kxを生成する。例えば、1つのnkeビットの鍵K1がn等分されて、n個のデータ暗号鍵K1,1〜K1,nとされる。Each step of the flowchart shown in FIG. 10 will be described. The flowchart of FIG. 10 is a processing flow for generating a data encryption key corresponding to x pieces of divided area data, and n pieces of encryption keys for performing n-fold encryption processing are set for one piece of divided area data. In the processing flow of FIG. 10, x nke- bit keys K1, ..., Kx are generated. For example, one nke- bit key K1 is equally divided into n data encryption keys K1,1 to K1, n .
データ暗号鍵の生成処理を実行する情報処理装置は、予めメモリに初期値IV(mbビット)、複数(n個)のマスター鍵Kmaster1〜Kmastern(各々kgビット)を有する。なお、nkeビットの1つのマスター鍵Kmaster(nkeビット)を格納し、このマスター鍵をn等分して複数(n個)のマスター鍵Kmaster1〜Kmastern(各々kgビット)を生成してもよい。なお、メモリに初期値IVが格納されていない場合は、新たに乱数等に基づいてから生成する。The information processing apparatus which executes the generation processing of the data encryption key, the initial value IV(m b bits) in advance in the memory, having a plurality master keyK (n number of)master1 ~KMASTERn (eachk g bits). Incidentally, stores nke bits of one master keyK master (nke bits), the master keyK master1 ~KMASTERn plurality this master key by n equal parts (n pieces) of the (eachk g bits) It may be generated. When the initial value IV is not stored in the memory, the initial value IV is newly generated based on a random number or the like.
ステップS201において、初期値IVを生成またはメモリから取得し、M1,0=M2,0=…=Mn,0=IVとする。初期値IVは、例えば乱数生成処理によって生成する。生成後の初期値は、メモリに格納する。このステップの処理、すなわち、M1,0=M2,0=…=Mn,0=IVとする処理は、図9に示す上段のブロック、すなわち第1の分割領域データに対応するデータ暗号鍵の生成用の初期値として設定する処理である。In step S201, the initial value IV is generated or acquired from the memory, and M1,0 = M2,0 =... = Mn, 0 = IV. The initial value IV is generated by, for example, random number generation processing. The initial value after generation is stored in the memory. The process of this step, that is, the process of setting M1,0 = M2,0 =... = Mn, 0 = IV is the data encryption corresponding to the upper block shown in FIG. 9, that is, the first divided area data. This process is set as an initial value for key generation.
次に、ステップS202において、マスター鍵Kmasterを以下の式を満たす鍵長keビットのn個の鍵に分割する。
Kmaster=Kmaster1‖…‖Kmastern
この処理によりn個のマスター鍵を生成する。Next, in step S202, divides the master keyK master into n key in the key lengthk e bits that satisfies the following equation.
Kmaster = Kmaster1 ‖ ... ‖ Kmastern
This process generates n master keys.
次にステップS203において、分割領域データの識別値としてのiをi=0と設定し、ステップS204において、鍵生成用に必要となるMの識別子であるsをs=0とする初期設定を行う。 Next, in step S203, i is set as i = 0 as the identification value of the divided area data, and in step S204, initial setting is performed so that s, which is an identifier of M necessary for key generation, is s = 0. .
ステップS205において、iにi+1を代入し、ステップS206において、sにs+1を代入する。 In step S205, i + 1 is substituted for i, and in step S206, s + 1 is substituted for s.
ステップS207において、j=1,…,nに対して以下の演算により、暗号文Mj、sを生成する。
Mj,s=Ee(Kmasterj,Mj,s−1)
この処理は、図9に示す各データ暗号鍵生成ブロックの1つの暗号処理部Eenにおける処理である。In step S207, ciphertext Mj, s is generated by the following calculation for j = 1,..., N.
Mj, s = Ee (Kmasterj , Mj, s−1 )
This process is a process in one encryption processing unit Een of each data encryption key generation block shown in FIG.
次に、ステップS208において、t'がsを割り切るならば、ステップ209へ進む。そうでなければ、ステップS206に戻り、ステップS206以下を繰り返し実行する。ただし、t'=ke/meとする。Next, in step S208, if t ′ is divisible by s, the process proceeds to step 209. Otherwise, the process returns to step S206, and step S206 and subsequent steps are repeatedly executed. However, thet '= k e / m e .
ステップS209では、j=1,…,nに対して、以下の計算により、データ暗号鍵Ki,jを求める。
Ki,j=Truncke(Mj,(i−1)t'+1,…,Mj,(i―1)t'+t')In step S209, the data encryption key Ki, j is obtained by the following calculation for j = 1,..., N.
Ki, j = Trunkke (Mj, (i−1) t ′ + 1 ,..., Mj, (i−1) t ′ + t ′ )
ステップS210では、Ki=Ki,1‖…‖Ki,nとして出力する。
Kiは、i番目の分割領域データに対応して設定されるn個のデータ暗号鍵の連結データを示す。分割領域データに対する暗号処理においては、Kiに基づいて、n個のデータ暗号鍵Ki,1〜Ki,nを生成して適用する。In step S210, Ki = Ki, 1 ‖... ‖Ki, n is output.
Ki indicates concatenated data of n data encryption keys set corresponding to the i-th divided area data. In the cryptographic processing for the divided area data based on theK i, n pieces of data encryption keysK i, 1~K i, is applied to generaten.
ステップS211では、i=xならば、処理を終了する。そうでなければ、ステップS205に戻り、ステップS205以下の処理を繰り返し実行する。 In step S211, if i = x, the process ends. Otherwise, the process returns to step S205, and the processes in and after step S205 are repeatedly executed.
本処理例に従えば、各分割領域データに対応する複数のデータ暗号鍵を並列処理によって生成可能となり、分割領域データの暗号処理を多重(n重)暗号アルゴリズムを適用して実行する場合の複数(n個)のデータ暗号鍵を効率的に生成することが可能となる。 According to this processing example, it becomes possible to generate a plurality of data encryption keys corresponding to each divided area data by parallel processing, and a plurality of cases when executing encryption processing of divided area data by applying a multiple (n-fold) encryption algorithm. It is possible to efficiently generate (n) data encryption keys.
図9では、t'段(ただし、t'=ke/me)の多段構成によって1つのデータ暗号鍵を生成する構成例を示し、任意のデータ暗号鍵のビット数に対応可能な構成例を示したが、鍵の構成ビット数keと、各暗号処理部の出力暗号文Mn,nの構成ビット数meが等しい場合、すなわち、ke=meの場合は、各データ暗号鍵の生成処理部を多段構成とすることなく1つの暗号処理部として設定可能である。図11に構成例を示す。FIG. 9 shows a configuration example in which one data encryption key is generated by a multi-stage configuration of t ′ stages (where t ′ = ke / me ), and a configuration example that can correspond to the number of bits of an arbitrary data encryption key. showed, when the configuration number of bits ke key, the output ciphertext Mn, n the number of bits of a me of the encryption processing section equal, i.e., the case of k e= me is the data encryption The key generation processing unit can be set as one encryption processing unit without having a multi-stage configuration. FIG. 11 shows a configuration example.
図11に示す構成では、データ暗号鍵生成ブロック551において、第1の分割領域データに対応するn個のデータ暗号鍵を生成し、データ暗号鍵生成ブロック552において、第2の分割領域データに対応するn個のデータ暗号鍵を生成し、データ暗号鍵生成ブロック55xにおいて、第xの分割領域データに対応するn個のデータ暗号鍵を生成する構成である。 In the configuration shown in FIG. 11, the data encryption
各データ暗号鍵生成ブロックは、図9に示す構成と異なり、1つの暗号処理部における暗号処理のみによって、1つのデータ暗号鍵Kn,nを生成する構成である。これは、先に図6を参照して説明した構成と同様の構成である。Unlike the configuration shown in FIG. 9, each data encryption key generation block is configured to generate one data encryption keyKn, n only by encryption processing in one encryption processing unit. This is the same configuration as that described above with reference to FIG.
データ暗号鍵生成ブロック551〜55xにおいては、n個のデータ暗号鍵の生成において、それぞれ異なるマスター鍵Kmaster1〜Kmasternを適用して暗号処理を実行するので、並列な処理が可能であり、効率的に多重暗号処理に適用する複数のデータ暗号鍵を生成することができる。In the data encryption
次に、本発明の第2の実施例について説明する。第2の実施例は、第1の実施例において説明したn重暗号処理に適用するn個のデータ暗号鍵の生成時に適用していた初期値(IV)、あるいは前段の暗号処理結果をカウンタ値として設定した構成である。 Next, a second embodiment of the present invention will be described. In the second embodiment, the initial value (IV) applied when generating n data encryption keys to be applied to the n-fold encryption processing described in the first embodiment, or the previous encryption processing result is used as a counter value. It is the configuration set as.
図12を参照して本実施例の概要について説明する。図12には、分割領域データ1,631、分割領域データ2,632の2つの分割領域データに対応する処理例を示している。 The outline of the present embodiment will be described with reference to FIG. FIG. 12 shows a processing example corresponding to two divided area data of divided
分割領域データ1,631に対応する3つのデータ暗号鍵は、3つのマスター鍵Kmaster1601、Kmaster2602、Kmaster3603に基づいて、カウンタ値(ctr)605を入力として多重化しない共通鍵ブロック暗号アルゴリズムによって生成される。The three data encryption keys corresponding to the divided
このようにして生成された分割領域データ1,631に対応する3つのデータ暗号鍵K1,1611−1、K1,2611−2、K1,3611−3は、一例として、それぞれ64ビットデータであり、これらの3つのデータ暗号鍵K1,1611−1、K1,2611−2、K1,3611−3が分割領域データ1,631に対応する多重暗号処理アルゴリズムに適用する鍵、例えばトリプルDES暗号処理用の3つの鍵とされる。As an example, the three data encryption keys K1,1 611-1, K1,2 611-2, K1,3 611-3 corresponding to the divided
分割領域データ2,632に対応する3つのデータ暗号鍵は、3つのマスター鍵Kmaster1601、Kmaster2602、Kmaster3603に基づいて、カウンタ値(ctr+1)606を入力として多重化しない共通鍵ブロック暗号アルゴリズムによって生成される。The three data encryption keys corresponding to the divided
すなよち、本実施例では、暗号処理対象となる分割領域データのナンバリング1,2,3,・・・に従って、暗号処理部に入力する入力値を初期設定カウンタ値=ctrに対して1つづづインクリメントし、
分割領域データ1に対応するデータ暗号鍵の生成用入力値=ctrとしたとき、
分割領域データ2:入力値=ctr+1
分割領域データ3:入力値=ctr+2
:
分割領域データn:入力値=ctr+n−1
として設定される。That is, in this embodiment, according to the
When the input value for generating the data encryption key corresponding to the divided
Division area data 2: Input value = ctr + 1
Division area data 3: Input value = ctr + 2
:
Divided area data n: input value = ctr + n−1
Set as
以下に、図12に示す処理、すなわち、分割領域データ1,2に対するそれぞれのデータ暗号鍵の生成と、分割領域データ1,2に対する暗号処理の各プロセスにおいて実行する暗号処理シーケンスを示す。 The encryption processing sequence executed in each process of the processing shown in FIG. 12, that is, generation of the respective data encryption keys for the divided
(1)分割領域データ1を対象とした処理
(1a)カウンタ値ctrをKmaster1で暗号化し,K1,1生成
K1,1=E(Kmaster1,ctr)
(1b)ctrをKmaster2で暗号化し,K1,2生成
K1,2=E(Kmaster2,ctr)
(1c)ctrをKmaster3で暗号化し,K1,3生成
K1,3=E(Kmaster3,ctr)
(1d)K1,1,K1,2,K1,3で分割領域データ1を暗号化
暗号化分割領域データ1=E(K1,3,D(K1,2,E(K1,1,分割領域データ1)))・・(3key T−DESを適用)ただし、AES等単独の共通鍵ブロック暗号を単に多重化する場合であれば、各暗号処理は暗号化処理のみ、もしくは暗号化処理と復号処理の組み合わせた処理であってもよい。
(1) Processing for divided area data 1 (1a) The counter value ctr is encrypted with Kmaster1 and K1,1 is generated. K1,1 = E (Kmaster1 , ctr)
(1b) ctr encrypted withK master2a, K 1, 2 generatesK 1,2 = E (K master2, ctr)
(1c) ctr encrypted withKmaster3a, K 1, 3 generatesK 1,3 = E (K master3, ctr)
(1d) Encrypting the divided
(2)分割領域データ2を対象とした処理
(2a)カウンタ値ctr+1をKmaster1で暗号化し,K2,1生成
K2,1=E(Kmaster1,ctr+1)
(2b)カウンタ値ctr+1をKmaster2で暗号化し,K2,2生成
K2,2=E(Kmaster2,ctr+1)
(2c)カウンタ値ctr+1をKmaster3で暗号化し,K2,3生成
K2,3=E(Kmaster3,ctr+1)
(2d)K2,1,K2,2,K2,3で分割領域データ2を暗号化
暗号化分割領域データ2=E(K2,3,D(K2,2,E(K2,1,分割領域データ2)))・・・(3key T−DESを適用)ただし、AES等単独の共通鍵ブロック暗号を単に多重化する場合であれば、各暗号処理は暗号化処理のみ、もしくは暗号化処理と復号処理の組み合わせた処理であってもよい。
(2) Processing for divided area data 2 (2a) The counter value ctr + 1 is encrypted with Kmaster1 and K2,1 is generated. K2,1 = E (Kmaster1 , ctr + 1)
(2b) The counter value ctr + 1 is encrypted with Kmaster2 and K2,2 is generated. K2,2 = E (Kmaster2 , ctr + 1)
(2c) a counter value ctr + 1 encrypted withK master3, K2,3 generatesK 2,3 = E (K master3, ctr + 1)
(2d) Encrypting the divided
上記処理は、2つの分割領域データのみを対象とした処理例を示しているが、以下、第3の分割領域データ3に対応する3つのデータ暗号鍵の生成には、ctr+2が入力値として利用され、さらに、第4の分割領域データ4に対応する3つのデータ暗号鍵の生成にはctr+3が入力値として利用される。 The above processing shows an example of processing for only two divided area data. Hereinafter, ctr + 2 is used as an input value for generating three data encryption keys corresponding to the third divided area data 3. Further, ctr + 3 is used as an input value for generating three data encryption keys corresponding to the fourth divided region data 4.
図12に示す構成例は、1つのデータ暗号鍵の生成処理を単一の暗号処理部において実行する構成例であるが、任意のデータ暗号鍵ビット数に対応する、より一般的な構成例を図13に示す。 The configuration example shown in FIG. 12 is a configuration example in which one data encryption key generation process is executed in a single encryption processing unit, but a more general configuration example corresponding to an arbitrary number of data encryption key bits As shown in FIG.
図13に示す図は、1つの分割領域データ、すなわち、i番目の分割領域データに対する複数のデータ暗号鍵を生成する1つの処理ブロックを示している。複数のデータ暗号鍵は、n重(n≧2)の多重化した暗号アルゴリズムとした場合に必要とする各分割領域データの暗号処理に適用するn個のデータ暗号鍵である。 The diagram shown in FIG. 13 shows one processing block for generating a plurality of data encryption keys for one divided area data, that is, the i-th divided area data. The plurality of data encryption keys are n data encryption keys to be applied to encryption processing of each divided area data required when an n-fold (n ≧ 2) multiplexed encryption algorithm is used.
ブロック671は、第iの分割領域データに対応するn個のデータ暗号鍵Ki,1〜Ki,nを生成する処理ブロックである。A
ブロック671において、n個のデータ暗号鍵Ki,1〜Ki,nを生成する個々のデータ暗号鍵生成処理ブロック671−1〜nの各々には、複数(t'個)の暗号処理ブロックが含まれる。ただし、t'≧2である。例えばデータ暗号鍵生成処理ブロック671−1には、Ee1〜Eetまでのt'個の暗号処理ブロックが含まれる。In
なお、t'=1の場合は、上述した処理例に相当し、1つのDES、AES等の共通鍵ブロック暗号処理アルゴリズムの適用によって1つのデータ暗号鍵K1,1を生成する構成となる。Note that t ′ = 1 corresponds to the above-described processing example, and one data encryption key K1,1 is generated by applying one common key block encryption processing algorithm such as DES and AES.
t'≧2とした本構成では、Ee1〜Eet'までの2以上の複数(t'個)の暗号処理ブロックの各々が1つのDES、AES等の共通鍵ブロック暗号処理アルゴリズムを実行し、その結果得られる出力、すなわちt'個の出力M1,1〜M1,t'に基づいて、1つのデータ暗号鍵Ki,1を生成する。In this configuration in which t ′ ≧ 2, each of two or more (t ′) cryptographic processing blocks from Ee1 to Eet ′ executes one common key block cryptographic processing algorithm such as DES and AES. Then, one data encryption key Ki, 1 is generated based on the output obtained as a result, that is, t ′ outputs M1,1 to M1, t ′ .
ブロック671において、n個のデータ暗号鍵Ki,1〜Ki,nを生成する個々のデータ暗号鍵生成処理ブロック671−1〜nの各々は、並列に動作可能である。すなわち、並列処理により、n個のデータ暗号鍵Ki,1〜Ki,nを生成可能である。In
データ暗号鍵生成処理ブロック671−1においては、情報処理装置に格納された第1マスター鍵Kmaster1を適用した複数段(t'段)の暗号処理を行う処理構成であり、データ暗号鍵生成処理ブロック671−nにおいては、情報処理装置に格納された第nマスター鍵Kmasternを適用した複数段(t'段)の暗号処理を行う処理構成となっている。In data encryption key generation processing block 671-1, a processing configuration for performing encryption processing in a plurality of stages to which the first master key Kmaster1 stored in the information processing apparatus (t 'stage), the data encryption key generating process The block 671-n has a processing configuration for performing a multi-stage (t′- stage) encryption process using the n-th master key K master stored in the information processing apparatus.
情報処理装置には、n個のマスター鍵が予め格納され、これらのマスター鍵を適用した暗号処理が並列に実行される。 In the information processing apparatus, n master keys are stored in advance, and encryption processing using these master keys is executed in parallel.
第iの分割領域データに対応するn個のデータ暗号鍵Ki,1〜Ki,nを生成する際の適用鍵は、n個のマスター鍵Kmaster1〜Kmasternであり、これらの鍵を適用して、カウンタ値ctr+i−1を入力として、t'段の暗号処理によって1つのデータ暗号鍵が生成される。The application keys for generatingn data encryption keys Ki, 1 to Ki, n corresponding to the i-th divided area data are n master keys Kmaster1 to Kmaster , and these keys are By applying the counter value ctr + i−1 as an input, one data encryption key is generated by t′-stage encryption processing.
例えばデータ暗号鍵生成処理ブロック671−1においては、カウンタ値ctr+i−1を入力として、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,1が出力され、暗号文M1,1は次段の暗号処理部に入力されて、さらに、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,2が出力され、暗号文M1,2は次段の暗号処理部に入力されて、さらに、マスター鍵Kmaster1を適用した暗号処理の結果、暗号文M1,3が出力され、以下、同様にt'段の暗号処理が実行される。For example, in the data encryption key generation processing block 671-1, ciphertext M1,1 is output as a result of encryption processing using the counter value ctr + i−1 and applying the master key Kmaster1 , and the ciphertext M1,1. is input to the next stage of the encryption processing section, further, the result of the encryption processing applying the master keyK master1, ciphertextM 1, 2 is output, the ciphertextM 1, 2 in the next stage of the encryption processing unit Further, as a result of the encryption process using the master key Kmaster1 , ciphertexts M1 and 3 are output, and the t′-stage encryption process is executed in the same manner.
各段の出力暗号文M1,1〜M1,t'に基づいて、1つのデータ暗号鍵Ki,1が生成される。データ暗号鍵Ki,1は、以下の式に従って生成する。
Ki,1=Trunkke(M1,1,・・・・M1,t')One data encryption key Ki, 1 is generated based on the output ciphertexts M1,1 to M1, t ′ of each stage. The data encryption key Ki, 1 is generated according to the following equation.
Ki, 1 = Trunkke (M1,1 ,... M1, t ′ )
なお、Trunkke(M1,1,・・・・M1,t')は、t'個の入力M1,1,・・・・M1,t'から、keビットの値を出力する関数である。この処理によってkeビットの1つのデータ暗号鍵が生成される。Trunkke (M1,1 ,... M1, t ′ ) outputs a ke-bit value fromt ′ inputs M1,1 ,... M1, t ′. It is a function. By this processing, one kebit data encryption key is generated.
同様の処理が、ブロック671内に構成されたn個のデータ暗号鍵生成ブロック671−1〜nにおいて実行され、第iの分割領域データのn重暗号処理に適用するためのn個のデータ暗号鍵Ki,1〜Ki,nを生成する。なお,これらの処理は並列処理が可能である。Similar processing is executed in the n data encryption key generation blocks 671-1 to 671-n configured in the
この構成により、データ暗号鍵Kn,mのビット数と、各暗号処理部Eenの処理ビット数は一致することが不要であり、それぞれ任意のビット数とすることができる。With this configuration, it is not necessary for the number of bits of the data encryption key Kn, m and the number of processing bits of each encryption processing unit Een to match, and the number of bits can be arbitrarily set.
図14に示すフローチャートを参照して、データ暗号鍵の生成処理シーケンスについて説明する。 The data encryption key generation processing sequence will be described with reference to the flowchart shown in FIG.
なお、各データの定義は、以下の通りである。
Kmaster:鍵生成用の秘密情報
IV :鍵生成時の初期値
x :分割領域データの個数
i :分割領域データ固有の番号
Eb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズム
kb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mb :分割領域データ暗号化用の共通鍵ブロック暗号アルゴリズムのブロックのビット長(kb≧mb)
Ki :i番目の分割領域データを暗号化するための鍵(i=1,2,…,x),|Ki|=kb
Eg :鍵生成用の共通鍵ブロック暗号アルゴリズム
kg :鍵生成用の共通鍵ブロック暗号アルゴリズムの鍵のビット長
mg :鍵生成用の共通鍵ブロック暗号アルゴリズムのブロックのビット長(kg≧mg)
j :各分割領域データに対応して生成するデータ暗号鍵番号(j番目のデータ暗号鍵の生成にはj番目のマスター鍵Kmasterjが適用される。
t :kb/mg以上の最小の整数
TruncL(z1,…,zt):t個の入力zi(1<i<t)から、Lビットの値を出力する関数
‖ :ビットの連接
E(key,msg):共通鍵ブロック暗号アルゴリズムEにおける鍵(key)による平文(msg)の暗号文
ctr :カウンタ値The definition of each data is as follows.
Kmaster : secret information for key generation IV: initial value at the time of key generation x: number of divided area data i: number specific to divided area data Eb : common key block cipher algorithm for dividing area data encryption kb : Bit length mb of common key block encryption algorithm key for encryption of divided area data: Bit length of block of common key block encryption algorithm for encryption of divided area data (kb ≧ mb )
Ki : Key (i = 1, 2,..., X) for encrypting the i-th divided area data, | Ki | = kb
Eg : Common key block cipher algorithm for key generation kg : Bit length of key of common key block cipher algorithm for key generation mg : Bit length of block of common key block cipher algorithm for key generation (kg ≧mg )
j: Data encryption key number generated corresponding to each divided area data (j-th master key Kmasterj is applied to generate the j-th data encryption key.
t: smallest integer greater than or equal to kb /mg TruncL (z1 ,..., zt ): Function that outputs L-bit value from t inputs zi (1 <i <t) ビ ッ ト: bit E (key, msg): plaintext (msg) ciphertext with key (key) in common key block cipher algorithm E ctr: counter value
また、鍵生成処理を実行する情報処理装置は、以下の条件を満たすものとする。
(1)鍵生成を行うための秘密情報Kmasterとして予めnkeビットの鍵がメモリに格納されている。
(2)鍵生成には共通鍵ブロック暗号アルゴリズムEeが利用可能。
(3)分割領域データの共通鍵ブロック暗号アルゴリズムEbは単独の共通鍵ブロック暗号アルゴリズムEeがn重に多重化されている。mb=me,kb=nkeIn addition, the information processing apparatus that executes the key generation process satisfies the following conditions.
(1) A nke- bit key is stored in advance in the memory as secret information Kmaster for generating a key.
(2) The common key block cipher algorithm Ee can be used for key generation.
(3) The common key block cipher algorithmEb of the divided area data is multiplexed with a single common key block cipher algorithmEe n times. mb = me , kb = nke
図14に示すフローチャートの各ステップについて説明する。図14のフローチャートは、第i番目の分割領域データに対応するデータ暗号鍵の生成処理フローであり、1つの分割領域データはn重暗号処理を行うためのn個の暗号鍵が設定される。図14の処理フローでは、nkeビットの鍵K1,…,Kxを生成する。例えば、1つのnkeビットの鍵K1がn等分されて、n個のデータ暗号鍵K1,1〜K1,nとされる。Each step of the flowchart shown in FIG. 14 will be described. The flowchart in FIG. 14 is a processing flow for generating a data encryption key corresponding to the i-th divided area data. In each divided area data, n encryption keys for performing n-fold encryption processing are set. In the processing flow of FIG. 14, nke- bit keys K1, ..., Kx are generated. For example, one nke- bit key K1 is equally divided into n data encryption keys K1,1 to K1, n .
データ暗号鍵の生成処理を実行する情報処理装置は、予めメモリに生成済みのカウンタ値ctr(mbビット)、複数(n個)のマスター鍵Kmaster1〜Kmastern(各々kgビット)を有する。なお、nkeビットの1つのマスター鍵Kmaster(nkeビット)を格納し、このマスター鍵をn等分して複数(n個)のマスター鍵Kmaster1〜Kmastern(各々kgビット)を生成してもよい。なお、カウンタ値が生成済みでない場合は、新たに生成する。The information processing apparatus which executes the generation processing of the data encryption key, the memory in advance the generated counter value ctr(m b bits), having a plurality master keyK (n number of)master1 ~KMASTERn (eachk g bits) . Incidentally, stores nke bits of one master keyK master (nke bits), the master keyK master1 ~KMASTERn plurality this master key by n equal parts (n pieces) of the (eachk g bits) It may be generated. If the counter value has not been generated, it is newly generated.
ステップS301において、カウンタ値(ctr)を生成またはメモリから入力する。さらに、生成するデータ暗号鍵に対応する分割領域データの番号iを入力する。さらに、M1,0=M2,0=…=Mn,0=ctr+iとする。カウンタ値(ctr)を生成する場合は、例えば乱数生成処理によって生成する。あるいは初期値=0として設定してもよい。生成後のカウンタ値は、メモリに格納する。このステップの処理、すなわち、M1,0=M2,0=…=Mn,0=ctr+iとする処理は、図13に示すブロック671に対応するデータ暗号鍵の生成用の各ブロック671−1〜nの入力値を設定する処理である。In step S301, a counter value (ctr) is generated or input from a memory. Further, the division area data number i corresponding to the data encryption key to be generated is input. Further, M1,0 = M2,0 =... = Mn, 0 = ctr + i. When the counter value (ctr) is generated, for example, it is generated by random number generation processing. Alternatively, the initial value = 0 may be set. The generated counter value is stored in the memory. The processing of this step, that is, the processing of M1,0 = M2,0 =... = Mn, 0 = ctr + i, is performed for each
次に、ステップS302において、マスター鍵Kmasterを以下の式を満たす鍵長keビットのn個の鍵に分割する。
Kmaster=Kmaster1‖…‖Kmastern
この処理によりn個のマスター鍵を生成する。Next, in step S302, divides the master keyK master into n key in the key lengthk e bits that satisfies the following equation.
Kmaster = Kmaster1 ‖ ... ‖ Kmastern
This process generates n master keys.
次にステップS303において鍵生成用に用いるMの識別子であるsをs=0とする初期設定を行い、ステップS304においてsにs+1を代入する。 Next, in step S303, initial setting is performed so that s, which is an identifier of M used for key generation, is s = 0, and s + 1 is substituted for s in step S304.
次に、ステップS305において、j=1,…,nに対して以下の演算により、暗号文Mj、sを生成する。
Mj,s=Ee(Kmasterj,Mj,s−1)
この処理は、図13に示す各データ暗号鍵生成ブロックの1つの暗号処理部Eenにおける処理である。Next, in step S305, ciphertext Mj, s is generated by the following calculation for j = 1,..., N.
Mj, s = Ee (Kmasterj , Mj, s−1 )
This process is a process in one encryption processing unit Een of each data encryption key generation block shown in FIG.
次に、ステップS306において、sがt'と一致するならば、ステップS307へ進む。そうでなければ、ステップS304に戻り、ステップS304以下を繰り返し実行する。ただし、t'=ke/meとする。Next, in step S306, if s matches t ′, the process proceeds to step S307. Otherwise, the process returns to step S304, and step S304 and subsequent steps are repeatedly executed. However, thet '= k e / m e .
ステップS307では、j=1,…,nに対して、以下の計算により、データ暗号鍵Ki,jを求める。
Ki,j=Truncke(Mj,1,…,Mj,t')In step S307, the data encryption key Ki, j is obtained by the following calculation for j = 1,..., N.
Ki, j = Trunkke (Mj, 1 ,..., Mj, t ′ )
ステップS308では、Ki=Ki,1‖…‖Ki,nとして出力する。
Kiは、i番目の分割領域データに対応して設定されるn個のデータ暗号鍵の連結データを示す。分割領域データに対する暗号処理においては、Kiに基づいて、n個のデータ暗号鍵Ki,1〜Ki,nを生成して適用する。In step S308, Ki = Ki, 1 ‖... ‖Ki, n is output.
Ki indicates concatenated data of n data encryption keys set corresponding to the i-th divided area data. In the cryptographic processing for the divided area data based on theK i, n pieces of data encryption keysK i, 1~K i, is applied to generaten.
本処理例に従えば、各分割領域データに対応する複数のデータ暗号鍵を並列処理によって生成可能となり、分割領域データの暗号処理を多重(n重)暗号アルゴリズムを適用して実行する場合の複数(n個)のデータ暗号鍵を効率的に生成することが可能となる。また、カウンタ値を適用したので、各分割領域データに対応する入力値としてのカウンタ値を即座に求めることが可能となる。例えばi番目の分割領域データの入力値はctr+i−1として即座に算出可能である。 According to this processing example, it becomes possible to generate a plurality of data encryption keys corresponding to each divided area data by parallel processing, and a plurality of cases when executing encryption processing of divided area data by applying a multiple (n-fold) encryption algorithm. It is possible to efficiently generate (n) data encryption keys. Since the counter value is applied, it is possible to immediately obtain the counter value as the input value corresponding to each divided area data. For example, the input value of the i-th divided region data can be immediately calculated as ctr + i-1.
すなわち、コンテンツサーバ等において、多くのデータを多重暗号アルゴリズムによって暗号化し格納する場合においても、カウンタ値と、分割領域データ番号等のデータ識別値を対応に基づいて、マスター鍵を適用した暗号処理における入力値を即座に求めることが可能となり、処理対象のデータ選択に基づいて入力値を決定し、マスター鍵を適用して多重暗号アルゴリズムを行うためのデータ暗号鍵を効率的に生成することができる。なお、分割領域データ番号等のデータ識別値に基づいて入力値としてのカウンタ値を求める処理は演算処理によって行うか、あるいはカウンタ値と分割領域データ番号等のデータ識別値付けたテーブルをメモリに格納し、このテーブルを参照することで実行可能である。 That is, even in the case where a large amount of data is encrypted and stored by a multiple encryption algorithm in a content server or the like, in the encryption process using the master key based on the correspondence between the counter value and the data identification value such as the divided area data number The input value can be obtained immediately, the input value is determined based on the selection of data to be processed, and the data encryption key for performing the multiple encryption algorithm by applying the master key can be efficiently generated . The processing for obtaining the counter value as the input value based on the data identification value such as the divided area data number is performed by arithmetic processing, or a table with the counter value and the data identification value such as the divided area data number is stored in the memory. However, it can be executed by referring to this table.
最後に、上述の暗号処理を実行する情報処理装置700の構成例を図15に示す。上述の処理は、例えばPC、サーバ等、様々な情報処理装置において実行可能である。 Finally, FIG. 15 shows a configuration example of the
CPU(Central processing Unit)701は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、その他の各種プログラムを実行するプロセッサである。メモリ702は、CPU701が実行するプログラム、あるいは演算パラメータとしての固定データを格納するROM(Read-Only-Memory)、CPU701の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用されるRAM(Random Access Memory)等からなる。ここに上述したマスター鍵、初期値、カウンタ値などの格納領域が形成される。また、メモリ702は暗号処理において中間的に生成される鍵データ、例えばデータ暗号鍵等の格納領域として使用可能である。データ等の格納領域は、耐タンパ構造を持つメモリとして構成されることが好ましい。 A CPU (Central processing Unit) 701 is a processor that executes the start and end of cryptographic processing, control of data transmission / reception, data transfer control between each component, and other various programs. The
暗号処理部703は、例えば上述したDESその他のアルゴリズムに従った暗号処理、復号処理等を実行する。なお、ここでは、暗号処理手段を個別モジュールとした例を示したが、このような独立した暗号処理モジュールを設けず、例えば暗号処理プログラムをROMに格納し、CPU701がROM格納プログラムを読み出して実行するように構成してもよい。 The
乱数発生器704は、暗号処理に必要となる各種データ、例えば上述した実施例における初期値、カウンタ値の生成などにおいて必要となる乱数の発生処理を実行する。 The random number generator 704 executes random number generation processing necessary for generating various data necessary for encryption processing, for example, initial values and counter values in the above-described embodiments.
データ入出力部705は、外部とのデータ通信を実行するデータ通信処理部であり、例えばコンテンツの格納部としてのハードディスク等の大容量記憶部、あるいはネットワークを介したデータ通信を実行し、情報処理装置700内で生成した暗号文の出力、あるいは記憶部、外部機器からのデータ入力などを実行する。 The data input /
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。 The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。 The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。 For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。 The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。 Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
上述したように、本発明は、暗号化の必要な多くのデータに対して、それぞれ異なる暗号鍵を適用したn重の多重暗号アルゴリズムを行う構成において、各データ対応の鍵をマスター鍵に基づいて生成することを可能とするとともに、複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、第1のデータに対応する複数のデータ暗号鍵の構成データまたは鍵生成過程における生成データを、複数の異なるマスター鍵を個別に適用した暗号処理における各々の入力値として設定し、第2のデータに対応する複数のデータ暗号鍵の生成処理を実行する構成とし、また、各データ対応の複数のデータ暗号鍵の生成を並列実行可能な構成としたので、効率的に複数の鍵を生成することができる。また、暗号鍵生成処理を実行する装置に格納する情報をマスター鍵、および初期値のみに限定することが可能となり、格納データの増大に伴って格納すべきデータ暗号鍵を増加させることのない構成が実現される。従って、PC、コンテンツサーバ等、多数の暗号化データを格納、または復号して利用する情報処理装置において適用可能である。 As described above, according to the present invention, in a configuration in which an n-fold multiple encryption algorithm is applied to a lot of data that requires encryption, a key corresponding to each data is based on the master key. And generating a plurality of data encryption keys to be applied to the multiplexed encryption process of the first data by a plurality of independent encryption processes individually applying a plurality of different master keys. The configuration data of the plurality of data encryption keys corresponding to the data of the data or the data generated in the key generation process is set as each input value in the encryption processing to which a plurality of different master keys are individually applied, and corresponds to the second data Efficient data encryption key generation processing and multiple data encryption key generation for each data can be executed in parallel. It is possible to generate a plurality of keys. Further, it is possible to limit the information stored in the device that executes the encryption key generation process to only the master key and the initial value, and the configuration that does not increase the data encryption key to be stored with the increase in stored data Is realized. Therefore, the present invention can be applied to an information processing apparatus that stores or decrypts and uses a large number of encrypted data such as a PC and a content server.
さらに、本発明の構成によれば、暗号化の必要な多くのデータに対して、それぞれ異なる暗号鍵を適用したn重の多重暗号アルゴリズムを行う構成において、複数の異なるマスター鍵を個別に適用し、予め生成したカウンタ値を入力とした独立した複数の暗号処理により、第1のデータの多重化暗号処理に適用する複数のデータ暗号鍵を生成し、第1のデータと異なる各データの多重化暗号処理に適用する複数のデータ暗号鍵の生成に際しては、カウンタ値を、順次増分した値を入力として、複数の異なるマスター鍵を個別に適用した独立した複数の暗号処理を実行する構成としたので、多くのデータを多重暗号アルゴリズムによって暗号化し、格納する場合においても、カウンタ値と、データの識別値を対応付けることで、マスター鍵を適用した暗号処理における入力値を求めることが可能となり、処理対象のデータ選択に基づいて、即座にマスター鍵を適用して多重暗号アルゴリズムを行うためのデータ暗号鍵を生成することができる。従って、PC、コンテンツサーバ等、多数の暗号化データを格納、または復号して利用する情報処理装置において適用可能である。 Furthermore, according to the configuration of the present invention, a plurality of different master keys are individually applied in a configuration in which an n-duplex multiple encryption algorithm is applied to each piece of data that needs to be encrypted. Generating a plurality of data encryption keys to be applied to the multiplexed encryption process of the first data by a plurality of independent encryption processes using the previously generated counter value as input, and multiplexing each data different from the first data When generating a plurality of data encryption keys to be applied to encryption processing, the counter value is input as sequentially incremented values, and a plurality of independent encryption processings are performed by individually applying a plurality of different master keys. Even when a large amount of data is encrypted and stored using a multiple encryption algorithm, the master key is applied appropriately by associating the counter value with the data identification value. Was possible to obtain the input value and becomes in the encryption process was based on the data selection to be processed, it is possible to generate a data encryption key for performing multiple cryptographic algorithms immediately by applying the master key. Therefore, the present invention can be applied to an information processing apparatus that stores or decrypts and uses a large number of encrypted data such as a PC and a content server.
100 コンテンツサーバ
101,102,103 ネットワーク接続機器
201 マスター鍵
202 初期値
211 データ暗号鍵
212 分割領域データ
301,302,303 マスター鍵
305 初期値
311 データ暗号鍵
312 分割領域データ
351,35x 鍵生成ブロック
401,402,403 マスター鍵
405 初期値
411 データ暗号鍵
412 データ暗号鍵
431 分割領域データ1
441 分割領域データ暗号化データ
432 分割領域データ2
501,50x データ暗号鍵生成ブロック
551,552,55x データ暗号鍵生成ブロック
601,602,603 マスター鍵
605,606 カウンタ値
611,612 データ暗号鍵
631 分割領域データ1
632 分割領域データ2
671 データ暗号鍵生成ブロック
700 情報処理装置
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数発生器
705 データ入出力信部DESCRIPTION OF
441 divided area data
501, 50x Data encryption
632
671 Data encryption
702
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003320565AJP2005094071A (en) | 2003-09-12 | 2003-09-12 | Encryption processor and encryption key generating method, and computer program |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003320565AJP2005094071A (en) | 2003-09-12 | 2003-09-12 | Encryption processor and encryption key generating method, and computer program |
| Publication Number | Publication Date |
|---|---|
| JP2005094071Atrue JP2005094071A (en) | 2005-04-07 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003320565APendingJP2005094071A (en) | 2003-09-12 | 2003-09-12 | Encryption processor and encryption key generating method, and computer program |
| Country | Link |
|---|---|
| JP (1) | JP2005094071A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024170413A (en)* | 2018-10-02 | 2024-12-10 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー | System and method for cryptographic authentication of contactless cards - Patents.com |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024170413A (en)* | 2018-10-02 | 2024-12-10 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー | System and method for cryptographic authentication of contactless cards - Patents.com |
| Publication | Publication Date | Title |
|---|---|---|
| JP3992742B2 (en) | Encryption method and apparatus for nonlinearly combining data blocks and keys | |
| JP6964688B2 (en) | Devices and methods for performing approximation operations on ciphertext | |
| JP7049374B2 (en) | A terminal device that performs the same type of encryption, a server device that processes the ciphertext, and its method. | |
| KR101965628B1 (en) | Terminal device for performing homomorphic encryption, server device for calculating encrypted messages, and methods thereof | |
| JP4905000B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
| Engels et al. | Hummingbird: ultra-lightweight cryptography for resource-constrained devices | |
| CN101622816B (en) | Flexible structures and instructions for Advanced Encryption Standard (AES) | |
| Doröz et al. | Toward practical homomorphic evaluation of block ciphers using prince | |
| JP5060119B2 (en) | Cryptographic processing program, cryptographic processing method, and cryptographic processing apparatus | |
| JP4879951B2 (en) | Transpose data conversion for security enhancement | |
| JP5000365B2 (en) | Hash value generation device, program, and hash value generation method | |
| JP5835326B2 (en) | Encryption device, ciphertext comparison system, ciphertext comparison method, and ciphertext comparison program | |
| JP2008058830A (en) | Data converting device, data conversion method, and computer program | |
| JP2008058831A (en) | Encryption processing apparatus, encryption processing method, and computer program | |
| JP2007199156A (en) | Encryption processing device, equipment and method for manufacturing encryption processing device, and computer program | |
| Asaad et al. | Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation | |
| EP3996321A1 (en) | Method for processing encrypted data | |
| KR20060123298A (en) | Block encryption system that uses permutation to hide the core encryption function of each encryption round | |
| JP2005094071A (en) | Encryption processor and encryption key generating method, and computer program | |
| KR101133988B1 (en) | Method for encrypting and decrypting stream and cryptographic file systems thereof | |
| JP4857230B2 (en) | Pseudorandom number generator and encryption processing device using the same | |
| JP4644053B2 (en) | Encryption apparatus and method, decryption apparatus and method | |
| JP4287397B2 (en) | Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program | |
| JP5818768B2 (en) | Mask generation apparatus, information processing apparatus, method thereof, and program | |
| Hassan | New Approach for Modifying DES Algorithm Using 4-States Multi-keys |