Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5178269B2 - Decoding device and program - Google Patents
[go: Go Back, main page]

JP5178269B2 - Decoding device and program - Google Patents

Decoding device and program Download PDF

Info

Publication number
JP5178269B2
JP5178269B2 JP2008073236A JP2008073236A JP5178269B2 JP 5178269 B2 JP5178269 B2 JP 5178269B2 JP 2008073236 A JP2008073236 A JP 2008073236A JP 2008073236 A JP2008073236 A JP 2008073236A JP 5178269 B2 JP5178269 B2 JP 5178269B2
Authority
JP
Japan
Prior art keywords
key
intermediate key
unit
generated
generation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008073236A
Other languages
Japanese (ja)
Other versions
JP2009232034A (en
Inventor
清史 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008073236A priority Critical patent/JP5178269B2/en
Publication of JP2009232034A publication Critical patent/JP2009232034A/en
Application granted granted Critical
Publication of JP5178269B2 publication Critical patent/JP5178269B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パケット通信の際にパケットを秘匿するための暗号装置及び復号装置、更に、これを実現するための暗号方法、復号方法およびプログラムに関する。   The present invention relates to an encryption device and a decryption device for concealing a packet during packet communication, and further relates to an encryption method, a decryption method, and a program for realizing this.

外部同期式ストリーム暗号装置は、その特徴として、通信データにビット誤りが発生した場合でも、そのビットだけが誤りとなり、その後の処理に影響を与えない。ただし、通信中は暗号装置と復号装置でその内部状態を常に同期させていなければならない。   As a feature of the external synchronous stream cipher apparatus, even if a bit error occurs in communication data, only that bit becomes an error and does not affect the subsequent processing. However, the internal state must always be synchronized between the encryption device and the decryption device during communication.

図10は、外部同期式ストリーム暗号処理方式を用いてパケットの暗号処理を行う暗号装置における暗号処理部を示すものである。   FIG. 10 shows an encryption processing unit in an encryption device that performs packet encryption processing using the external synchronous stream encryption processing method.

最初に構成について説明する。
A01は、平文データである(以下、単に平文と呼ぶ)。
A02は、平文A01を暗号化する秘密鍵とIV(Initial Vector)の保存先アドレス等の鍵情報である。
A03は、暗号処理後の暗号文データである(以下、単に暗号文と呼ぶ)。
A1は、秘密鍵とIVを保存する秘密鍵・IV保存メモリである。
A2は、鍵系列を生成するための中間鍵MKを保存する中間鍵保存メモリである。
A3は、メモリアクセス管理部である。
A4は、鍵系列生成部である。
A5は、鍵系列と平文の排他的論理和を行うXOR(Exclusive OR)部である。
ここで鍵系列とは、鍵系列生成部A4から出力される乱数性の高いビット列のことで、暗号化側では平文のビット列と排他的論理和を行うことで暗号文を生成し、復号側では暗号文のビット列と排他的論理和を行うことで平文を生成するためのものである。
First, the configuration will be described.
A01 is plaintext data (hereinafter simply referred to as plaintext).
A02 is key information such as a secret key for encrypting plaintext A01 and a storage destination address of IV (Initial Vector).
A03 is ciphertext data after cryptographic processing (hereinafter simply referred to as ciphertext).
A1 is a secret key / IV storage memory for storing a secret key and IV.
A2 is an intermediate key storage memory for storing an intermediate key MK for generating a key sequence.
A3 is a memory access management unit.
A4 is a key sequence generation unit.
A5 is an XOR (Exclusive OR) unit that performs exclusive OR of a key sequence and plaintext.
Here, the key sequence is a bit sequence with high randomness output from the key sequence generation unit A4. The encryption side generates a ciphertext by performing exclusive OR with the plaintext bit sequence, and the decryption side This is for generating plaintext by performing exclusive OR with a bit string of ciphertext.

次に動作について説明する。
パケット通信前に、対向となる装置間で同じ秘密鍵とIVを共有し、それを秘密鍵・IV保存メモリA1に保存する。
パケット通信時は、平文A01を暗号化するにあたり、メモリアクセス管理部A3は、鍵情報A02を受け取り、この情報を元に秘密鍵・IV保存メモリA1から該当する秘密鍵とIVを読み出し、これを鍵系列生成部A4に渡す。
秘密鍵とIVを受け取った鍵系列生成部A4は、平文A01の暗号化に使用する鍵系列を生成し、これをXOR部A5に渡す。XOR部A5は平文A01と鍵系列の排他的論理和を行い、暗号文A03を出力する。
ここで、暗号化で使用した最後の鍵系列を生成する際に同時に生成された中間鍵は、中間鍵保存メモリA2に保存する。
尚、図10は暗号装置における暗号処理部の構成を表しているが、復号装置においても構成は同一で、図10中の平文A01と暗号文A03の位置を入れ替えた構成となる。
Next, the operation will be described.
Before the packet communication, the opposite secret device and the same secret key and IV are shared and stored in the secret key / IV storage memory A1.
At the time of packet communication, when encrypting the plaintext A01, the memory access management unit A3 receives the key information A02, reads out the corresponding secret key and IV from the secret key / IV storage memory A1 based on this information, It is passed to the key sequence generation unit A4.
Upon receiving the secret key and IV, the key sequence generation unit A4 generates a key sequence used for encryption of the plaintext A01 and passes this to the XOR unit A5. The XOR unit A5 performs an exclusive OR of the plaintext A01 and the key sequence, and outputs a ciphertext A03.
Here, the intermediate key generated simultaneously with the generation of the last key sequence used for encryption is stored in the intermediate key storage memory A2.
10 illustrates the configuration of the encryption processing unit in the encryption device, the configuration is the same in the decryption device, and the configuration is such that the positions of plaintext A01 and ciphertext A03 in FIG. 10 are interchanged.

図11は、図10における鍵系列生成部A4の内部を示すものである。
最初に構成について説明する。
B0は、鍵系列生成部である。
B11は、鍵系列を生成するための秘密鍵とIVである。
B12は、生成された鍵系列である。
B2は、入力データの乱数性を高めるための攪拌関数である。
B3は、中間鍵である。
ここで中間鍵について説明する。
攪拌関数B2は秘密鍵とIV B11を入力とし、処理を実行して得られるデータを再び攪拌関数B2の入力として処理を行う。以降これを繰り返すことで攪拌関数B2による処理一回ごとに得られる鍵系列の乱数性を高める。この攪拌関数B2による1回の処理をラウンド処理と呼び、ラウンド間の攪拌関数B2の入力データを中間鍵と呼ぶ。
FIG. 11 shows the inside of the key sequence generation unit A4 in FIG.
First, the configuration will be described.
B0 is a key sequence generation unit.
B11 is a secret key and IV for generating a key sequence.
B12 is the generated key sequence.
B2 is a stirring function for improving the randomness of the input data.
B3 is an intermediate key.
Here, the intermediate key will be described.
The agitation function B2 receives the secret key and IV B11 as input, and performs the process again using the data obtained by executing the process as the input of the agitation function B2. Thereafter, by repeating this, the randomness of the key sequence obtained for each processing by the stirring function B2 is improved. One process by the stirring function B2 is called a round process, and the input data of the stirring function B2 between rounds is called an intermediate key.

次に鍵系列生成部B0の動作について説明する。
図12は、鍵系列生成部B0の鍵系列生成処理動作を示した図で、まず秘密鍵とIV B11を入力として初期化を行う。
初期化とは、一定回数のラウンド処理を行うことで、攪拌関数B2の出力する鍵系列の乱数性を高めるためのものである。このラウンド処理回数はストリーム暗号アルゴリズムごとに推奨されている回数が異なる。
初期化完了後は、乱数性の高い鍵系列を得られるため、以降のラウンドごとに得られる鍵系列KC#1,KC#2,・・・を暗号処理に使用する。
また、鍵系列の生成と同時に、次のラウンドの入力データとなる中間鍵が得られ、初期化完了後の中間鍵をMK#1とし、以降のラウンドごとに得られる中間鍵をMK#2,MK#3,・・・とする。
2回目以降のラウンドでは、秘密鍵とIV B11は使用せず、前回のラウンドで得られた中間鍵のみを利用して鍵系列を生成する。
Next, the operation of the key sequence generation unit B0 will be described.
FIG. 12 is a diagram showing the key sequence generation processing operation of the key sequence generation unit B0. First, initialization is performed with the secret key and IV B11 as inputs.
Initialization is to improve the randomness of the key sequence output by the agitation function B2 by performing a certain number of round processes. The number of round processing is different from the number recommended for each stream cipher algorithm.
Since the key sequence with high randomness can be obtained after the initialization is completed, the key sequences KC # 1, KC # 2,... Obtained for each subsequent round are used for encryption processing.
Simultaneously with the generation of the key sequence, an intermediate key serving as input data for the next round is obtained. The intermediate key after completion of initialization is MK # 1, and the intermediate key obtained for each subsequent round is MK # 2. MK # 3, and so on.
In the second and subsequent rounds, the secret key and IV B11 are not used, and a key sequence is generated using only the intermediate key obtained in the previous round.

続いて、一般的な外部同期式ストリーム暗号装置のパケット通信時の動作について説明する。
パケット通信時は、1パケットにつき複数の鍵系列を使用する。鍵系列は、KC#1, KC#2,・・・の順に使用される。
例えば、あるパケットでKC#1,KC#2,・・・,KC#30まで使用して暗号化した場合、次のパケットではKC#31,KC#32,・・・を使用して暗号化する。
同様に、復号装置でも暗号装置と同一の鍵系列を求めてパケットを復号する。
Next, the operation during packet communication of a general external synchronous stream cipher apparatus will be described.
During packet communication, a plurality of key sequences are used per packet. The key sequences are used in the order of KC # 1, KC # 2,.
For example, when encryption is performed using KC # 1, KC # 2,..., KC # 30 in a certain packet, encryption is performed using KC # 31, KC # 32,. To do.
Similarly, the decryption device obtains the same key sequence as that of the encryption device and decrypts the packet.

以上のように、パケットの暗号化と復号において同一の鍵系列を生成するために、暗号装置と復号装置では中間鍵を合わせる必要があり、これを「同期を取る」という。
VPN(Virtual Private Network)装置等の中継装置で暗号通信を行う場合、同期を取るために中間鍵をメモリ等で管理する方法がある。
その理由は、通信トンネルごとに秘密鍵とIVを変えて鍵系列KCを生成する必要があるためである。
ここで通信トンネルとは、インターネットのような公衆通信網の中で、暗号通信によって仮想的にPoint−to−Pointの通信を行うこと及びPoint−to−Point通信を行うための仮想ネットワークを指す。
通信トンネルごとに別々の鍵系列KCを使用するため、図10では中間鍵を鍵系列生成部A4から一時的に退避させるために中間鍵保存メモリA5を使用する。
また、通信前には通信トンネルごとに中間鍵MK#1を求めて中間鍵保存メモリA5に保持しておくことにより、通信開始時の初期化時間を隠蔽することも可能である。
As described above, in order to generate the same key sequence in packet encryption and decryption, the encryption device and the decryption device must match the intermediate key, which is referred to as “synchronization”.
When performing cryptographic communication with a relay apparatus such as a VPN (Virtual Private Network) apparatus, there is a method of managing an intermediate key with a memory or the like for synchronization.
This is because it is necessary to generate the key sequence KC by changing the secret key and IV for each communication tunnel.
Here, the communication tunnel refers to a virtual network for performing point-to-point communication and point-to-point communication by virtual communication in a public communication network such as the Internet.
Since a separate key sequence KC is used for each communication tunnel, in FIG. 10, the intermediate key storage memory A5 is used to temporarily save the intermediate key from the key sequence generation unit A4.
Further, by obtaining the intermediate key MK # 1 for each communication tunnel and storing it in the intermediate key storage memory A5 before communication, it is possible to hide the initialization time at the start of communication.

また、本発明に関連する技術として、特許文献1に記載の技術がある。
特開平5−249891号公報
Moreover, there exists a technique of patent document 1 as a technique relevant to this invention.
JP-A-5-249891

以上のように、外部同期式ストリーム暗号では、暗号装置と復号装置で同期を取る必要があり、異なる通信トンネルの鍵系列を生成する場合に中間鍵を一時的にメモリ等に保持しておく必要があるが、復号装置では同一の秘密鍵を使用するパケットを処理する場合においてもメモリ等に保持する必要がある。
例えば、暗号装置で暗号化されたパケットP#1,P#2,P#3(同一の秘密鍵からP#1→P#2→P#3の順で生成されたパケット)を復号装置が受信する際、P#3を先に受信したときを考える。
元々復号装置はP#1用の中間鍵MK#1をメモリ等に保持しているがP#3用の中間鍵を持っていない。そのためMK#1からラウンド処理を行ってP#3用の中間鍵を作成する必要があるが、P#1およびP#2でどれだけの鍵系列を必要とするか不明なため、どれだけの回数ラウンド処理した後のMKがP#3用であるのか判別できない。
As described above, in the external synchronous stream cipher, it is necessary to synchronize between the encryption device and the decryption device, and it is necessary to temporarily hold the intermediate key in a memory or the like when generating a key sequence for different communication tunnels. However, the decryption device needs to hold it in a memory or the like even when processing a packet using the same secret key.
For example, the decryption device receives packets P # 1, P # 2, and P # 3 (packets generated in the order of P # 1 → P # 2 → P # 3 from the same secret key) encrypted by the encryption device. When receiving, consider the case of receiving P # 3 first.
Originally, the decryption apparatus holds the intermediate key MK # 1 for P # 1 in a memory or the like, but does not have the intermediate key for P # 3. Therefore, it is necessary to perform a round process from MK # 1 to create an intermediate key for P # 3. However, it is unknown how many key sequences are required for P # 1 and P # 2, so how many It cannot be determined whether the MK after the round processing is for P # 3.

この課題を解決する案として、P#3に使用するMKの識別子(例えば100ラウンド後のMK#101をP#3で使用する場合は101の情報)をP#3に付設して通信することが考えられる。
しかし、P#3用の中間鍵を生成する途中ではP#2で必要となる中間鍵も生成されるが、こちらについては、どのMKがP#2用であるのかを識別することができない。この間の全てのラウンド処理で生成されるMKを全てメモリに保持しておく方法もあるが、必要となるメモリ量が肥大化するという課題がある。メモリに保存しない回避策としては、P#2を受信した際にMK#1からMK#2を再計算する方法も考えられるが、通信路でのパケット順序変化が発生するごとに行うと通信性能が低下するという課題がある。
As a proposal to solve this problem, an identifier of MK used for P # 3 (for example, information of 101 when MK # 101 after 100 rounds is used in P # 3) is attached to P # 3 for communication. Can be considered.
However, in the middle of generating the intermediate key for P # 3, an intermediate key required for P # 2 is also generated, but for this, it is impossible to identify which MK is for P # 2. There is also a method of holding all MKs generated in all round processes during this period in the memory, but there is a problem that the amount of memory required is enlarged. As a workaround not to store in memory, a method of recalculating MK # 1 to MK # 2 when P # 2 is received can be considered. There is a problem that decreases.

また、このような外部同期式ゆえの課題を解決する方法としては、内部同期式ストリーム暗号を使用することも考えられる。内部同期式ストリーム暗号装置は、その特徴として、暗号文の系列に依存した形で鍵系列を生成させるため、外部同期式のように暗号装置と復号装置で同期する必要がない。
ただし、暗号文のあるビットに誤りが発生すると他のビットにも波及してエラーが拡大してしまうという課題があり、更に、あるパケットでのビット誤りが他のパケットの復号にも影響を与える可能性がある。
Further, as a method for solving such a problem due to the external synchronization method, it is conceivable to use an internal synchronization stream cipher. The internal synchronous stream cipher apparatus is characterized in that the key sequence is generated in a form dependent on the ciphertext sequence, so that it is not necessary to synchronize the encryption device and the decryption device as in the external synchronization type.
However, if an error occurs in a bit in the ciphertext, there is a problem that the error spreads to other bits and the error is expanded, and further, a bit error in a packet affects the decryption of the other packet. there is a possibility.

この発明は、上記のような課題を解決することを主な目的の一つとしており、中間鍵を保存するメモリのメモリ量を抑制するとともに、通信路でパケットの順序変化が起こった場合であっても、正順序時と同等の処理負荷及びメモリ使用量で復号処理可能な仕組みを実現することを主な目的とする。   One of the main objects of the present invention is to solve the above-described problems, and is a case where the memory amount of the memory for storing the intermediate key is suppressed and the packet order is changed in the communication path. However, the main purpose is to realize a mechanism that can perform a decoding process with the same processing load and memory usage as in the normal order.

本発明に係る暗号装置は、
第1中間鍵と第2中間鍵を保存する中間鍵保存部と、
前記中間鍵保存部に保存されている第1中間鍵を用いて第1鍵系列を生成し、前記中間鍵保存部に保存されている第2中間鍵を用いて第2鍵系列を生成する鍵系列生成部と、
前記鍵系列生成部により生成された第1鍵系列を用いて平文データを暗号化して暗号文データとし、前記鍵系列生成部により生成された第2鍵系列を用いて第1中間鍵を暗号化して暗号化第1中間鍵とする暗号処理部とを有することを特徴とする。
The encryption device according to the present invention is:
An intermediate key storage unit for storing the first intermediate key and the second intermediate key;
A key that generates a first key sequence using the first intermediate key stored in the intermediate key storage unit and generates a second key sequence using the second intermediate key stored in the intermediate key storage unit A sequence generator,
The plaintext data is encrypted by using the first key sequence generated by the key sequence generation unit to obtain ciphertext data, and the first intermediate key is encrypted by using the second key sequence generated by the key sequence generation unit And an encryption processing unit serving as an encrypted first intermediate key.

本発明に係る復号装置は、
第1中間鍵から生成される第1鍵系列を用いて暗号化された暗号文データと第2中間鍵から生成される第2鍵系列を用いて暗号化された暗号化第1中間鍵とを受信する受信部と、
暗号文データ及び暗号化第1中間鍵の受信に先立って生成されている第2中間鍵を保存する中間鍵保存部と、
前記中間鍵保存部に保存されている第2中間鍵を用いて第2鍵系列を生成し、復号された第1中間鍵を用いて第1鍵系列を生成する鍵系列生成部と、
前記鍵系列生成部により生成された第2鍵系列を用いて暗号化第1中間鍵を復号して第1中間鍵とし、前記鍵系列生成部により生成された第1鍵系列を用いて暗号文データを復号する復号処理部とを有することを特徴とする。
The decoding device according to the present invention provides:
Ciphertext data encrypted using the first key sequence generated from the first intermediate key, and encrypted first intermediate key encrypted using the second key sequence generated from the second intermediate key A receiving unit for receiving;
An intermediate key storage unit for storing the second intermediate key generated prior to reception of the ciphertext data and the encrypted first intermediate key;
A key sequence generation unit that generates a second key sequence using the second intermediate key stored in the intermediate key storage unit, and generates a first key sequence using the decrypted first intermediate key;
The encrypted first intermediate key is decrypted using the second key sequence generated by the key sequence generation unit to be a first intermediate key, and the ciphertext is generated using the first key sequence generated by the key sequence generation unit. And a decoding processing unit for decoding data.

本発明によれば、データを秘匿する第1中間鍵と第1中間鍵を秘匿する第2中間鍵を用い、秘匿したデータと秘匿した第1中間鍵を合わせて通信することにより、復号側では第2中間鍵のみを管理すればよく、中間鍵を保存するメモリのメモリ量を抑制することができる。また、復号装置で復号に使用する第2中間鍵を予め求めておくことが可能であり、通信路でパケットの順序変化が起こった場合であっても、正順序時と同等の処理負荷及びメモリ使用量で復号処理が可能である。   According to the present invention, by using the first intermediate key for concealing data and the second intermediate key for concealing the first intermediate key and communicating the concealed data and the concealed first intermediate key together, Only the second intermediate key needs to be managed, and the amount of memory for storing the intermediate key can be suppressed. Further, the second intermediate key used for decryption by the decryption device can be obtained in advance, and even when the packet order changes in the communication path, the processing load and memory equivalent to those in the normal order Decoding processing is possible with the amount used.

実施の形態1.
実施の形態1に係る暗号装置1の構成例を図1に示し、復号装置2の構成例を図2に示す。
Embodiment 1 FIG.
A configuration example of the encryption device 1 according to the first embodiment is shown in FIG. 1, and a configuration example of the decryption device 2 is shown in FIG.

まず、本実施の形態に係る暗号装置1及び復号装置2の動作の概略を説明する。   First, an outline of operations of the encryption device 1 and the decryption device 2 according to the present embodiment will be described.

暗号装置1では、中間鍵MK1(平)を用いて平文101を暗号文103にし、別の中間鍵である中間鍵MK2を用いて中間鍵MK1(平)を暗号化して中間鍵MK(暗)104とし、暗号文103と中間鍵MK(暗)104を合わせて秘匿パケット105として送信する。
復号装置2では、予め中間鍵MK2を生成して保存しており、秘匿パケット105を受信した際に、保存している中間鍵MK2を用いて、秘匿パケット105に含まれている中間鍵MK1(暗)201を復号して中間鍵MK1(平)とし、中間鍵MK1(平)を用いて、秘匿パケット105に含まれている暗号文202を復号して平文204とする。
復号装置2では中間鍵MK2のみを管理すればよく、中間鍵を保存するメモリのメモリ量を抑制することができる。また、復号装置2で復号に使用する中間鍵MK2を予め求めておくことが可能であり、通信路でパケットの順序変化が起こった場合であっても、正順序時と同等の処理負荷及びメモリ使用量で復号処理が可能である。
In the encryption device 1, the intermediate key MK1 (plain) is converted to the plaintext 101 using the intermediate key MK1 (plain), and the intermediate key MK1 (plain) is encrypted using the intermediate key MK2 which is another intermediate key. 104, the ciphertext 103 and the intermediate key MK (dark) 104 are combined and transmitted as a secret packet 105.
In the decryption device 2, the intermediate key MK2 is generated and stored in advance, and when the secret packet 105 is received, the intermediate key MK1 ( (Encryption) 201 is decrypted to be an intermediate key MK1 (flat), and the ciphertext 202 included in the secret packet 105 is decrypted to be a plaintext 204 by using the intermediate key MK1 (plain).
The decryption device 2 only needs to manage the intermediate key MK2, and the amount of memory for storing the intermediate key can be suppressed. Further, the intermediate key MK2 used for decryption by the decryption device 2 can be obtained in advance, and even when the packet order changes in the communication path, the processing load and memory equivalent to those in the normal order are obtained. Decoding processing is possible with the amount used.

次に、図1の暗号装置1の構成と動作を詳述する。
101は、平文である。
102は、平文101を暗号化する鍵の保存先アドレス等の鍵情報である。
103は、暗号処理後の暗号文である。
104は、平文101を暗号化するときに最初のラウンドで使用した中間鍵MK1(平)を中間鍵MK2で暗号化した中間鍵MK1(暗)である。
11は、秘密鍵とIVを保存する秘密鍵・IV保存メモリである。
12は、平文101を暗号化するときに使用する中間鍵MK1(平)を保存する中間鍵MK1(平)保存メモリである。
13は、中間鍵MK1(平)を暗号化するときに使用する中間鍵MK2を保存する中間鍵MK2保存メモリである。
14は、メモリアクセス管理部である。
15は、平文101を暗号化するための鍵系列を中間鍵MK1(平)から生成する鍵系列生成部_1である。
16は、MK1(平)を暗号化するための鍵系列を中間鍵MK2から生成する鍵系列生成部_2である。
17は、鍵系列生成部_1により生成された鍵系列と平文101の排他的論理和を行うXOR部_1である。
18は、鍵系列生成部_2により生成された鍵系列と中間鍵MK1(平)の排他的論理和を行うXOR部_2である。
19は、暗号文103と中間鍵MK1(暗)104とを合わせて秘匿パケット105として送信する送信部である。
Next, the configuration and operation of the encryption device 1 of FIG. 1 will be described in detail.
101 is plaintext.
Reference numeral 102 denotes key information such as a storage destination address of a key for encrypting the plaintext 101.
Reference numeral 103 denotes a ciphertext after the cryptographic process.
Reference numeral 104 denotes an intermediate key MK1 (dark) obtained by encrypting the intermediate key MK1 (plain) used in the first round when the plaintext 101 is encrypted with the intermediate key MK2.
Reference numeral 11 denotes a secret key / IV storage memory for storing a secret key and IV.
An intermediate key MK1 (plain) storage memory 12 stores an intermediate key MK1 (plain) used when encrypting the plaintext 101.
An intermediate key MK2 storage memory 13 stores an intermediate key MK2 used when encrypting the intermediate key MK1 (flat).
Reference numeral 14 denotes a memory access management unit.
Reference numeral 15 denotes a key sequence generation unit_1 that generates a key sequence for encrypting the plaintext 101 from the intermediate key MK1 (plain).
Reference numeral 16 denotes a key sequence generation unit_2 that generates a key sequence for encrypting MK1 (flat) from the intermediate key MK2.
Reference numeral 17 denotes an XOR unit_1 that performs an exclusive OR of the key sequence generated by the key sequence generation unit_1 and the plaintext 101.
Reference numeral 18 denotes an XOR unit_2 that performs exclusive OR of the key sequence generated by the key sequence generation unit_2 and the intermediate key MK1 (flat).
A transmission unit 19 transmits the ciphertext 103 and the intermediate key MK1 (dark) 104 together as a secret packet 105.

鍵系列とは、前述したように、鍵系列生成部_1 15および鍵系列生成部_2 16から出力される乱数性の高いビット列のことで、暗号化側では平文のビット列と排他的論理和を行うことで暗号文を生成し、復号側では暗号文のビット列と排他的論理和を行うことで平文を生成するためのものである。
後述するように、鍵系列生成部_1 15および鍵系列生成部_2 16は、平文101もしくは中間鍵MK1(平)が入力される前に、秘密鍵とIVとを用いて中間鍵を生成するものであり、それぞれ第1の鍵系列生成部、第2の鍵系列生成部に相当する。また、鍵系列生成部_1 15および鍵系列生成部_2 16により生成される鍵系列は第1鍵系列及び第2鍵系列に相当する。
As described above, the key sequence is a bit sequence with high randomness output from the key sequence generation unit_1 15 and the key sequence generation unit_2 16, and performs exclusive OR with the plaintext bit sequence on the encryption side. Thus, the ciphertext is generated, and the decryption side generates the plaintext by performing an exclusive OR with the bit string of the ciphertext.
As will be described later, the key sequence generation unit_1 15 and the key sequence generation unit_2 16 generate an intermediate key using the secret key and IV before the plaintext 101 or the intermediate key MK1 (plain) is input. These correspond to the first key sequence generation unit and the second key sequence generation unit, respectively. The key sequences generated by the key sequence generation unit_1 15 and the key sequence generation unit_2 16 correspond to the first key sequence and the second key sequence.

また、中間鍵MK1(平)保存メモリおよび中間鍵MK2保存メモリは、中間鍵生成部たる鍵系列生成部_1 15および鍵系列生成部_2 16により生成された中間鍵を保存するものであり、中間鍵保存部に相当する。
また、中間鍵MK1(平)保存メモリ12に保存されている中間鍵MK1(平)は、第1中間鍵に相当し、中間鍵MK2保存メモリ13に保存されている中間鍵MK2は、第2中間鍵に相当する。
更に、中間鍵MK1(暗)104は、暗号化第1中間鍵に相当する。
The intermediate key MK1 (plain) storage memory and the intermediate key MK2 storage memory store the intermediate keys generated by the key sequence generation unit_115 and the key sequence generation unit_216, which are intermediate key generation units. Corresponds to the key storage unit.
The intermediate key MK1 (flat) stored in the intermediate key MK1 (flat) storage memory 12 corresponds to the first intermediate key, and the intermediate key MK2 stored in the intermediate key MK2 storage memory 13 is the second key. Corresponds to an intermediate key.
Further, the intermediate key MK1 (dark) 104 corresponds to an encrypted first intermediate key.

XOR部_1 17は、鍵系列生成部_1 15により生成された鍵系列を入力とし、順次入力された平文101の暗号化を行うものであり、第1の暗号化処理部に相当する。
同様にXOR部_2 18は、鍵系列生成部_2 16により生成された鍵系列を入力とし、順次入力された中間鍵MK1(平)の暗号化を行うものであり、第2の暗号化処理部に相当する。
The XOR unit_1 17 receives the key sequence generated by the key sequence generation unit_115, and encrypts the plaintext 101 sequentially input, and corresponds to a first encryption processing unit.
Similarly, the XOR unit_2 18 receives the key sequence generated by the key sequence generation unit_2-16 and encrypts the intermediate key MK1 (flat) sequentially input. The second encryption processing unit It corresponds to.

つまり、本実施の形態の暗号装置1では、鍵系列生成部_1 15が、平文101が入力される前に、一つの秘密鍵とIVを用いて中間鍵MK1(平)を生成し、中間鍵MK1(平)保存メモリ12が、生成された中間鍵MK1(平)を保存し、更に鍵系列生成部_1 15は、平文101が入力された際に、中間鍵MK1(平)保存メモリ12に保存されている中間鍵MK1(平)を入力し、入力した中間鍵MK1(平)から鍵系列を生成し、XOR部_1 17は、鍵系列生成部_1 15により生成された鍵系列を入力し、入力した鍵系列を用いて、平文101の暗号化を行う。   That is, in the encryption device 1 of the present embodiment, the key sequence generation unit_115 generates the intermediate key MK1 (plain) using one secret key and IV before the plaintext 101 is input, and the intermediate key The MK1 (plain) storage memory 12 stores the generated intermediate key MK1 (plain), and the key sequence generation unit_115 stores the plaintext 101 in the intermediate key MK1 (plain) storage memory 12. The stored intermediate key MK1 (flat) is input, a key sequence is generated from the input intermediate key MK1 (flat), and the XOR unit_1 17 receives the key sequence generated by the key sequence generation unit_115. The plaintext 101 is encrypted using the input key sequence.

同じく、鍵系列生成部_2 16が、中間鍵MK1(平)が入力される前に、上記とは異なる一つの秘密鍵とIVを用いて中間鍵MK2を生成し、中間鍵MK2保存メモリ13が、生成された中間鍵MK2を保存し、更に鍵系列生成部_2 16は、中間鍵MK1(平)が入力された際に、中間鍵MK2保存メモリ13に保存されている中間鍵MK2を入力し、入力した中間鍵MK2から鍵系列を生成し、XOR部_2 18は、鍵系列生成部_2 16により生成された鍵系列を入力し、入力した鍵系列を用いて、中間鍵MK1(平)の暗号化を行って中間鍵MK1(暗)104を得る。   Similarly, before the intermediate key MK1 (flat) is input, the key sequence generation unit _ 2 16 generates the intermediate key MK2 using one secret key and IV different from the above, and the intermediate key MK2 storage memory 13 The generated intermediate key MK2 is stored, and the key sequence generation unit_2 16 inputs the intermediate key MK2 stored in the intermediate key MK2 storage memory 13 when the intermediate key MK1 (flat) is input. Then, the key sequence is generated from the input intermediate key MK2, and the XOR unit_2-18 inputs the key sequence generated by the key sequence generation unit_2216, and uses the input key sequence to generate the intermediate key MK1 (plain). Encryption is performed to obtain an intermediate key MK1 (dark) 104.

また、生成された暗号文103と中間鍵MK1(暗)は、送信部19において組み合わせて秘匿パケット105として通信路に出力される。例えば、一般的なパケット暗号通信の規格であるIPsecでは、IPsecパケットのESPペイロード領域として、組み合わされた暗号文103と中間鍵MK1(暗)が通信路に出力される。   Further, the generated ciphertext 103 and the intermediate key MK1 (dark) are combined in the transmission unit 19 and output as a secret packet 105 to the communication path. For example, in IPsec, which is a standard for general packet encryption communication, the combined ciphertext 103 and intermediate key MK1 (dark) are output to the communication path as the ESP payload area of the IPsec packet.

また、鍵系列生成部とXOR部はそれぞれ2個ずつあるが、これは平文101の暗号化のための鍵系列生成とXOR処理、および中間鍵MK1(平)の暗号化のための鍵系列生成とXOR処理をパイプライン処理して高速化するのに効果がある。   In addition, there are two key sequence generation units and two XOR units, which are key sequence generation and XOR processing for encryption of plaintext 101, and key sequence generation for encryption of intermediate key MK1 (plain). And XOR processing are effective in increasing the speed by pipeline processing.

続いて復号装置2の構成を図2に示す。
29は、暗号装置1から送信された秘匿パケット105を受信し、秘匿パケット105から中間鍵MK1(暗)201及び暗号文202を抽出する受信部である。
201は、暗号文202を復号する際に使用する中間鍵MK1(平)が、暗号装置1で中間鍵MK2によって暗号化された中間鍵MK1(暗)である。前述したように、中間鍵MK1(暗)201は受信部29により秘匿パケット105から抽出される。
202は、暗号装置1で中間鍵MK1(平)によって暗号化された暗号文である。前述したように、暗号文202は受信部29により秘匿パケット105から抽出される。
203は、中間鍵MK1(暗)201および暗号文202を復号する鍵の保存先アドレス等の鍵情報である。
204は、復号後の平文である。
21は、パケットの復号ごとに新規に中間鍵MK2を計算するか否かを判定する中間鍵MK2更新管理部である。
22は、秘密鍵とIVを保存する秘密鍵・IV保存メモリである。
23は、中間鍵MK1(暗)201を復号するときに使用する中間鍵MK2を保存する中間鍵MK2保存メモリである。
24は、メモリアクセス管理部である。
25は、中間鍵MK1(暗)を復号するための鍵系列を中間鍵MK2から生成する鍵系列生成部_1である。
26は、暗号文202を復号するための鍵系列を中間鍵MK1(平)から生成する鍵系列生成部_2である。
27は、鍵系列生成部_1により生成された鍵系列と平文101の排他的論理和を行うXOR部_1である。
28は、鍵系列生成部_2により生成された鍵系列と中間鍵MK1(平)の排他的論理和を行うXOR部_2である。
Next, the configuration of the decoding device 2 is shown in FIG.
A receiving unit 29 receives the secret packet 105 transmitted from the encryption device 1 and extracts the intermediate key MK1 (dark) 201 and the ciphertext 202 from the secret packet 105.
Reference numeral 201 denotes an intermediate key MK1 (dark) obtained by encrypting the intermediate key MK1 (flat) used for decrypting the ciphertext 202 with the intermediate key MK2 in the encryption device 1. As described above, the intermediate key MK1 (dark) 201 is extracted from the secret packet 105 by the receiving unit 29.
Reference numeral 202 denotes a ciphertext encrypted by the encryption device 1 using the intermediate key MK1 (flat). As described above, the ciphertext 202 is extracted from the secret packet 105 by the receiving unit 29.
203 is key information such as a storage destination address of a key for decrypting the intermediate key MK1 (dark) 201 and the ciphertext 202.
204 is the plaintext after decryption.
An intermediate key MK2 update management unit 21 determines whether or not to newly calculate the intermediate key MK2 every time the packet is decrypted.
Reference numeral 22 denotes a secret key / IV storage memory for storing a secret key and IV.
An intermediate key MK2 storage memory 23 stores an intermediate key MK2 used when decrypting the intermediate key MK1 (dark) 201.
Reference numeral 24 denotes a memory access management unit.
Reference numeral 25 denotes a key sequence generation unit_1 that generates a key sequence for decrypting the intermediate key MK1 (dark) from the intermediate key MK2.
Reference numeral 26 denotes a key sequence generation unit_2 that generates a key sequence for decrypting the ciphertext 202 from the intermediate key MK1 (flat).
Reference numeral 27 denotes an XOR unit_1 that performs an exclusive OR of the key sequence generated by the key sequence generation unit_1 and the plaintext 101.
Reference numeral 28 denotes an XOR unit_2 that performs an exclusive OR of the key sequence generated by the key sequence generation unit_2 and the intermediate key MK1 (flat).

つまり、本実施の形態の復号装置2では、鍵系列生成部_1 25が、中間鍵MK1(暗)201が入力される前に、一つの秘密鍵とIVを用いて中間鍵MK2を生成し、中間鍵MK2保存メモリ23が、生成された中間鍵MK2を保存し、更に鍵系列生成部_1 25は、中間鍵MK1(暗)201が入力された際に、中間鍵MK2保存メモリ23に保存されている中間鍵MK2を入力し、入力した中間鍵MK2から鍵系列を生成し、XOR部_1 27は、鍵系列生成部_1 25により生成された鍵系列を入力し、入力した鍵系列を用いて、中間鍵MK1(暗)201の復号を行う。   That is, in the decryption device 2 of the present embodiment, the key sequence generation unit_125 generates the intermediate key MK2 using one secret key and IV before the intermediate key MK1 (dark) 201 is input, The intermediate key MK2 storage memory 23 stores the generated intermediate key MK2, and the key sequence generation unit_125 is stored in the intermediate key MK2 storage memory 23 when the intermediate key MK1 (dark) 201 is input. The intermediate key MK2 is input, a key sequence is generated from the input intermediate key MK2, and the XOR unit — 127 receives the key sequence generated by the key sequence generation unit — 25 and uses the input key sequence The intermediate key MK1 (dark) 201 is decrypted.

続いて、鍵系列生成部_2 26は、暗号文202が入力された際に、先に復号された中間鍵MK1(平)を入力し、入力した中間鍵MK1(平)から鍵系列を生成し、XOR部_2 28は、鍵系列生成部_2 26により生成された鍵系列を入力し、入力した鍵系列を用いて、暗号文202の復号を行って平文204を得る。   Subsequently, when the ciphertext 202 is input, the key sequence generation unit_2226 inputs the previously decrypted intermediate key MK1 (flat), and generates a key sequence from the input intermediate key MK1 (flat). The XOR unit_2 28 receives the key sequence generated by the key sequence generation unit_2 226, decrypts the ciphertext 202 using the input key sequence, and obtains the plaintext 204.

また、鍵系列生成部とXOR部はそれぞれ2個ずつあるが、これは中間鍵MK1(暗)201の復号のための鍵系列生成とXOR処理、および暗号文202の復号のための鍵系列生成とXOR処理をパイプライン処理して高速化するのに効果がある。   In addition, there are two key sequence generation units and two XOR units. This is a key sequence generation and XOR process for decrypting the intermediate key MK1 (dark) 201, and a key sequence generation for decrypting the ciphertext 202. And XOR processing are effective in increasing the speed by pipeline processing.

中間鍵MK2更新管理部21は、鍵情報203から受信パケットが、その通信トンネルで最新(暗号装置1で暗号化された最新のパケット)か否かを判別する。最新の場合はメモリアクセス管理部24が中間鍵MK2保存メモリに保存している最新の中間鍵MK2を読み出し、鍵系列生成部_1 25によって新しい中間鍵MK2を生成し、メモリアクセス管理部24がそれを中間鍵MK2保存メモリに保存する。   The intermediate key MK2 update management unit 21 determines whether or not the received packet from the key information 203 is the latest (the latest packet encrypted by the encryption device 1) in the communication tunnel. In the latest case, the memory access management unit 24 reads the latest intermediate key MK2 stored in the intermediate key MK2 storage memory, generates a new intermediate key MK2 by the key sequence generation unit_125, and the memory access management unit 24 In the intermediate key MK2 storage memory.

復号装置2において、中間鍵MK2保存メモリ23は中間鍵保存部に相当する。また、中間鍵MK2保存メモリ23に保存されている中間鍵MK2は第2中間鍵に相当する。
また、鍵系列生成部_1 25は第1の鍵系列生成部に相当し、鍵系列生成部_2 26は第2の鍵系列生成部に相当する。なお、鍵系列生成部_1 25が生成する鍵系列が第2鍵系列に相当し、鍵系列生成部_2 26により生成される鍵系列が第1鍵系列に相当する。
また、XOR部_1 27は第1の復号処理部に相当し、XOR部_2 28は第2の復号処理部に相当する。
In the decryption device 2, the intermediate key MK2 storage memory 23 corresponds to an intermediate key storage unit. The intermediate key MK2 stored in the intermediate key MK2 storage memory 23 corresponds to the second intermediate key.
Further, the key sequence generation unit_125 corresponds to a first key sequence generation unit, and the key sequence generation unit_2_226 corresponds to a second key sequence generation unit. Note that the key sequence generated by the key sequence generation unit_125 corresponds to the second key sequence, and the key sequence generated by the key sequence generation unit_226 corresponds to the first key sequence.
Further, the XOR section_1 127 corresponds to a first decoding processing section, and the XOR section_2_28 corresponds to a second decoding processing section.

次に、本実施の形態について、パケット通信前に行う初期化の動作を、暗号装置1について図4のフローチャートを参照して説明する。   Next, with respect to the present embodiment, the initialization operation performed before packet communication will be described with reference to the flowchart of FIG.

メモリアクセス管理部14は秘密鍵・IV保存メモリ11から秘密鍵とIVを読み出し(S401)、これを処理待機中の鍵系列生成部_1 15に渡す。
鍵系列生成部_1 15は、受け取った秘密鍵とIVから、暗号化に使用可能な鍵系列を生成する直前のラウンドまでラウンド処理を行い、中間鍵MK1(平)を生成する(S402)(中間鍵MK1(平)生成ステップ)。
そして、鍵系列生成部_1 15は、最終的に得られた中間鍵MK1(平)をメモリアクセス管理部14に渡し、メモリアクセス管理部14は中間鍵MK1(平)を中間鍵MK1(平)保存メモリ12に保存する(S403)(中間鍵MK1(平)保存ステップ)。
以上の中間鍵生成処理は、ある秘密鍵1個とIV1個の組み合わせについて行うものである。
続いて、メモリアクセス管理部14は上記で使用したものとは異なる秘密鍵とIVを秘密鍵・IV保存部11から読み出し(S404)、これを処理待機中の鍵系列生成部_2 16に渡す。
鍵系列生成部_2 16は、受け取った秘密鍵とIVから、暗号化に使用可能な鍵系列を生成する直前のラウンドまでラウンド処理を行い、中間鍵MK2を生成する(S405)(中間鍵MK2生成ステップ)。
そして、鍵系列生成部_2 16は、最終的に得られた中間鍵MK2をメモリアクセス管理部14に渡し、メモリアクセス管理部14は中間鍵MK2を中間鍵MK2保存メモリ13に保存する(S406)(中間鍵MK2保存ステップ)。
以上、S401〜S406までについて、通信トンネルごとに行う(S407)。
The memory access management unit 14 reads out the secret key and IV from the secret key / IV storage memory 11 (S401), and passes them to the key sequence generation unit_115 waiting for processing.
The key sequence generation unit_1 15 performs round processing from the received secret key and IV to a round just before generating a key sequence usable for encryption, and generates an intermediate key MK1 (flat) (S402) (intermediate) Key MK1 (flat) generation step).
Then, the key sequence generation unit_1 15 passes the finally obtained intermediate key MK1 (flat) to the memory access management unit 14, and the memory access management unit 14 passes the intermediate key MK1 (flat) to the intermediate key MK1 (flat). Saving in the saving memory 12 (S403) (intermediate key MK1 (flat) saving step).
The above intermediate key generation process is performed for a combination of one secret key and one IV.
Subsequently, the memory access management unit 14 reads out a secret key and IV different from those used above from the secret key / IV storage unit 11 (S404), and passes them to the key sequence generation unit_216 that is waiting for processing.
The key sequence generation unit_2 16 performs round processing from the received secret key and IV to a round immediately before generating a key sequence usable for encryption, and generates an intermediate key MK2 (S405) (intermediate key MK2 generation) Step).
Then, the key sequence generation unit_216 passes the finally obtained intermediate key MK2 to the memory access management unit 14, and the memory access management unit 14 stores the intermediate key MK2 in the intermediate key MK2 storage memory 13 (S406). (Intermediate key MK2 storage step).
As described above, S401 to S406 are performed for each communication tunnel (S407).

