JP2005215559A - Cipher system - Google Patents

Cipher system Download PDF

Info

Publication number
JP2005215559A
JP2005215559A JP2004024904A JP2004024904A JP2005215559A JP 2005215559 A JP2005215559 A JP 2005215559A JP 2004024904 A JP2004024904 A JP 2004024904A JP 2004024904 A JP2004024904 A JP 2004024904A JP 2005215559 A JP2005215559 A JP 2005215559A
Authority
JP
Japan
Prior art keywords
encryption
key
intermediate key
random number
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.)
Pending
Application number
JP2004024904A
Other languages
Japanese (ja)
Inventor
Eiji Watanabe
榮治 渡邊
Koji Take
弘司 武
Yoshihiro Sekiguchi
義浩 関口
Yasuo Toshima
康夫 戸嶋
Hiroshi Hayakawa
寛 早川
Yuzo Shinoda
勇三 篠田
Toshiyuki Oshitani
敏之 鴛谷
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.)
METEOOLA SYST KK
Original Assignee
METEOOLA SYST KK
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 METEOOLA SYST KK filed Critical METEOOLA SYST KK
Priority to JP2004024904A priority Critical patent/JP2005215559A/en
Publication of JP2005215559A publication Critical patent/JP2005215559A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reset an intermediate key in a cipher system so as to be usable only one time and disposable. <P>SOLUTION: A cipher system comprising a plurality of cryptographic keys (k1, k2) to be kept secret, an initial vector (IV) to be made public, a random number generating section generating a random number hard to be predicted an intermediate key generating section generating the intermediate key, and an encryption processing section is provided. The intermediate key generating section determines and resets the intermediate key according to input items including the plurality of cryptographic keys (k1, k2) and the initial vector (IV) functioning as a reset vector. The random number generating section includes random number generating functions corresponding to the cryptographic keys (k1, k2). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は暗号システムに関し、特に、当該暗号システムそれ自身が鍵を使い捨てる暗号システムに関する。   The present invention relates to a cryptographic system, and more particularly, to a cryptographic system in which the cryptographic system itself has a key disposable.

1) 暗号鍵の再利用と中間鍵の再利用を可能にするシステム
共通鍵暗号系は「鍵、すなわち短いデータ、を繰り返し使えるように計算量的な安全性を設計する」という基本理念に基き構成される。より詳細には、図1に示すように、鍵交換後、その暗号鍵101により中間鍵を生成する中間鍵生成部102と、上記中間鍵を用いて平文104を暗号化することにより暗号文105を得る暗号化処理部103とを備え、上記暗号化に際し、平文104に、そのエントロピをバイアスするイニシャルベクター(Initial Vector)106(以下「IV」と呼ぶ。)が重畳される。
1) A system that enables the reuse of encryption keys and the reuse of intermediate keys Common key cryptosystems are based on the basic philosophy of "designing computational security so that keys, that is, short data, can be used repeatedly". Composed. More specifically, as shown in FIG. 1, after key exchange, an intermediate key generation unit 102 that generates an intermediate key using the encryption key 101, and a plaintext 104 using the intermediate key to encrypt a ciphertext 105 And the encryption processing unit 103 for obtaining the initial vector 106 (hereinafter referred to as “IV”) for biasing the entropy is superimposed on the plaintext 104 during the encryption.

上記中間鍵生成部102と暗号化処理部103とは、それぞれラウンド計算処理を実行して中間鍵と暗号鍵と再利用するが、この処理を非線形化することにより、暗号鍵と平文との計算量的な安全性を確保している。なお、非線形処理には、例えばAESの場合、ByteSub / ShiftRow / MixColumnなどのツールが使用される。   The intermediate key generation unit 102 and the encryption processing unit 103 perform round calculation processing and reuse the intermediate key and encryption key, respectively. By making this processing non-linear, calculation of the encryption key and plaintext is performed. Quantitative safety is ensured. For example, in the case of AES, tools such as ByteSub / ShiftRow / MixColumn are used for nonlinear processing.

以上の構成は、デス(DES)に始まり、今日に至るまで変わらない。   The above structure begins with Death (DES) and remains unchanged until today.

2) 暗号システムの運用
図1の共通鍵暗号系は、1つのセッションの間、中間鍵を不変に保ち、(複数のブロック叉は複数のメッセージから成る)平文を読み込んで暗号化処理を繰り返す仕方で運用される。暗号鍵が変更されない限り中間鍵は変わらない。
2) Cryptographic system operation The common key cryptosystem of FIG. 1 keeps the intermediate key unchanged during one session, reads plaintext (consisting of multiple blocks or multiple messages), and repeats the encryption process. It is operated by. The intermediate key does not change unless the encryption key is changed.

