JP2002252610A - Encryption device and decryption device, and public key encryption system and public key decryption system - Google Patents

Encryption device and decryption device, and public key encryption system and public key decryption system

Info

Publication number
JP2002252610A
JP2002252610A JP2001047426A JP2001047426A JP2002252610A JP 2002252610 A JP2002252610 A JP 2002252610A JP 2001047426 A JP2001047426 A JP 2001047426A JP 2001047426 A JP2001047426 A JP 2001047426A JP 2002252610 A JP2002252610 A JP 2002252610A
Authority
JP
Japan
Prior art keywords
key
encryption
ciphertext
data
chaos
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.)
Withdrawn
Application number
JP2001047426A
Other languages
Japanese (ja)
Inventor
Kyoyo Ri
競曄 李
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.)
C4 Technology Inc
Original Assignee
C4 Technology Inc
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 C4 Technology Inc filed Critical C4 Technology Inc
Priority to JP2001047426A priority Critical patent/JP2002252610A/en
Publication of JP2002252610A publication Critical patent/JP2002252610A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a chaos encryption device that is high in cryptographic strength and capable of being installed in a cellular phone. SOLUTION: In a step 2 for a key initial conversion, a key K is divided of desired byte length, for an initial conversion key Kh to be generated. In a step 3 for digital chaos signal generation, the initial conversion key Kh is defined as an initial value of a chaos function, and a digital chaos signal C is generated. In a step 4 for chaos filtering, the chaos digital signal C in floating point type is converted into an integer, and then converted into a binary. A binary digital chaos signal D can be processed by Java for a small electronic unit. Since later cryptographic algorithm can be programmed by using Java, this device can be mounted on the cellular phone. Furthermore, a key series Kc is generated by processing the chaos signal D and the initial conversion key Kh. Since the key series is generated by using the chaos signal, the cryptographic strength is high, and a cryptographic rate is high.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、インターネット等
の通信における通信文を暗号化する暗号装置、およびそ
の暗号装置から送信された暗号文を復号する復号装置に
関し、特にカオス信号を利用することにより暗号強度を
向上し、しかも浮動小数点形式のカオス信号を整数に変
換する処理により暗号化・復号化の速度を格段に向上し
たカオス暗号・復号装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device for encrypting a communication message in communication such as the Internet, and a decryption device for decrypting a cipher text transmitted from the encryption device. The present invention relates to a chaos encryption / decryption device in which the encryption strength is improved and the speed of encryption / decryption is remarkably improved by converting a chaotic signal in a floating-point format into an integer.

【0002】[0002]

【従来の技術】インターネットは、コンピュータのみな
らず、携帯電話や一般の家電品も接続できるオープンな
環境に発展している。インターネットでは、電子商取引
などが急速な発展を遂げつつある。ここで扱われる情報
は、個人データや決済データ等であり、高い機密性が求
められている。そこで、データの漏洩を防ぎ、更にいわ
ゆる成りすましといった情報犯罪から通信の利用者を保
護するために、各種の暗号方式が実用されている。暗号
システムは暗号装置と復号装置でなるが、復号装置は暗
号装置と同じ構成で実現できるので、以下では暗号装置
を中心に記述する。
2. Description of the Related Art The Internet has developed into an open environment in which not only computers but also mobile phones and general home appliances can be connected. On the Internet, e-commerce and the like are rapidly developing. The information handled here is personal data, payment data, and the like, and high confidentiality is required. Therefore, in order to prevent data leakage and further protect communication users from information crimes such as so-called spoofing, various encryption methods have been put to practical use. Although the encryption system includes an encryption device and a decryption device, the decryption device can be realized with the same configuration as the encryption device.

【0003】暗号方式は、鍵の生成方法に関し、共通鍵
暗号方式と公開鍵暗号方式との二つに大別される。共通
鍵暗号方式は、対称暗号方式ともいわれ、暗号化と復号
化とで同じ鍵を用いる。他方、公開鍵暗号方式は、非対
称暗号方式ともいわれ、暗号化と復号化とで異なる鍵を
用いる。共通鍵暗号方式は、暗号/復号で使用する鍵が
同じであることから、暗号化してやり取りするごとに個
別の鍵を必要とするので、共通鍵暗号方式では鍵の管理
が煩雑になる。また、暗号鍵で復号化ができてしまうの
で、第三者には秘密裏に鍵を相手に送らなければなら
ず、鍵の送り方にも注意を必要とする。
[0003] Cryptographic systems are roughly classified into two types, ie, a common key cryptosystem and a public key cryptosystem, in relation to a key generation method. The common key cryptosystem is also called a symmetric cryptosystem, and uses the same key for encryption and decryption. On the other hand, the public key cryptosystem is also called an asymmetric cryptosystem, and uses different keys for encryption and decryption. Since the common key cryptosystem uses the same key for encryption / decryption, an individual key is required each time the data is encrypted and exchanged. Therefore, in the common key cryptosystem, key management becomes complicated. In addition, since the decryption can be performed with the encryption key, the key must be sent to the third party secretly to the third party, and attention must also be paid to how to send the key.

【0004】共通鍵暗号方式におけるこの欠点を改善し
た方式が、公開鍵暗号方式である。公開鍵暗号方式は、
独特なアルゴリズムで暗号化および復号化をする方式で
あり、互いに異なる暗号化鍵と復号化鍵を用いて、暗号
化および復号化を可能にしている。この方式では、共通
鍵暗号方式の欠点、すなわち鍵管理の煩雑化、および漏
洩の可能性を低くして鍵を送信することの困難性などを
気にすることなく、暗号/復号を行うことができる。公
開鍵暗号方式は、共通鍵暗号方式に公開鍵を生成する特
殊なアルゴリズムを付加したシステムといえる。この公
開鍵暗号方式は、暗号システムとしての利便性に優れ、
暗号強度が高い方式といえるが、暗号化速度は必然的に
遅くなる傾向にある。詳しくは、後記の参考文献[NK97]
に説明されている。
[0004] A public key cryptosystem is a system in which this drawback in the common key cryptosystem is improved. Public key cryptography is
This is a method of performing encryption and decryption using a unique algorithm, and enables encryption and decryption using different encryption keys and decryption keys. In this method, encryption / decryption can be performed without worrying about the drawbacks of the common key encryption method, that is, the complexity of key management and the difficulty of transmitting a key by reducing the possibility of leakage. it can. The public key cryptosystem can be said to be a system in which a special algorithm for generating a public key is added to the common key cryptosystem. This public key cryptosystem is very convenient as a cryptosystem,
It can be said that the encryption strength is high, but the encryption speed tends to be slow. For details, refer to the following reference [NK97].
Is described in

【0005】また、暗号方式は、暗号化するデータの処
理方法に関し、ブロック暗号方式とストリーム暗号方式
との二つに大別される。ブロック暗号方式は、暗号化す
るデータを任意の固定長に分け処理する方式である。他
方、ストリーム暗号方式は、辻井重男、笹原正雄編著
「暗号と情報セキュリティ」(昭晃堂、1990)に記
述されている通り、1ビット又は8ビット〔すなわち1
バイト(=1文字)〕毎に処理する方式である。ブロッ
ク暗号方式は平文を固定長に分けて処理するので、暗号
アルゴリズム等による暗号化処理における法則性が発見
され易く、暗号強度は一般的に低いとされている。
[0005] Further, the encryption method relates to a method of processing data to be encrypted, and is roughly classified into a block encryption method and a stream encryption method. The block encryption method is a method in which data to be encrypted is divided into arbitrary fixed lengths and processed. On the other hand, as described in "Encryption and Information Security", edited by Shigeo Tsujii and Masao Sasahara (Shokodo, 1990), the stream encryption method is 1 bit or 8 bit [1
Byte (= 1 character)]. In the block cipher method, plain text is divided into fixed lengths and processed. Therefore, it is easy to find a rule in encryption processing using an encryption algorithm or the like, and encryption strength is generally considered to be low.

【0006】一方、ストリーム暗号方式では、暗号化処
理における法則性は発見されにくいとされている。しか
し、ストリーム暗号方式は、暗号アルゴリズム内部で擬
似乱数により平文を暗号化するので、擬似乱数の解読の
難易度が暗号強度に直接に影響する。暗号学的に安全性
の高い擬似乱数を用いて、ストリーム暗号を構成すれ
ば、ストリーム暗号方式により安全強度の高い暗号シス
テムが構築できる。
[0006] On the other hand, in the stream cipher system, it is difficult to find a rule in the encryption process. However, in the stream encryption method, plaintext is encrypted with a pseudorandom number inside a cryptographic algorithm, so that the degree of difficulty in decrypting the pseudorandom number directly affects the encryption strength. If a stream cipher is configured using pseudo-random numbers that are cryptographically secure, a cryptosystem with high security strength can be constructed by the stream cipher.

【0007】ところが、従来の擬似乱数は何れも安全性
が欠け、ストリーム暗号方式の弱点が未解決であった。
そこで、暗号方式としては、ブロック暗号方式を採用
し、ブロック暗号方式においても暗号化処理における法
則性が発見されるのを防ぐように、ブロック暗号方式に
他の技術を付加した暗号方式が多く開発されている。詳
しくは、後記の参考文献[NK97]に説明されている。
However, all of the conventional pseudo-random numbers lack security, and the weak points of the stream encryption method have not been solved.
For this reason, many cryptosystems that employ block ciphers and add other technologies to the block ciphers have been developed to prevent the discovery of rules in the encryption process. Have been. The details are described in the following reference [NK97].

【0008】暗号方式では、暗号化および復号化のため
のデータの処理速度と暗号強度とのバランスが重要であ
る。よく知られた暗号システムとして1977年米商務省標
準局に採用されたDES(Data Encryption Standard)があ
る。このDESは、その基礎技術において既に解読された
暗号システムである。現在では,解読の困難さを増大す
るために、同様の暗号処理を3度繰り返して行う3DESに
発展している。その他の暗号方式としてカオス暗号方式
がある。カオスについては後記の参考文献[AI90]、[AI0
0] に詳述されている。カオスとは、混沌を意味するギ
リシャ語であり、簡単な規則の下での複雑さといえる。
カオス暗号方式はカオスの下記の特性を利用している。 初期値に敏感な性質(sensitive dependence on initi
al condition) がある。 一方向性を有する(one way)。 奇妙なアトラクタ(strange attractor)がある。 カオスのこのような特性を利用するカオス暗号方式は、
暗号処理速度が速く、軽量なプログラムで作動し、暗号
強度的にも高いといわれている。カオス暗号方式では、
暗号系への非線形カオス信号の実装方法(カオスコーデ
ィング法)については、ブロック暗号の暗号化関数に用
いる手法と、ストリームの鍵生成に用いる手法とが知ら
れている。
In the encryption system, it is important to balance the processing speed of data for encryption and decryption with the encryption strength. As a well-known encryption system, there is the DES (Data Encryption Standard) adopted by the US Bureau of Standards in 1977. This DES is a cryptographic system that has already been broken in its basic technology. At present, in order to increase the difficulty of decryption, 3DES has been developed in which the same encryption processing is repeated three times. As another encryption method, there is a chaos encryption method. For chaos, refer to the following references [AI90], [AI0
0]. Chaos is a Greek word meaning chaos, which can be called complexity under simple rules.
The chaos encryption method utilizes the following characteristics of chaos. Sensitive dependence on initi
al condition). One way. There is a strange attractor. A chaos encryption system that utilizes such characteristics of chaos is
It is said that the cryptographic processing speed is fast, it operates with a lightweight program, and the cryptographic strength is also high. In chaos encryption,
As a method of implementing a nonlinear chaotic signal in a cryptosystem (chaos coding method), a method used for an encryption function of a block cipher and a method used for generating a stream key are known.

【0009】[0009]

【発明が解決しようとする課題】上述の3DESでは、同様
の処理を繰り返し行うので、暗号処理速度が犠牲になっ
ている。つまり、DESの使用者は、一定の暗号強度を保
つために、暗号処理速度を落とすという選択しかできな
いのが現状である。また、従来のカオス暗号方式では、
暗号系への非線形カオス信号の実装方法のうちで、ブロ
ック暗号方式は、写像自体が簡単であり、実装を行ない
やすい。このブロック暗号方式は、区分線形性をもつカ
ットマップや、テントマップをそのまま用いる。そこ
で、カオス暗号方式であっても、ブロック暗号方式で
は、暗号文が差分解読法で解読されてしまう。他方、カ
オス暗号方式のうちで、カオス信号をストリームの鍵生
成に用いる手法では、暗号系への非線形カオス信号の実
装が難しく、実用化されたものは少ない。また、非線形
カオス信号は浮動小数点の形式で現れるのであるが、携
帯電話など小型電子機器向けの一部のJava環境下で
は、浮動小数点の処理ができない。この浮動小数点の処
理方法が従来確立されていなかったことが、携帯電話な
ど小型電子機器で使用する暗号系への非線形カオス信号
の実装を難しくしていた。
In the above-mentioned 3DES, the same processing is repeated, so that the encryption processing speed is sacrificed. In other words, at present, DES users can only choose to reduce the encryption processing speed in order to maintain a certain encryption strength. Also, in the conventional chaos encryption method,
Among the methods of implementing a nonlinear chaotic signal in a cryptographic system, the block cipher system has a simple mapping itself and is easy to implement. In this block cipher system, a cut map having a piecewise linearity and a tent map are used as they are. Therefore, even with the chaos encryption method, the cipher text is decrypted by the differential decomposition method in the block encryption method. On the other hand, among the chaotic cryptosystems, in a method of using a chaotic signal for generating a stream key, it is difficult to implement a non-linear chaotic signal in a cryptosystem, and few of them have been put to practical use. The nonlinear chaotic signal appears in a floating-point format, but cannot perform floating-point processing under some Java environments for small electronic devices such as mobile phones. The fact that a floating point processing method has not been established in the past has made it difficult to implement a nonlinear chaotic signal in a cryptosystem used in small electronic devices such as mobile phones.