続いてパケット通信前に行う初期化の動作を、復号装置2について図5のフローチャートを参照して説明する。   Next, the initialization operation performed before packet communication will be described with reference to the flowchart of FIG.

メモリアクセス管理部24は秘密鍵・IV保存メモリ22から秘密鍵とIVを読み出し(S501)、これを処理待機中の鍵系列生成部_1 25に渡す。
鍵系列生成部_1 25は、受け取った秘密鍵とIVから、暗号化に使用可能な鍵系列を生成する直前のラウンドまでラウンド処理を行い、中間鍵MK2を生成する(S502)(中間鍵MK2生成ステップ)。
ここで、暗号装置で最初に暗号化されたパケットに付加されている中間鍵MK1(暗)を復号するのに使用する中間鍵MK2をMK2_1とし、以降暗号装置で暗号化された順のパケットに付加されている中間鍵MK1(暗)を復号するのに使用する中間鍵MK2をMK2_2,MK2_3,・・・とする。
通信前に生成しておく中間鍵MK2の個数をn個とした場合、nの値が大きいほど、通信路でより大きなパケットの順序変化が起こった際にも正順序で受信したときと同一の処理で復号が可能となる。
ただしnの値を大きくすると、それに比例して必要となる中間鍵MK2保存メモリ23のサイズも大きくなる。
ここではn=32とし、通信前に鍵系列生成部_1 25でMK2_1〜MK2_32を生成して秘密鍵・IV保存メモリ22に保存しておくこととする。(中間鍵MK2保存ステップ)(S503)。
以上の中間鍵生成処理は、ある秘密鍵1個とIV1個の組み合わせについて行うものである。S501〜S503までについて、通信トンネルごとに行う(S504)。
The memory access management unit 24 reads the secret key and IV from the secret key / IV storage memory 22 (S501), and passes this to the key sequence generation unit_125 waiting for processing.
The key sequence generation unit_1 25 performs round processing from the received secret key and IV to the round just before generating a key sequence that can be used for encryption, and generates an intermediate key MK2 (S502) (generate intermediate key MK2) Step).
Here, the intermediate key MK2 used for decrypting the intermediate key MK1 (encryption) added to the packet encrypted first by the encryption device is set to MK2_1. The intermediate keys MK2 used to decrypt the added intermediate key MK1 (dark) are MK2_2, MK2_3,.
When the number of intermediate keys MK2 to be generated before communication is n, the larger the value of n, the more the same as when the packets are received in the normal order even when a larger packet order change occurs on the communication path. Decoding is possible by processing.
However, if the value of n is increased, the size of the intermediate key MK2 storage memory 23 required in proportion thereto increases.
Here, n = 32, and MK2_1 to MK2_32 are generated and stored in the private key / IV storage memory 22 by the key sequence generation unit_125 before communication. (Intermediate key MK2 storage step) (S503).
The above intermediate key generation process is performed for a combination of one secret key and one IV. S501 to S503 are performed for each communication tunnel (S504).