1)従来の暗号係が想定していなかった音声パケット通信の問題
音声パケットを暗号化する際に、従来は想定されなかった問題が浮上する。音声アイ・ピー(Voice IP:以下「VoIP」で示す。)は、音声を細分化して、1秒当たり数十個のパケットに変えることにより音質を確保する。従って、そこには「無言」のパケットが混在する。これは、暗号鍵が同じなら、同じ(似た)ビットパターンのパケットが存在し、それが暗号系の内部情報を提供することを意味する。
1) Problem of voice packet communication that a conventional cryptographer has not envisaged When a voice packet is encrypted, a problem that has not been assumed conventionally arises. Voice IP (Voice IP: hereinafter referred to as “VoIP”) ensures sound quality by subdividing voice into several tens of packets per second. Therefore, “silent” packets are mixed there. This means that if the encryption key is the same, there is a packet with the same (similar) bit pattern, which provides internal information of the cryptographic system.

1−1)アイ・ピー(以下「IP」で示す。)による電話、つまり、IP電話において,VoIPの暗号化に対し、無言を既知平文とする攻撃が可能になる。 1-1) With an IP (hereinafter referred to as “IP”) telephone, that is, an IP telephone, it is possible to carry out an attack with silence as a known plaintext against VoIP encryption.

要するに、既知平文・暗号文の選択攻撃が有効になり、ストリーム暗号の場合に、後続のパケットがただちに解読され、盗聴されるおそれがある。   In short, the known plaintext / ciphertext selection attack becomes effective, and in the case of the stream cipher, there is a possibility that the subsequent packet is immediately decrypted and wiretapped.

1−2)IVの利用もVoIPの問題解決に役立たない。 1-2) Use of IV does not help solve VoIP problems.

これを防ぐ方法は、ただ一つ、パケット単位に暗号鍵を交換することである。しかしながら、暗号鍵を交換する通信プロトコルの実行には、暗号処理の1000倍以上の時間がかかる。   The only way to prevent this is to exchange encryption keys on a packet-by-packet basis. However, execution of the communication protocol for exchanging the encryption key takes 1000 times or more time for the encryption process.

そこで、個々のパケット処理に従来のIVを利用するモードが類推され、IV値を変えると平文が同じでも暗号文は変化するので、鍵を交換することと等価な安全性を提供できるように思えるが、この推論は正しくない。鍵は暗号系の内部状態(中間鍵)を決定するが、IV値は平文データ同様に暗号化の対象となるデータである。   Therefore, the conventional mode using IV for analog packet processing is inferred, and changing the IV value changes the ciphertext even if the plaintext is the same, so it seems that it can provide security equivalent to exchanging keys. But this reasoning is not correct. The key determines the internal state (intermediate key) of the encryption system, but the IV value is the data to be encrypted as with the plain text data.

例えば、DESのイ・シー・ビー(ECB)モードを関数形で表わし、暗号文をCi、入力平文をXi、鍵kで定義される暗号化関数をEkとすると、暗号文Ci = Ek (Xi)になる。ここでIVを導入すると、任意な自然数iに関し、暗号文Ci = Ek (Mi + Ci-1)、C0 = IV として与えられる。つまり、I従来のIVは暗号化される対象データの一つである。 For example, DES's ECB mode is expressed in functional form, ciphertext C i , input plaintext X i , and encryption function defined by key k as E k , ciphertext C i = E k (X i ). When IV is introduced here, ciphertext C i = E k (M i + C i-1 ) and C 0 = IV are given for an arbitrary natural number i. In other words, the conventional IV is one of the data to be encrypted.

IP通信のIV値は通信線上に公開される。無言パケットを拾うことにより平文が既知となると、IVと平文とが共に既知となり、その連鎖モードからなる暗号文Ci のエントロピーが落ちる。 The IV value of IP communication is disclosed on the communication line. When plaintext is known by picking up silence packets, it is both the IV and the plaintext becomes known, the entropy of the ciphertext C i consisting of the chained mode falls.

この関係を図2に示す。鍵は暗号系の内部状態を決定し、IV値は暗号化の対象データの一つになる。復号の場合、IVの投入位置はオペレ−ションモードに依存する。いずれにしろ、音声の暗号化を行なう場合、パケット単位に暗号鍵を交換する以外に、安全性の議論が成立しない。   This relationship is shown in FIG. The key determines the internal state of the encryption system, and the IV value is one of the data to be encrypted. In the case of decoding, the IV input position depends on the operation mode. In any case, when voice encryption is performed, there is no security argument other than exchanging encryption keys in units of packets.