【0010】これらの点も含め、従来の暗号システムに
は一般に次のような解決するべき課題があった。 (1)処理速度と暗号強度とが固定であり、利用者の必
要に応じて、処理速度と暗号強度とを選択することがで
きなかった。 (2)インターネットに携帯電話が接続できる環境下で
は、より暗号化処理が高速で、信頼できる一定の暗号強
度をもった暗号システムが求められるが、暗号処理速度
も速く、軽量なプログラムで暗号強度的にも高いといわ
れているカオス暗号技術が携帯電話など、小型の電子機
器に対応されていなかった。 (3)一般に固定長の鍵が採用されているが、固定長鍵
で暗号化された暗号文は、可変長の鍵で暗号化された暗
号文より短時間で解読されやすい。 (4)ブロック暗号方式は、固定長毎に暗号処理を行う
ので、暗号文に周期性があり、画像データなどの特定パ
ターンが出現するファイルを暗号化する場合、解読され
易いので、マルチメディアデータには不向きである。 (5)暗号システムの基本アルゴリズムが容易に更新で
きないので、同一の基本アルゴリズムを長年に渡って使
い続ける傾向となり、使用年月とともに解読されやすく
なる。
In consideration of these points, the conventional encryption system generally has the following problems to be solved. (1) The processing speed and the encryption strength are fixed, and the processing speed and the encryption strength cannot be selected as required by the user. (2) In an environment where a mobile phone can be connected to the Internet, an encryption system with a higher encryption processing speed and a certain level of reliable encryption is required. Chaos encryption technology, which is said to be expensive, has not been compatible with small electronic devices such as mobile phones. (3) In general, a fixed-length key is employed, but a ciphertext encrypted with a fixed-length key is easier to decipher than a ciphertext encrypted with a variable-length key. (4) In the block cipher system, since encryption processing is performed for each fixed length, cipher text has periodicity. When a file in which a specific pattern such as image data appears is encrypted, the file is easily decrypted. Not suitable for (5) Since the basic algorithm of the cryptographic system cannot be easily updated, the same basic algorithm tends to be used for many years, and it becomes easy to be deciphered with the age of use.

【0011】そこで、本発明の目的は、利用者の必要に
応じて、処理速度と暗号強度とを選択することができ、
カオス暗号技術を携帯電話など、小型の電子機器に対応
できるようにし、可変長の鍵を採用し、画像などの暗号
文にも周期性が現れ難く、基本アルゴリズムが容易に更
新できる暗号方式の提供にある。また、本発明の他の目
的は、その暗号方式を採用した公開鍵暗号方式を提供す
ることにある。
Therefore, an object of the present invention is to select a processing speed and an encryption strength as required by a user,
Providing an encryption method that makes chaos encryption technology compatible with small electronic devices such as mobile phones, adopts variable-length keys, makes it difficult for cipher text such as images to have periodicity, and can easily update the basic algorithm It is in. Another object of the present invention is to provide a public key cryptosystem employing the cryptosystem.

【0012】[0012]

【課題を解決するための手段】前述の課題を解決するた
めに本発明は次の手段を提供する。
In order to solve the above-mentioned problems, the present invention provides the following means.

【0013】[1]共通鍵に関連付けられたカオス関数初
期値、カオス関数パラメータ及びカオス関数に基づき浮
動小数点形式のデジタル非線形カオス信号を生成するカ
オス生成手段と、該デジタル非線形カオス信号を整数形
式に変換し整数化デジタル非線形カオス信号を生成する
整数化手段と、該整数化デジタル非線形カオス信号を2
値符号に変換し2値符号化デジタル非線形カオス信号を
生成する2値符号化手段と、前記共通鍵から導かれた第
1の鍵系列と前記2値符号化デジタルカオス信号との排
他的論理和演算により第2の鍵系列を生成する排他的論
理和演算手段と、入力された平文と前記第2の鍵系列と
の演算処理により暗号文を生成する暗号化演算手段とか
らなることを特徴とする暗号装置。
[1] Chaos generating means for generating a floating-point digital nonlinear chaotic signal based on a chaotic function initial value, a chaotic function parameter and a chaotic function associated with a common key, and converting the digital nonlinear chaotic signal into an integer format Integer converting means for converting and generating an integer digital non-linear chaotic signal;
Binary encoding means for converting into a value code to generate a binary encoded digital nonlinear chaotic signal, and exclusive OR of a first key sequence derived from the common key and the binary encoded digital chaotic signal Exclusive OR operation means for generating a second key sequence by operation, and encryption operation means for generating a ciphertext by operation processing of the input plaintext and the second key sequence. Encryption device.

【0014】[2]前記暗号化演算手段は第1次暗号化部
と第2次暗号化部とでなり、該第1次暗号化部は平文と
前記第2の鍵系列との排他的論理和演算により第1次暗
号文を生成し、該第2次暗号化部は前記第1次暗号文と
ベクトルデータとの排他的論理和演算により第2次暗号
文を生成することを特徴とする前記[1]に記載の暗号装
置。
[2] The encryption operation means comprises a primary encryption unit and a secondary encryption unit, and the primary encryption unit performs an exclusive logical operation between the plaintext and the second key sequence. A primary ciphertext is generated by a sum operation, and the secondary encryption unit generates a secondary ciphertext by an exclusive OR operation of the primary ciphertext and vector data. The encryption device according to [1].

【0015】[3]内部ベクトル生成部を備え、該内部ベ
クトル生成部は前記共通鍵、前記デジタル非線形カオス
信号、前記整数化デジタル非線形カオス信号、前記2値
符号化デジタル非線形カオス信号、前記平文、前記第1
次暗号文または第2次暗号文その他のデータであって、
前記暗号文を生成する過程で入力された入力データ又は
内部で生成される内部データの内の少なくとも1つのデ
ータを内部固有データとして選択し、該内部固有データ
の部分又は全部のデータを初期値とし、該初期値を基に
前記ベクトルデータを生成することを特徴とする前記
[2]に記載の暗号装置。
[3] An internal vector generator is provided, and the internal vector generator includes the common key, the digital nonlinear chaotic signal, the integer digitized digital nonlinear chaotic signal, the binary coded digital nonlinear chaotic signal, the plaintext, The first
Secondary ciphertext or secondary ciphertext or other data,
Selecting at least one of input data input in the process of generating the ciphertext or internal data generated internally as internal unique data, and setting a part or all of the internal unique data as an initial value; Generating the vector data based on the initial value.
The encryption device according to [2].