次に、パケット通信時の動作について、まずは暗号装置1側の動作を図6のフローチャートに沿って説明する。   Next, the operation at the time of packet communication will be described with reference to the flowchart of FIG.

平文101を暗号化するにあたり、メモリアクセス管理部14は、暗号化に使用する鍵情報102を受け取り(S601)、この情報を元に中間鍵MK1(平)保存メモリ12から該当する中間鍵MK1(平)(暗号化対象の平文101に対応する秘密鍵とIVで生成された中間鍵MK1(平))を読み出し(S602)、これを処理待機中の鍵系列生成部_1 15に渡す。
中間鍵を受け取った鍵系列生成部_1 15は、その中間鍵MK1(平)を入力として複数回のラウンド処理を行い、平文101の暗号化に使用する複数個の鍵系列を生成する(S603)(鍵系列生成ステップ)。
鍵系列生成部_1 15は、生成した複数個の鍵系列をXOR部_1 17に渡し、XOR部_1 17は平文と鍵系列の排他的論理和を行い、暗号文103を出力する(S604)(暗号処理ステップ)。
XOR部_1 17は、暗号文103を生成するのと同時に生成された中間鍵MK1(平)をメモリアクセス管理部14とXOR部_2 18に渡す。
メモリアクセス管理部14は、中間鍵MK1(平)を中間鍵MK1(平)保存メモリ12に上書き保存する(中間鍵MK1(平)保存ステップ)(S605)。
メモリアクセス管理部14は、鍵情報102を元に中間鍵MK2保存メモリ13から該当する中間鍵MK2(暗号化対象の中間鍵MK1(平)に対応する秘密鍵とIVで生成された中間鍵MK2)を読み出し(S606)、これを処理待機中の鍵系列生成部_2 16に渡す。
中間鍵MK2を受け取った鍵系列生成部_2 16は、その中間鍵MK2を入力として複数回のラウンド処理を行い、中間鍵MK1(平)の暗号化に使用する複数個の鍵系列を生成する(S607)((中間鍵MK1(平)用)鍵系列生成ステップ)。
鍵系列生成部_2 16は、生成した複数個の鍵系列をXOR部_2 18に渡し、XOR部_2 18は中間鍵MK1(平)と鍵系列の排他的論理和を行い、中間鍵MK1(暗)104を出力する(S608)((中間鍵MK1(平))暗号処理ステップ)。
メモリアクセス管理部14は、中間鍵MK2を中間鍵MK2保存メモリ13に上書き保存する(中間鍵MK2保存ステップ)(S609)。
次の暗号化対象のパケットが存在する場合はS601〜S609を繰り返す(S610)。
暗号化対象のパケットがなくなったら、送信部19が秘匿パケット105として送信する。
以上は暗号装置の動作である。
In encrypting the plaintext 101, the memory access management unit 14 receives key information 102 used for encryption (S601), and based on this information, the corresponding intermediate key MK1 (from the intermediate key MK1 (plain) storage memory 12) (Plain) (the private key corresponding to the plaintext 101 to be encrypted and the intermediate key MK1 (plain) generated by IV) are read (S602), and this is transferred to the key sequence generation unit_115 waiting for processing.
The key sequence generation unit_1 15 that has received the intermediate key performs round processing a plurality of times using the intermediate key MK1 (plain) as an input, and generates a plurality of key sequences used for encryption of the plaintext 101 (S603). (Key sequence generation step).
The key sequence generation unit_1 15 passes the generated plurality of key sequences to the XOR unit_1 17, and the XOR unit_1 17 performs exclusive OR of the plaintext and the key sequence, and outputs the ciphertext 103 (S604) ( Cryptographic processing step).
The XOR unit_1 17 transfers the intermediate key MK1 (flat) generated simultaneously with the generation of the ciphertext 103 to the memory access management unit 14 and the XOR unit_2-18.
The memory access management unit 14 overwrites and stores the intermediate key MK1 (flat) in the intermediate key MK1 (flat) storage memory 12 (intermediate key MK1 (flat) storage step) (S605).
Based on the key information 102, the memory access management unit 14 reads the corresponding intermediate key MK2 from the intermediate key MK2 storage memory 13 (the secret key corresponding to the intermediate key MK1 (flat) to be encrypted and the intermediate key MK2 generated by IV). ) Is read (S606), and this is transferred to the key sequence generation unit _216 that is waiting for processing.
Upon receiving the intermediate key MK2, the key sequence generation unit _ 216 performs a round process a plurality of times using the intermediate key MK2 as an input, and generates a plurality of key sequences used for encryption of the intermediate key MK1 (flat) ( S607) ((Intermediate key MK1 (flat)) key sequence generation step).
The key sequence generation unit_2 16 passes the generated plurality of key sequences to the XOR unit_2-18, and the XOR unit_2-18 performs an exclusive OR of the intermediate key MK1 (flat) and the key sequence to obtain the intermediate key MK1 (dark key). ) 104 is output (S608) ((intermediate key MK1 (flat)) encryption processing step).
The memory access management unit 14 overwrites and stores the intermediate key MK2 in the intermediate key MK2 storage memory 13 (intermediate key MK2 storage step) (S609).
If there is a next packet to be encrypted, S601 to S609 are repeated (S610).
When there are no more packets to be encrypted, the transmission unit 19 transmits the packet as a secret packet 105.
The above is the operation of the encryption device.

