JP5178269B2 - Decoding device and program - Google Patents
Decoding device and program Download PDFInfo
- 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
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
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
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
For example, when encryption is performed using
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
また、本発明に関連する技術として、特許文献1に記載の技術がある。
以上のように、外部同期式ストリーム暗号では、暗号装置と復号装置で同期を取る必要があり、異なる通信トンネルの鍵系列を生成する場合に中間鍵を一時的にメモリ等に保持しておく必要があるが、復号装置では同一の秘密鍵を使用するパケットを処理する場合においてもメモリ等に保持する必要がある。
例えば、暗号装置で暗号化されたパケット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
Originally, the decryption apparatus holds the intermediate
この課題を解決する案として、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
However, in the middle of generating the intermediate key for
また、このような外部同期式ゆえの課題を解決する方法としては、内部同期式ストリーム暗号を使用することも考えられる。内部同期式ストリーム暗号装置は、その特徴として、暗号文の系列に依存した形で鍵系列を生成させるため、外部同期式のように暗号装置と復号装置で同期する必要がない。
ただし、暗号文のあるビットに誤りが発生すると他のビットにも波及してエラーが拡大してしまうという課題があり、更に、あるパケットでのビット誤りが他のパケットの復号にも影響を与える可能性がある。
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に示す。
A configuration example of the
まず、本実施の形態に係る暗号装置1及び復号装置2の動作の概略を説明する。
First, an outline of operations of the
暗号装置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
In the
The
次に、図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
101 is plaintext.
An intermediate key MK1 (plain)
An intermediate key
A
鍵系列とは、前述したように、鍵系列生成部_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
As will be described later, the key
また、中間鍵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)
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
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
同じく、鍵系列生成部_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
また、生成された暗号文103と中間鍵MK1(暗)は、送信部19において組み合わせて秘匿パケット105として通信路に出力される。例えば、一般的なパケット暗号通信の規格であるIPsecでは、IPsecパケットのESPペイロード領域として、組み合わされた暗号文103と中間鍵MK1(暗)が通信路に出力される。
Further, the generated
また、鍵系列生成部と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
続いて復号装置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
A receiving unit 29 receives the
203 is key information such as a storage destination address of a key for decrypting the intermediate key MK1 (dark) 201 and the
204 is the plaintext after decryption.
An intermediate key MK2
An intermediate key
つまり、本実施の形態の復号装置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
続いて、鍵系列生成部_2 26は、暗号文202が入力された際に、先に復号された中間鍵MK1(平)を入力し、入力した中間鍵MK1(平)から鍵系列を生成し、XOR部_2 28は、鍵系列生成部_2 26により生成された鍵系列を入力し、入力した鍵系列を用いて、暗号文202の復号を行って平文204を得る。
Subsequently, when the
また、鍵系列生成部と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
中間鍵MK2更新管理部21は、鍵情報203から受信パケットが、その通信トンネルで最新(暗号装置1で暗号化された最新のパケット)か否かを判別する。最新の場合はメモリアクセス管理部24が中間鍵MK2保存メモリに保存している最新の中間鍵MK2を読み出し、鍵系列生成部_1 25によって新しい中間鍵MK2を生成し、メモリアクセス管理部24がそれを中間鍵MK2保存メモリに保存する。
The intermediate key MK2
復号装置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
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
The key
Then, the key sequence generation unit_1 15 passes the finally obtained intermediate key MK1 (flat) to the memory
The above intermediate key generation process is performed for a combination of one secret key and one IV.
Subsequently, the memory
The key
Then, the key sequence generation unit_216 passes the finally obtained intermediate key MK2 to the memory
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
The key
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
Here, n = 32, and MK2_1 to MK2_32 are generated and stored in the private key /
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
The key
The key sequence generation unit_1 15 passes the generated plurality of key sequences to the
The XOR unit_1 17 transfers the intermediate key MK1 (flat) generated simultaneously with the generation of the
The memory
Based on the
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
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
The above is the operation of the encryption device.
続いて復号装置2の動作を図7のフローチャートに沿って説明する。
Next, the operation of the
先ず、受信部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
Next, when decrypting MK1 (dark) 201, the memory
Receiving the intermediate key MK2_A, the key
The key sequence generation unit_1 25 passes the generated plurality of key sequences to the
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
ここで、中間鍵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
The memory
N = N + 1 is set (S709), and the key
The memory
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
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
First, it is assumed that MK2_1_1 to MK2_1_32 are stored in the intermediate key
When packets are received in the order encrypted in the
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
Then, the intermediate key
以上が図1及び図2に示した暗号装置1及び復号装置2の基本的な処理の流れである。
The above is the basic processing flow of the
続いては、本実施の形態における通信路中でのパケット順序変化時の処理の負荷について説明する。
本実施の形態において、復号装置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
For example, when encryption is performed in the order of
従来は、あるパケットが未着である場合に、未着パケット用の中間鍵から未着パケットに対する鍵系列を生成し、未着パケットに対する鍵系列生成時に生成される中間鍵から次のパケットに対する鍵系列を生成していた。このため、未着パケットが到着するまで未着パケットに対する鍵系列を別途メモリに保持している必要があったが、このような未着パケットに対する鍵系列をメモリに保持しておく必要がない。
これは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
また、本実施の形態では、復号装置において、今後受信する可能性のあるパケットに対応する中間鍵2を1パケットについて1個メモリ等に保持しておくことで、メモリの使用容量を抑制するストリーム暗号実装方式について説明した。
Further, in the present embodiment, the decryption device stores one
また、本実施の形態では、復号装置において、今後受信する可能性のあるパケットに対応する中間鍵2を予め計算してメモリ等に保持しておくことにより、通信路中でパケットの順序変化が起こった際にも、正順序で受信したときと同等の性能を確保可能なストリーム暗号実装方式について説明した。
In the present embodiment, the decryption device previously calculates the
実施の形態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を一つずつとした構成である。
As other embodiments, configurations such as the encryption device 8 shown in FIG. 8 and the
The encryption device 8 has a configuration in which the key sequence generation unit_115, the key
図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
最後に、実施の形態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
FIG. 13 is a diagram illustrating an example of hardware resources of the
The configuration in FIG. 13 is merely an example of the hardware configuration of the
図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
The
Further, the
The
A
The
通信ボード1915は、ネットワークに接続されている。例えば、通信ボード1915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されている。
The
磁気ディスク装置1920には、オペレーティングシステム1921(OS)、ウィンドウシステム1922、プログラム群1923、ファイル群1924が記憶されている。
プログラム群1923のプログラムは、CPU1911がオペレーティングシステム1921、ウィンドウシステム1922を利用しながら実行する。
The
The programs in the
また、RAM1914には、CPU1911に実行させるオペレーティングシステム1921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM1914には、CPU1911による処理に必要な各種データが格納される。
Further, the
The
また、ROM1913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置1920にはブートプログラムが格納されている。
暗号装置1、8及び復号装置2、9の起動時には、ROM1913のBIOSプログラム及び磁気ディスク装置1920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム1921が起動される。
The
When the
上記プログラム群1923には、実施の形態1、2の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU1911により読み出され実行される。
The
ファイル群1924には、実施の形態1、2の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の比較」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1、2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、FDD1904のフレキシブルディスク、CDD1905のコンパクトディスク、磁気ディスク装置1920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the
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
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
また、実施の形態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
このように、実施の形態1、2に示す暗号装置1、8及び復号装置2、9は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the
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中間鍵の受信に先立って生成されている第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中間鍵を保存することを特徴とする請求項1に記載の復号装置。 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中間鍵を破棄することを特徴とする請求項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中間鍵を生成することを特徴とする請求項3に記載の復号装置。 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.
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)
| 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)
| 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 |
-
2008
- 2008-03-21 JP JP2008073236A patent/JP5178269B2/en not_active Expired - Fee Related
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 |