2)鍵のリセットを行なうと、スループットが極端に低下する。 2) When the key is reset, the throughput is extremely reduced.

2−1)暗号鍵を今一度交換すること自体に時間がかかる。 2-1) It takes time to exchange the encryption key once again.

鍵交換プロトコルの実行には暗号化処理の約1000倍以上かかる。このプロトコルは、通常、セッションを開く時だけ運用される。   The key exchange protocol takes about 1000 times more than the encryption process. This protocol is usually used only when opening a session.

2−2)暗号鍵を交換すると、暗号化処理の能力自体が低下する。 2-2) When the encryption key is exchanged, the encryption processing capability itself decreases.

アール・シーフォー(RC4)に極めてよく似た暗号系でテストした結果,64byteの平文入力に対応して暗号鍵をインプットする動作を繰り返し暗号化したとき、暗号化のスループットが14%に低下した。   As a result of testing with an encryption system very similar to R.C. Four (RC4), the encryption throughput decreased to 14% when the encryption key was repeatedly input in response to 64-byte plaintext input.

この関係を図3に示す。平文を読み込む都度、暗号系の上位層で暗号鍵のリセット処理がなされ、その結果、暗号鍵がリセットされ(ステップ211)、これにより中間鍵がリセットされ(ステップ212)、その中間鍵を暗号化処理部213で使用することにより、平文214が暗号文215に暗号化される。この暗号化の処理能力が14%に低下したのは、中間鍵のリセット動作(ステップ212)に時間がかかったことによる。   This relationship is shown in FIG. Each time plaintext is read, the encryption key is reset in the upper layer of the encryption system. As a result, the encryption key is reset (step 211), thereby resetting the intermediate key (step 212) and encrypting the intermediate key. By using it in the processing unit 213, the plain text 214 is encrypted into the cipher text 215. The reason why the encryption processing capability has decreased to 14% is that it took time for the intermediate key reset operation (step 212).

以上から、従来の暗号系ではVoIPの安全性を理論的に確保することが困難だとわかる。   From the above, it can be seen that it is difficult to theoretically secure the security of VoIP with conventional cryptosystems.

VoIPに対しては、従来の鍵交換プロトコルに拠らない中間鍵のリセット方法が要求され、中間鍵をワンタイム(One-Time)に使い捨て可能にリセットする手法が必要となる。これにIVを利用する場合、IVは公開データであるから、中間鍵の“生成”に関与させてはならないという条件が克服されねばならない。   For VoIP, a method for resetting an intermediate key that is not based on the conventional key exchange protocol is required, and a method for resetting the intermediate key in a one-time manner is required. When using IV for this, the IV must be overcome because it is public data and must not be involved in the "generation" of the intermediate key.

本発明に係る暗号システムは、暗号鍵を変更せずに、敢えてIVをリセットベクターとして用い中間鍵をリセットする。IVはコネクションレス(connection-less)に送信され、中間鍵のリセットに適する。   The encryption system according to the present invention dares to reset the intermediate key using IV as a reset vector without changing the encryption key. The IV is sent connectionless and is suitable for intermediate key reset.

また本発明に係る暗号システムは、IVを中間鍵の“リセット”に関与させるとともに、暗号系を計算量的に安全に保つ。   In addition, the cryptographic system according to the present invention allows IV to participate in “reset” of the intermediate key and keeps the cryptographic system safe in terms of computational complexity.

本発明に係る暗号システムを構成するIVと暗号鍵と中間鍵との関係を図4に示す。この暗号システムは,暗号鍵を再利用すべく、ワンタイムに使い捨てるIVでエントロピーをバイアスし、計算量的安全性を満たす予測困難な乱数の生成部を介した乱数として、中間鍵のリセットに当てる。リセットされた中間鍵を暗号化処理部で用い、平文を暗号文に変換する。   FIG. 4 shows the relationship among the IV, encryption key, and intermediate key that constitute the encryption system according to the present invention. In order to re-use the encryption key, this encryption system biases entropy with a one-time disposable IV and resets the intermediate key as a random number through a hard-to-predict random number generator that satisfies the computational security. Hit it. Using the reset intermediate key in the encryption processing unit, plaintext is converted into ciphertext.

以下,本発明に係る暗号システムの構成要素を、説明の便宜上、図4と一対一に対応する図5の記号で表し、理解を容易となす。図5中:
暗号鍵は複数k1,k2存在し;
それらの暗号鍵に対応する乱数生成関数 G()、g()が一方向性関数として定義され(公正な第三者機関に認定されたその証拠が必要);
これらの関数により、乱数r1 = G(k1)、r2 = g(k2, IV)が生成され;
これらの乱数の合成乱数(記号|)として中間鍵k3 = r1 | r2が生成され;
この中間鍵を用いた]暗号化処理Ek3により、平文Mが暗号文C = Ek3(M)に変換される。
Hereinafter, the components of the cryptographic system according to the present invention are represented by the symbols in FIG. 5 that correspond one-to-one with FIG. In FIG. 5:
There are multiple k1 and k2 encryption keys;
Random number generation functions G () and g () corresponding to those encryption keys are defined as one-way functions (there must be evidence that is certified by a fair third-party organization);
These functions generate random numbers r1 = G (k1), r2 = g (k2, IV);
An intermediate key k3 = r1 | r2 is generated as a composite random number (symbol |) of these random numbers;
The plaintext M is converted into ciphertext C = E k3 (M) by the encryption process E k3 using this intermediate key.

つまり、本発明に係る暗号システムは:秘密にされる複数の暗号鍵(k1とk2)と、公開されるイニシャルベクター(IV)と、予測困難な乱数を生成する乱数生成部と、中間鍵を生成する中間鍵生成部と、暗号化処理部とを備え;前記中間鍵生成部は、前記複数の暗号鍵(k1, k2)とリセットベクターとして作用する前記イニシャル・ベクター(IV)とを含む入力項目に応じて前記中間鍵を決定リセットし;前記乱数生成部は、暗号鍵(k1,k2)に対応する乱数生成関数(G()とg())を含む。   That is, the cryptographic system according to the present invention includes: a plurality of secret keys (k1 and k2) that are kept secret, a public initial vector (IV), a random number generator that generates random numbers that are difficult to predict, and an intermediate key. An intermediate key generation unit for generating; and an encryption processing unit; the intermediate key generation unit including the plurality of encryption keys (k1, k2) and the initial vector (IV) acting as a reset vector The intermediate key is determined and reset according to an item; the random number generation unit includes a random number generation function (G () and g ()) corresponding to the encryption key (k1, k2).

すなわち、暗号鍵k1をG()の入力として、G()により乱数r1 を出力するとともに、暗号鍵k2とIVとをg()の入力要素として、g()により乱数r2 を出力し:
r1 = G(k1) ------- (1)
r2 = g(k2, IV) ------- (2)
これらの乱数r1と乱数r2とから中間鍵k3を合成し:
k3 = r1 | r2 ------- (3)
この中間鍵k3を用いて平文Mの暗号処理部Ek3を行う:
C = Ek3(M) --------(4)。
That is, the encryption key k1 is input to G (), the random number r1 is output from G (), and the encryption key k2 and IV are input to g (), and the random number r2 is output from g ():
r1 = G (k1) ------- (1)
r2 = g (k2, IV) ------- (2)
Synthesize the intermediate key k3 from these random numbers r1 and r2:
k3 = r1 | r2 ------- (3)
Using this intermediate key k3, the plaintext M encryption processing unit E k3 is performed:
C = E k3 (M) -------- (4).

従って、本発明に係る暗号システムは、上式(1)〜(4)の数理の束を演算するプログラム又はそれを格納したメモリを備えるコンピュータとして構成される。   Therefore, the cryptographic system according to the present invention is configured as a computer including a program for calculating a mathematical bundle of the above formulas (1) to (4) or a memory storing the program.

次に、図6〜図8を参照して、本発明を実施するための最良の形態を説明する。   Next, the best mode for carrying out the present invention will be described with reference to FIGS.

図6は、本発明の実施例に係る暗号システムのブロック図、図7は本発明の実施例に係る暗号システムの実行モジュール群を示す流れ図、図8は本発明の実施例に係る暗号システムのVoIPに適用されるパケット長を示すグラフである。   6 is a block diagram of an encryption system according to an embodiment of the present invention, FIG. 7 is a flowchart showing an execution module group of the encryption system according to the embodiment of the present invention, and FIG. 8 is a flowchart of the encryption system according to the embodiment of the present invention. It is a graph which shows the packet length applied to VoIP.

図6の暗号システムは、IVを中間鍵のリセットに関与させた実施例で,どのように計算量的な安全性を確保するかも示している。   The cryptographic system of FIG. 6 also shows how to ensure computational security in an embodiment in which IV is involved in the resetting of the intermediate key.

この暗号システムは、非公開な共通鍵としての暗号鍵k1,k2、公開されるイニシャルベクターIV、予測困難な乱数r1,r2を生成する乱数生成部、中間鍵k3を生成する中間鍵生成部、及び暗号化処理Ek3を行う暗号化処理部を備える。 This cryptographic system includes cryptographic keys k1 and k2 as private secret keys, a public initial vector IV, a random number generator that generates random numbers r1 and r2 that are difficult to predict, an intermediate key generator that generates an intermediate key k3, And an encryption processing unit for performing the encryption process E k3 .

暗号鍵k1,k2及びイニシャルベクターIVが、中間鍵k3を決定する入力項目になる。暗号鍵k1、k2はそれぞれ256bit、IVは64bitとする。このIVは、暗号文Cと一緒に公開ネット上に平文状態で送信される。   The encryption keys k1 and k2 and the initial vector IV are input items for determining the intermediate key k3. The encryption keys k1 and k2 are each 256 bits, and the IV is 64 bits. This IV is transmitted together with the ciphertext C over the public network in plaintext.

乱数生成部は、暗号鍵k1を入力して前記乱数r1 を出力する乱数生成関数G()と、暗号鍵k2及びイニシャルベクターIVを入力して前記乱数r2 を出力する乱数生成関数g()とを備える。   The random number generation unit receives a cryptographic key k1 and outputs the random number r1, and a random number generating function g () that inputs the cryptographic key k2 and the initial vector IV and outputs the random number r2. Is provided.

r1 = G(k1) ------- (1)
r2 = g(k2, IV) ------- (2)
図6実施例の関数g()には、出力が128bitのハッシュ関数を用いる。その入力はIVが64bit、鍵k2が256bitである。
r1 = G (k1) ------- (1)
r2 = g (k2, IV) ------- (2)
For the function g () in FIG. 6 embodiment, a hash function with an output of 128 bits is used. The input is 64 bits for IV and 256 bits for key k2.

k2 = 256bit
IV = 64bit
r2 = 128bit
このような入力を圧縮する乱数生成法はNISTが推奨する方法論である。IVは公開であるから、この64bitは単にトリガーの役割をするに過ぎない。256bit-64bit=192bitが関数g()入力のエントロピーである。つまり、IVの64bitから出力128bitを推定するには、192bitの計算量が要る。逆に、出力の128bitが公開されたとしても、鍵k2を推定するには、なお、192bit-128bit=64bitの計算量が要る。ただし、関数g()の出力128bitは暗号系の内部データであるから非公開である。
k2 = 256bit
IV = 64bit
r2 = 128bit
The random number generation method that compresses such input is a methodology recommended by NIST. Since IV is open to the public, this 64bit only serves as a trigger. 256bit-64bit = 192bit is the entropy of the function g () input. In other words, to estimate the output 128 bits from the 64 bits of IV requires a calculation amount of 192 bits. On the contrary, even if the 128 bits of output are disclosed, to calculate the key k2, a calculation amount of 192 bits-128 bits = 64 bits is still required. However, since the output 128 bits of the function g () is internal data of the cryptographic system, it is not disclosed.

図6の実施例の関数G()には、PCT /JP99/00476: 1999.02.04“IP KEY MANAGEMENT MECHANISM WITH DIVERGENCE BARRIER INCREASING ENTROPY AGAINST COMPUTATIONAL CRYPTO-ANALYSES”で説明した一方向性関数、または特許法第30条1項の規定の適用を受けようとする日本国特許出願2003-381395で説明した一方向性関数を用いる。関数G()は、256bit入力から256bitの乱数を出力するので、NIST推奨方式より効率が良い。その他にも、通常、鍵交換プロトコルと呼ばれる予測困難な乱数を生成する手段があり、これを用いても良いが、スピードが極端に遅くなる。   The function G () in the embodiment of FIG. 6 includes the one-way function described in PCT / JP99 / 00476: 1999.02.04 “IP KEY MANAGEMENT MECHANISM WITH DIVERGENCE BARRIER INCREASING ENTROPY AGAINST COMPUTATIONAL CRYPTO-ANALYSES” The one-way function described in Japanese Patent Application 2003-381395 that intends to apply the provisions of Article 30 (1) is used. The function G () is more efficient than the NIST recommended method because it outputs a 256-bit random number from a 256-bit input. In addition, there is usually a means for generating an unpredictable random number called a key exchange protocol, which may be used, but the speed becomes extremely slow.

k1 = 256bit
r1 = 256bit
予測困難性は、出力256bitから他の出力256bitを推定しようとすると、128bitあるいは256bitの計算量が必要になるという点を根拠にしている。
k1 = 256bit
r1 = 256bit
The difficulty of prediction is based on the point that when trying to estimate another output of 256 bits from the output of 256 bits, a calculation amount of 128 bits or 256 bits is required.

これら関数G()と関数g()の出力256bitと128bitを合成して予測困難な352bit中間鍵k3を創る。   The outputs 256bit and 128bit of these functions G () and g () are combined to create a 352bit intermediate key k3 that is difficult to predict.