続いて復号装置2の動作を図7のフローチャートに沿って説明する。   Next, the operation of the decoding device 2 will be described along the flowchart of FIG.

先ず、受信部29が、暗号装置1から送信された秘匿パケット105を受信し、秘匿パケット105から中間鍵MK1(暗)201及び暗号文202を抽出する(S700)。
次に、MK1(暗)201を復号するにあたり、メモリアクセス管理部24が、復号に使用する鍵情報203を受け取り(S701)、この情報を元に中間鍵MK2保存メモリ23から該当する中間鍵MK2(復号対象の暗号文202に対応する秘密鍵とIVで生成された中間鍵MK2_Aを読み出し(S702)、これを処理待機中の鍵系列生成部_1 25に渡す。
中間鍵MK2_Aを受け取った鍵系列生成部_1 25は、その中間鍵MK2_Aを入力として複数回のラウンド処理を行い、中間鍵MK1(暗)201の復号に使用する複数個の鍵系列を生成する(S703)(中間鍵MK1(平)用鍵系列生成ステップ)(第1の鍵系列生成ステップ)。
鍵系列生成部_1 25は、生成した複数個の鍵系列をXOR部_1 27に渡し、XOR部_1 27は中間鍵MK1(暗)201と鍵系列の排他的論理和を行い、中間鍵MK1(平)を出力する(S704)(中間鍵MK1(平)復号処理ステップ)(第1の復号処理ステップ)。
XOR部_1 27は、中間鍵MK1(平)を鍵系列生成部_2 26に渡す。
中間鍵MK1(平)を受け取った鍵系列生成部_2 26は、その中間鍵MK1(平)を複数回のラウンド処理を行い、暗号文202の復号に使用する複数個の鍵系列を生成する(S705)(第2の鍵系列生成ステップ)。
鍵系列生成部_2 26は、生成した複数個の鍵系列をXOR部_2 28に渡し、XOR部_2 28は暗号文202と鍵系列の排他的論理和を行い、平文204を出力する(S706)(第2の復号処理ステップ)。
First, the receiving unit 29 receives the secret packet 105 transmitted from the encryption device 1, and extracts the intermediate key MK1 (dark) 201 and the ciphertext 202 from the secret packet 105 (S700).
Next, when decrypting MK1 (dark) 201, the memory access management unit 24 receives key information 203 used for decryption (S701), and based on this information, the corresponding intermediate key MK2 from the intermediate key MK2 storage memory 23 is received. (The private key corresponding to the ciphertext 202 to be decrypted and the intermediate key MK2_A generated by IV are read (S702), and this is passed to the key sequence generation unit_125 waiting for processing.
Receiving the intermediate key MK2_A, the key sequence generation unit_1 25 performs a plurality of round processes with the intermediate key MK2_A as an input, and generates a plurality of key sequences used for decrypting the intermediate key MK1 (dark) 201 ( S703) (Key sequence generation step for intermediate key MK1 (flat)) (first key sequence generation step).
The key sequence generation unit_1 25 passes the generated plurality of key sequences to the XOR unit_1 27, and the XOR unit_1 27 performs an exclusive OR of the intermediate key MK1 (dark) 201 and the key sequence to obtain the intermediate key MK1 ( Is output (S704) (intermediate key MK1 (flat) decryption processing step) (first decryption processing step).
The XOR unit_1 27 passes the intermediate key MK1 (flat) to the key sequence generation unit_2226.
Receiving the intermediate key MK1 (flat), the key sequence generation unit _ 226 performs round processing for the intermediate key MK1 (flat) a plurality of times, and generates a plurality of key sequences used for decrypting the ciphertext 202 ( S705) (second key sequence generation step).
The key sequence generation unit_2 26 passes the generated plurality of key sequences to the XOR unit_2 28, and the XOR unit_2 28 performs exclusive OR of the ciphertext 202 and the key sequence, and outputs the plaintext 204 (S706). (Second decoding processing step).

ここで、中間鍵MK2更新管理部28は今復号したパケットが同トンネル内で最新のパケットであるかどうかを、鍵情報203から判定し(S707)、最新である場合は中間鍵MK2の更新処理を行うためメモリアクセス管理部24に指示を出す。
メモリアクセス管理部24は、同トンネル用の最新の鍵系列を生成することが可能な中間鍵MK2_Nを秘密鍵・IV保存メモリ22から読み出し(S708)、これを鍵系列生成部_1 25に渡す。
N=N+1とし(S709)、鍵系列生成部_1 25は、鍵系列生成部_1 25はラウンド処理を行って中間鍵MK2_Nを生成し(S710)、これをメモリアクセス管理部24に渡す。
メモリアクセス管理部24はMK2_Nを中間鍵MK2保存メモリ13に保存する(S711)。ここで、生成した中間鍵MK2_NのNが、最新の復号で使用した中間鍵MK2_AのAより一定数(Wとする)より小さい場合は、S709〜S711を繰り返す(S712)。ここでWの値は、最新の受信パケットから何個先までの順序変化が起こったときに正順序の処理と同一の処理で対応できるかに関係し、先の通信前に準備したトンネルごとの中間鍵MK2の個数nと合わせておくことが望ましい。
以上が1パケットを復号するときのフローであり、ここまで行った後に次のパケットが存在する場合はS701〜S712までを繰り返す(S713)。
Here, the intermediate key MK2 update management unit 28 determines whether or not the decrypted packet is the latest packet in the tunnel from the key information 203 (S707). An instruction is issued to the memory access management unit 24.
The memory access management unit 24 reads the intermediate key MK2_N capable of generating the latest key sequence for the tunnel from the private key / IV storage memory 22 (S708), and passes this to the key sequence generation unit_125.
N = N + 1 is set (S709), and the key sequence generation unit_1 25 performs round processing to generate an intermediate key MK2_N (S710), and passes this to the memory access management unit 24.
The memory access management unit 24 stores MK2_N in the intermediate key MK2 storage memory 13 (S711). Here, when N of the generated intermediate key MK2_N is smaller than a certain number (W) by A of the intermediate key MK2_A used in the latest decryption, S709 to S711 are repeated (S712). Here, the value of W is related to how many orders change from the latest received packet to the same process as the normal order process, and for each tunnel prepared before the previous communication. It is desirable to match the number n of intermediate keys MK2.
The above is a flow for decoding one packet, and when there is a next packet after performing the steps up to here, S701 to S712 are repeated (S713).

中間鍵MK2保存メモリの構成を図3に示す。
通信トンネル(仮想ネットワーク)ごとに秘密鍵とIVを用意し、その秘密鍵とIVから生成した中間鍵MK2を保存する領域を設ける。
図3では、管理する通信トンネルの個数をL個とする。
通信トンネル(仮想ネットワーク)ごとに複数個の中間鍵MK2を持ち、表記がMK2_a_bであったら、通信トンネル番号aのb番目の中間鍵MK2であることとする。
パケット1個について1個の中間鍵MK2が対応するため、例えばIPsecで暗号通信を行うとき、個々のパケットに付加されているIPsecシーケンス番号がbの値と対応し、どのパケットでどのMK2_a_bを使用すれば良いのか判別できる。
The configuration of the intermediate key MK2 storage memory is shown in FIG.
A secret key and IV are prepared for each communication tunnel (virtual network), and an area for storing the secret key and the intermediate key MK2 generated from the IV is provided.
In FIG. 3, the number of communication tunnels to be managed is L.
If each communication tunnel (virtual network) has a plurality of intermediate keys MK2, and the notation is MK2_a_b, it is assumed that the communication tunnel number a is the b-th intermediate key MK2.
Since one intermediate key MK2 corresponds to one packet, for example, when performing encrypted communication with IPsec, the IPsec sequence number added to each packet corresponds to the value b, and which MK2_a_b is used in which packet It can be determined whether it should be done.

例えば、通信トンネルごとに通信前に32個の中間鍵MK2を求めると、通信トンネル番号1では、MK2_1_1からMK2_1_32までを保持している状態となる。
ここで図3のMの値を64とすると、通信トンネルごとに最大64個の中間鍵MK2が持てることになる。
通信が始まると、予め生成しておいた中間鍵は、基本的にbの番号の若い方から順に消費されるため、適宜新しい中間鍵MK2_1_33以降を生成する必要がある。
一度MK2_1_64まで生成し、該当する領域に保存した後は、MK2_1_65はMK2_1_1の領域に上書きするように、メモリ領域を巡回して使用する。
For example, when 32 intermediate keys MK2 are obtained for each communication tunnel before communication, the communication tunnel number 1 holds MK2_1_1 to MK2_1_32.
Here, if the value of M in FIG. 3 is 64, a maximum of 64 intermediate keys MK2 can be held for each communication tunnel.
When communication is started, the intermediate keys generated in advance are basically consumed in order from the lowest number of b, so it is necessary to generate a new intermediate key MK2_1_33 or later as appropriate.
Once MK2_1_64 is generated and stored in the corresponding area, the MK2_1_65 cycles around and uses the memory area so as to overwrite the area of MK2_1_1.

次は、中間鍵MK2保存メモリ23の使い方の例を示す。
最初に、中間鍵MK2保存メモリ23にはMK2_1_1〜MK2_1_32が保存されているとする。
通信トンネル1で暗号化された順にパケットを受信するとしたとき、まだ1個もパケットを受信していないときに、次に受信すると予想されるのはMK2_1_1であり、順序変化を考慮して32個先までのMK2_1_32を保持していることになる。
MK2_1_1に対応するパケットを受信し復号したら、次に受信すると予想されるのはMK_2_1_2に対応するパケットであるため、先と同様に32個先までを考慮してMK2_1_33を生成して中間鍵MK2保存メモリに保存する。
続いて、通信路でパケットの順序変化が起こり、MK2_10を使用するパケットを受信したとする。
MK2_1_10使用後に、この中間鍵は不要となるが、MK2_1_2〜MK2_1_9については未使用であるため、今後それらを使用するパケットを受信する可能性を考慮して、中間鍵保存メモリには残しておく必要がある。
また、MK2_1_11から32個先までの順序変化に対応することを考慮し、MK2_1_34〜MK2_1_42を生成して中間鍵MK2保存メモリに保存する。
このように、最新の受信パケットを基準としてQ個前までからS個先までに暗号化されたパケットに対応することを考慮したメモリ管理を行うことで、より多くの通信路での順序変化に対応できると考えられる。
IPsecのシーケンス番号チェックにもあるように、Qは数十個程度とし、リプレイ攻撃防止のためにQ個以上前のパケットを受信したときには復号せずに無条件で廃棄するのが適切である。
先の例では、通信トンネルごとに64個のMK2保存領域を設けているため、これまで受信した最新のシーケンス番号を持つパケットの番号をkとすると、中間鍵保存メモリにはMK2_1_k−31〜MK2_1_k+32を常に保存しておくことが望ましい。
Next, an example of how to use the intermediate key MK2 storage memory 23 will be shown.
First, it is assumed that MK2_1_1 to MK2_1_32 are stored in the intermediate key MK2 storage memory 23.
When packets are received in the order encrypted in the communication tunnel 1, when no packets are received yet, it is expected that MK2_1_1 will be received next, and 32 packets are considered in the order change. The previous MK2_1_32 is held.
When the packet corresponding to MK2_1_1 is received and decrypted, the next packet that is expected to be received is the packet corresponding to MK_2_1_2. Therefore, MK2_1_33 is generated in consideration of up to 32 destinations, and the intermediate key MK2 is stored. Save to memory.
Subsequently, it is assumed that the packet order changes in the communication path and a packet using MK2_10 is received.
This intermediate key becomes unnecessary after using MK2_1_10, but MK2_1_2 to MK2_1_9 are unused, so it is necessary to leave them in the intermediate key storage memory in consideration of the possibility of receiving packets that use them in the future. There is.
Further, considering that it corresponds to the order change from MK2_1_1 to 32 ahead, MK2_1_34 to MK2_1_42 are generated and stored in the intermediate key MK2 storage memory.
As described above, by performing memory management in consideration of dealing with packets encrypted from the previous Q packets to the previous S packets with the latest received packet as a reference, the order in more communication channels can be changed. It is thought that it can respond.
As in the IPsec sequence number check, it is appropriate to set Q to about several tens, and unconditionally discard it without decoding when Q or more packets are received to prevent a replay attack.
In the previous example, since 64 MK2 storage areas are provided for each communication tunnel, assuming that the number of the packet having the latest sequence number received so far is k, the intermediate key storage memory has MK2_1_k-31 to MK2_1_k + 32 It is desirable to always save.

このように、中間鍵MK2保存メモリ23は、Q+S+1個(Q≧1、S≧1)の中間鍵MK2を保存可能であり、鍵系列生成部_1 25は、受信部29が最新の暗号文を受信する度に、受信部29が受信した最新の暗号文に対応する中間鍵MK2からS個先までの中間鍵MK2のうち未生成の中間鍵MK2を生成する。
そして、中間鍵MK2保存メモリ23は、鍵系列生成部_1 25により生成された中間鍵MK2を、現在保存している末尾の中間鍵MK2に続けて保存するとともに、受信部29が受信した最新の暗号文に対応する中間鍵MK2よりもQ個以上前の中間鍵MK2を破棄する。
In this way, the intermediate key MK2 storage memory 23 can store Q + S + 1 (Q ≧ 1, S ≧ 1) intermediate keys MK2, and the key sequence generation unit_125 receives the latest ciphertext from the reception unit 29. Every time it is received, an ungenerated intermediate key MK2 is generated from the intermediate keys MK2 to S ahead of the intermediate key MK2 corresponding to the latest ciphertext received by the receiving unit 29.
Then, the intermediate key MK2 storage memory 23 stores the intermediate key MK2 generated by the key sequence generation unit_125 following the last intermediate key MK2 currently stored, and the latest received by the reception unit 29. Discard Q or more intermediate keys MK2 before the intermediate key MK2 corresponding to the ciphertext.

以上が図1及び図2に示した暗号装置1及び復号装置2の基本的な処理の流れである。   The above is the basic processing flow of the encryption device 1 and the decryption device 2 shown in FIGS.

続いては、本実施の形態における通信路中でのパケット順序変化時の処理の負荷について説明する。
本実施の形態において、復号装置2での復号処理は、受信パケットの順序が暗号化順序通りでない場合も、正しい順序で受信したときと処理の負荷やメモリの使用量は特に変わらない。
例えば、暗号装置1でパケットP#1,パケットP#2,パケットP#3の順に暗号化された場合、パケットP#1とパケットP#2の前にパケットP#3を受信した場合であっても、対応する中間鍵MK2を中間鍵MK2保存メモリから読み出してP#3中の中間鍵MK1(暗)を復号するための鍵系列を生成すればよい。
Next, the processing load when the packet order changes in the communication path in the present embodiment will be described.
In the present embodiment, the decryption process in the decryption device 2 is not particularly different in the processing load and memory usage from when received in the correct order, even when the order of received packets is not in the order of encryption.
For example, when encryption is performed in the order of packet P # 1, packet P # 2, and packet P # 3 by encryption device 1, packet P # 3 is received before packet P # 1 and packet P # 2. However, it is only necessary to read out the corresponding intermediate key MK2 from the intermediate key MK2 storage memory and generate a key sequence for decrypting the intermediate key MK1 (dark) in P # 3.

従来は、あるパケットが未着である場合に、未着パケット用の中間鍵から未着パケットに対する鍵系列を生成し、未着パケットに対する鍵系列生成時に生成される中間鍵から次のパケットに対する鍵系列を生成していた。このため、未着パケットが到着するまで未着パケットに対する鍵系列を別途メモリに保持している必要があったが、このような未着パケットに対する鍵系列をメモリに保持しておく必要がない。
これはMK2が復号対象としているMK1(暗)が固定長であるからである。
復号側で予め使用する中間鍵MK2を求めておくことが可能であるため、事前にメモリ等に保持しておくことにより、従来方式で問題となったような順序変化時に鍵系列を保持しておくためのメモリを用意するなどといった特別な対策を必要としない。
Conventionally, when a packet has not arrived, a key sequence for the unarrived packet is generated from the intermediate key for the unarrived packet, and a key for the next packet is generated from the intermediate key generated when generating the key sequence for the unarrived packet. A series was generated. For this reason, it is necessary to separately hold the key sequence for the unarrived packet in the memory until the unarrived packet arrives. However, it is not necessary to hold the key sequence for the unarrived packet in the memory.
This is because MK1 (dark) that is the decoding target of MK2 has a fixed length.
Since it is possible to obtain the intermediate key MK2 to be used in advance on the decryption side, it is possible to retain the key sequence at the time of a change of order, which is a problem with the conventional method, by preliminarily retaining it in a memory or the like. There is no need for special measures such as preparing memory for storage.

以上のように本実施の形態の方式によれば、復号装置で復号に使用する中間鍵MK2を予め求めておくことが可能であり、通信路でパケットの順序変化が起こった場合であっても、正順序時と同等の復号処理で対応できる。
また、本実施の形態の方式は外部同期式ストリーム暗号方式であるため、暗号文のあるビットに誤りが発生しても、内部同期式ストリーム暗号方式のように他のビットに波及してエラーが拡大してしまう問題がない。
As described above, according to the method of the present embodiment, the intermediate key MK2 used for decryption by the decryption device can be obtained in advance, and even if the packet order changes in the communication path, This can be handled by a decoding process equivalent to that in the normal order.
In addition, since the system of the present embodiment is an external synchronous stream encryption system, even if an error occurs in a bit in the ciphertext, the error is spread to other bits as in the internal synchronous stream encryption system. There is no problem of enlargement.

本実施の形態では、データを秘匿する中間鍵1と中間鍵1を秘匿する中間鍵2を用い、秘匿したデータと共に秘匿した中間鍵1を合わせて秘匿パケットとして通信することにより、復号側では中間鍵2のみを管理することで、暗号装置と復号装置の同期を容易にするストリーム暗号実装方式について説明した。   In the present embodiment, the intermediate key 1 for concealing data and the intermediate key 2 for concealing the intermediate key 1 are used, and the intermediate key 1 concealed together with the concealed data is communicated as a concealment packet, so that the intermediate side on the decryption side The stream cipher implementation method that facilitates synchronization between the encryption device and the decryption device by managing only the key 2 has been described.

また、本実施の形態では、復号装置において、今後受信する可能性のあるパケットに対応する中間鍵2を1パケットについて1個メモリ等に保持しておくことで、メモリの使用容量を抑制するストリーム暗号実装方式について説明した。   Further, in the present embodiment, the decryption device stores one intermediate key 2 corresponding to a packet that may be received in the future in one memory or the like, thereby reducing the memory usage capacity. Explained the cryptographic implementation method.

また、本実施の形態では、復号装置において、今後受信する可能性のあるパケットに対応する中間鍵2を予め計算してメモリ等に保持しておくことにより、通信路中でパケットの順序変化が起こった際にも、正順序で受信したときと同等の性能を確保可能なストリーム暗号実装方式について説明した。   In the present embodiment, the decryption device previously calculates the intermediate key 2 corresponding to a packet that may be received in the future and stores it in a memory or the like, so that the order of the packets can be changed in the communication path. We have described a stream cipher implementation method that can ensure the same performance as when received in the correct order when it occurs.

実施の形態2.
他の実施の形態として、図8に示す暗号装置8及び図9に示す復号装置9のような構成も考えられる。
暗号装置8は図1の鍵系列生成部_1 15と鍵系列生成部_2 16およびXOR部_1 17とXOR部_2 18を一つずつとした構成で、復号装置9は図2の鍵系列生成部_1 25と鍵系列生成部_2 26およびXOR部_1 27とXOR部_2 28を一つずつとした構成である。
Embodiment 2. FIG.
As other embodiments, configurations such as the encryption device 8 shown in FIG. 8 and the decryption device 9 shown in FIG. 9 are also conceivable.
The encryption device 8 has a configuration in which the key sequence generation unit_115, the key sequence generation unit_2 16, and the XOR unit_1 17 and the XOR unit_2 18 in FIG. 1 are provided one by one, and the decryption device 9 has the key sequence generation unit in FIG. _ 1 25, key sequence generation unit _ 26, XOR unit _ 1 27, and XOR unit _ 2 28.

図8の構成では、平文と中間鍵MK1(平)の暗号化で鍵系列生成部とXOR部を共有して使用する。
同様に図9の構成では、暗号文と中間鍵MK1(暗)の復号で鍵系列生成部とXOR部を共有して使用する。
鍵系列生成処理とXOR処理のパイプライン処理ができないため、図1や図2の形態より処理性能は劣るが、暗号装置と復号装置の同期を容易化するという点では実施の形態1と同等の効果がある。
In the configuration of FIG. 8, the key sequence generation unit and the XOR unit are shared and used for encryption of plaintext and intermediate key MK1 (plain).
Similarly, in the configuration of FIG. 9, the key sequence generation unit and the XOR unit are shared and used for decryption of the ciphertext and the intermediate key MK1 (dark).
Since the pipeline processing of the key sequence generation processing and the XOR processing cannot be performed, the processing performance is inferior to that of the embodiment of FIG. 1 or FIG. 2, but is the same as that of Embodiment 1 in that the synchronization between the encryption device and the decryption device is facilitated. effective.

最後に、実施の形態1、2に示した暗号装置1、8及び復号装置2、9のハードウェア構成例について説明する。
図13は、実施の形態1、2に示す暗号装置1、8及び復号装置2、9のハードウェア資源の一例を示す図である。
なお、図13の構成は、あくまでも暗号装置1、8及び復号装置2、9のハードウェア構成の一例を示すものであり、暗号装置1、8及び復号装置2、9のハードウェア構成は図13に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the encryption devices 1 and 8 and the decryption devices 2 and 9 shown in the first and second embodiments will be described.
FIG. 13 is a diagram illustrating an example of hardware resources of the encryption devices 1 and 8 and the decryption devices 2 and 9 described in the first and second embodiments.
The configuration in FIG. 13 is merely an example of the hardware configuration of the encryption devices 1 and 8 and the decryption devices 2 and 9, and the hardware configuration of the encryption devices 1 and 8 and the decryption devices 2 and 9 is as shown in FIG. The configuration described above is not limited, and other configurations may be used.

図13において、暗号装置1、8及び復号装置2、9は、プログラムを実行するCPU1911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU1911は、バス1912を介して、例えば、ROM(Read Only Memory)1913、RAM(Random Access Memory)1914、通信ボード1915、表示装置1901、キーボード1902、マウス1903、磁気ディスク装置1920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU1911は、FDD1904(Flexible Disk Drive)、コンパクトディスク装置1905(CDD)、プリンタ装置1906、スキャナ装置1907と接続していてもよい。また、磁気ディスク装置1920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM1914は、揮発性メモリの一例である。ROM1913、FDD1904、CDD1905、磁気ディスク装置1920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード1915、キーボード1902、マウス1903、スキャナ装置1907、FDD1904などは、入力装置の一例である。
また、通信ボード1915、表示装置1901、プリンタ装置1906などは、出力装置の一例である。
In FIG. 13, the encryption devices 1 and 8 and the decryption devices 2 and 9 include a CPU 1911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program. Yes.
The CPU 1911 is connected to, for example, a ROM (Read Only Memory) 1913, a RAM (Random Access Memory) 1914, a communication board 1915, a display device 1901, a keyboard 1902, a mouse 1903, and a magnetic disk device 1920 via the bus 1912. Control hardware devices.
Further, the CPU 1911 may be connected to an FDD 1904 (Flexible Disk Drive), a compact disk device 1905 (CDD), a printer device 1906, and a scanner device 1907. Further, instead of the magnetic disk device 1920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 1914 is an example of a volatile memory. The storage media of the ROM 1913, the FDD 1904, the CDD 1905, and the magnetic disk device 1920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 1915, a keyboard 1902, a mouse 1903, a scanner device 1907, an FDD 1904, and the like are examples of input devices.
The communication board 1915, the display device 1901, the printer device 1906, and the like are examples of output devices.

通信ボード1915は、ネットワークに接続されている。例えば、通信ボード1915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されている。   The communication board 1915 is connected to the network. For example, the communication board 1915 is connected to a LAN (Local Area Network), the Internet, a WAN (Wide Area Network), or the like.

磁気ディスク装置1920には、オペレーティングシステム1921(OS)、ウィンドウシステム1922、プログラム群1923、ファイル群1924が記憶されている。
プログラム群1923のプログラムは、CPU1911がオペレーティングシステム1921、ウィンドウシステム1922を利用しながら実行する。
The magnetic disk device 1920 stores an operating system 1921 (OS), a window system 1922, a program group 1923, and a file group 1924.
The programs in the program group 1923 are executed by the CPU 1911 using the operating system 1921 and the window system 1922.

また、RAM1914には、CPU1911に実行させるオペレーティングシステム1921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM1914には、CPU1911による処理に必要な各種データが格納される。
Further, the RAM 1914 temporarily stores at least a part of the operating system 1921 program and application programs to be executed by the CPU 1911.
The RAM 1914 stores various data necessary for processing by the CPU 1911.

また、ROM1913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置1920にはブートプログラムが格納されている。
暗号装置1、8及び復号装置2、9の起動時には、ROM1913のBIOSプログラム及び磁気ディスク装置1920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム1921が起動される。
The ROM 1913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 1920 stores a boot program.
When the encryption devices 1 and 8 and the decryption devices 2 and 9 are activated, the BIOS program in the ROM 1913 and the boot program in the magnetic disk device 1920 are executed, and the operating system 1921 is activated by the BIOS program and the boot program.

上記プログラム群1923には、実施の形態1、2の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU1911により読み出され実行される。   The program group 1923 stores programs for executing the functions described as “˜units” in the description of the first and second embodiments. The program is read and executed by the CPU 1911.

ファイル群1924には、実施の形態1、2の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の比較」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1、2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、FDD1904のフレキシブルディスク、CDD1905のコンパクトディスク、磁気ディスク装置1920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 1924, in the description of the first and second embodiments, “determination of”, “calculation of”, “calculation of”, “comparison of”, “generation of”, “update of” ”,“ Setting of ”,“ registration of ”,“ selection of ”, etc., information, data, signal values, variable values, and parameters indicating the results of the processing are represented by“ ˜file ”or“ ˜ It is stored as each item of “Database”.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 1911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
The arrows in the flowcharts described in the first and second embodiments mainly indicate input / output of data and signals. The data and signal values are the RAM 1914 memory, the FDD 1904 flexible disk, the CDD 1905 compact disk, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 1920, other optical disks, mini disks, and DVDs. Data and signals are transmitted online via a bus 1912, signal lines, cables, or other transmission media.

また、実施の形態1、2の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM1913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU1911により読み出され、CPU1911により実行される。すなわち、プログラムは、実施の形態1、2の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1、2の「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the description of the first and second embodiments may be “˜circuit”, “˜device”, “˜device”, and “˜step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 1913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 1911 and executed by the CPU 1911. That is, the program causes the computer to function as the “˜unit” in the first and second embodiments. Alternatively, the computer executes the procedure and method of “to unit” in the first and second embodiments.

このように、実施の形態1、2に示す暗号装置1、8及び復号装置2、9は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the encryption devices 1 and 8 and the decryption devices 2 and 9 shown in the first and second embodiments include a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and the like. The computer includes a display device, a communication board, and the like as an output device, and implements the functions indicated as “˜units” using the processing device, the storage device, the input device, and the output device as described above.

実施の形態1の暗号装置の構成例を示す図である。2 is a diagram illustrating a configuration example of an encryption device according to Embodiment 1. FIG. 実施の形態1の復号装置の構成例を示す図である。3 is a diagram illustrating a configuration example of a decoding device according to Embodiment 1. FIG. 実施の形態1の中間鍵MK2保存メモリの内部構成例を示す図である。3 is a diagram illustrating an internal configuration example of an intermediate key MK2 storage memory according to Embodiment 1. FIG. 実施の形態1の暗号装置の初期化時の動作例を示すフローチャート図である。FIG. 6 is a flowchart showing an operation example at the time of initialization of the cryptographic apparatus according to the first embodiment. 実施の形態1の復号装置の初期化時の動作例を示すフローチャート図である。FIG. 10 is a flowchart showing an operation example at the time of initialization of the decoding apparatus according to the first embodiment. 実施の形態1の暗号装置の通信時の動作例を示すフローチャート図である。FIG. 6 is a flowchart illustrating an operation example during communication of the encryption device according to the first embodiment. 実施の形態1の復号装置の通信時の動作例を示すフローチャート図である。FIG. 10 is a flowchart showing an operation example during communication of the decoding apparatus according to the first embodiment. 実施の形態2の暗号装置の構成例を示す図である。6 is a diagram illustrating a configuration example of a cryptographic device according to a second embodiment. FIG. 実施の形態2の復号装置の構成例を示す図である。FIG. 10 is a diagram illustrating a configuration example of a decoding device according to a second embodiment. 従来技術に係るストリーム暗号による一般的な暗号処理部の内部構成図である。It is an internal block diagram of the general encryption processing part by the stream encryption based on a prior art. 従来技術に係る鍵系列生成部の内部構成図である。It is an internal block diagram of the key sequence generation part which concerns on a prior art. 従来技術に係る鍵系列生成部の鍵系列生成イメージを示す図である。It is a figure which shows the key sequence generation image of the key sequence generation part which concerns on a prior art. 実施の形態1及び2の暗号装置及び復号装置のハードウェア構成例を示す図である。3 is a diagram illustrating a hardware configuration example of an encryption device and a decryption device according to Embodiments 1 and 2. FIG.

符号の説明Explanation of symbols

1 暗号装置、2 復号装置、8 暗号装置、9 復号装置、11 秘密鍵・IV保存メモリ、12 中間鍵MK1(平)保存メモリ、13 中間鍵MK2保存メモリ、14 メモリアクセス管理部、15 鍵系列生成部_1、16 鍵系列生成部_2、17 XOR部_1、18 XOR部_2、19 送信部、21 中間鍵MK2更新管理部、22 秘密鍵・IV保存メモリ、23 中間鍵MK2保存メモリ、24 メモリアクセス管理部、25 鍵系列生成部_1、26 鍵系列生成部_2、27 XOR部_1、28 XOR部_2、29 受信部、81 秘密鍵・IV保存メモリ、82 中間鍵MK1(平)保存メモリ、83 中間鍵MK2保存メモリ、84 メモリアクセス管理部、85 鍵系列生成部_1、86 XOR部_1、87 送信部、91 中間鍵MK2更新管理部、92 秘密鍵・IV保存メモリ、93 中間鍵MK2保存メモリ、94 メモリアクセス管理部、95 鍵系列生成部_1、96 XOR部_1、97 受信部、101 平文、102 鍵情報、103 暗号文、104 中間鍵MK1(暗)、105 秘匿パケット、201 中間鍵MK1(暗)、202 暗号文、203 鍵情報、204 平文、801 平文、802 鍵情報、803 暗号文、804 中間鍵MK1(暗)、805 秘匿パケット、901 中間鍵MK1(暗)、902 暗号文、903 鍵情報、904 平文。   1 encryption device, 2 decryption device, 8 encryption device, 9 decryption device, 11 secret key / IV storage memory, 12 intermediate key MK1 (plain) storage memory, 13 intermediate key MK2 storage memory, 14 memory access management unit, 15 key sequence Generation unit_1, 16 Key sequence generation unit_2, 17 XOR unit_1, 18 XOR unit_2, 19 Transmission unit, 21 Intermediate key MK2 update management unit, 22 Private key / IV storage memory, 23 Intermediate key MK2 storage memory, 24 memory Access management unit, 25 key sequence generation unit_1, 26 key sequence generation unit_2, 27 XOR unit_1, 28 XOR unit_2, 29 reception unit, 81 secret key / IV storage memory, 82 intermediate key MK1 (plain) storage memory, 83 Intermediate key MK2 storage memory, 84 Memory access management unit, 85 Key sequence generation unit_1, 86 XOR unit_1, 87 Transmission unit, 9 1 intermediate key MK2 update management unit, 92 secret key / IV storage memory, 93 intermediate key MK2 storage memory, 94 memory access management unit, 95 key sequence generation unit_1, 96 XOR unit_1, 97 receiving unit, 101 plaintext, 102 key Information, 103 Ciphertext, 104 Intermediate Key MK1 (Dark), 105 Secret Packet, 201 Intermediate Key MK1 (Dark), 202 Ciphertext, 203 Key Information, 204 Plaintext, 801 Plaintext, 802 Key Information, 803 Ciphertext, 804 Intermediate Key MK1 (dark), 805 secret packet, 901 intermediate key MK1 (dark), 902 ciphertext, 903 key information, 904 plaintext.

Claims (7)

第1中間鍵から生成される第1鍵系列を用いて暗号化された暗号文データと、第2中間鍵から生成される第2鍵系列を用いて前記第1中間鍵が暗号化された暗号化第1中間鍵とを受信する受信部と、
暗号文データ及び暗号化第1中間鍵の受信に先立って生成されている第2中間鍵を保存する中間鍵保存部と、
前記中間鍵保存部に保存されている第2中間鍵を用いて第2鍵系列を生成する鍵系列生成部と、
前記鍵系列生成部により生成された第2鍵系列を用いて暗号化第1中間鍵を復号して第1中間鍵とする復号処理部とを有し、
前記鍵系列生成部は、
前記復号処理部により復号された第1中間鍵を用いて第1鍵系列を生成し、
前記復号処理部は、
前記鍵系列生成部により生成された第1鍵系列を用いて暗号文データを復号し、
前記受信部は、
データ順序が定められている複数の暗号文データを順不同に受信し、
前記中間鍵保存部は、
暗号文データのデータ順序に対応づけて複数の第2中間鍵を保存し、
前記復号装置は、更に、
前記受信部により受信された暗号文データのデータ順序を判断する中間鍵更新管理部を有し、
前記鍵系列生成部は、
前記中間鍵保存部に保存されている複数の第2中間鍵のうち前記中間鍵更新管理部により判断されたデータ順序に対応する第2中間鍵を用いて第2鍵系列を生成することを特徴とする復号装置。
Ciphertext data encrypted using the first key sequence generated from the first intermediate key and ciphertext obtained by encrypting the first intermediate key using the second key sequence generated from the second intermediate key A receiving unit for receiving the first intermediate key;
An intermediate key storage unit for storing the second intermediate key generated prior to reception of the ciphertext data and the encrypted first intermediate key;
A key sequence generation unit that generates a second key sequence using a second intermediate key stored in the intermediate key storage unit;
A decryption processing unit that decrypts the encrypted first intermediate key using the second key sequence generated by the key sequence generation unit and sets the first intermediate key as a first intermediate key;
The key sequence generation unit
Generating a first key sequence using the first intermediate key decrypted by the decryption processing unit;
The decryption processing unit
Decrypting the ciphertext data using the first key sequence generated by the key sequence generation unit ;
The receiver is
Receive multiple ciphertext data with a specified data order in random order,
The intermediate key storage unit
A plurality of second intermediate keys are stored in association with the data order of the ciphertext data,
The decoding device further includes:
An intermediate key update management unit that determines the data order of the ciphertext data received by the receiving unit;
The key sequence generation unit
A second key sequence is generated using a second intermediate key corresponding to the data order determined by the intermediate key update management unit among a plurality of second intermediate keys stored in the intermediate key storage unit. A decoding device.
前記鍵系列生成部は、
前記受信部により受信された暗号文データが最新の暗号文データであると前記中間鍵更新管理部により判断された場合に、前記中間鍵保存部に保存されている第2中間鍵を用いて、前記受信部が以降に受信する暗号文データの復号に用いる第2中間鍵を1つ以上生成し、
前記中間鍵保存部は、
前記鍵系列生成部により生成された第2中間鍵を保存することを特徴とする請求項に記載の復号装置。
The key sequence generation unit
When the intermediate key update management unit determines that the ciphertext data received by the receiving unit is the latest ciphertext data, the second intermediate key stored in the intermediate key storage unit is used. Generating one or more second intermediate keys used for decryption of ciphertext data received by the receiving unit thereafter;
The intermediate key storage unit
The decryption apparatus according to claim 1 , wherein the second intermediate key generated by the key sequence generation unit is stored.
前記中間鍵保存部は、
Q+S+1個(Q≧1、S≧1)の第2中間鍵を保存可能であり、
前記鍵系列生成部は、
前記受信部が最新の暗号文データを受信する度に、前記受信部が受信した最新の暗号文データに対応する第2中間鍵からS個先までの第2中間鍵のうち未生成の第2中間鍵を生成し、
前記中間鍵保存部は、
前記鍵系列生成部により生成された第2中間鍵を、現在保存している末尾の第2中間鍵に続けて保存するとともに、前記受信部が受信した最新の暗号文データに対応する第2暗号鍵よりもQ個以上前の第2中間鍵を破棄することを特徴とする請求項に記載の復号装置。
The intermediate key storage unit
Q + S + 1 (Q ≧ 1, S ≧ 1) second intermediate keys can be stored,
The key sequence generation unit
Each time the receiving unit receives the latest ciphertext data, the second non-generated second key from the second intermediate key to the S-th second intermediate key corresponding to the latest ciphertext data received by the receiving unit. Generate an intermediate key,
The intermediate key storage unit
The second intermediate key generated by the key sequence generation unit is stored following the last second intermediate key currently stored, and the second cipher corresponding to the latest ciphertext data received by the reception unit The decryption apparatus according to claim 2 , wherein the second intermediate key Q or more before the key is discarded.
前記鍵系列生成部は、
前記中間鍵保存部に保存されている末尾の第2中間鍵を用いて新たな第2中間鍵を1つ生成し、以降、新たに生成した第2中間鍵から更に新たな第2中間鍵を生成することを繰り返して未生成の第2中間鍵を生成することを特徴とする請求項に記載の復号装置。
The key sequence generation unit
One new second intermediate key is generated using the last second intermediate key stored in the intermediate key storage unit. Thereafter, a new second intermediate key is further generated from the newly generated second intermediate key. 4. The decryption apparatus according to claim 3 , wherein the second intermediate key that has not been generated is generated by repeating the generation.
前記受信部は、
複数の仮想ネットワークの各々から暗号文データを受信し、
前記中間鍵保存部は、
仮想ネットワークごとに第2中間鍵を保存していることを特徴とする請求項1〜4のいずれかに記載の復号装置。
The receiver is
Receive ciphertext data from each of multiple virtual networks,
The intermediate key storage unit
The decryption apparatus according to claim 1, wherein a second intermediate key is stored for each virtual network.
前記鍵系列生成部は、
前記中間鍵保存部に保存されている第2中間鍵を用いて第2鍵系列を生成する第1の鍵系列生成部と、復号された第1中間鍵を用いて第1鍵系列を生成する第2の鍵系列生成部とを有し、
前記復号処理部は、
前記第1の鍵系列生成部により生成された第2鍵系列を用いて暗号化第1中間鍵を復号する第1の復号処理部と、前記第2の鍵系列生成部により生成された第1鍵系列を用いて暗号文データを復号する第2の復号処理部とを有することを特徴とする請求項1〜5のいずれかに記載の復号装置。
The key sequence generation unit
A first key sequence generation unit that generates a second key sequence by using the second intermediate key stored in the intermediate key storage unit, and a first key sequence by using the decrypted first intermediate key A second key sequence generation unit,
The decryption processing unit
A first decryption processing unit that decrypts the encrypted first intermediate key using the second key sequence generated by the first key sequence generation unit, and a first generated by the second key sequence generation unit decoding apparatus according to claim 1, characterized in that it comprises a second decoding unit for decoding the encrypted data using the key sequence.
コンピュータを、請求項に記載された復号装置として機能させることを特徴とするプログラム。 A program for causing a computer to function as the decoding device according to claim 1 .
JP2008073236A 2008-03-21 2008-03-21 Decoding device and program Expired - Fee Related JP5178269B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008073236A JP5178269B2 (en) 2008-03-21 2008-03-21 Decoding device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008073236A JP5178269B2 (en) 2008-03-21 2008-03-21 Decoding device and program

Publications (2)

Publication Number Publication Date
JP2009232034A JP2009232034A (en) 2009-10-08
JP5178269B2 true JP5178269B2 (en) 2013-04-10

Family

ID=41246970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008073236A Expired - Fee Related JP5178269B2 (en) 2008-03-21 2008-03-21 Decoding device and program

Country Status (1)

Country Link
JP (1) JP5178269B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189394A (en) * 2022-02-15 2022-03-15 北京安帝科技有限公司 Data decryption method and device, electronic equipment and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307547A (en) * 1996-05-14 1997-11-28 Matsushita Electric Ind Co Ltd Cryptographic system, information providing apparatus and information utilizing apparatus in the cryptographic system
US6760440B1 (en) * 1999-12-11 2004-07-06 Honeywell International Inc. One's complement cryptographic combiner
JP3841337B2 (en) * 2001-10-03 2006-11-01 日本放送協会 Content transmission device, content reception device, content transmission program, and content reception program
JP2003174441A (en) * 2001-12-05 2003-06-20 Nippon Telegr & Teleph Corp <Ntt> Content encryption method, content decryption method, content encryption device, and content decryption device
JP2005215559A (en) * 2004-01-30 2005-08-11 Meteoola Syst Kk Cipher system
JP2006093849A (en) * 2004-09-21 2006-04-06 Nec Personal Products Co Ltd Copy control method and device of content
JP4877932B2 (en) * 2006-03-30 2012-02-15 富士通テレコムネットワークス株式会社 ENCRYPTED COMMUNICATION SYSTEM AND ENCRYPTION KEY UPDATE METHOD
JP5060081B2 (en) * 2006-08-09 2012-10-31 富士通株式会社 Relay device that encrypts and relays frames
JP4912797B2 (en) * 2006-08-30 2012-04-11 三菱電機株式会社 ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM

Also Published As

Publication number Publication date
JP2009232034A (en) 2009-10-08

Similar Documents

Publication Publication Date Title
US8983061B2 (en) Method and apparatus for cryptographically processing data
US10187361B2 (en) Method for secure communication using asymmetric and symmetric encryption over insecure communications
EP2186250B1 (en) Method and apparatus for hardware-accelerated encryption/decryption
JP6139804B2 (en) Re-encryption key generation device, re-encryption device, encryption device, decryption device, and program
US7336783B2 (en) Cryptographic systems and methods supporting multiple modes
JP6363032B2 (en) Key change direction control system and key change direction control method
US20100246809A1 (en) Information Processing System, Information Processing Method, and Information Processing Program
WO2021129470A1 (en) Polynomial-based system and method for fully homomorphic encryption of binary data
JP2014175970A (en) Information distribution system, information processing device, and program
CN115865448B (en) Data self-encryption device and method
CN121264005A (en) Multipart transaction integrity protection and encryption
JP5178269B2 (en) Decoding device and program
JP2006311383A (en) Data managing method, data management system and data managing device
JP2010268149A (en) Decoding device, decoding method, and program
KR102066487B1 (en) Lightweight encryption algorithm security apparatus based on hardware authentication chip
WO2022179326A1 (en) Encrypted communication using counter mode encryption and secret keys
JP4912797B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
US12328397B2 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
JP2009098321A (en) Information processing device
JP5100497B2 (en) Decoding device
JP5268413B2 (en) Disclosure restriction processing apparatus, data processing system, and program
JP6732698B2 (en) Authentication encryption system with additional data, encryption device, decryption device, authentication encryption method with additional data, and program
JP4990843B2 (en) Cryptographic operation apparatus, method thereof, and program
JP2019015916A (en) Authentication encryption system with additional data, encryption device, decryption device, authentication encryption method with additional data, and program
KR102117758B1 (en) Lightweight Cryptographic Accelerated Operation Processing Method In Power Platform Server EnvironmentEnvironment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130108

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees