JP2000244479A - Encryption method and device, and decryption method and device - Google Patents
Encryption method and device, and decryption method and deviceInfo
- Publication number
- JP2000244479A JP2000244479A JP2000057103A JP2000057103A JP2000244479A JP 2000244479 A JP2000244479 A JP 2000244479A JP 2000057103 A JP2000057103 A JP 2000057103A JP 2000057103 A JP2000057103 A JP 2000057103A JP 2000244479 A JP2000244479 A JP 2000244479A
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- algorithm
- structured
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【課題】 簡単な構成でより安全な暗号化を行えるよう
にする。
【解決手段】 例えばFEALやDESによる強い暗号
化手段2と直列に、弱い暗号化手段である構造化鍵手段
1が接続される。構造化鍵手段1は、鍵自体が暗号化を
行う構造とされ、公開されない鍵である。構造化鍵手段
1としては、入出力に特別な関係が存在しないビット転
置を用いるのがより好ましく、この場合、強い暗号化手
段2と構造化鍵手段1の両方を検査する以外に解読法が
無いといえる。入出力のビット数をBとした場合、両方
の検査を行うためには、2B・B!回の演算が必要とな
り、B=64ビットとすると、2B・B!≒10108回の
演算が必要となる。簡単な構成でより強い暗号化を行う
ことができる。
(57) [Summary] [PROBLEMS] To enable more secure encryption with a simple configuration. SOLUTION: A structured key means 1, which is a weak encryption means, is connected in series with a strong encryption means 2 such as FEAL or DES. The structured key means 1 has a structure in which the key itself performs encryption, and is a key that is not disclosed. As the structured key means 1, it is more preferable to use a bit transposition in which there is no special relation between input and output. In this case, a decryption method is used in addition to checking both the strong encryption means 2 and the structured key means 1. No. If you have the number of bits of input and output B, in order to perform both tests, 2 B · B! Operations are required, and if B = 64 bits, 2 B · B! $ 10 Requires 108 calculations. Stronger encryption can be performed with a simple configuration.
Description
【0001】[0001]
【発明の属する技術分野】この発明はコンピュータネッ
トワークシステムで通信されるデータの保護のために用
いられる暗号化方法および装置、ならびに、復号化方法
および装置に関する。[0001] 1. Field of the Invention [0002] The present invention relates to an encryption method and apparatus and a decryption method and apparatus used for protecting data transmitted in a computer network system.
【0002】[0002]
【従来の技術】暗号化技術は、アタッカーにより情報が
盗用或いは漏洩されることを防止するとともに、相互認
証の基で確実に通信し合うことを可能にする。本格的に
到来するであろう大規模分散情報通信ネットワークシス
テムにおいて、情報を保護していくために、このような
暗号化技術の発達とその普及は不可欠である。2. Description of the Related Art Encryption technology prevents information from being stolen or leaked by an attacker, and enables reliable communication based on mutual authentication. In a large-scale distributed information communication network system that will arrive in earnest, the development and spread of such encryption technology is indispensable in order to protect information.
【0003】暗号方式には、大別して慣用鍵方式(共通
鍵方式)と公開鍵方式とがある。慣用鍵方式では、暗号
化鍵と復号化鍵とが共通とされる。公開鍵方式では、暗
号化鍵と復号化鍵とが異なり、暗号化鍵が公開される。[0003] Encryption methods are roughly classified into a common key method (common key method) and a public key method. In the conventional key method, the encryption key and the decryption key are common. In the public key method, the encryption key and the decryption key are different, and the encryption key is made public.
【0004】暗号方式には、種々の方式が提案されてい
る。その中で実用的な符号としては、慣用鍵方式の暗号
化方式においては、DES(Data Encryption Standar
d)方式と、FEAL(Fast Data Encipherment Algoli
sm)方式があり、公開鍵暗号化方式においては、RSA
(Rivest Shamir Adleman)方式がある。[0004] Various encryption systems have been proposed. Among them, a practical code is a DES (Data Encryption Standard) in an encryption method of a conventional key method.
d) Method and FEAL (Fast Data Encipherment Algoli
sm) method, and in public key encryption method, RSA
(Rivest Shamir Adleman) system.
【0005】DES方式やFEAL方式は、強い暗号化
を行うアルゴリズムにより暗号化が行われるため、虱み
潰し以外に解読できないとされいる。このような強い暗
号化方式では、入力される平文と出力される暗号文及び
鍵と出力される暗号文との関係がランダムに結ぶものと
言える。このような関係は、入力される平文をp、鍵を
Kとした時、 f(p,K)=Rand(p,K) と表せる。[0005] In the DES system and the FEAL system, encryption is performed by an algorithm for performing strong encryption. In such a strong encryption method, it can be said that the relationship between the input plaintext and the output ciphertext and the relationship between the key and the output ciphertext are randomly established. Such a relationship can be expressed as f (p, K) = Rand (p, K), where p is a plaintext to be input and K is a key.
【0006】更に、このように強い暗号化方式では、入
力される平文のビット変化高に対する出力される暗号文
のビット変化高及び鍵のビット変化高に対する出力され
る暗号文のビット変化高がランダムであり、 f(Δp,ΔK)=Rand(Δp,ΔK) であるように構成されている。Further, in such a strong encryption method, the bit change height of the output ciphertext with respect to the bit change height of the input plaintext and the bit change height of the output ciphertext with respect to the bit change height of the key are random. And f (Δp, ΔK) = Rand (Δp, ΔK).
【0007】一般に、このような暗号化方式のアルゴリ
ズムは、インボリューション構造を持つ。インボリュー
ション構造は、 c=f(p),p=f-1(c) において、 f=f-1 が成立する構造である。インボリューション構造を持つ
場合には、暗号化と復号化が同様の処理プロセスで行え
る。EX−ORをとるアルゴリズム(mod2の加算を
行うアルゴリズム)は、インボリューション構造の簡単
な例である。In general, such an encryption algorithm has an involution structure. The involution structure is a structure where f = f −1 holds when c = f (p) and p = f −1 (c). In the case of having an involution structure, encryption and decryption can be performed by the same processing process. The algorithm that takes the EX-OR (the algorithm that performs the addition of mod2) is a simple example of the involution structure.
【0008】[0008]
【発明が解決しようとする課題】暗号化方式としては、
上述したように、種々のものが提案されている。そし
て、信頼性の保証とハードウェアの共通化をはかれるた
めに、暗号化方式を標準化することが検討されている。Problems to be solved by the invention are as follows:
As described above, various things have been proposed. In order to ensure reliability and to share hardware, standardization of an encryption method is being studied.
【0009】ところが、超並列処理コンピュータの開発
等、コンピュータ技術の発展により、上述した従来の暗
号化方式では、十分安全であるとは言えなくなってきて
いる。このことが、暗号化方式を標準化していく上での
一つの障害となっている。However, with the development of computer technology, such as the development of a massively parallel processing computer, the above-mentioned conventional encryption system is no longer sufficiently secure. This is one obstacle in standardizing the encryption method.
【0010】つまり、暗号の強さのひとつのバロメータ
として鍵のビット長がある。すなわち、鍵のビット長が
長くなればなるほど、虱み潰しで解読される危険性が少
なくなる。したがって、鍵のビット長を増加していくこ
とで、暗号強度を増加できる。That is, one barometer of the strength of encryption is the key bit length. In other words, the longer the bit length of the key, the lower the risk of being broken by exhaustion. Therefore, the encryption strength can be increased by increasing the bit length of the key.
【0011】ところが、鍵のビット数が増えると、処理
が複雑化して、コストパフォーマンスが悪くなる。適当
な妥協点として、DES方式やFEAL方式では、従
来、ビット長を64ビットとしている。However, when the number of bits of the key increases, the processing becomes complicated and cost performance deteriorates. As an appropriate compromise, the bit length is conventionally 64 bits in the DES system and the FEAL system.
【0012】このようにした場合、例えば、DES方式
では、虱み潰しで暗号を解読するのに、255回の演算が
必要である。FEALでは、虱み潰しで暗号を解読する
のに、264回の演算が必要である。したがって、並列処
理を行わず、1μsで1回の速度で演算を行って解読す
る場合には、虱み潰しで解読を行うのに、DES方式で
は1100年程かかり、FEAL方式では51万年程か
かることになり、DES方式やFEAL方式は、十分安
全な暗号といえる。[0012] In such a case, for example, in the DES method, in order to decrypt the encrypted with lice look crushed, there is a need for operation of 2 55 times. In FEAL, to decrypt the encrypted with lice look crushed, there is a need for operation of 2 64 times. Therefore, in the case of performing the calculation at a speed of 1 μs and performing the decoding at one time without performing the parallel processing, it takes about 1100 years in the DES system and about 510,000 years in the FEAL system to perform the decoding with exhaustion. Thus, the DES method and the FEAL method can be said to be sufficiently secure encryption.
【0013】ところが、近年のコンピータ処理速度の向
上は目覚ましく、106の並列処理で演算を行うことが
実現可能になった場合には、虱み潰しで解読を行うの
に、DES方式では9.6時間程、6.1カ月程で良い
ことになる。[0013] However, the recent improvements in Konpita processing speed is remarkable, when the by carrying out calculation by parallel processing of 106 becomes feasible, to perform decryption with lice seen crushed, the DES scheme 9. About 6 hours or 6.1 months will be good.
【0014】したがって、この発明の目的は、このよう
な超並列型のコンピュータの開発など、将来の演算速度
の向上に備えて、より安全な暗号化を行える暗号化方法
および装置、ならびに、復号化方法および装置を提供す
ることにある。Accordingly, an object of the present invention is to provide an encryption method and apparatus capable of performing more secure encryption in preparation for a future increase in computation speed, such as the development of such a massively parallel computer, and decryption. It is to provide a method and an apparatus.
【0015】[0015]
【課題を解決するための手段】この発明は、入力コード
をx、キーコードをk、任意の入力コードのビット変化
高をΔx、任意のキーコードのビット変化高をΔkとし
たとき、f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
暗号化方法である。According to the present invention, when an input code is x, a key code is k, a bit change height of an arbitrary input code is Δx, and a bit change height of an arbitrary key code is Δk, f = When encrypting the algorithm f such that f- 1 or f- 1 exists and f (x, k) = Rand (x, k) f (Δx, Δk) = Rand (Δx, Δk) Is an encryption method that uses a structured key that is independent of the algorithm key and that itself forms a bit transposition algorithm.
【0016】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う暗号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした暗号化装置で
ある。Further, according to the present invention, the input code is x, the key code is k, the bit change height of any input code is Δx,
When the bit change height of an arbitrary key code is Δk, f
= F -1 or f -1 exists, and the algorithm f is encrypted so as to satisfy f (x, k) = Rand (x, k) f (Δx, Δk) = Rand (Δx, Δk) This is an encryption device in which a processing circuit of an algorithm for performing bit transposition of an independent structured key is arranged in series with the encryption device.
【0017】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
復号化方法である。Further, according to the present invention, the input code is x, the key code is k, the bit change height of any input code is Δx,
When the bit change height of an arbitrary key code is Δk, f
= F -1 or f -1 exists, and the decoding of the algorithm f is performed such that f (x, k) = Rand (x, k) f (Δx, Δk) = Rand (Δx, Δk) This is a decryption method that uses a structured key that is independent of the algorithm key and that itself forms a bit transposition algorithm as the key at that time.
【0018】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う復号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした復号化装置で
ある。Further, according to the present invention, the input code is x, the key code is k, the bit change height of any input code is Δx,
When the bit change height of an arbitrary key code is Δk, f
= F -1 or f -1 exists, and the decoding of the algorithm f is performed such that f (x, k) = Rand (x, k) f (Δx, Δk) = Rand (Δx, Δk) This is a decryption device in which a processing circuit of an algorithm for performing bit transposition of an independent structured key is arranged in series with the decryption device.
【0019】上述したように、この発明では、DES方
式やFEAL方式のように強い暗号化を行うアルゴリズ
ムと直列に、鍵自体が暗号化アルゴリズムの構造化鍵を
付加することにより、暗号化強度が強化される。As described above, according to the present invention, the encryption strength is increased by adding the structured key of the encryption algorithm to the key itself in series with the algorithm that performs strong encryption such as the DES method or the FEAL method. Be strengthened.
【0020】[0020]
【発明の実施の形態】この発明の実施の一形態につい
て、以下の順序に従って説明する。 a.この発明が適用できる暗号化方法 a1.構造化鍵について a2.構造化鍵としてEX−ORを用いた場合の考察 a3.構造化鍵としてビット転置器用いた場合の考察DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described in the following order. a. Encryption method to which the present invention can be applied a1. About structured key a2. Consideration when EX-OR is used as structured key a3. Considerations when using a bit translator as a structured key
【0021】a.この発明が適用できる暗号化方法 a1.構造化鍵について 現代暗号規約において、暗号に対する信用性や安全性を
はかるために、以下のような規約が提案されている 鍵以外の暗号化処理が公開されている 解読者は、鍵以外のすべての情報を知っているとし
て、鍵の虱み潰し解読法又は計算量的安全な方法以外に
解読法が知られていない このような規約を遵守した上で、より強い暗号化を行う
方法を考察することにする。A. Encryption method to which the present invention can be applied a1. Structured key In the modern cryptographic protocol, the following protocol is proposed in order to measure the reliability and security of cryptography. Encryption processing other than key is disclosed. No information is known other than the key exhaustion or computationally secure method.Considering such a protocol, consider a stronger encryption method. I will do it.
【0022】従来の暗号化アルゴリズムでは、鍵が単純
なコードだけである。より強い暗号化を行うために、こ
れに加えて構造化された鍵を用いることが考えられる。
すなわち、DES方式やFEAL方式のように強い暗号
化アルゴリズムと直列に、鍵自体が暗号化を行う構造の
鍵を設けることが考えられる。このように、構造化され
た鍵を用いれば、解読がより困難になると考えられる。In the conventional encryption algorithm, the key is only a simple code. In order to perform stronger encryption, it is conceivable to additionally use a structured key.
That is, it is conceivable to provide a key having a structure in which the key itself performs encryption in series with a strong encryption algorithm such as the DES scheme or the FEAL scheme. The use of a structured key in this way would make decryption more difficult.
【0023】このような構造化鍵は秘密にされる。そし
て、構造化鍵以外の全ての暗号化処理は、現代暗号化規
約に則って公開される。構造化鍵は、記録媒体に記憶さ
せ、秘密とされる関係上、単純な構造であることが望ま
しい。Such a structured key is kept secret. Then, all the encryption processes other than the structured key are disclosed in accordance with the modern encryption protocol. The structured key is desirably a simple structure because it is stored in a recording medium and kept secret.
【0024】図1は、このような構造化鍵を用いた暗号
化の処理を示すものである。図1において、1は構造化
鍵手段、2は暗号化手段である。構造化鍵手段1と暗号
化手段2とが直列に配置される。構造化鍵手段1と暗号
化手段2は、直列の配置であれば、暗号化手段2を前に
配置してもよいし、暗号化手段2の前後に構造化手段1
を配置することも考えられる。FIG. 1 shows an encryption process using such a structured key. In FIG. 1, reference numeral 1 denotes a structured key unit, and 2 denotes an encryption unit. The structured key means 1 and the encryption means 2 are arranged in series. If the structured key means 1 and the encryption means 2 are arranged in series, the encryption means 2 may be arranged before the encryption means 2 or the structured means 1 may be arranged before and after the encryption means 2.
It is also conceivable to arrange
【0025】構造化鍵手段1は、アルゴリズムgによ
り、入力される平文pを暗号化し、中間コードp’を生
成するものである。この構造化鍵1でどのようなアルゴ
リズムで暗号化がなされているかは、秘密とされる。The structured key means 1 is for encrypting the input plaintext p by an algorithm g to generate an intermediate code p '. The algorithm used to encrypt the structured key 1 is kept secret.
【0026】暗号化手段2には、構造化鍵手段1から出
力される中間コードp’が与えられるとともに、鍵Kが
与えられる。暗号化手段2は、中間コードp’を、鍵K
を用いて、アルゴリズムfにより強い暗号化を行い、暗
号文cを生成するものである。この暗号化手段2のアル
ゴリズムは、公開することができる。The encryption means 2 is provided with the intermediate code p 'output from the structured key means 1 and the key K. The encryption means 2 converts the intermediate code p 'into the key K
Is used to perform strong encryption by the algorithm f to generate a ciphertext c. The algorithm of the encryption means 2 can be made public.
【0027】図2は、このような構造化鍵を用いて暗号
化された暗号文を復号する復号化の処理を示すものであ
る。復号化は、図1の示す暗号化の処理に対応してい
る。FIG. 2 shows a decryption process for decrypting a ciphertext encrypted using such a structured key. Decryption corresponds to the encryption process shown in FIG.
【0028】図2において、3は復号化手段、4は構造
化手段である。復号化手段3は、鍵Kを用いて、アルゴ
リズムf-1により暗号文cから中間コードp’を生成す
るものである。構造化鍵手段4には、復号化手段3で復
号された中間コードp’が与えられる。構造化鍵手段4
は、中間コードp’から平文pを生成するものである。
これにより、暗号文cから平文pが解読される。In FIG. 2, reference numeral 3 denotes decoding means, and 4 denotes structuring means. The decryption means 3 uses the key K to generate an intermediate code p 'from the ciphertext c by the algorithm f -1 . The structured key means 4 is provided with the intermediate code p 'decrypted by the decrypting means 3. Structured key means 4
Generates a plaintext p from the intermediate code p ′.
As a result, the plaintext p is decrypted from the ciphertext c.
【0029】ここで、アルゴリズムf及びアルゴリズム
gについて説明する。アルゴリズムfは、強い暗号化を
行うものである。このアルゴリズムfは、以下のような
条件を満たしている。Here, the algorithm f and the algorithm g will be described. The algorithm f performs strong encryption. This algorithm f satisfies the following conditions.
【0030】 f=f-1(インボリューション構造)
又はf-1が存在する。 入力p’、鍵Kとすると、 f(p’,K)=Rand(p’,K) つまり、p’やKに対して出力f(p’,K)がランダ
ムに対応する。 入力のビット変化量をΔp’、鍵のビット変化量を
ΔKとすると、 f(Δp’,ΔK)=Rand(Δp’,ΔK) つまり、Δp’やΔKに対して、出力変化量もランダム
に対応する。 暗号化は、 c=f(p’) で表せ、復号化は、 p’=f-1(c) で表せる。但し、インボリューション構造ならば、p’
=f(c)である。 入力p’や出力cが知られている時、鍵Kの虱み潰
し検査により鍵Kは解読されるがp’又はcの一方が未
知の時、その一方と鍵Kは解読不可能な構造をとる。F = f −1 (involution structure)
Or f -1 is present. Assuming an input p ′ and a key K, f (p ′, K) = Rand (p ′, K) That is, the output f (p ′, K) randomly corresponds to p ′ and K. Assuming that the input bit change amount is Δp ′ and the key bit change amount is ΔK, f (Δp ′, ΔK) = Rand (Δp ′, ΔK) That is, for Δp ′ and ΔK, the output change amount is also random. Corresponding. Encryption can be expressed by c = f (p ′), and decryption can be expressed by p ′ = f −1 (c). However, if it is an involution structure, p '
= F (c). When the input p 'and the output c are known, the key K can be decrypted by exhaustive inspection of the key K, but when either p' or c is unknown, one of the key K and the key K cannot be decrypted. Take.
【0031】このようなアルゴリズムfとしては、DE
S方式やFEAL方式を用いることができる。As such an algorithm f, DE
The S method or the FEAL method can be used.
【0032】構造化鍵手段1で行うアルゴリズムgは、
以下のような構造を持つものである。 g=g-1又はg-1が存在する。 入力pのビット変化高Δpに対して、 g(Δp)≠Rand(Δp) であっても良い。 入力pと出力p’の両方が知られた時、gの構造が
知られても良いが、gの構造やg内の変数が知られない
時、pとp’の一方が知られても、他方を知ることがで
きない。The algorithm g performed by the structured key means 1 is as follows:
It has the following structure. g = g −1 or g −1 is present. For a bit change height Δp of the input p, g (Δp) ≠ Rand (Δp) may be satisfied. When both the input p and the output p ′ are known, the structure of g may be known, but when the structure of g and the variables in g are not known, one of p and p ′ may be known. , Can not know the other.
【0033】アルゴリズムgとしては、きわめて単純な
構造、例えば、EX−OR構造、ビット転置、換字表等
が考えられる。後述するように、構造化鍵として用いる
アルゴリズムgとしては、ビット転置が好ましく、EX
−OR構造では、暗号化を十分強化することはできな
い。As the algorithm g, a very simple structure, for example, an EX-OR structure, a bit transposition, a substitution table, or the like can be considered. As described later, as the algorithm g used as the structured key, bit transposition is preferable.
With the -OR structure, encryption cannot be sufficiently strengthened.
【0034】a2.構造化鍵としてEX−ORを用いた
場合の考察 強い暗号化を行う暗号化処理に対する構造化鍵として、
全くランダムに選ばれた鍵kによりEX−ORをとるア
ルゴリズムを採用した場合について考察する。A2. Consideration when EX-OR is used as a structured key As a structured key for encryption processing for performing strong encryption,
Consider a case in which an algorithm that takes an EX-OR using a key k that is selected at all at random is adopted.
【0035】図3は、構造化鍵のアルゴリズムgとし
て、EX−ORをとる構造とした場合の例を示すもので
ある。図3において、11は構造化鍵手段であり、この
場合には、この構造化鍵手段11は、鍵kと入力pとの
EX−ORをとる回路である。暗号化処理手段12は、
DES方式やFEAL方式のような強い暗号化を行う暗
号化回路である。FIG. 3 shows an example in which the structure of the EX-OR is used as the algorithm g of the structured key. In FIG. 3, reference numeral 11 denotes structured key means. In this case, the structured key means 11 is a circuit that performs an EX-OR of the key k and the input p. The encryption processing means 12
This is an encryption circuit that performs strong encryption such as the DES method or the FEAL method.
【0036】このように、EX−ORを取るアルゴリズ
ムを、強い暗号化方法のアルゴリズムに対する構造化鍵
とした場合の暗号強度について考察していくことにす
る。なお、便宜上f=f-1とみなす。また、以下におい
て、加算記号「+」は、排他論理和を表すものとする。As described above, the encryption strength when the algorithm for taking the EX-OR is used as a structured key for the algorithm of the strong encryption method will be considered. It is assumed that f = f −1 for convenience. In the description below, the addition symbol “+” indicates exclusive OR.
【0037】このような暗号化は、平文をp、EX−O
R回路から出力される中間コードをp’、暗号文をcと
すると、 c=f(p’,K),p’=p+k で示される。また、復号化は、 p=k+p’, p’=f(c、k) であり、ここで、fはランダム関数である。上式をまと
めると、暗号化は、 c=f(p+k,K)=Rand(p+k,K) と表せ、復号化は、 p=k+f(c,K)=k+Rand(c,K) と表せる。In such encryption, the plaintext is p, EX-O
Assuming that the intermediate code output from the R circuit is p ′ and the ciphertext is c, c = f (p ′, K) and p ′ = p + k. Also, the decoding is: p = k + p ′, p ′ = f (c, k), where f is a random function. To summarize the above equations, encryption can be expressed as c = f (p + k, K) = Rand (p + k, K), and decryption can be expressed as p = k + f (c, K) = k + Rand (c, K).
【0038】上式から、以下のことがわかる。すなわ
ち、暗号化手続きは、2つの鍵kとKとのランダム関数
によるものの、復号化手続きは、ひとつの鍵Kのランダ
ム関数によるもののため、復号化の方向では、解読にお
いて、Kの虱み潰しは必要だが、kの虱み潰しを行う必
要はない。The following can be understood from the above equation. In other words, the encryption procedure is based on a random function of two keys k and K, but the decryption procedure is based on a random function of one key K. Is necessary, but k does not have to be exhausted.
【0039】つまり、復号化の方向においては、 f(c,K)+p=k=一定 という関係が成立する。このため、アタッカーは、既知
なるi個のサンプル(c i,pi)を用いて、図4に示す
ように、アルゴリズムfの処理を行う回路13とEX−
ORをとる回路14とからなる構造の処理回路によって
鍵Kを検索できる。すなわち、Kの虱み潰しで、全ての
サンプルi個において出力が一定となった時、その時の
出力(k)とKが鍵として知られる。したがって、この
手法の解読手数は、i・2Bである(B:鍵及び入出力
コードのビット数)。That is, in the direction of decoding, the following relationship holds: f (c, K) + p = k = constant. Because of this, attackers
I samples (c i, Pi) And shown in FIG.
As described above, the circuit 13 for processing the algorithm f and the EX-
OR processing circuit 14
Key K can be searched. In other words, in the exhaustion of K, all
When the output becomes constant in i samples,
The outputs (k) and K are known as keys. So this
The number of decipherers of the method is i · 2B(B: key and input / output
Number of bits in the code).
【0040】関数fは、ランダム関数であるため、出力
(k)が1回一定となった時、その時の出力(k)と鍵
(K)が本物でない確率(誤り率)は、コード数2B個
内のひとつのコードをとる確率2-Bに同等な程低い。つ
まり、i=2でも十分解読可能と言える。Since the function f is a random function, when the output (k) becomes constant once, the probability (error rate) that the output (k) and the key (K) are not real at that time is represented by the number of codes 2 equivalent to enough low probability 2 -B to take one of the code of B within the individual. In other words, it can be said that the decoding can be sufficiently performed even when i = 2.
【0041】以上のような考察結果から、構造化鍵とし
て、EX−ORをとるような構成では、十分に暗号強度
を強化することにはならない。From the above considerations, it is not possible to sufficiently enhance the encryption strength in the configuration in which the EX-OR is used as the structured key.
【0042】a3.構造化鍵としてビット転置器用いた
場合の考察 構造化鍵としてビット転置器を採用した場合について考
察する。ビット転置器は、図5に示すように、入力コー
ドの各ビットをランダムに入れ替えるものである。ビッ
ト転置器のアルゴリズムg(p)は、 g(p)=Rand(p) g(Δp)≠Rand(Δp) g≠g-1 として表せる。A3. Consideration when a bit translator is used as a structured key Let us consider a case where a bit translator is used as a structured key. As shown in FIG. 5, the bit translator randomly replaces each bit of the input code. The algorithm g (p) of the bit transpose can be expressed as g (p) = Rand (p) g (Δp) ≠ Rand (Δp) g ≠ g −1 .
【0043】図6は、構造化鍵としてビット転置器を用
いた場合の暗号化処理を示し、図7は、その復号化処理
を示している。図6に示す暗号化処理において、21は
構造化鍵手段としてのビット転置器である。ビット転置
器21により、アルゴリズムgにより、入力のビットが
転置される。22は暗号化手段である。暗号化手段22
は、アルゴリズムfにより、強い暗号化を行う。このア
ルゴリズムとしては、DES方式やFEAL方式が用い
られる。FIG. 6 shows an encryption process when a bit translator is used as a structured key, and FIG. 7 shows a decryption process. In the encryption processing shown in FIG. 6, reference numeral 21 denotes a bit translator as structured key means. The bit transposition unit 21 transposes the input bits by the algorithm g. 22 is an encryption means. Encryption means 22
Performs strong encryption by the algorithm f. As this algorithm, the DES method or the FEAL method is used.
【0044】また、図7に示す復号化処理において、2
3は復号化手段であり、復号化手段23でアルゴリズム
fにより、暗号文cから中間コードp’が生成される。
この中間コードp’が逆ビット転置器24に供給され、
逆ビット転置器24でアルゴリズムg-1により、逆ビッ
ト変換される。In the decoding process shown in FIG.
Reference numeral 3 denotes a decryption unit. The decryption unit 23 generates an intermediate code p ′ from the cipher text c by the algorithm f.
This intermediate code p 'is supplied to the inverse bit transposition unit 24,
The inverse bit translator 24 performs an inverse bit conversion by the algorithm g -1 .
【0045】この場合の暗号化は、暗号化手段22のア
ルゴリズムをf、ビット転置器21のアルゴリズムを
g、入力される平文をp、中間コードをp’、暗号文を
cとすると、 c=f(p’,k)=f(g(p),K) として表せる。また、復号化は、 p=g-1(p’)=g-1(f(c、K)) として表せる。In this case, the encryption of the encryption means 22 is f, the algorithm of the bit translator 21 is g, the input plaintext is p, the intermediate code is p ', and the ciphertext is c. f (p ', k) = f (g (p), K). The decoding can be expressed as p = g -1 (p ') = g -1 (f (c, K)).
【0046】fで示されるアルゴリズムは、強い暗号化
を行っているので、入力変数のビット変化高(ΔpやΔ
K及びΔc)に対して、出力がランダムに対応付けられ
るため、ビット変化高に対する解読攻撃に対しては、ア
ルゴリズムfの鍵Kを虱み潰しにより求め、アルゴリズ
ムgの結線を虱み潰しにより求める以外に解読できな
い。また、アルゴリズムgは、その入力と出力に特別な
関係が存在しないので、結局、ビット変化高の攻撃以外
の攻撃に対しても、アルゴリズムfとアルゴリズムgの
両方の検査以外に解読法はないと言える。Since the algorithm represented by f performs strong encryption, the bit change height (Δp or Δ
Since K and Δc) are randomly associated with each other, the key K of the algorithm f is determined by exhaustiveness and the connection of the algorithm g is determined by exhaustiveness against a decryption attack against the bit change height. Can't decipher it except Further, since the algorithm g has no special relation between its input and output, there is no decryption method other than the inspection of both the algorithm f and the algorithm g for attacks other than the attack with a high bit change after all. I can say.
【0047】入力及び出力のビット数をBとすると、ア
ルゴリズムfの鍵Kを虱み潰しで捜す場合、2B回の演
算が必要であり、アルゴリズムgの結線の虱み潰し回数
はB!であるから、このようなアルゴリズムで暗号化を
行った場合、虱み潰しで解読するのに、両方で2B・B
!回の演算が必要になる。B=64ビットとすると、 B!≒1089 2B・B!≒10108 となる。この場合には、1回の処理速度を1μsとし
て、106の並列処理を行ったとしても、虱み潰しで解
読を行うのに、約1089年必要になる。Assuming that the number of bits of input and output is B, when the key K of the algorithm f is exhaustively searched, 2 B operations are required, and the number of exhaustions of the connection of the algorithm g is B! Since it is, in the case of performing the encryption in such an algorithm, to be decoded by the lice look crushed, both at 2 B · B
! Operations are required. If B = 64 bits, B! ≒ 10 89 2B · B! ≒ 10 108 In this case, even if the processing speed is set to 1 μs and the parallel processing of 10 6 is performed, it takes about 10 89 years to perform the decoding with exhaustion.
【0048】図8は、このように構造化鍵を用いて暗号
強度を強化して通信を行う一例の構成を示す。図8にお
いて、通信を行うコンピュータシステム31には、構造
化鍵手段32及びその構造化鍵手段32を管理するため
の鍵管理と、暗号/復号器の鍵管理を行う鍵管理手段3
3が設けられている。この構造化鍵手段32及び鍵管理
手段33は、例えばソフトウェアで処理される。暗号/
復号器35及びモデム36は、コントロールライン37
を介してコンピュータシステム31と結ばれている。FIG. 8 shows an example of a configuration in which communication is performed by strengthening the encryption strength using the structured key. In FIG. 8, a computer system 31 that performs communication includes a structured key unit 32, a key management for managing the structured key unit 32, and a key management unit 3 for performing key management of an encryption / decryption device.
3 are provided. The structured key means 32 and the key management means 33 are processed by software, for example. Encryption /
The decoder 35 and the modem 36 are connected to a control line 37.
Through a computer system 31.
【0049】コンピュータシステム31から回線34を
介してデータを出力する場合には、コンピュータシステ
ム31からのデータがこの構造化鍵手段32のアルゴリ
ズムgにより、中間コードに変換される。この中間コー
ドが暗号/復号器35に供給される。そして、暗号/復
号器35により、アルゴリズムfにより暗号化され、こ
の暗号化されたデータがモデム36を介して回線34に
出力される。When data is output from the computer system 31 via the line 34, the data from the computer system 31 is converted into an intermediate code by the algorithm g of the structured key means 32. This intermediate code is supplied to the encryption / decryption unit 35. The data is encrypted by the encryption / decryption unit 35 by the algorithm f, and the encrypted data is output to the line 34 via the modem 36.
【0050】回線34を介して伝えられてきたデータを
コンピュータシステム31で受信する場合には、回線3
4を介して伝えられてきたデータがモデム36を介して
暗号/復号器35に供給される。暗号/復号器35で、
アルゴリズムfにより送られてきたデータが復号され、
中間コードが生成される。この中間コードがコンピュー
タシステム31の構造化鍵手段32に供給される。構造
化鍵手段32で中間コードからデータが復号される。When the data transmitted via the line 34 is received by the computer system 31, the line 3
4 is supplied to the encryption / decryption unit 35 via the modem 36. In the encryption / decryption unit 35,
The data sent by the algorithm f is decrypted,
An intermediate code is generated. This intermediate code is supplied to the structured key means 32 of the computer system 31. The structured key means 32 decrypts the data from the intermediate code.
【0051】[0051]
【発明の効果】この発明によれば、DES方式やFEA
L方式のように強い暗号化を行うアルゴリズムと直列
に、鍵自体が暗号化アルゴリズムの構造化鍵を付加する
ことにより、暗号化強度を強化でき、データの安全性を
高めることができる。According to the present invention, the DES system and the FEA
By adding the structured key of the encryption algorithm to the key itself in series with the algorithm that performs strong encryption like the L system, the encryption strength can be enhanced and the data security can be increased.
【図1】構造化鍵を用いた暗号化の説明に用いるブロッ
ク図である。FIG. 1 is a block diagram used to explain encryption using a structured key.
【図2】構造化鍵を用いた暗号の復号化の説明に用いる
ブロック図である。FIG. 2 is a block diagram used for explaining encryption decryption using a structured key.
【図3】構造化鍵としてEX−ORを用いた場合の説明
に用いるブロック図である。FIG. 3 is a block diagram used for description when an EX-OR is used as a structured key.
【図4】構造化鍵としてEX−ORを用いた場合の解読
の説明に用いるブロック図である。FIG. 4 is a block diagram used to explain decryption when an EX-OR is used as a structured key.
【図5】ビット転置器の説明に用いる略線図である。FIG. 5 is a schematic diagram used for describing a bit translator.
【図6】構造化鍵としてビット転置器を用いた場合の暗
号化処理の説明に用いるブロック図である。FIG. 6 is a block diagram used to explain an encryption process when a bit translator is used as a structured key.
【図7】構造化鍵としてビット転置器を用いた場合の復
号化処理の説明に用いるブロック図である。FIG. 7 is a block diagram used for describing a decoding process when a bit translator is used as a structured key.
【図8】構造化鍵を用いて暗号/復号を行うような一例
の構成を示すブロック図である。FIG. 8 is a block diagram showing an example configuration in which encryption / decryption is performed using a structured key.
1・・・構造化鍵手段、2・・・暗号化手段、3・・・
復号化手段、4・・・構造化鍵手段、11・・・構造化
鍵手段としてのEX−OR回路、14・・・EX−OR
回路、21・・・ビット転置器、24・・・逆ビット転
置器1 ... structured key means, 2 ... encryption means, 3 ...
Decryption means, 4 ... structured key means, 11 ... EX-OR circuit as structured key means, 14 ... EX-OR
Circuit, 21: bit transposition, 24: reverse bit transposition
Claims (4)
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う際の鍵
として、上記アルゴリズムの鍵と独立で且つ鍵自体がビ
ット転置のアルゴリズムをなす構造化鍵を用いるように
した暗号化方法。When an input code is x, a key code is k, a bit change height of an arbitrary input code is Δx, and a bit change height of an arbitrary key code is Δk, f = f −1 or f −1 is obtained. The key of the above algorithm exists as a key at the time of encrypting the algorithm f such that f (x, k) = Rand (x, k) and f (Δx, Δk) = Rand (Δx, Δk). And an encryption method using a structured key independent of the key itself and forming a bit transposition algorithm.
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う暗号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした暗号化装置。2. When an input code is x, a key code is k, a bit change height of an arbitrary input code is Δx, and a bit change height of an arbitrary key code is Δk, f = f −1 or f −1 is obtained. Exists, and is independent in series with an encryption device that performs encryption of the algorithm f such that f (x, k) = Rand (x, k) and f (Δx, Δk) = Rand (Δx, Δk). An encryption device in which a processing circuit of an algorithm for performing bit transposition of a structured key is arranged.
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う際の鍵
として、上記アルゴリズムの鍵と独立で且つ鍵自体がビ
ット転置のアルゴリズムをなす構造化鍵を用いるように
した復号化方法。3. When an input code is x, a key code is k, a bit change height of an arbitrary input code is Δx, and a bit change height of an arbitrary key code is Δk, f = f −1 or f −1 is obtained. Exists, and f (x, k) = Rand (x, k) The key of the above algorithm is used as a key when decoding the algorithm f so as to satisfy f (Δx, Δk) = Rand (Δx, Δk). And a decryption method using a structured key in which the key itself forms a bit transposition algorithm.
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う復号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした復号化装置。4. When an input code is x, a key code is k, a bit change height of an arbitrary input code is Δx, and a bit change height of an arbitrary key code is Δk, f = f −1 or f −1 is obtained. Exists, and is independent in series with a decoding device that decodes the algorithm f so as to satisfy f (x, k) = Rand (x, k) f (Δx, Δk) = Rand (Δx, Δk) A decryption device in which a processing circuit of an algorithm for transposing a bit of a structured key is arranged.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000057103A JP2000244479A (en) | 2000-01-01 | 2000-03-02 | Encryption method and device, and decryption method and device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000057103A JP2000244479A (en) | 2000-01-01 | 2000-03-02 | Encryption method and device, and decryption method and device |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18378388A Division JP3164347B2 (en) | 1988-07-23 | 1988-07-23 | IC tag |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000244479A true JP2000244479A (en) | 2000-09-08 |
Family
ID=18577954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000057103A Pending JP2000244479A (en) | 2000-01-01 | 2000-03-02 | Encryption method and device, and decryption method and device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000244479A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008516502A (en) * | 2004-10-07 | 2008-05-15 | アクサルト・エス・アー | Method and apparatus for automatically generating a cryptographic set of instructions and code generation |
-
2000
- 2000-03-02 JP JP2000057103A patent/JP2000244479A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008516502A (en) * | 2004-10-07 | 2008-05-15 | アクサルト・エス・アー | Method and apparatus for automatically generating a cryptographic set of instructions and code generation |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4459703B2 (en) | Secure communication with keyboard or related devices | |
| CN101291325B (en) | Method for encryption for information and decryption method for information | |
| US8300828B2 (en) | System and method for a derivation function for key per page | |
| US20210266175A1 (en) | Device for data encryption and integrity | |
| US6996233B2 (en) | System and method for encrypting and verifying messages using three-phase encryption | |
| JPH0227389A (en) | Enciphering method and enciphering device/decoding device using enciphering method concerned | |
| US7894608B2 (en) | Secure approach to send data from one system to another | |
| Wu | The misuse of RC4 in Microsoft Word and Excel | |
| Sunday et al. | An efficient data protection for cloud storage through encryption | |
| US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
| KR20080025121A (en) | Generate secret key from asymmetric private key | |
| Kalka et al. | A comprehensive review of tlsnotary protocol | |
| WO2021245931A1 (en) | Concealed information processing device, encryption device, encryption method, and encryption program | |
| JPH0946332A (en) | Communication system for communication statement enciphered by rsa procedure | |
| CN117221878B (en) | A method and device for information security management based on wireless network equipment | |
| JP2000004223A (en) | Encryption / authentication system | |
| CN117375836A (en) | Encryption and decryption method and system for long text segment based on RSA encryption algorithm | |
| Kaur et al. | Cryptography in cloud computing | |
| JP2000244479A (en) | Encryption method and device, and decryption method and device | |
| Timilsina et al. | Analysis of Hybrid Cryptosystem Developed Using Blowfish and ECC with Different Key Size | |
| JP7700960B2 (en) | Information processing device, method and program | |
| JP3164347B2 (en) | IC tag | |
| JP2015082077A (en) | ENCRYPTION DEVICE, CONTROL METHOD, AND PROGRAM | |
| Mattsson | Collision-Based Attacks on Block Cipher Modes-Exploiting Collisions and Their Absence | |
| Rahmani | Cryptographic algorithms and protocols |