【0016】[4]前記内部ベクトル生成部は、前記内部
固有データを処理することにより前記初期値を生成し、
該初期値のデータ長を該内部固有データの固定データ長
とは異なる長さとし、該初期値を基に前記第1次暗号文
と同じデータ長の前記ベクトルデータを生成することを
特徴とする[3]に記載の暗号装置。
[4] The internal vector generation unit generates the initial value by processing the internal unique data,
The data length of the initial value is different from the fixed data length of the internal unique data, and the vector data having the same data length as the primary cipher text is generated based on the initial value [ The encryption device according to [3].

【0017】[5]前記整数化手段は、前記カオス生成手
段から出力される浮動小数点形式のデジタル非線形カオ
ス信号を文字列に変換し、該文字列を整数形式のデータ
に変換することにより前記整数化デジタル非線形カオス
信号を生成することを特徴とする前記[1]乃至[4]に記
載の暗号装置。
[5] The integer conversion means converts the floating-point digital non-linear chaotic signal output from the chaos generation means into a character string, and converts the character string into integer-format data, thereby converting the integer into data. The cryptographic apparatus according to any one of [1] to [4], wherein the cryptographic apparatus generates a generalized digital nonlinear chaotic signal.

【0018】[6] 前記[1]乃至[5]に記載の暗号装置
で生成された暗号文を復号する復号装置において、構成
が該[1]乃至[5]に記載の暗号装置と同じであり,前記
平文に代えて前記暗号文を入力し、該[1]乃至[5]に記
載の暗号装置で用いた前記共通鍵と同じ共通鍵でもって
該入力された暗号文を復号することを特徴とする復号装
置。
[6] A decryption device for decrypting a ciphertext generated by the encryption device according to any one of [1] to [5] has the same configuration as the encryption device according to [1] to [5]. Yes, inputting the ciphertext in place of the plaintext, and decrypting the input ciphertext with the same common key as the common key used in the encryption device according to [1] to [5]. A decoding device characterized by the following.

【0019】[7]送信者の秘密鍵および受信者の公開鍵
から共通鍵を生成する共通鍵生成手段と、セッション鍵
を生成するセッション鍵生成手段と、第1の暗号化手段
と、第2の暗号化手段とを備え、該第1の暗号化手段は
前記セッション鍵で平文を暗号化することにより暗号文
を生成し、前記第2の暗号化手段は前記共通鍵で前記セ
ッション鍵を暗号化することにより暗号化鍵を生成する
公開鍵暗号方式において、前記第1及び第2の暗号化手
段が前記[1]乃至[5]に記載の暗号装置でなることを特
徴とする公開鍵暗号方式。
[7] A common key generation means for generating a common key from a sender's private key and a recipient's public key, a session key generation means for generating a session key, a first encryption means, and a second encryption means Wherein the first encrypting means generates a cipher text by encrypting a plaintext with the session key, and the second encrypting means encrypts the session key with the common key. In a public key cryptosystem for generating an encryption key by encrypting, the first and second encryption means are the encryption devices according to the above [1] to [5]. method.

【0020】[8]前記[7]に記載の公開鍵暗号方式で生
成された暗号文を復号する公開鍵復号方式において、構
成が前記[7]に記載の公開鍵暗号方式と同じであり、前
記共通鍵生成手段は前記送信者の公開鍵および前記受信
者の秘密鍵から復号用共通鍵を生成し、前記第2の暗号
化手段は、前記セッション鍵に代えて前記暗号化鍵を入
力し、前記復号用共通鍵で前記セッション鍵を復号し、
前記第1の暗号化手段は、前記平文に代えて前記暗号文
を入力し、前記第2の暗号化手段で復号された前記セッ
ション鍵で前記平文を復号することを特徴とする公開鍵
復号方式。
[8] A public key decryption method for decrypting a ciphertext generated by the public key encryption method according to [7] has the same configuration as the public key encryption method according to [7]. The common key generation means generates a decryption common key from the sender's public key and the receiver's private key, and the second encryption means inputs the encryption key in place of the session key. Decrypting the session key with the decryption common key,
A public key decryption method, wherein the first encrypting means inputs the ciphertext in place of the plaintext and decrypts the plaintext with the session key decrypted by the second encrypting means. .

【0021】[9]前記セッション鍵生成手段は、内部で
生成される乱数を前記セッション鍵とすることを特徴と
する前記[7]に記載の公開鍵暗号方式。
[9] The public key cryptosystem according to [7], wherein the session key generation means uses a random number generated internally as the session key.

【0022】[10]前記セッション鍵生成手段は、内部
で生成される乱数を前記セッション鍵とすることを特徴
とする前記[8]に記載の公開鍵復号方式。
[10] The public key decryption method according to [8], wherein the session key generation means uses a random number generated internally as the session key.

【0023】[0023]

【発明の実施の形態】次に本発明の実施の形態を挙げ、
本発明を一層詳しく説明する。まず、図1および図2を
参照し、本発明の一実施の形態である暗号装置を説明す
る。図1はその暗号装置における暗号アルゴリズムによ
る暗号化処理の手順を示す図であり、符号1〜11は処
理のステップを表す。同図において、ステップ1は鍵
(K)入力、ステップ2は鍵初期変換、ステップ3はデ
ジタルカオス信号発生、ステップ4はカオスフィルタリ
ング、ステップ5は鍵系列(Kc)生成、ステップ6は平
文(P)入力、ステップ7は第1次暗号化、ステップ8
は内部ベクトル(V)生成、ステップ9は第2次暗号
化、ステップ10は最終変換、ステップ11は暗号文
(KcPVE)出力である。ステップ1では、鍵Kを入力
し、ステップ2ではステップ1で入力した鍵Kについて
鍵初期変換を行い、初期変換鍵Khを生成する。以下、図
1の暗号アルゴリズムでは、同図に示す通りに処理が進
行する。以下に、図1及び図2を参照して、この実施の
形態の暗号装置に適用される暗号アルゴリズムを詳しく
説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described.
The present invention will be described in more detail. First, an encryption device according to an embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a diagram showing a procedure of an encryption process by an encryption algorithm in the encryption device, and reference numerals 1 to 11 represent processing steps. In the figure, step 1 is key (K) input, step 2 is key initial conversion, step 3 is digital chaos signal generation, step 4 is chaos filtering, step 5 is key sequence (Kc) generation, and step 6 is plain text (P ) Input, Step 7 is primary encryption, Step 8
Is an internal vector (V) generation, step 9 is secondary encryption, step 10 is final conversion, and step 11 is ciphertext (KcPVE) output. In step 1, the key K is input, and in step 2, the key K is initially converted with respect to the key K input in step 1 to generate an initial conversion key Kh. Hereinafter, in the encryption algorithm of FIG. 1, processing proceeds as shown in FIG. Hereinafter, an encryption algorithm applied to the encryption device according to the present embodiment will be described in detail with reference to FIGS.

【0024】図2はその暗号装置における暗号アルゴリ
ズムの構成を示す図である。本図において、102は鍵
初期変換部、103はデジタルカオス信号(C)生成
部、104はカオスフィルタ、105は排他的論理和演
算部、107は第1次暗号化部、108は内部ベクトル
(V)生成部、109は第2次暗号化部、110は最終
変換部、1041は整数値変換部、1042は2値符号
化処理部である。図2の各部は、図1における対応する
名称のステップの処理を行う。
FIG. 2 is a diagram showing a configuration of an encryption algorithm in the encryption device. In this figure, 102 is a key initial conversion unit, 103 is a digital chaos signal (C) generation unit, 104 is a chaos filter, 105 is an exclusive OR operation unit, 107 is a primary encryption unit, and 108 is an internal vector ( V) a generation unit, 109 is a secondary encryption unit, 110 is a final conversion unit, 1041 is an integer value conversion unit, and 1042 is a binary coding processing unit. Each unit in FIG. 2 performs the process of the step having the corresponding name in FIG.

【0025】本発明の暗号装置は、カオス暗号方式を採
用したものであり、カオス信号をストリームの鍵生成に
用いている。本発明では、所定のカオス関数を暗号アル
ゴリズムに取り入れ、カオス関数のデジタル処理を行
い、カオス信号を生成する。そこで、本発明で扱うカオ
ス信号はデジタルカオス信号である。また、カオス信号
は浮動小数点の形式で生成されるので、本発明における
カオス信号は浮動小数点形式のデジタル非線形カオス信
号である。
The encryption device of the present invention employs a chaos encryption method, and uses a chaos signal for generating a stream key. In the present invention, a predetermined chaos function is incorporated into a cryptographic algorithm, and the chaos function is digitally processed to generate a chaos signal. Therefore, the chaotic signal handled in the present invention is a digital chaotic signal. Further, since the chaotic signal is generated in a floating-point format, the chaotic signal in the present invention is a digital non-linear chaotic signal in a floating-point format.

【0026】以下の説明では、入力データとなる平文を
P(i)、信号文をS(i)、鍵をK(j)、デジタルカオス信
号をC(i)とする。P(i)及びC(i)は、バイト単位で処
理されるデータであり、その長さはnバイトとする。K
(i)は、アスキーコードからなる文字列(例えば、a〜z,
0〜9)、その長さはmとする。即ち、0<i≦n、0<j≦m
である。この実施の形態では、鍵Kはキーボード等から
使用者により鍵初期変換部102へ入力される。以下に述
べる手順により、デジタルカオス信号Cは鍵Kに応じて
生成される。
In the following description, P (i) is a plaintext serving as input data, S (i) is a signal sentence, K (j) is a key, and C (i) is a digital chaos signal. P (i) and C (i) are data processed in units of bytes, and have a length of n bytes. K
(i) is a character string composed of ASCII codes (for example, a to z,
0 to 9), and its length is m. That is, 0 <i ≦ n, 0 <j ≦ m
It is. In this embodiment, the key K is input to the key initial conversion unit 102 by a user from a keyboard or the like. According to the procedure described below, the digital chaos signal C is generated according to the key K.

【0027】まず、鍵初期変換部102は、使用者から入
力された任意長の文字列である鍵Kを任意のbyte長に分
割し、初期変換鍵Kh(前述の第1の鍵系列に相当)を
生成する。初期変換鍵Khは2値符号である。デジタル
カオス信号生成部103は、この鍵Khを用い、カオス関数
の初期値initを求める。この初期値initは、さまざまな
方法で求められる。例えば、使用者が、鍵Kを入力し、
この鍵Kに対応して鍵初期変換部102から初期変換鍵K
hとして1234567890という数値が出力された
と仮定する。初期値initの条件は、任意の長さmを満た
すことにある。そこで、mが1であれば、初期値initは
鍵Kにおける先頭の1だけでも構わないし、6でも0で
も差し支えない。当然、任意長mが2桁の場合は、12
や89でも構わず、任意長mを長く指定した場合は、鍵
Kを構成するすべての文字でなる値を初期値initとする
ことも差し支えない。
First, the key initial conversion unit 102 divides the key K, which is a character string of an arbitrary length, input by the user into an arbitrary byte length, and converts the key into an initial conversion key Kh (corresponding to the above-described first key sequence. ). The initial conversion key Kh is a binary code. The digital chaos signal generation unit 103 obtains an initial value init of the chaos function using the key Kh. This initial value init can be obtained by various methods. For example, the user enters the key K,
In response to this key K, the initial conversion key K
It is assumed that a numerical value of 1234567890 has been output as h. The condition of the initial value init is to satisfy an arbitrary length m. Therefore, if m is 1, the initial value init may be only the first 1 in the key K, or may be 6 or 0. Of course, if the arbitrary length m is two digits, 12
If the arbitrary length m is specified to be long, the value consisting of all the characters constituting the key K may be set as the initial value init.

【0028】デジタルカオス信号生成部103は、この処
理によって求められたカオス関数の初期値initと、予め
設定されたカオス関数のパラメータα(複数も可能)
と、カオス関数とを使用し、非線形のデジタルカオス信
号Cを発生する。このように、デジタルカオス信号C
は、鍵Kから導かれるカオス関数初期値と、カオス関数
パラメータと、カオス関数とを基として生成される。
The digital chaos signal generation unit 103 includes an initial value init of the chaos function obtained by this processing and a parameter α of the chaos function set in advance (a plurality of parameters are also possible).
And a chaotic function are used to generate a non-linear digital chaotic signal C. Thus, the digital chaos signal C
Is generated based on a chaos function initial value derived from the key K, a chaos function parameter, and a chaos function.

【0029】デジタルカオス信号生成部103に用いるカ
オス関数については、さまざまなカオス関数を代入で
き、本発明に一層適した性質をもつカオス関数が発見さ
れた場合は、本実施の形態にその関数を適用するだけ
で、暗号強度及び処理速度の向上が期待できる。
Various chaos functions can be substituted for the chaos function used in the digital chaos signal generator 103. If a chaos function having properties more suitable for the present invention is found, the function is used in this embodiment. Just by applying, it is expected that the encryption strength and the processing speed will be improved.

【0030】例えば、代表的なカオス関数である、ロジ
スティック写像は次のように定義できる。 X(i+1)=αX (i)(1- X (i)) このαは、運動パラメータであり、カオス関数のパラメ
ータである。本実施の形態では、このαを使用してカオ
スに特有なアトラクタ(strange attractor)を制御す
る。このロジスティック写像を本実施の形態で使用する
場合は、X(1)が初期値initとなる。図4は、iを横軸に
とり、X (i)を縦軸にとってロジスティック写像の不規
則性を例示する図である。また、図5は、X(i)を横軸に
とり、X(i+1)を横軸にとって表したロジスティック写像
の特性図である。図5に例示されているように、ロジス
ティック写像では横軸のX(i)に対応する縦軸のX(i+1)の
値は極めて多数あり、図5はX(i)からX(i+1)を予測する
ことの困難性を示唆している。
For example, a logistic map, which is a typical chaos function, can be defined as follows. X (i + 1) = αX (i) (1-X (i)) where α is a motion parameter and a parameter of a chaotic function. In the present embodiment, an attractor (strange attractor) unique to chaos is controlled using this α. When this logistic mapping is used in the present embodiment, X (1) is an initial value init. FIG. 4 is a diagram illustrating the irregularity of the logistic mapping with i being the horizontal axis and X (i) being the vertical axis. FIG. 5 is a characteristic diagram of the logistic mapping in which X (i) is plotted on the horizontal axis and X (i + 1) is plotted on the horizontal axis. As illustrated in FIG. 5, in the logistic mapping, there are extremely many values of X (i + 1) on the vertical axis corresponding to X (i) on the horizontal axis, and FIG. +1) is difficult to predict.

【0031】デジタルカオス信号は、浮動小数点の形式
で表れる。そこで、本実施の形態における暗号アルゴリ
ズムでは、浮動小数点形式のデジタルカオス信号を処理
する必要がある。排他的論理和演算部105は浮動小数点
を扱えないので、カオスフィルタ104を設け、ここで浮
動小数点の形式のデジタルカオス信号Cを2進符号に変
換する。
The digital chaotic signal is represented in a floating point format. Therefore, in the encryption algorithm according to the present embodiment, it is necessary to process a digital chaotic signal in a floating-point format. Since the exclusive OR operation unit 105 cannot handle the floating point, the exclusive OR operation unit 105 is provided with a chaos filter 104, which converts the digital chaos signal C in the floating point format into a binary code.

【0032】通常、インターネット接続環境下で使用さ
れるコンピュータなどの浮動小数点処理を行える装置の
場合は、浮動小数点の演算処理部を暗号アルゴリズムに
含ませることができる。しかし、携帯電話など、小型の
電子機器向けの一部のJavaでは、浮動小数点演算が行な
えないので、他の演算により浮動小数点から整数値へ変
換することが必要となる。浮動小数点データを整数値へ
変換する演算がカオス信号を暗号系として実装(カオス
コーディング)する為の重要な点である。この実施の形
態では、カオスフィルタ104が浮動小数点データを整数
値へ変換する。
Normally, in the case of an apparatus capable of performing floating-point processing, such as a computer used in an Internet connection environment, a floating-point arithmetic processing unit can be included in the encryption algorithm. However, some Java for mobile phones and other small electronic devices cannot perform floating-point operations, so it is necessary to convert floating-point numbers to integer values by other operations. The operation of converting floating-point data to an integer value is an important point for implementing a chaotic signal as a cryptosystem (chaotic coding). In this embodiment, the chaos filter 104 converts floating-point data into integer values.

【0033】本実施の形態ではカオスフィルタ104にお
ける処理は、大きくカオスコーディング処理(浮動小数
点演算部分)と2値符号化処理に分かれる。まず、カオ
スコーディング処理は整数値変換部1041で行なわれる。
デジタルカオス信号Cは、IEEE単精度(C言語では
float)又はIEEE倍精度(C言語ではdouble)で出
力される。いま、この実施の形態における暗号アルゴリ
ズムがC言語でプログラムされるとすると、このfloat
型又はdouble型を、一度char型などの文字に変換し、0
及び0.0以外の数値を取り出す。取り出した数値部分
をlong型などの、整数値に変換することで、浮動小数点
から整数値への変換を行い、実際のカオスコーディング
処理を行っている。勿論、この処理自体は、プログラム
的には簡単、軽量で済み、処理実行速度も高速である。
整数値変換部1041は、浮動小数点形式のデジタルカオス
信号Cを整数化し、整数化デジタルカオス信号CIを出
力する。
In the present embodiment, the processing in the chaos filter 104 is roughly divided into a chaos coding processing (floating point calculation part) and a binary coding processing. First, the chaos coding process is performed by the integer value conversion unit 1041.
Digital chaos signal C is IEEE single precision (in C language,
float) or IEEE double precision (double in C language). Now, assuming that the encryption algorithm in this embodiment is programmed in C language, this float
Converts the type or double type to a character such as char once, and returns 0
And values other than 0.0 are extracted. By converting the extracted numeric part into an integer value such as a long type, the floating point is converted to an integer value, and the actual chaos coding process is performed. Of course, this processing itself is simple and lightweight in terms of a program, and the processing execution speed is high.
The integer value conversion unit 1041 converts the digital chaotic signal C in the floating-point format into an integer, and outputs an integer-converted digital chaotic signal C I.

【0034】例えば、デジタルカオス信号Cの値が、
0.012345…という浮動小数点(float型)であ
った場合、まず0.012345…という浮動小数点
(float型)から0.012345なる少数を切り出
し、0.012345なる少数を0.012345とい
う文字(char型)に変換する。次いで0及び0.0を削
除し、12345という文字(char型)を取出し、再度
数値(long型)の12345に変換する。この1234
5が整数値である。図6に、図1及び図2に示す実施の
形態で行われる処理における入出力データの理解を容易
にするために、単純化したデータの例を示す。
For example, when the value of the digital chaos signal C is
In the case of a floating point (float type) of 0.012345..., First, a decimal number of 0.012345 is cut out from the floating point (float type) of 0.012345. Type). Next, 0 and 0.0 are deleted, the character 12345 (char type) is extracted, and converted to a numerical value (long type) 12345 again. This 1234
5 is an integer value. FIG. 6 shows an example of simplified data in order to facilitate understanding of input / output data in the processing performed in the embodiment shown in FIGS.

【0035】次に、2値符号化処理は2値符号化処理部
1042で行われる。この2値符号化とは、特定信号や文字
などにおいて最小単位であるビット位置の値を符号とし
て2値の符号(或いは2進数とも呼べる)で表現させる
事である。つまり、初期変換鍵Khとデジタルカオス信
号Dとで排他的論理和演算部105において演算処理をさ
せるべく、各データを最少単位に分ける処理である。整
数化デジタルカオス信号CIが12345であるとき、
2値符号化処理部1042から出力される2値符号化デジタ
ルカオス信号Dは00110001,0011001
0,00110011,0110100,001101
01となる。
Next, the binary encoding processing is performed by a binary encoding processing unit.
Performed at 1042. The binary coding is to express a value of a bit position which is a minimum unit in a specific signal or a character as a code by a binary code (or a binary number). In other words, this processing is to divide each data into the minimum unit so that the exclusive OR operation unit 105 performs the arithmetic processing using the initial conversion key Kh and the digital chaos signal D. When the integer digital chaos signal C I is 12345,
The binary coded digital chaotic signal D output from the binary coding processing unit 1042 is 00110001, 001001
0,00110011,0110100,001101
01.

【0036】排他的論理和演算部105は、2値符号化処
理部1042から出力される2値符号化デジタルカオス信号
と、2値符号の鍵Khとの排他的論理和演算をビット単
位で行い、鍵系列Kc(前述の第2の鍵系列)を生成す
る。
The exclusive OR operation unit 105 performs an exclusive OR operation on the bit by bit basis of the binary coded digital chaos signal output from the binary coding processing unit 1042 and the key Kh of the binary code. , A key sequence Kc (the above-described second key sequence).

【0037】次に簡単なデータを例示し、排他的論理和
演算部105並びに第1次暗号化部107の作用を説明する。
いま、鍵Kが入力され、このときの初期返還鍵Khが
“a”であり、平文Pを“HELLO”と入力した場合
につき説明を行なう。
Next, the operation of the exclusive OR operation unit 105 and the primary encryption unit 107 will be described using simple data as an example.
Now, a case where the key K is input, the initial return key Kh at this time is “a”, and the plaintext P is input as “HELLO” will be described.

【0038】デジタルカオス信号生成部103で生成され
たデジタルカオス信号Cは、カオスフィルタ104に供給
される。カオスフィルタ104は、デジタルカオス信号C
を受け、平文Pと等しい長さになるまで2値符号化デジ
タルカオス信号Dの生成を繰返す。いま、ここでは平文
Pが5文字の“HELLO”としたので、2値符号化デ
ジタルカオス信号Dも5文字となる。この2値符号化デ
ジタルカオス信号Dを構成する5文字を仮にそれぞれ
1、2、3、4、5とする。つまり、カオスフィルタ10
4は、2値符号化デジタルカオス信号Dとして、D
1、D=2、D=3、D=4、D=5なる5文
字を出力したものとする。
The digital chaos signal C generated by the digital chaos signal generator 103 is supplied to a chaos filter 104. The chaos filter 104 is a digital chaos signal C
, The generation of the binary coded digital chaos signal D is repeated until the length becomes equal to the plaintext P. Now, since the plaintext P is “HELLO” having five characters, the binary coded digital chaos signal D also has five characters. The five characters constituting the binary coded digital chaos signal D are tentatively designated as 1, 2, 3, 4, and 5, respectively. That is, the chaos filter 10
4 is a binary coded digital chaotic signal D, D 1 =
It is assumed that five characters of 1, D 2 = 2, D 3 = 3, D 4 = 4, and D 5 = 5 are output.

【0039】排他的論理和演算部105は、初期返還鍵Kh
である“a”の2値符号とデジタルカオス信号Dの1文
字づつの2値符号を排他的論理和によって鍵系列Kcを
生成する。排他的論理和演算部105では、より具体的に
は次のように処理がなされる。鍵“a”の2値符号(01
100001)とデジタルカオス信号から得られたDの2値
符号(00110001)との排他的論理和処理により、鍵系列
Kc(01010000)を生成。鍵“a”の2値符号(0110
0001)とデジタルカオス信号から得られたDの2値符
号(00110010)との排他的論理和処理により、鍵系列K
(01010011)を生成。鍵“a”の2値符号(011000
01)とデジタルカオス信号から得られたDの2値符号
(00110011)との排他的論理和処理により、鍵系列Kc
(01010010)を生成。鍵“a”の2値符号(0110000
1)とデジタルカオス信号から得られたDの2値符号
(00110100)との排他的論理和処理により、鍵系列Kc
(01010101)を生成。鍵“a”の2値符号(0110000
1)とデジタルカオス信号から得られたDの2値符号
(00110101)との排他的論理和処理により、鍵系列Kc
(01010100)を生成。
The exclusive OR operation unit 105 calculates the initial return key Kh
The key sequence Kc is generated by exclusive ORing the binary code of “a” and the binary code of each character of the digital chaos signal D. More specifically, the exclusive OR operation unit 105 performs the following processing. The binary code of the key “a” (01
The key sequence Kc 1 (01010000) is generated by exclusive OR processing of the binary code (00110001) of D 1 obtained from the digital chaos signal with the digital chaotic signal. The binary code of the key “a” (0110
0001) and by exclusive-ORing the binary code of the D 2 obtained from the digital chaos signal (00110010), the key sequence K
Generate c 2 (01010011). Binary code of key "a" (011000
01) and the exclusive OR processing with the binary code of the D 3 obtained from the digital chaos signal (00110011), the key sequence Kc
3 Generate (01010010). The binary code of the key “a” (0110000
The exclusive OR process between 1) and the binary code of the D 4 obtained from the digital chaos signal (00,110,100), the key sequence Kc
4 Generate (01010101). The binary code of the key “a” (0110000
The exclusive OR process between 1) a binary code D 5 obtained from the digital chaos signal (00110101), the key sequence Kc
5 Generate (01010100).

【0040】第1次暗号化部107および第2次暗号化部1
08の両者で成る構成は、前述の暗号化演算手段に相当す
る。第1次暗号化部107による第1次暗号化処理は、使
用者が入力した平文Pを2値符号化処理し、上記排他的
論理和演算部105から出力された鍵系列Kc(2値符
号)と平文Pとにつきビット単位の排他的論理和演算を
する。この第1次暗号化処理により、得られたデータを
第1次暗号文KcPとして出力する。
Primary encryption section 107 and secondary encryption section 1
The configuration composed of both the components 08 corresponds to the above-described encryption operation means. In the primary encryption processing by the primary encryption unit 107, the plaintext P input by the user is subjected to binary encoding, and the key sequence Kc (binary encoding) output from the exclusive OR operation unit 105 is used. ) And the plaintext P are subjected to exclusive OR operation in bit units. The data obtained by the primary encryption processing is output as a primary encrypted text KcP.

【0041】先程のデータ例では、生成された鍵系列K
cと平文Pとの排他的論理和処理は次のように行われ
る。平文Pの“HELLO”を1文字づつに分解し、H
の2値符号(01001000)と鍵系列から得られたKc
2値符号(01010000)との排他的論理和処理により、第
1次暗号文KcP(00011000)を生成。Eの2値符号
(01000101)と鍵系列から得られたKcの2値符号
(01010011)との排他的論理和処理により、第1次暗号
文KcP(00010110)を生成。Lの2値符号(010011
00)と鍵系列から得られたKcの2値符号(0101001
0)との排他的論理和処理により、第1次暗号文KcP
(00011110)を生成。Lの2値符号(01001100)と鍵系
列から得られたKcの2値符号(01010101)との排他
的論理和処理により、第1次暗号文KcP(0001100
1)を生成。Oの2値符号(01001111)と鍵系列から得
られたKcの2値符号(01010100)との排他的論理和
処理によりし、第1次暗号文KcP(00011011)を生
成。
In the above data example, the generated key sequence K
The exclusive OR processing of c and the plaintext P is performed as follows. Decompose "HELLO" in plaintext P into individual characters, and
The binary code (01001000) and exclusive OR processing with the binary code of Kc 1 obtained from the key sequence (01010000) of the
Generate the primary ciphertext KcP 1 (00011000). A first cipher text KcP 2 (00010110) is generated by an exclusive OR operation of the binary code of E (01000101) and the binary code of Kc 2 (01010011) obtained from the key sequence. L binary code (010011
00) and the binary code of Kc 3 obtained from the key sequence (0101001
0) and the first ciphertext KcP 3
(00011110) is generated. By performing an exclusive OR operation on the binary code of L (01001100) and the binary code of Kc 4 (01010101) obtained from the key sequence, the first ciphertext KcP 4 (0001100
1) Generate. The first ciphertext KcP 5 (00011011) is generated by performing an exclusive OR operation on the binary code of O (01001111) and the binary code of Kc 5 (01010100) obtained from the key sequence.

【0042】通常のストリーム対称暗号方式では、この
第1次暗号化処理段階で暗号化処理すべてを完成とし
て、得られたデータを暗号文KcPとして出力するが、
本実施の形態では、さらに内部ベクトル生成部108によ
り独自に生成し、第2次暗号化部109において、この固
有のベクトルデータVと暗号文KcPとの演算処理を
し、暗号文KcPVを生成する。
In the ordinary stream symmetric encryption method, the entire encryption processing is completed in the first encryption processing step, and the obtained data is output as ciphertext KcP.
In the present embodiment, an internal vector generation unit 108 generates the encrypted text KcPV independently, and a secondary encryption unit 109 performs an arithmetic operation on the unique vector data V and the encrypted text KcP to generate an encrypted text KcPV. .

【0043】この内部ベクトルデータVは、一定の周期
性をもち、動的に変則する固有のベクトルデータであ
る。内部ベクトルデータVは初期値を基に生成する。こ
の初期値は、初期に使用者によって入力された平文P又
は鍵K、或いは本実施の形態の暗号アルゴリズム内部で
生成されたデジタルカオス信号C、内部演算処理によっ
て求められた鍵系列Kc、或いは暗号化演算手段の第1
暗号化処理で求められた第1次暗号文KcPなど、それ
ぞれ毎処理ごとに固有のデータから選択されたものを内
部固有データとし、その内部固有データの全部又は一部
を選んで構成される。つまり、初期値は、データ長が固
定長である内部固有データを基にデータ長を変換して生
成される。、その各データの定められた固定長より変則
したものである。
The internal vector data V is unique vector data having a constant periodicity and dynamically changing. The internal vector data V is generated based on the initial value. This initial value is the plaintext P or key K initially input by the user, the digital chaos signal C generated inside the encryption algorithm of the present embodiment, the key sequence Kc obtained by internal arithmetic processing, or the encryption. First of the conversion operation means
Data selected from data unique to each process, such as the primary ciphertext KcP determined by the encryption process, is used as internal unique data, and all or part of the internal unique data is selected. That is, the initial value is generated by converting the data length based on the internal unique data having a fixed data length. , Which are anomalous from the fixed length of each data.

【0044】勿論、初期値は、複数の内部固有データを
組合せて構成しても差し支えない。この初期値は、暗号
化処理用レジスタに保存する。この保存においては、初
期値生成の基となった内部固有データの種類も格納す
る。
Of course, the initial value may be configured by combining a plurality of internal unique data. This initial value is stored in the encryption processing register. In this storage, the type of the internal unique data on which the initial value is generated is also stored.

【0045】第2次暗号化部109では、内部ベクトル
データVを2値符号化処理し、第1次暗号化部107から
出力された第1次暗号文KcPと排他的論理和演算を行
う。この第2次暗号化処理から得られたデータを第2次暗
号文KcPVとして生成する。この第2次暗号化処理
は、軽度なプログラムで実行できるが、動的に変則する
内部ベクトルデータVにより、暗号化処理速度を低下さ
せることなく、暗号強度を高めている。
The secondary encryption unit 109 performs a binary encoding process on the internal vector data V, and performs an exclusive OR operation with the primary encrypted text KcP output from the primary encryption unit 107. The data obtained from the secondary encryption processing is generated as a secondary encrypted text KcPV. This secondary encryption processing can be executed by a light program, but the encryption strength is increased without deteriorating the encryption processing speed by the dynamically changing internal vector data V.

【0046】先程の例に沿って、具体的データを挙げ、
第2次暗号化処理を例示する。この説明では、内部ベク
トルデータVの初期値は、内部固有データとしてデジタ
ルカオス信号Cを選択し、デジタルカオス信号Cの始め
の2桁“12”を初期値とし、この初期値を自動的に二
乗していくベクトルとする。まず、暗号化処理用レジス
タに、選択された初期値“12”を格納し、平文Pの文
字数と等しくなるまで、自動的に二乗換算する処理を行
なう。いま、平文Pが5文字であるから、初期値として
まず12が選択され、次いで12=144が算出さ
れ、“12144”という5文字が内部ベクトルデータ
として出力されるものとする。つまり、V =1、V
=2、V=1、V=4、V=4と5文字を出力し
た事とする。
According to the above example, specific data will be given.
An example of the second encryption processing will be described. In this description, the internal vector
The initial value of the torque data V is
Select Lucas signal C and start digital chaos signal C
2 digits of “12” as the initial value, and this initial value is automatically
It is a vector to be raised. First, the registry for encryption
The selected initial value “12” is stored in the
Until the number of characters equals
Now. Now, since the plaintext P has 5 characters,
First, 12 is selected, then 122= 144 is calculated
5 characters "12144" are the internal vector data
Is output. That is, V 1= 1, V2
= 2, V3= 1, V4= 4, V5= Output 4 and 5 characters
I assume it.

【0047】第2次暗号化の処理は、生成された第1次
暗号文KcPと内部ベクトルデータVを排他的論理和処
理する。第1次暗号文KcPの2値符号(00011000)
とベクトルVの2値符号(00110001)との排他的論理
和処理により、第2次暗号文KcPV(00101001)を
生成。第1次暗号文KcPの2値符号(00010110)と
ベクトルVの2値符号(00110010)との排他的論理和
処理により、第2次暗号文KcPV(00100100)を生
成。第1次暗号文KcPの2値符号(00011110)とベ
クトルVの2値符号(00110001)との排他的論理和処
理により、第2次暗号文KcPV(00101111)を生
成。第1次暗号文KcPの2値符号(00011001)とベ
クトルVの2値符号(00110100)との排他的論理和処
理により、第2次暗号文KcPV(00101101)を生
成。第1次暗号文KcPの2値符号(00011011)とベ
クトルVの2値符号(00110100)との排他的論理和で
により、第2次暗号文KcPV(00101111)を生成。
In the secondary encryption processing, the generated primary encrypted text KcP and the internal vector data V are subjected to exclusive OR processing. First Tsugikura ciphertext KCP 1 binary code (00011000)
And the exclusive OR processing with the binary code of the vector V 1 (00110001), generating a second Tsugikura ciphertext KcPV 1 (00101001). The exclusive OR process between first Tsugikura ciphertext KCP 2 binary code (00010110) and binary code of the vector V 2 (00110010), generating a second Tsugikura ciphertext KcPV 2 (00100100). The exclusive OR processing with the binary code (00110001) of the first Tsugikura ciphertext binary code of KCP 3 (00011110) and the vector V 3, generates a second Tsugikura ciphertext KcPV 3 (00101111). The exclusive OR processing with the binary code of the first Tsugikura ciphertext KCP binary code of 4 (00011001) and the vector V 4 (00110100), second Tsugikura ciphertext KcPV 4 generates a (00101101). The exclusive OR of the binary code (00110100) of the binary code (00011011) and the vector V 5 of the first Tsugikura ciphertext KCP 5, generating a second Tsugikura ciphertext KcPV 5 (00101111).

【0048】最終変換部110では、この第2次暗号文Kc
PVを、更に攪拌し、最終的な暗号文KcPVEを生成
し暗号化の完了とする。この攪拌方法には、さまざまな
方法があり、それらの方法の内の少なくとも1つの攪拌
方法を少なくとも1回行なう。例えば、出力された第2
次暗号文KcPVの左右4bitを交換するビット交換法
がある。ビット交換法では、第2次暗号文KcPV
(00101001)を(0010)(1001)に分け、(1001)
(0010)と交換し、(10010010)と出力する。または、
固有な一定の法則で出力されたbitをシフトするビット
シフト法がある。このビットシフト法では、1bit目を
2bit目に移行、2bit目を3bit目に移行と順次行い、
最終の8bit目を1bit目に移行する。つまり、第2次暗
号文KcPV(00101001)を(01010010)と出力する
方法である。
In the final conversion section 110, this secondary ciphertext Kc
The PV is further agitated to generate a final ciphertext KcPVE and complete the encryption. There are various stirring methods, and at least one of the stirring methods is performed at least once. For example, the output second
There is a bit exchange method for exchanging the left and right 4 bits of the next ciphertext KcPV. In the bit exchange method, the second ciphertext KcPV
1 (00101001) is divided into (0010) and (1001), and (1001)
Replace with (0010) and output as (10010010). Or
There is a bit shift method that shifts output bits according to a specific constant law. In this bit shift method, the first bit shifts to the second bit, the second bit shifts to the third bit, and so on.
The last 8th bit is shifted to the 1st bit. That is, the second cipher text KcPV 1 (00101001) is output as (01010010).

【0049】本発明の暗号アルゴリズムは、対称鍵方式
の暗号系であり、暗号鍵と復号鍵が共通である。つま
り、復号化については、上記の暗号化と同様の処理手順
で行うことにより完了する。例えば、上記暗号化に用い
たものとまったく同一の鍵Kを入力した場合、カオス関
数の初期値initがまったく同一の値となり、を生成し、
以下の鍵系列生成についても、更には第1次暗号化処理
及び第2次暗号化処理についても同一の値を生成する。
The encryption algorithm of the present invention is a symmetric key type encryption system, and the encryption key and the decryption key are common. That is, the decryption is completed by performing the same processing procedure as the above-described encryption. For example, if the same key K as that used for the above encryption is input, the initial value init of the chaos function becomes the exact same value, and is generated.
In the following key sequence generation, the same value is generated in the primary encryption processing and the secondary encryption processing.

【0050】前に説明したように、共通鍵暗号方式で
は、暗号/復号で使用する鍵が同じであることから、鍵
管理の煩雑化や、鍵送信時の漏洩などの問題がある。一
方、公開鍵暗号方式では、暗号化鍵と復号化鍵は別の鍵
であるから、上記の問題が解決されている。公開鍵暗号
方式は、使用者にとっては、鍵管理や、鍵送信時の漏洩
などを心配することが無いので、便利である。
As described above, in the common key cryptosystem, since the same key is used for encryption / decryption, there are problems such as complicated key management and leakage at the time of key transmission. On the other hand, in the public key cryptosystem, the above problem is solved because the encryption key and the decryption key are different keys. The public key cryptosystem is convenient for the user because he or she does not have to worry about key management and leakage at the time of key transmission.

【0051】現在、この鍵管理を軽減する為に、さまざ
まな技術開発がなされている(後記の参考文献[TK90]に
詳しい記述がある)。 本実施の形態では現在、仕様が
公開され、実績及び安全性にも定評のあるDiffie
−Hellman鍵交換方式(以下DH法とする)を用
いて公開鍵暗号方式を実現する。図3は、DH法を適用
した本発明の一実施の形態の公開鍵暗号方式を示す図で
ある。
At present, various techniques have been developed in order to reduce the key management (the details are described in the following reference [TK90]). In the present embodiment, the specifications are now open to the public, and Diffie, which has a reputation for achievements and safety.
A public key cryptosystem is realized by using a Hellman key exchange system (hereinafter referred to as a DH method). FIG. 3 is a diagram showing a public key cryptosystem according to an embodiment of the present invention to which the DH method is applied.

【0052】DH法は、1976年に米国スタンフォード大
学のW.DiffieとM.E.Hellmanによっ
て考案された鍵を安全に受け渡す方法で、現在の公開鍵
方式の基となった鍵交換方式(鍵配送方式とも呼ばれ
る)である。後記の参考文献[DH76] に詳しい記述があ
る。本明細書における公開鍵暗号方式は、公開鍵方式
(DH法を含む)と称されている暗号方式の他に、鍵交
換方式あるいは鍵配送方式と称されている暗号方式を含
むものとする。なお、暗号方式の分類については後記の
参考文献[K061], [FUM100]及び [ipa]に詳しし記
述がある。
The DH method was first described in 1976 by Stanford University, W.S. Diffie and M.S. E. FIG. It is a key exchange method (also called a key distribution method) based on the current public key method, which is a method of securely transferring keys devised by Hillman. The following reference [DH76] has a detailed description. The public key cryptosystem in this specification includes a cryptosystem called a key exchange system or a key distribution system in addition to a cryptosystem called a public key system (including a DH method). The classification of the encryption method is described in detail in the following references [K061], [FUM100] and [ipa].

【0053】公開鍵暗号方式は、暗号化は簡単に行えて
も、復号化が難しいものでなければならない。そこで、
Cを暗号文、Mを平文、fを暗号化関数、f-1を逆暗号
化関数(復号化関数)とした場合、数学的にC=f
(M)が簡単に行えるが、その逆変換M=f-1(C)の
計算が非常に難しいものでなければならない。つまり、
暗号化鍵と暗号化関数がわかれば簡単に暗号文が作れる
が、復号化鍵が発見しにくいものでなければならない。
以下、具体的な例をもってDH法を説明する。
The public key cryptosystem must be one that can be easily encrypted, but difficult to decrypt. Therefore,
When C is ciphertext, M is plaintext, f is an encryption function, and f -1 is an inverse encryption function (decryption function), mathematically C = f
Although (M) can be easily performed, the calculation of the inverse transformation M = f -1 (C) must be very difficult. That is,
If you know the encryption key and the encryption function, you can easily create a ciphertext, but the decryption key must be difficult to find.
Hereinafter, the DH method will be described with a specific example.

【0054】岡本龍明、山本博資著 現代暗号(産業図
書 1997)に記述されている通り、DH法では、素数p
を生成し、乗法群Z での原元素gを求め、これら
の値をシステム共通のパラメータとして公開する。以下
の手続きにより、盗聴されてもよい通信路を使って利用
者Aと利用者Bの間で鍵を共有する。Aは乱数X∈Z
p−1を生成し、a=g modを計算する。Aは
Bにaを送る。Bは乱数Y∈Z p−1を生成し、b=
modを計算する。BはAにbを送る。Aはk
=bmodを計算し、kをBとの間の共通鍵とす
る。Bはk=amodを計算し、kをAとの間の
共通鍵とする。Aは であるので、k=kとなり、A、B間での鍵の共有
が可能となる。例えば、素数p=11、原元素g=6と
した場合。Aが決めた乱数を3、Bが決めた乱数を4と
して、Aが6の11での剰余7をBに送る。また、B
は6の11での剰余9をAに送る。Aは、Bから送ら
れた9をもとに計算し、9の11での剰余3を得る。
Bもまた、Aから送られた7をもとに計算し、7の1
1での剰余3を得ることができる。以上ことから、共通
鍵である3を導き出せる。
As described in Tatsuaki Okamoto and Hiroshi Yamamoto, modern cryptography (Sangyo Tosho 1997), in the DH method, the prime p
Is generated, the element g in the multiplicative group Z * p is determined, and these values are made public as parameters common to the system. According to the following procedure, the key is shared between the user A and the user B using a communication channel that may be eavesdropped. A is a random number X∈Z
Generate p-1 and a = g x Calculate mod p . A sends B to B. B generates a random number Y∈Z p−1 , and b =
g y Calculate mod p . B sends b to A. A is k
Calculate a = b × mod p, and let k be the common key between B and b. B calculates k b = a y mod p, and uses k as a common key with A. A is Therefore, k a = k b and the key can be shared between A and B. For example, when the prime number p = 11 and the original element g = 6. As 4 random numbers A is 3, B a random number decided decided sends a remainder 7 at 11 A is 6 3 B. Also, B
Sends a remainder 9 of 11 6 4 A. A calculates on the basis of 9 sent from B, and obtains the remainder 3 of 9 3 at 11.
B also computed based on the 7 sent from A, 7 4 1
The remainder 3 at 1 can be obtained. From the above, 3 which is a common key can be derived.

【0055】DHは、離散対数問題を解ける場合に限り
解読できる。前述の例では、簡単な整数をもって説明し
たが、この数値が100桁や200桁になった場合の解
析、解読は困難であり、現在のところ、この問題につい
て有効な解がないことから、DHもまた、安全というこ
とになる。後記の参考文献[NK99]にこの点が詳述されて
いる。
DH can be decoded only when the discrete logarithm problem can be solved. In the above example, simple integers have been described. However, it is difficult to analyze and decipher the number when it becomes 100 or 200 digits. At present, there is no effective solution for this problem. Is also safe. The following reference [NK99] details this point.

【0056】公開鍵方式に変換するアルゴリズム(以
下、公開鍵アルゴリズムとする)については、送信者及
び受信者によって別々の処理が行なわれる。送信側には
共通鍵生成手段及び送信手段が備えてある。その共通鍵
生成手段における共通鍵生成処理は、共通鍵生成処理と
暗号処理に分かれて処理される。暗号処理の後に、送信
手段をもって受信者に送信を行なう。受信者は、受信手
段をもって、送信者から送信されたデータを受信し、送
信者と同様の共通鍵生成手段によって共通鍵を生成す
る。共通鍵の生成後、暗号処理の替わりに復号処理を行
い受信したデータを復号化する。
The algorithm for converting to the public key method (hereinafter referred to as the public key algorithm) is processed separately by the sender and the receiver. The transmitting side is provided with a common key generation unit and a transmission unit. The common key generation process in the common key generation means is divided into a common key generation process and an encryption process. After the encryption processing, transmission is performed to the receiver by the transmission means. The receiver receives the data transmitted from the sender by the receiving means, and generates a common key by the common key generation means similar to the sender. After generating the common key, the received data is decrypted by performing decryption processing instead of encryption processing.

【0057】以下、図3を参照し、本発明の一実施の形
態である公開鍵暗号方式でなされる暗号化及び復号化の
手順について説明する。図3において、301,304はDH
アルゴリズム、302,303,305,306は暗号アルゴリズムで
ある。暗号アルゴリズム302,303,305,306は、図1及び
図2に示した暗号アルゴリズム(本発明の実施の形態)
である。図1及び図2には暗号装置を示したが、この暗
号装置は実質的に暗号アルゴリズムで構成されるので、
図1及び図2には暗号アルゴリズムを示したといって差
し支えない。
Referring now to FIG. 3, a description will be given of a procedure of encryption and decryption performed by a public key cryptosystem according to an embodiment of the present invention. In FIG. 3, 301 and 304 are DH
Algorithms 302, 303, 305, and 306 are encryption algorithms. The encryption algorithms 302, 303, 305, and 306 are the encryption algorithms shown in FIGS. 1 and 2 (the embodiments of the present invention).
It is. FIG. 1 and FIG. 2 show an encryption device, but since this encryption device is substantially composed of an encryption algorithm,
1 and 2 show the encryption algorithm.

【0058】使用者a、bが図3の公開鍵暗号方式を使
用し、データを送受信する場合、送信側使用者がa(以
下、送信者aとする)、受信側使用者がb(以下、受信
者bとする)は、送信者aが、自らの公開されていない
鍵、秘密鍵SKaと受信者bの公開されている鍵、公開
鍵PKbを使用して送信したいデータを暗号化処理す
る。尚、公開鍵PKbは、インターネットに接続されて
いる環境下の場合は、インターネット上に公開され、そ
の他の環境下では、その環境下で公的に開示され、図3
の公開鍵暗号方式を使用したい場合は、いつでも入手可
能である。図1,図2の暗号装置が扱い得るデータがマ
ルチメディアデータであるので、図3の公開鍵暗号方式
で送信するデータ(図3の公開鍵暗号方式で取り扱われ
るデータ)は、テキストデータ、バイナリデータなどの
マルチメディアデータである。
When users a and b use the public key cryptosystem shown in FIG. 3 to transmit and receive data, the transmitting user is a (hereinafter referred to as a sender a), and the receiving user is b (hereinafter referred to as b). , The recipient b) encrypts the data that the sender a wants to transmit using its own private key, the secret key SKa, the public key of the recipient b, and the public key PKb. I do. It should be noted that the public key PKb is disclosed on the Internet in an environment connected to the Internet, and is publicly disclosed in the environment in other environments.
If you want to use the public key cryptosystem, you can always get it. Since the data that can be handled by the encryption device of FIGS. 1 and 2 is multimedia data, data transmitted by the public key encryption method of FIG. 3 (data handled by the public key encryption method of FIG. 3) is text data, binary data, Multimedia data such as data.

【0059】共通鍵生成処理はD.Hアルゴリズム301
で処理される。送信者aによって入力された、送信者a
の秘密鍵SKaと受信者bの公開鍵PKbから、DH法
に基づき共通鍵comKがD.Hアルゴリズム301で生
成される。この共通鍵comKは、図1及び図2に示し
た実施の形態における暗号アルゴリズムでの鍵Kに相当
する。つまり、この段階で公開鍵暗号方式(非対称暗号
化方式)から共通鍵暗号方式(対称暗号方式)への変換
を行なうことになる。
The common key generation process is described in D. H algorithm 301
Is processed. Sender a, entered by sender a
From the secret key SKa of the receiver b and the public key PKb of the receiver b, the common key comK is obtained based on the DH method. Generated by the H algorithm 301. This common key comK corresponds to the key K in the encryption algorithm in the embodiment shown in FIGS. That is, at this stage, the conversion from the public key cryptosystem (asymmetric cryptosystem) to the common key cryptosystem (symmetric cryptosystem) is performed.

【0060】乱数SeK(前述のセッション鍵に相当)
は、図3の公開鍵アルゴリズム内部で各暗号処理ごとに
生成される。乱数SeKの値は暗号処理ごとに相違する。
D.Hアルゴリズム301内部で生成された共通鍵comK及
び、使用者から入力された平文Pの暗号化演算処理には
この乱数SeKが用いられる。暗号化で用いる乱数は予測
不可能性を重視するため、乱数列の任意の1部から他の
ビットを多項式計算量で推測できない条件を満たしてい
る(予測不可能性)ことが前提となる。
Random number SeK (corresponding to the above-mentioned session key)
Is generated for each encryption process inside the public key algorithm of FIG. The value of the random number SeK differs for each encryption process.
The random number SeK is used for the encryption operation of the common key comK generated inside the DH algorithm 301 and the plaintext P input by the user. Since the random number used in the encryption places importance on the unpredictability, it is premised that a condition that other bits from an arbitrary part of the random number sequence cannot be estimated by the polynomial calculation amount (unpredictability) is satisfied.

【0061】長さのnの離散変数Xが予測不可能とは、
任意の多項式計算アルゴリズムAと任意の整数cに対し
て整数Nが存在し、Nより大きい任意のnについては、 (但し、w, aは重なり合わないXの部分である。)が成
り立つことをいうが、この条件は、実装レベル的に困難
なため、下記の必要条件を満たす擬似乱数であれば暗号
用の乱数として使用できるとされている。後記の参考文
献[OK93]に詳しい記述がある。 0,1の等頻度性(バランス性) 長周期性 非線形性 無相関性 線形複雑度が大きいこと 本実施の形態では、この擬似乱数の定義を暗号アルゴリ
ズム302,303,305,306における非線形デジタルカオス信
号で満たしている。そこで、図3の公開鍵暗号方式で使
用される乱数SeKは、簡単な乱数で足りる。つまり、
擬似乱数の定義を非線形デジタルカオス信号で満たして
いるので、乱数SeKとしてはプログラム的に簡単なも
のを使用し、公開鍵方式での処理速度の向上を図ってい
る。以後の説明では実数をもって記述するが、非線形デ
ジタルカオス信号はこの条件を満たしている。なお、本
実施の形態で使用する乱数SeKは、非対称暗号方式に
おけるセッションキーに相当する。
A discrete variable X of length n is unpredictable:
For any polynomial calculation algorithm A and any integer c, there is an integer N, and for any n greater than N, (However, w and a are non-overlapping parts of X.) This condition is difficult because of the implementation level. It is said that it can be used as a random number. There is a detailed description in the following reference [OK93]. Equal frequency of 0 and 1 (balance) Long periodicity Non-linearity Non-correlation Linear complexity is large In this embodiment, the definition of the pseudorandom number is satisfied by the nonlinear digital chaotic signal in the cryptographic algorithms 302, 303, 305, and 306. Therefore, a simple random number is sufficient as the random number SeK used in the public key cryptosystem of FIG. That is,
Since the definition of the pseudo-random number is satisfied by the nonlinear digital chaos signal, a simple random number SeK is used to improve the processing speed in the public key system. In the following description, a real number is described, but the nonlinear digital chaotic signal satisfies this condition. Note that the random number SeK used in the present embodiment corresponds to a session key in the asymmetric encryption method.

【0062】前に説明した通り、本公開鍵アルゴリズム
内部では、図1及び図2の実施の形態で示した共通鍵暗
号方式(対称暗号方式)で処理を行なう。この共通鍵暗
号方式を実現するアルゴリズムを図3では、暗号アルゴ
リズム302,303,305及び306で示してある。これら暗号ア
ルゴリズム302,303,305及び306は何れも図1及び図2の
ものと同じ構成である。
As described above, processing within the present public key algorithm is performed by the common key cryptosystem (symmetric cryptosystem) shown in the embodiment of FIGS. In FIG. 3, the algorithms for realizing the common key cryptosystem are shown as cryptographic algorithms 302, 303, 305 and 306. Each of these encryption algorithms 302, 303, 305 and 306 has the same configuration as those in FIGS.

【0063】暗号アルゴリズム302において、D.Hアルゴ
リズム301で生成された共通鍵comKを鍵Kとして、
乱数SeKを平文Pとして暗号処理を行なう。この処理
によって暗号化された鍵、すなわち暗号化鍵comK+
SeKを生成する。
In the encryption algorithm 302, the common key comK generated by the DH algorithm 301 is used as a key K,
An encryption process is performed using the random number SeK as a plaintext P. The key encrypted by this processing, that is, the encryption key comK +
Generate SeK.

【0064】先に説明した通り、この共通鍵comK
は、図1、図2に示した暗号アルゴリズムでの鍵Kに相
当するので、受信者に必要な復号処理の際に使用する共
通鍵暗号方式(対称暗号方式)でいうところの鍵Kを安
全にやり取りできるように各処理ごとに固有に発生され
る乱数もって暗号化したこととなる。つまり、生成され
た暗号化鍵comK+SeKは、暗号化された共通鍵で
ある。そこで、この暗号化鍵が第三者に傍受された場合
でも、各処理ごとに固有に発生される乱数SeKから生
成されているので、解読はできない。勿論、送信者aの
公開鍵PKa及び受信者bの公開鍵PKbが第三者に入
手されている場合でも、第三者は共通鍵comKを生成
できないので、解読はできない事となる。
As described above, this common key comK
Corresponds to the key K in the encryption algorithm shown in FIG. 1 and FIG. 2, so that the key K in the common key encryption method (symmetric encryption method) used in the decryption process necessary for the receiver is secured. This means that the data is encrypted with a random number generated uniquely for each process so that the data can be exchanged. That is, the generated encryption key comK + SeK is an encrypted common key. Therefore, even if this encryption key is intercepted by a third party, it cannot be decrypted because it is generated from the random number SeK generated uniquely for each process. Of course, even if the public key PKa of the sender a and the public key PKb of the receiver b are obtained by a third party, the third party cannot generate the common key comK and cannot decrypt it.

【0065】さらに、図3の暗号アルゴリズム303は、
送信側において、送信者aによって入力された平文P
を、乱数SeKを共通鍵方式(本発明の暗号アルゴリズ
ム)の鍵Kとして暗号化し、暗号文P+SeKを生成す
る。解読される危険性がないことは、暗号化鍵comK
+SeKと同じである。なお、図3の公開鍵暗号方式
は、暗号化鍵comK+SeKと同時に暗号文P+Se
Kをも生成するので、各処理ごとに固有に発生される乱
数SeKを2通りに使用している。
Further, the encryption algorithm 303 in FIG.
On the transmitting side, the plaintext P input by the sender a
Is encrypted using the random number SeK as a key K of the common key method (the encryption algorithm of the present invention), and a ciphertext P + SeK is generated. There is no danger of decryption, the encryption key comK
Same as + SeK. Note that the public key cryptosystem in FIG. 3 uses the ciphertext P + Se simultaneously with the encryption key comK + SeK.
Since K is also generated, the random number SeK uniquely generated for each process is used in two ways.

【0066】暗号文P+SeKと復号に必要な共通鍵す
なわち、暗号化鍵comK+SeKを、送信手段によっ
て外部に出力する。外部への出力方法、つまり、暗号文
と共通鍵を受信手段に渡す方法には、種々の方法が知ら
れている。送信手段と受信手段をネットワークで接続す
る場合は、送信手段は暗号文と共通鍵を所定のプロトコ
ルに従いネットワークに送り出す機能を有する。
The ciphertext P + SeK and the common key necessary for decryption, that is, the encryption key comK + SeK are output to the outside by the transmission means. Various methods are known as an output method to the outside, that is, a method of passing the ciphertext and the common key to the receiving means. When the transmitting means and the receiving means are connected via a network, the transmitting means has a function of transmitting the cipher text and the common key to the network according to a predetermined protocol.

【0067】送信手段から受信手段へ無線通信により暗
号文と共通鍵を伝送する場合は、送信手段は暗号文と共
通鍵を変調し送出する機能を有する。暗号文と共通鍵を
可搬できる記憶媒体に格納して受け渡す場合には、送信
手段は暗号文と共通鍵を記憶媒体に書き込む機能を有す
る。
When transmitting the cipher text and the common key from the transmitting means to the receiving means by wireless communication, the transmitting means has a function of modulating and transmitting the cipher text and the common key. When the cipher text and the common key are stored and transferred in a portable storage medium, the transmitting unit has a function of writing the cipher text and the common key to the storage medium.

【0068】受信手段では、送信手段で生成された暗号
文P+SeKと復号に必要な共通鍵すなわち、暗号化鍵
comK+SeKを受信する。入力の方法、つまり、暗
号文と共通鍵を復号装置に渡す方法には、種々の方法が
知られている。
The receiving means receives the ciphertext P + SeK generated by the transmitting means and the common key required for decryption, that is, the encryption key comK + SeK. Various methods are known as an input method, that is, a method of passing a ciphertext and a common key to a decryption device.

【0069】送信手段とネットワークで接続する場合
は、受信手段はネットワークを介して転送されてきた情
報を受け取り、暗号文と共通鍵を取り出す機能を有す
る。送信手段から無線通信により暗号文と共通鍵を受け
取る場合は、受信手段は伝播された信号を受信し復調し
て暗号文と共通鍵を取り出す機能を有する。暗号文と共
通鍵を可搬できる記憶媒体に格納して受け渡す場合に
は、受信手段は暗号文と共通鍵を記憶媒体から読出す機
能を有する。
When connecting to the transmitting means via a network, the receiving means has a function of receiving information transferred via the network and extracting a cipher text and a common key. When receiving the cipher text and the common key from the transmitting means by wireless communication, the receiving means has a function of receiving and demodulating the propagated signal and extracting the cipher text and the common key. When the cipher text and the common key are stored and transferred in a portable storage medium, the receiving unit has a function of reading the cipher text and the common key from the storage medium.

【0070】復号化の処理は、暗号化処理の逆処理を順
番に行なう事で実現できる。まず共通鍵暗号処理は、
D.Hアルゴリズム304で行われる。D.Hアルゴリズ
ム304では、受信者bが送信者aの公開鍵PKaと受信
者bの秘密鍵SKbから、DH法に基づき共通鍵com
Kが公開鍵復号手段内部で生成される。この共通鍵co
mKは、本発明の暗号アルゴリズム(図1、図2)での
鍵Kに相当する。つまり、この段階で公開鍵暗号方式
(非対称暗号化方式)から共通鍵暗号方式(対称暗号方
式)への変換を行なうことになる。
The decryption processing can be realized by sequentially performing the reverse processing of the encryption processing. First, the common key encryption process
D. This is performed by the H algorithm 304. D. In the H algorithm 304, the receiver b uses the public key PKa of the sender a and the secret key SKb of the receiver b based on the DH method to obtain a common key com.
K is generated inside the public key decryption means. This common key co
mK corresponds to the key K in the encryption algorithm of the present invention (FIGS. 1 and 2). That is, at this stage, the conversion from the public key cryptosystem (asymmetric cryptosystem) to the common key cryptosystem (symmetric cryptosystem) is performed.

【0071】次に、図3の暗号アルゴリズム305におい
て、共通鍵comKをもって、送信者aから送信された
暗号化鍵comK+SeKを図1及び図2に示した実施
の形態の暗号アルゴリズムによって、復号する。勿論、
暗号アルゴリズム305で復号されるデータは乱数SeK
として生成される。生成された乱数SeKは、平文Pの
復号に必要な鍵であり、図1及び図2に示した実施の形
態の暗号アルゴリズムでいうところの鍵Kとして使用さ
れる。
Next, in the encryption algorithm 305 of FIG. 3, the encryption key comK + SeK transmitted from the sender a is decrypted by the encryption algorithm of the embodiment shown in FIGS. 1 and 2 using the common key comK. Of course,
Data decrypted by the encryption algorithm 305 is a random number SeK
Is generated as The generated random number SeK is a key necessary for decrypting the plaintext P, and is used as a key K in the encryption algorithm of the embodiment shown in FIGS.

【0072】さらに、暗号アルゴリズム306において、
乱数SeKをもって、暗号文(P+SeK)を復号し、
平文Pを出力する。
Further, in the encryption algorithm 306,
With the random number SeK, the cipher text (P + SeK) is decrypted,
Output plaintext P.