k3 = r1 | r2 ------- (3)
k3 = 352bit
この時、256bit+128bit=384bitとなるが、その内の32bitが合成のためのIVとして使われる。
k3 = r1 | r2 ------- (3)
k3 = 352bit
At this time, 256 bits + 128 bits = 384 bits, but 32 bits are used as IV for synthesis.

上記中間鍵352bit を暗号処理部の鍵k3として、平文Mから暗号文Cへの暗号化処理Ek3を行う。 Encryption processing E k3 from plaintext M to ciphertext C is performed using the intermediate key 352 bits as the key k3 of the encryption processing unit.

C = Ek3(M) --------(4)
上記(1)式〜(4)式の経過から明らかなように、中間鍵k3は、IVをトリガーとしてワンタイム化される。したがって、暗号処理 Ek3もワンタイム化される。これにより平文の解読が困難になる。
C = E k3 (M) -------- (4)
As is clear from the progress of the above expressions (1) to (4), the intermediate key k3 is set to one time with IV as a trigger. Therefore, the encryption process E k3 is also made one-time. This makes it difficult to decipher plaintext.

暗号処理Ek3単独の安全性は本発明の範囲外だが、これも確保されることが前提となる。既知平文攻撃に対する安全性に触れる。Ek3単独は、32bitのレジスター10個と32bitのIVから構成される鍵ストリーム生成部を持ち、排他的論理和[XORing]で暗号文を作る。k3 = 352bitであるから、352bitのエントロピーを誇るが、アルゴリズム公開の条件の下、既知平文攻撃を行なえば128bitのエントロピーに落とすことができる。しかし、k3がワンタイムなので、元の352bitに回復する。これにより暗号鍵の安全性も規定値を回復する。 The security of the cryptographic processing E k3 alone is outside the scope of the present invention, but it is assumed that this is also ensured. Touch the safety against known plaintext attacks. E k3 alone has a key stream generator composed of 10 32-bit registers and 32-bit IV, and creates a ciphertext with exclusive OR [XORing]. Since k3 = 352bit, it boasts 352bit entropy, but it can be reduced to 128bit entropy if a known plaintext attack is performed under the conditions of algorithm disclosure. However, since k3 is one-time, it will recover to the original 352bit. As a result, the security of the encryption key is restored to the specified value.

図7に上位層VoIPとの関係を示す。   Figure 7 shows the relationship with higher-layer VoIP.

VoIPのアール・テー・ピー(RTP)パケットの暗号化処理は次のモジュール(関数)で構成する。   The VoIP RTP packet encryption process consists of the following modules (functions).

init() : Ek3暗号初期化処理:暗号鍵とIVに関する初期化
Setprm() : RTPパケット情報設定処理
encrypt() : Ek3暗号化処理
decrypt() : Ek3復号処理
final() : Ek3暗号終了処理
これらモジュールはCPUメモリー上に展開され、処理終了時に消去される。
init (): E k3 encryption initialization process: initialization of encryption key and IV
Setprm (): RTP packet information setting processing
encrypt (): E k3 encryption processing
decrypt (): E k3 decryption processing
final (): E k3 encryption end processing These modules are expanded on the CPU memory and deleted when the processing ends.

上位層で処理される内容は、2つの関数init()及びSetprm()で表される。
関数init()は、暗号鍵とIVに関する初期化を行なう。IVに関する初期化とは、IVを生成する乱数生成器の初期値の設定である。IVは乱数として生成される。なお、出力暗号文を圧縮するなどしてIVを生成しても良い。いずれの場合も初期値が要る。コンピュータのOSには初期値を提供する関数を持つものがあり、例えば、UNIX系は関数Entropy-poolと有する。関数Setprm()はRTPパケットに関する情報を設定する。
The content processed in the upper layer is expressed by two functions init () and Setprm ().
The function init () initializes the encryption key and IV. Initialization related to IV is setting of an initial value of a random number generator that generates IV. IV is generated as a random number. Note that the IV may be generated by compressing the output ciphertext. In either case, an initial value is required. Some computer OSs have a function that provides an initial value. For example, a UNIX system has a function Entropy-pool. The function Setprm () sets information about RTP packets.

図7の処理は関数encrypt(),decrypt(),final()を伴う。関数encrypt()は、平文とIV生成器をトリガーしてIV値を読み込み、暗号文をIV値と共にRTPパケットに乗せる。受信者は関数decrypt()により復号する。関数encrypt()とdecrypt()の演算が双方で繰り返される。RTPの終了を関数final()が行い、実行モジュール群をCPUメモリー上から解放する。このように、関数encrypt()は、暗号の都度都度のIV値を読み込む。   The process of FIG. 7 involves functions encrypt (), decrypt (), and final (). The function encrypt () triggers the plaintext and IV generator to read the IV value and places the ciphertext along with the IV value in the RTP packet. The recipient decrypts it with the function decrypt (). The operations of the functions encrypt () and decrypt () are repeated in both. The function final () terminates RTP and releases the execution module group from the CPU memory. In this way, the function encrypt () reads the IV value for each encryption.