【0073】以上の処理によって、図3の公開鍵暗号方
式は、デジタルカオス信号を用いたストリーム型暗号方
式を提供する。以上に実施の形態を詳しく説明したとこ
ろから明らかなように、本発明の実施により、次のよう
な効果がもたらされる。 (1)上記説明の通り、カオス関数自体は、代入可能の
ため基本となる暗号アルゴリズムが容易に更新できる。 (2)ストリーム型暗号方式であるから、連続的な暗号
化処理を提供でき、今後も発展するインターネットの高
速・多量のデータ暗号処理を可能にする。 (3)同様の理由から、英語、日本語、中国語などの言
語データを意識させずに処理できるので、ワールドワイ
ドな暗号システムを提供できる。 (4)同様の理由から、テキストデータ、バイナリデー
タなどのマルチメディアデータも同様に処理できる。 (5)復号化処理時には鍵以外のデータを参照せず、高
速に復号化処理を行える。 (6)鍵が可変長であるので、使用者による暗号化処理
速度と、暗号強度の選択が自由である。 (7)暗号処理速度および暗号強度を選択し、尚且つ、
インターネットに接続された携帯電話など、小型の電子
機器での使用を可能にする。
By the above processing, the public key cryptosystem of FIG. 3 provides a stream type cryptosystem using a digital chaos signal. As is clear from the above description of the embodiments, the following effects are brought about by implementing the present invention. (1) As described above, since the chaos function itself can be substituted, the basic encryption algorithm can be easily updated. (2) Since it is a stream-type encryption system, continuous encryption processing can be provided, and high-speed and large-volume data encryption processing of the Internet, which will be developed in the future, can be performed. (3) For the same reason, processing can be performed without being conscious of language data such as English, Japanese, and Chinese, so that a worldwide encryption system can be provided. (4) For the same reason, multimedia data such as text data and binary data can be similarly processed. (5) The decryption process can be performed at high speed without referring to data other than the key during the decryption process. (6) Since the key has a variable length, the user can freely select the encryption processing speed and the encryption strength. (7) Select the encryption processing speed and encryption strength, and
Enables use in small electronic devices such as mobile phones connected to the Internet.

【0074】本発明は、可変長鍵から鍵系列を生成する
ので、全数探索攻撃方法に対して強い抵抗力を持ってい
る。DESの場合では、鍵管理技術を使用している。しか
し、DESでは、鍵をそのままの状態で暗号化鍵に使用す
るから、鍵は理論的には256キースペースから成り立つ
が、実際に鍵に用い得るキースペースはASCIIコードの
のうちの95でしかない。本発明で利用できる暗号化鍵
は、0x00を除くすべてのASCIIコード(256のキースペー
ス)から成り立っているので、固定長方法(FEAL-8,DE
S)と比較しても、本発明が優位である。
Since the present invention generates a key sequence from a variable-length key, it has a strong resistance to the exhaustive search attack method. In the case of DES, key management technology is used. However, in DES, since the key is used as it is for the encryption key, the key theoretically consists of 256 key spaces, but the key space that can actually be used for keys is only 95 of the ASCII code. Absent. Since the encryption key that can be used in the present invention consists of all ASCII codes (256 key spaces) except 0x00, the fixed-length method (FEAL-8, DE
The present invention is superior to S).

【0075】例えば、全数探索攻撃方法を使用し本発明
の解読を試みる場合は、鍵Kの長さが128bitであり、現
在のコンピュータで解読を試みたとすると、108年の時
間を要することになる。またカオス暗号法は、単純な関
数から生成されるため、演算処理が速い。つまり3DESの
ように、繰返しを必要としないで暗号強度を保障できる
暗号システムであるから、高速に暗号/復号処理ができ
る。
[0075] For example, when using a brute force attack attempts to crack the present invention, the length of the key K is 128bit, when the attempt to decode the current computer, it takes 10 1996 Time Become. In addition, the chaos encryption method is generated from a simple function, so that the arithmetic processing is fast. That is, since it is a cryptosystem such as 3DES that can guarantee the cryptographic strength without requiring repetition, the encryption / decryption processing can be performed at high speed.

【0076】さらに本発明では、論理的には鍵長は無限
に長くすることができる。従来の暗号システムでは、繰
り返し計算のため鍵生成に時間のかかる鍵長は、一定の
長さでないと事実上、処理できなかった。たとえば、鍵
の値をべき乗の計算として処理するRSAは、鍵長に暗
号処理速度事態が大きく依存し、本発明の10倍以上の
処理時間を要する。
Further, in the present invention, the key length can be logically increased to infinity. In a conventional cryptosystem, a key length that requires time for key generation due to repetitive calculation cannot be processed unless it is a fixed length. For example, an RSA that processes a key value as exponentiation calculation requires a processing time that is ten times or more as large as that of the present invention, because the cryptographic processing speed situation greatly depends on the key length.

【0077】図7は、図1及び図2に示した実施の形態
による0,1の出現頻度分布を示す図である。本図から
明らかなように、本実施の形態によれば、暗号化するフ
ァイル(平文)における0,1の出現頻度に拘わらず、
暗号文では0,1の出現頻度は50%近傍にある。したが
って、本発明の暗号装置により画像などを暗号化したと
き、暗号文には周期性が現れ難い。同様のカオス関数を
用いた暗号システムとの比較でも、0,1の等頻度性
や、その処理速度に於いて本発明が優位である。
FIG. 7 is a diagram showing the appearance frequency distribution of 0 and 1 according to the embodiment shown in FIGS. As is clear from the figure, according to the present embodiment, regardless of the appearance frequency of 0 and 1 in the file (plaintext) to be encrypted,
In cipher text, the appearance frequency of 0 and 1 is near 50%. Therefore, when an image or the like is encrypted by the encryption device of the present invention, periodicity does not easily appear in the cipher text. Even in comparison with a cryptosystem using the same chaos function, the present invention is superior in terms of equal frequency of 0 and 1 and processing speed.

【0078】[0078]

【発明の効果】以上に実施の形態を挙げ、詳しく説明し
たように、本発明によれば、利用者の必要に応じて処理
速度と暗号強度とを選択することができ、カオス暗号技
術を携帯電話に対応できるようにし、可変長の鍵を採用
し、画像などの暗号文にも周期性が現れ難く、基本アル
ゴリズムが容易に更新できる暗号方式の提供にある。ま
た、本発明によれば、その暗号方式を採用した公開鍵暗
号方式を提供できる。従来の暗号技術は、安全強度を優
先するか、処理速度を優先するかの二者択一的であり、
両面を兼ね備えた方式はなく、また携帯電話など、小型
の電子機器をインターネットの端末器として実現させる
際に必要な軽量・高速な暗号方式も存在しなかった。本
発明は、このような従来技術の課題を解決し、安全強度
が高く、処理速度が速く、その上暗号アルゴリズムのプ
ログラム自体を軽量に実現できる暗号方式である。
According to the present invention, the processing speed and the encryption strength can be selected according to the needs of the user, and the chaos encryption technology can be used. It is an object of the present invention to provide an encryption method that can be used for telephones, employs a variable-length key, makes it difficult for cipher text such as images to have periodicity, and can easily update a basic algorithm. Further, according to the present invention, it is possible to provide a public key cryptosystem adopting the cryptosystem. Conventional encryption technology is an alternative to prioritize security strength or processing speed.
There is no system that has both sides, and there is no lightweight and high-speed encryption system that is required when implementing small electronic devices such as mobile phones as Internet terminals. The present invention solves the above-mentioned problems of the prior art, and is an encryption method that can realize a high security strength, a high processing speed, and a lightweight encryption algorithm program itself.

【0079】以上の説明において、詳しい説明がある参
考文献として記載したものを次に列挙する。 [AI90]合原一幸著 カオス カオス理論の基礎と応用
サイエンス社 1990 [AI00]合原一幸編集 池口徹、山田泰司、小室元政著
カオス時系列解析の基礎と応用 産業図書 2000 [NK97]櫻井幸一訳 数論アルゴリズムと楕円暗号理論入
門 第3章.暗号理論シュプリンガー・フェアラーク東
京 [NK97]櫻井幸一訳 数論アルゴリズムと楕円暗号理論入
門 第4章.公開鍵暗号シュプリンガー・フェアラーク
東京 [TK90]辻井重男、笠原正雄監修:「暗号と情報セキュリ
ティ」昭晃堂、1990 非対称暗号のリスト [DH76]Diffie,W. and Hellman,M E .:New directions i
n cryptography,IEEE Trans.on Information Theory, V
ol.IT-22,No.6,pp.644-654,1976 [OK93]岡本栄司著 暗号理論入門 第4章.暗号用乱数
共立出版 1993 [NK99]林彬訳 暗号の代数理論 第1章.暗号 シュプ
リンガー・フェアラーク東京株式会社 [KO61]池野信一、小山謙二著 現代暗号理論 第5章.
公開鍵暗号 電子情報通信学会 S61 [FUMI00]小松文子他著 PKIハンドブック 第1部 P
KIの基礎知識(公開鍵暗号基盤) ソフト・リサーチ
・センター 2000 [ipa]乗法処理推進事業協会 暗号技術関連サイト htt
p://www.ipa.go.jp/security/enc/CRYPTREC/index.html
In the above description, those described as references with detailed explanations are listed below. [AI90] Kazuyuki Aihara Chaos Basics and applications of chaos theory
Science Inc. 1990 [AI00] Edited by Kazuyuki Aihara Toru Ikeguchi, Taiji Yamada, Motomasa Komuro
Basics and Applications of Chaotic Time Series Analysis Sangyo Tosho 2000 [NK97] Translated by Koichi Sakurai Introduction to Number Theory Algorithms and Elliptic Cryptography Chapter 3. Cryptographic Theory Springer Verlag Tokyo [NK97] Translated by Koichi Sakurai Introduction to Number Theory Algorithms and Elliptic Cryptography Chapter 4. Public key cryptosystem Springer Verlag Tokyo [TK90] Supervised by Shigeo Tsujii and Masao Kasahara: "Cryptography and Information Security" Shokodo, 1990 List of asymmetric cryptography [DH76] Diffie, W. and Hellman, ME .: New directions i
n cryptography, IEEE Trans.on Information Theory, V
ol.IT-22, No.6, pp.644-654,1976 [OK93] Eiji Okamoto Introduction to Cryptography Theory Chapter 4. Random Numbers for Cryptography Kyoritsu Shuppan 1993 [NK99] Akira Hayashi Translation Algebra Theory of Cryptography Chapter 1. Cryptography Springer Verlag Tokyo Co., Ltd. [KO61] Shinichi Ikeno, Kenji Koyama Modern cryptography Chapter 5
Public key cryptography IEICE S61 [FUMI00] Fumiko Komatsu et al. PKI Handbook Part 1 P
Basic knowledge of KI (Public key cryptographic infrastructure) Soft Research Center 2000 [ipa] Multiplicative Processing Promotion Association Cryptography related site htt
p: //www.ipa.go.jp/security/enc/CRYPTREC/index.html

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態の暗号装置を示し、特に
この暗号装置における暗号アルゴリズムによる暗号化処
理の手順を示す図である。
FIG. 1 is a diagram illustrating an encryption device according to an embodiment of the present invention, and particularly illustrating a procedure of an encryption process using an encryption algorithm in the encryption device.

【図2】図1の暗号装置における暗号アルゴリズムの構
成を示す図である
FIG. 2 is a diagram illustrating a configuration of an encryption algorithm in the encryption device of FIG. 1;

【図3】本発明の一実施の形態である公開鍵暗号方式を
示す図である。
FIG. 3 is a diagram showing a public key cryptosystem according to an embodiment of the present invention.

【図4】iを横軸にとり、 X(i)を縦軸にとってロジステ
ィック写像の不規則性を例示する図である。
FIG. 4 is a diagram illustrating the irregularity of the logistic mapping with i being the horizontal axis and X (i) being the vertical axis.

【図5】X(i)を横軸にとり、X(i+1)を横軸にとって表し
たロジスティック写像の特性図である。
FIG. 5 is a characteristic diagram of a logistic mapping in which X (i) is plotted on the horizontal axis and X (i + 1) is plotted on the horizontal axis.

【図6】図1及び図2に示す実施の形態で行われる処理
における入出力データの例を示す図である。
FIG. 6 is a diagram showing an example of input / output data in the processing performed in the embodiment shown in FIGS. 1 and 2;

【図7】図1及び図2に示した実施の形態による0,1
の出現頻度分布を示す図である
FIG. 7 shows 0, 1 according to the embodiment shown in FIGS. 1 and 2;
Is a diagram showing the appearance frequency distribution of

【符号の説明】[Explanation of symbols]

1・・・・・鍵(K)入力 2・・・・・鍵初期変換 3・・・・・デジタルカオス信号発生 4・・・・・カオスフィルタリング 5・・・・・鍵系列(Kc)生成 6・・・・・平文(P)入力 7・・・・・第1次暗号化 8・・・・・内部ベクトル(V)生成 9・・・・・第2次暗号化 10・・・・・最終変換 11・・・・・暗号文(KcPVE)出力 102・・・・・鍵初期変換部 103・・・・・デジタルカオス信号(C)生成部 104・・・・・カオスフィルタ 105・・・・・排他的論理和演算部 107・・・・・第1次暗号化部 108・・・・・内部ベクトル(V)生成部 109・・・・・第2次暗号化部 110・・・・・最終変換部 1041・・・・・整数値変換部 1042・・・・・2値符号化処理部 301,304・・・・・DHアルゴリズム 302,303,305,306・・・・・暗号アルゴリズム 1 Key input (K) input 2 Key initial conversion 3 Digital chaos signal generation 4 Chaos filtering 5 Key sequence (Kc) generation 6 Plaintext (P) input 7 Primary encryption 8 Internal vector (V) generation 9 Secondary encryption 10 · Final conversion 11 · · · · Ciphertext (KcPVE) output 102 · · · · · Key initial conversion unit 103 · · · · Digital chaos signal (C) generation unit 104 · · · · · Chaos filter 105 · · · ... Exclusive OR operation unit 107 Primary encryption unit 108 Internal vector (V) generation unit 109 Secondary encryption unit 110 ..Final conversion unit 1041 ... integer value conversion unit 1042 ... binary encoding processing unit 301,304 ... DH algorithm 302,303,305,306 ..... cryptographic algorithm

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】共通鍵に関連付けられたカオス関数初期
値、カオス関数パラメータ及びカオス関数に基づき浮動
小数点形式のデジタル非線形カオス信号を生成するカオ
ス生成手段と、該デジタル非線形カオス信号を整数形式
に変換し整数化デジタル非線形カオス信号を生成する整
数化手段と、該整数化デジタル非線形カオス信号を2値
符号に変換し2値符号化デジタル非線形カオス信号を生
成する2値符号化手段と、前記共通鍵から導かれた第1
の鍵系列と前記2値符号化デジタルカオス信号との排他
的論理和演算により第2の鍵系列を生成する排他的論理
和演算手段と、入力された平文と前記第2の鍵系列との
演算処理により暗号文を生成する暗号化演算手段とから
なることを特徴とする暗号装置。
1. A chaos generating means for generating a floating-point digital nonlinear chaotic signal based on a chaotic function initial value, a chaotic function parameter and a chaotic function associated with a common key, and converting the digital nonlinear chaotic signal into an integer format. An integerizing means for generating an integerized digital nonlinear chaotic signal; a binary encoding means for converting the integerized digital nonlinear chaotic signal into a binary code to generate a binary encoded digital nonlinear chaotic signal; First derived from
Exclusive OR operation means for generating a second key sequence by exclusive OR operation of the key sequence of the above and the binary coded digital chaos signal, and operation of the input plaintext and the second key sequence An encryption device, comprising: encryption operation means for generating a cipher text by processing.
【請求項2】前記暗号化演算手段は第1次暗号化部と第
2次暗号化部とでなり、該第1次暗号化部は平文と前記
第2の鍵系列との排他的論理和演算により第1次暗号文
を生成し、該第2次暗号化部は前記第1次暗号文とベク
トルデータとの排他的論理和演算により第2次暗号文を
生成することを特徴とする請求項1に記載の暗号装置。
2. The encryption operation means comprises a primary encryption unit and a secondary encryption unit, wherein the primary encryption unit performs an exclusive OR operation on a plaintext and the second key sequence. A primary ciphertext is generated by an operation, and the secondary encryption unit generates a secondary ciphertext by an exclusive OR operation of the primary ciphertext and vector data. Item 2. The encryption device according to Item 1.
【請求項3】内部ベクトル生成部を備え、該内部ベクト
ル生成部は前記共通鍵、前記デジタル非線形カオス信
号、前記整数化デジタル非線形カオス信号、前記2値符
号化デジタル非線形カオス信号、前記平文、前記第1次
暗号文または第2次暗号文その他のデータであって、前
記暗号文を生成する過程で入力された入力データ又は内
部で生成される内部データの内の少なくとも1つのデー
タを内部固有データとして選択し、該内部固有データの
部分又は全部のデータを初期値とし、該初期値を基に前
記ベクトルデータを生成することを特徴とする請求項2
に記載の暗号装置。
3. An internal vector generating unit, wherein the internal vector generating unit includes the common key, the digital nonlinear chaotic signal, the integer digital nonlinear chaotic signal, the binary coded digital nonlinear chaotic signal, the plaintext, Converting at least one of the primary ciphertext, the secondary ciphertext, and other data, which is input data input in the process of generating the ciphertext or internal data internally generated, into internal unique data; 3. The vector data is generated based on the initial value by selecting a part or all of the internal unique data as an initial value.
An encryption device according to claim 1.
【請求項4】前記内部ベクトル生成部は、前記内部固有
データを処理することにより前記初期値を生成し、該初
期値のデータ長を該内部固有データの固定データ長とは
異なる長さとし、該初期値を基に前記第1次暗号文と同
じデータ長の前記ベクトルデータを生成することを特徴
とする請求項3に記載の暗号装置。
4. The internal vector generating unit generates the initial value by processing the internal unique data, sets the data length of the initial value to a length different from the fixed data length of the internal unique data, The encryption device according to claim 3, wherein the vector data having the same data length as the primary ciphertext is generated based on an initial value.
【請求項5】前記整数化手段は、前記カオス生成手段か
ら出力される浮動小数点形式のデジタル非線形カオス信
号を文字列に変換し、該文字列を整数形式のデータに変
換することにより前記整数化デジタル非線形カオス信号
を生成することを特徴とする請求項1乃至4に記載の暗
号装置。
5. The integer conversion means converts the floating-point digital non-linear chaos signal output from the chaos generation means into a character string, and converts the character string into integer data by converting the character string into integer data. The cryptographic device according to claim 1, wherein the cryptographic device generates a digital nonlinear chaotic signal.
【請求項6】請求項1乃至5に記載の暗号装置で生成さ
れた暗号文を復号する復号装置において、構成が該請求
項1乃至5に記載の暗号装置と同じであり,前記平文に
代えて前記暗号文を入力し、該請求項1乃至5に記載の
暗号装置で用いた前記共通鍵と同じ共通鍵でもって該入
力された暗号文を復号することを特徴とする復号装置。
6. A decryption device for decrypting a ciphertext generated by the cryptographic device according to any one of claims 1 to 5, which has the same configuration as that of the cryptographic device according to any one of claims 1 to 5, wherein the plaintext is replaced with the plaintext. A decryption apparatus for inputting the ciphertext and decrypting the input ciphertext with the same common key as the common key used in the encryption apparatus according to claim 1.
【請求項7】送信者の秘密鍵および受信者の公開鍵から
共通鍵を生成する共通鍵生成手段と、セッション鍵を生
成するセッション鍵生成手段と、第1の暗号化手段と、
第2の暗号化手段とを備え、該第1の暗号化手段は前記
セッション鍵で平文を暗号化することにより暗号文を生
成し、前記第2の暗号化手段は前記共通鍵で前記セッシ
ョン鍵を暗号化することにより暗号化鍵を生成する公開
鍵暗号方式において、 前記第1及び第2の暗号化手段が請求項1乃至5に記載
の暗号装置でなることを特徴とする公開鍵暗号方式。
7. A common key generation means for generating a common key from a secret key of a sender and a public key of a receiver, a session key generation means for generating a session key, a first encryption means,
Second encryption means, wherein the first encryption means generates a ciphertext by encrypting a plaintext with the session key, and wherein the second encryption means generates the ciphertext with the common key. A public key cryptosystem for generating an encryption key by encrypting a public key, wherein said first and second encryption means are the cryptographic devices according to claim 1 to 5. .
【請求項8】請求項7に記載の公開鍵暗号方式で生成さ
れた暗号文を復号する公開鍵復号方式において、 構成が前記請求項7に記載の公開鍵暗号方式と同じであ
り、 前記共通鍵生成手段は前記送信者の公開鍵および前記受
信者の秘密鍵から復号用共通鍵を生成し、 前記第2の暗号化手段は、前記セッション鍵に代えて前
記暗号化鍵を入力し、前記復号用共通鍵で前記セッショ
ン鍵を復号し、 前記第1の暗号化手段は、前記平文に代えて前記暗号文
を入力し、前記第2の暗号化手段で復号された前記セッ
ション鍵で前記平文を復号することを特徴とする公開鍵
復号方式。
8. A public key decryption method for decrypting a ciphertext generated by the public key encryption method according to claim 7, wherein the configuration is the same as that of the public key encryption method according to claim 7; A key generation unit that generates a common key for decryption from the public key of the sender and a secret key of the receiver, the second encryption unit inputs the encryption key in place of the session key, Decrypting the session key with a decryption common key, the first encryption unit inputs the ciphertext instead of the plaintext, and uses the session key decrypted by the second encryption unit to decrypt the plaintext. Public key decryption method characterized by decrypting a public key.
【請求項9】前記セッション鍵生成手段は、内部で生成
される乱数を前記セッション鍵とすることを特徴とする
請求項7に記載の公開鍵暗号方式。
9. The public key cryptosystem according to claim 7, wherein said session key generation means uses a internally generated random number as said session key.
【請求項10】前記セッション鍵生成手段は、内部で生
成される乱数を前記セッション鍵とすることを特徴とす
る請求項8に記載の公開鍵復号方式。
10. The public key decryption method according to claim 8, wherein said session key generation means uses a random number generated internally as said session key.
JP2001047426A 2001-02-22 2001-02-22 Encryption device and decryption device, and public key encryption system and public key decryption system Withdrawn JP2002252610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001047426A JP2002252610A (en) 2001-02-22 2001-02-22 Encryption device and decryption device, and public key encryption system and public key decryption system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001047426A JP2002252610A (en) 2001-02-22 2001-02-22 Encryption device and decryption device, and public key encryption system and public key decryption system

Publications (1)

Publication Number Publication Date
JP2002252610A true JP2002252610A (en) 2002-09-06

Family

ID=18908856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001047426A Withdrawn JP2002252610A (en) 2001-02-22 2001-02-22 Encryption device and decryption device, and public key encryption system and public key decryption system

Country Status (1)

Country Link
JP (1) JP2002252610A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288758A (en) * 2008-05-30 2009-12-10 Hironori Wakayama Device and method for encoding process for establishing perfect secrecy of encoding and secret key by making variable in process information-theoretically indefinite using disposable variable
JP2010136199A (en) * 2008-12-05 2010-06-17 Panasonic Electric Works Co Ltd Key distribution system, and key distribution method
EP2667537A1 (en) * 2012-05-24 2013-11-27 Enigmedia SLL Method for coding and decoding a data stream
CN106373082A (en) * 2016-09-23 2017-02-01 中山大学 Cellular automata and chaotic mapping-based digital image encryption method and decryption method thereof
CN112994887A (en) * 2019-12-16 2021-06-18 国网冀北电力有限公司信息通信分公司 Communication encryption method and system suitable for power Internet of things terminal
CN114244517A (en) * 2021-11-12 2022-03-25 中国南方电网有限责任公司 Data encryption and signature method and device, computer equipment and storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288758A (en) * 2008-05-30 2009-12-10 Hironori Wakayama Device and method for encoding process for establishing perfect secrecy of encoding and secret key by making variable in process information-theoretically indefinite using disposable variable
US8600063B2 (en) 2008-12-05 2013-12-03 Panasonic Electric Works Co., Ltd. Key distribution system
JP2010136199A (en) * 2008-12-05 2010-06-17 Panasonic Electric Works Co Ltd Key distribution system, and key distribution method
JP2015519022A (en) * 2012-05-24 2015-07-06 エニグメディア エセ.エレ.Enigmedia S.L. Method for generating pseudo-random sequence and method for coding or decoding data stream
WO2013174944A1 (en) * 2012-05-24 2013-11-28 Enigmedia Sll Method for generating a pseudorandom sequence, and method for coding or decoding a data stream
CN104380651A (en) * 2012-05-24 2015-02-25 埃尼格传媒公司 Method for generating pseudorandom sequence, and method for coding or decoding data stream
EP2667537A1 (en) * 2012-05-24 2013-11-27 Enigmedia SLL Method for coding and decoding a data stream
US9654289B2 (en) 2012-05-24 2017-05-16 Enigmedia S.L. Method for generating a pseudorandom sequence, and method for coding or decoding a data stream
CN104380651B (en) * 2012-05-24 2018-02-09 埃尼格传媒公司 The method for generating the method for pseudo-random sequence and data stream being encoded or decoded
CN106373082A (en) * 2016-09-23 2017-02-01 中山大学 Cellular automata and chaotic mapping-based digital image encryption method and decryption method thereof
CN112994887A (en) * 2019-12-16 2021-06-18 国网冀北电力有限公司信息通信分公司 Communication encryption method and system suitable for power Internet of things terminal
CN112994887B (en) * 2019-12-16 2023-01-31 国网冀北电力有限公司信息通信分公司 Communication encryption method and system suitable for power Internet of things terminal
CN114244517A (en) * 2021-11-12 2022-03-25 中国南方电网有限责任公司 Data encryption and signature method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US7218733B2 (en) Encryption method, program for encryption, memory medium for storing the program, and encryption apparatus, as well as decryption method and decryption apparatus
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
JP2006141032A (en) Method, device and system for generating anonymous public keys in secure communication system
JPH0918469A (en) Equipment and system for cipher communication and ciphering device
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
Aiswarya et al. Binary RSA encryption algorithm
JP3517663B2 (en) Encryption communication method and encryption communication system
Das et al. An efficient method for text encryption using elliptic curve cryptography
JP2002252610A (en) Encryption device and decryption device, and public key encryption system and public key decryption system
US20020064278A1 (en) High speed RSA public key cryptographic apparatus and method
Huang et al. Fast scalar multiplication for elliptic curve cryptography in sensor networks with hidden generator point
JP3358954B2 (en) Pseudo-random bit string generator and cryptographic communication method using the same
JP3358953B2 (en) Pseudo-random bit string generator and cryptographic communication method using the same
JP2003304237A (en) Method for creating common key, encryption method using the common key, method for managing common key, method for authentifying solid by solid number of terminal, program for executing these methods, and application software including the program
Kumar et al. A comparative analysis of encryption algorithms for better utilization
JP3202544B2 (en) Encryption communication device and encryption device
Özdemir et al. Development of Cryptography since Shannon
JP2003115831A (en) Common key generation method, enciphering method using common key, program therefor, recording medium recording the same program, enciphering device, deciphering method and deciphering device
DE MEL Cryptography Techniques for Software Security
Dhamodharan et al. Multifarious mapping schemes on Elliptic curve cryptography for IoT security
Sone et al. A simple FPGA-based wireless transmitter/receiver convolutional cryptosystem
JP3518671B2 (en) Encryption communication method
JP2000115157A (en) Loss communication method
Ashok et al. An Approach of Cryptosystem using Polynomials and Lucas Numbers
Bressler A Prime Look Into the Field of Cryptography

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513