図7に示す処理は、IVをトリガーにして鍵を使い捨てる処理をする暗号系に対応する。   The process shown in FIG. 7 corresponds to an encryption system that performs a process of disposable keys with IV as a trigger.

上記暗号システムは, 予測困難な乱数生成法の導入により、安全性の向上と暗号系全体の高速処理を可能にしている。   The above cryptosystem improves security and enables high-speed processing of the entire cryptosystem by introducing a random number generation method that is difficult to predict.

そこで、上記実施例に係るシステムと従来システムとの間で、中間鍵をリセットする能力を比較するベンチマークテストを行った。結果を表1に示す。   Therefore, a benchmark test was performed to compare the ability to reset the intermediate key between the system according to the above embodiment and the conventional system. The results are shown in Table 1.

平文データの長さを、それぞれ8 バイト(bytes)/64 バイト/256 バイト/1024 バイト/8192 バイトとした場合に個々のデータを何回繰り返し暗号化できるか、1秒当たりのスループットを計った。鍵交換は暗号化の都度に行なった。   When the plaintext data length is 8 bytes (bytes) / 64 bytes / 256 bytes / 1024 bytes / 8192 bytes, the throughput per second was measured to determine how many times each data can be encrypted. The key exchange was performed for each encryption.

比較サンプルには、フリーで入手されるストリーム型の共通鍵暗号ソフト”rc4”を採り上げた、但し、これはRSA社の正式版ではなく、あくまでもストリーム型暗号の代表として採り上げたに過ぎない。

Figure 2005215559
As a comparative sample, the stream-type common key encryption software “rc4”, which is available for free, is used. However, this is not an official version of RSA, but only a representative of stream-type encryption.
Figure 2005215559

図8の両対数グラフから、本実施例にかかる暗号システムの、従来例との比較における一般的な傾向が判る。このシステムは処理能力が高く、斜線部分のパケット長がVoIPで使われ、そこでは約3倍から4倍速い。携帯端末などCPU能力の低い領域では、この能力の差は、直ちに音声品質に現れる。   From the log-log graph of FIG. 8, the general tendency of the cryptographic system according to the present embodiment in comparison with the conventional example can be seen. This system has high processing power, and the shaded packet length is used in VoIP, where it is about 3 to 4 times faster. In areas with low CPU capability, such as mobile devices, this difference in capability immediately appears in voice quality.

本発明によれば、暗号システム自体が鍵を使い捨てるワンタイムキーイング暗号システムが得られ,セキュリテイ的に擬似ワンタイムパッド暗号の実用化を意味する。これは、従来の暗号系を凌駕するメカニズムである。また、鍵のリセット能力が高く、音声を初め、他のデータの処理にも応えられる。通信分野の全てに適応する。   According to the present invention, it is possible to obtain a one-time keying encryption system in which the encryption system itself has a single-use key, which means that the pseudo one-time pad encryption is practically used. This is a mechanism that surpasses conventional cryptosystems. In addition, it has a high key reset capability and can respond to processing of other data including voice. Applies to all areas of communications.

従来の共通鍵暗号系のブロック図である。It is a block diagram of a conventional common key cryptosystem. 従来の共通鍵暗号系の鍵とIVとの関係を示す流れ図である。It is a flowchart which shows the relationship between the key of the conventional common key encryption system, and IV. 従来の共通鍵暗号系の鍵のリセット方式を示す流れ図である。It is a flowchart which shows the reset method of the key of the conventional common key cryptosystem. 本発明に係る暗号システムの鍵とIVとの関係を示す流れ図である。It is a flowchart which shows the relationship between the key and IV of the encryption system which concerns on this invention. 本発明に係る暗号システムの構成要素を示す流れ図である。3 is a flowchart showing components of a cryptographic system according to the present invention. 本発明の実施例に係る暗号システムのブロック図である。It is a block diagram of the encryption system which concerns on the Example of this invention. 本発明の実施例に係る暗号システムの実行モジュール群を示す流れ図である。It is a flowchart which shows the execution module group of the encryption system which concerns on the Example of this invention. 本発明の実施例に係る暗号システムのVoIPに適用されるパケット長を示すグラフである。It is a graph which shows the packet length applied to VoIP of the encryption system based on the Example of this invention.

符号の説明Explanation of symbols

k1, k2 暗号鍵
G(),g() 乱数生成関数
r1, r2 乱数
k3 中間鍵
IV リセットベクターとして作用するイニシャルベクター
Ek3 中間鍵k3を用いた暗号化処理
M 平文
C 暗号文
k1, k2 encryption key
G (), g () random number generation function
r1, r2 random numbers
k3 intermediate key
IV Initial vector that acts as a reset vector
Encryption using E3 k3 intermediate key
M plaintext
C ciphertext

Claims (2)

秘密にされる複数の暗号鍵と、公開されるイニシャルベクターと、予測困難な乱数を生成する乱数生成部と、中間鍵を生成する中間鍵生成部と、暗号化処理部とを備え、
前記中間鍵生成部は、前記複数の暗号鍵とリセットベクターとして作用する前記イニシャル・ベクターとを含む入力項目に応じて前記中間鍵を決定リセットし、
前記乱数生成部は、暗号鍵に対応する乱数生成関数を含む
ことを特徴とする暗号システム。
A plurality of secret encryption keys, a public initial vector, a random number generation unit that generates random numbers that are difficult to predict, an intermediate key generation unit that generates intermediate keys, and an encryption processing unit,
The intermediate key generation unit determines and resets the intermediate key according to an input item including the plurality of encryption keys and the initial vector that acts as a reset vector,
The random number generation unit includes a random number generation function corresponding to an encryption key.
前記乱数生成部を有する上位層と、前記中間鍵生成部と暗号化処理部とを有する下位層とを備え、前記下位層にセキュリテイー手段を設けたことを特徴とする請求項1に記載の暗号システム。        2. The encryption according to claim 1, comprising an upper layer having the random number generation unit and a lower layer having the intermediate key generation unit and an encryption processing unit, and security means is provided in the lower layer. system.
JP2004024904A 2004-01-30 2004-01-30 Cipher system Pending JP2005215559A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004024904A JP2005215559A (en) 2004-01-30 2004-01-30 Cipher system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004024904A JP2005215559A (en) 2004-01-30 2004-01-30 Cipher system

Publications (1)

Publication Number Publication Date
JP2005215559A true JP2005215559A (en) 2005-08-11

Family

ID=34907439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004024904A Pending JP2005215559A (en) 2004-01-30 2004-01-30 Cipher system

Country Status (1)

Country Link
JP (1) JP2005215559A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008124935A (en) * 2006-11-14 2008-05-29 Toshiba Information Systems (Japan) Corp Transmitter, receiver, and information communication system
JP2009232034A (en) * 2008-03-21 2009-10-08 Mitsubishi Electric Corp Encryption device, decryption device, encryption method, decryption method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008124935A (en) * 2006-11-14 2008-05-29 Toshiba Information Systems (Japan) Corp Transmitter, receiver, and information communication system
JP2009232034A (en) * 2008-03-21 2009-10-08 Mitsubishi Electric Corp Encryption device, decryption device, encryption method, decryption method, and program

Similar Documents

Publication Publication Date Title
Burr Selecting the advanced encryption standard
Thakur et al. DES, AES and Blowfish: Symmetric key cryptography algorithms simulation based performance analysis
Mitali et al. A survey on various cryptography techniques
US7200232B2 (en) Method and apparatus for symmetric-key decryption
De Canniere et al. An introduction to block cipher cryptanalysis
WO2008010441A1 (en) Encryption device, program, and method
JP2004363739A (en) Enciphering device or deciphering device for common key cipher that can detect alteration
Huang et al. A novel structure with dynamic operation mode for symmetric-key block ciphers
Reyad et al. Key-based enhancement of data encryption standard for text security
More et al. Implementation of AES with time complexity measurement for various input
Ali et al. Design of secure chatting application with end to end encryption for android platform
Sousi et al. Aes encryption: Study & evaluation
Kumar et al. A novel framework for secure file transmission using modified AES and MD5 algorithms
Landau Technical opinion: designing cryptography for the new century
JP2005215559A (en) Cipher system
Shaik et al. Implementation of Encryption Algorithm for Data Security in Cloud Computing.
JP2005309148A (en) Data converter and the data conversion method
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Rechberger Side channel analysis of stream ciphers
Sharma et al. Comparative analysis of block key encryption algorithms
JP2000004223A (en) Encryption/authentication system
WO2006022058A1 (en) Text encrypting apparatus, and text decrypting apparatus
OKOLIE et al. Comparative Analysis of Performance Characteristics of well-known Symmetric Key Encryption Algorithms
Pham Post-quantum attacks against symmetric-key cryptography systems
Kiran et al. FPGA Implementation of Blowfish Cryptosystem Using VHDL