JP2010134247A - Common key block cipher evaluation device, common key block cipher evaluation method, and program - Google Patents

Common key block cipher evaluation device, common key block cipher evaluation method, and program Download PDF

Info

Publication number
JP2010134247A
JP2010134247A JP2008310954A JP2008310954A JP2010134247A JP 2010134247 A JP2010134247 A JP 2010134247A JP 2008310954 A JP2008310954 A JP 2008310954A JP 2008310954 A JP2008310954 A JP 2008310954A JP 2010134247 A JP2010134247 A JP 2010134247A
Authority
JP
Japan
Prior art keywords
state
function
data
balance
balance state
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
JP2008310954A
Other languages
Japanese (ja)
Inventor
Tomoyasu Suzaki
智保 洲崎
Yukiyasu Sumio
幸保 角尾
Hiroyasu Kubo
博靖 久保
Maki Shige
真紀 茂
Teruo Saito
照夫 齊藤
Tsuyoshi Kawabata
剛嗣 川幡
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.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Software Hokuriku Ltd
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 NEC Corp, NEC Software Hokuriku Ltd filed Critical NEC Corp
Priority to JP2008310954A priority Critical patent/JP2010134247A/en
Publication of JP2010134247A publication Critical patent/JP2010134247A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve a problem of conventional saturation characteristics search: precise evaluation cannot be carried out since an output state may be balanced depending on the structure of a nonlinear function and an input state though the output state is treated to be unknown when a balance state is inputted to the nonlinear function. <P>SOLUTION: The number of times all the data pass through a function F is examined with consideration given to the structure of the function F of an evaluated encipherment algorithm. If the data are exclusive OR between data all passing through the function F only once, it is determined whether a special balance state is established or not from the structure of the function F. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、共通鍵ブロック暗号に対する解読法である飽和攻撃で利用する飽和特性の探索を行う共通鍵ブロック暗号評価装置、共通鍵ブロック暗号評価方法及びプログラムに関する。   The present invention relates to a common key block cipher evaluation apparatus, a common key block cipher evaluation method, and a program for searching for saturation characteristics used in a saturation attack that is a decryption method for a common key block cipher.

共通鍵ブロック暗号の解読法の一つに飽和攻撃(Saturation attacks)がある。飽和攻撃は、選択平文攻撃に分類される。飽和攻撃が最初に提案され、適用された暗号は、Daemenらによって提案されたブロック暗号SQUAREであった。提案された当時は、SQUARE攻撃と呼ばれていたが、近年は飽和攻撃と呼ばれている。   One of the cryptanalysis methods for common key block ciphers is saturation attacks. Saturation attacks are classified as selected plaintext attacks. A saturation attack was first proposed and the cipher applied was the block cipher SQUARE proposed by Daemen et al. At the time it was proposed, it was called a SQUARE attack, but in recent years it has been called a saturation attack.

まず、飽和攻撃の前提知識として、全単射について説明する。   First, bijection will be explained as a premise of saturation attacks.

図1に示すように、f:A→Bという写像があったとき、集合Aの任意の元が集合Bの任意の元と一対一に定義される写像を全単射という。   As shown in FIG. 1, when there is a mapping f: A → B, a mapping in which an arbitrary element of the set A is defined as one-to-one with an arbitrary element of the set B is called bijection.

関数fを、nビット入出力の全単射な関数としたとき、入力値と出力値はそれぞれ、0〜2n−1のいずれかとなる。 When the function f is a bijective function with n-bit input / output, the input value and the output value are each 0-2 n- 1.

ここで、0〜2n−1の全ての値のビット毎の排他的論理和(以降、XORと記述し、“+"の記号で表記する)による総和は、ゼロになるという特性がある。 Here, there is a characteristic that the sum of all the values from 0 to 2 n −1 by bitwise exclusive OR (hereinafter referred to as XOR and expressed by the symbol “+”) becomes zero.

例えばn=2の場合、0〜22−1(=3)となり、ビットで表現すると、00(0)、01(1)、10(2)、11(3)となる。 For example, when n = 2, 0 to 2 2 −1 (= 3), and when expressed in bits, 00 (0), 01 (1), 10 (2), and 11 (3).

右側のビット位置をビット0とすると、ビット0の総和は、0+1+0+1=0、ビット1の総和は、0+0+1+1=0となる。   If the bit position on the right side is bit 0, the sum of bit 0 is 0 + 1 + 0 + 1 = 0, and the sum of bit 1 is 0 + 0 + 1 + 1 = 0.

この特性は、n(n>1)の値に依らず保たれる。以降、総和がゼロになることを“バランスする"、そのような状態を“バランス状態”という。   This characteristic is maintained regardless of the value of n (n> 1). Hereinafter, when the sum is zero, it is “balanced”, and such a state is called “balanced state”.

バランス状態には以下の4つの種類がある。   There are the following four types of balance states.

(1).全通りの値が1回ずつ出現
前述したように、nビット幅で2n種類の値が1回ずつ出現している状態である。
(1). All values appear once each As described above, 2 n types of values having an n-bit width appear once.

(2).一部の値、または全通りの値が偶数回ずつ出現
同じ値どうしのXORはゼロであるため、偶数個の同じ値をXORしてもバランスする。どのような値が出ていようとも値ごとの総和はゼロとなるので、全体でもゼロとなりバランスする。以降、これを“偶数バランス"と表現する。
(2). Some or all of the values appear even times. Since the XOR between the same values is zero, even if the same number of the same values is XORed, the values are balanced. No matter what value is given, the sum for each value is zero, so the whole is zero and balanced. Hereinafter, this is expressed as “even balance”.

(3).全通りの値が全て奇数回ずつ出現
奇数回は(偶数回+1回)であるため、全通りの値が出現していれば(全通りの値が偶数回+全通りの値が1回)という状態といえるので、これもバランスする。以降、これを“奇数バランス"と表現する。
(3). All street values appear odd times Every odd number is (even times + 1 time), so if all street values appear (all street values are even times + all street values are 1 time) This is also balanced. Hereinafter, this is expressed as “odd balance”.

(4).混合状態
偶数回と奇数回が入り混じったような、複雑なバランス状態である。以降、これを“混合バランス"と表現する。
(4). Mixed state A complex balance state in which even and odd times are mixed. Hereinafter, this is expressed as “mixed balance”.

これら4つとは別に、一種類の値のみが偶数回出現していても総和はバランスするが、これは“定数"として区別する。   Apart from these four, even if only one type of value appears even number of times, the sum is balanced, but this is distinguished as “constant”.

上記(1)〜(3)の3つのバランス状態は、全単射な写像を何回繰り返してもバランス状態は保たれるが、混合バランスは値の絶妙な組み合わせでバランスしているので、次に全単射な写像による変換が行われるとバランス状態が保たれる保証はない。   In the three balance states (1) to (3), the balance state is maintained no matter how many times the bijective mapping is repeated, but the mixed balance is balanced by an exquisite combination of values. There is no guarantee that the balance will be maintained if a bijective transformation is performed.

次に、飽和攻撃の手順を簡単に説明する。   Next, the procedure of the saturation attack will be briefly described.

Rラウンドで構成される共通鍵ブロック暗号があり、いくらかの平文を与えたときに、R−1ラウンドの出力がバランスする特性があったとする。   Suppose that there is a common key block cipher composed of R rounds, and there is a characteristic that the output of the R-1 round balances when some plaintext is given.

このとき、第Rラウンドの鍵を仮定し、得られている暗号文全てについて遡り、第R−1ラウンドの出力データを得る。   At this time, assuming an R-round key, all the ciphertexts obtained are traced to obtain output data of the (R-1) -th round.

遡ったデータの総和を計算し、バランスしなければ鍵の仮定が誤っていたとして正解の鍵候補から棄却できる。バランスした鍵が正解の鍵候補となる。候補が一つになればそれが正しい鍵と判断する。   The sum of the retroactive data is calculated, and if there is no balance, it can be rejected from the correct key candidates as the key assumption is incorrect. The balanced key is the correct key candidate. If there is one candidate, it is judged as the correct key.

このように飽和攻撃では、バランス状態が何ラウンド後まで存在するかが解読可能となるラウンド数に影響するため、バランス状態を正しく評価する必要がある。   As described above, in the saturation attack, it is necessary to correctly evaluate the balance state because it affects the number of rounds in which the balance state can be deciphered.

図2は、共通鍵ブロック暗号の一例である。入力データをx0〜x3の4つに分割して処理を行う一般化Feistel構造である。 FIG. 2 is an example of a common key block cipher. The input data is generalized Feistel structure that performs a process divided into four x 0 ~x 3.

1ラウンドあたり、4つのデータのうちの2つが関数Fで変換され、残りの2つのデータにそれぞれXORされる。図中の+記号を丸で囲った記号は、XORを表す。   In one round, two of the four data are converted by the function F, and XORed to the remaining two data. The symbol in which the + symbol is circled in the figure represents XOR.

各データはそれぞれmビットとする。関数F0と関数F1はmビットのデータと鍵データとの攪拌を行う。入力されたmビットのデータに対して、鍵データkeyがXORされる。 Each data has m bits. The functions F 0 and F 1 mix the m-bit data and the key data. The key data key is XORed with respect to the input m-bit data.

0とS1はそれぞれ一般的にS−boxと呼ばれる非線形変換である。それぞれの入出力データサイズは、m/2ビットとなる。 S 0 and S 1 are non-linear transformations generally called S-boxes. Each input / output data size is m / 2 bits.

0とM1はそれぞれ線形変換である。M0を例として説明すると、以下のような式で表される変換である。 M 0 and M 1 are linear transformations, respectively. Taking M 0 as an example, the conversion is represented by the following equation.

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

ここで行われる演算は有限体上のものであり、結果が変数のサイズより大きくなることはない。ここでα0はS0の出力、α1はS1の出力である。β0とβ1を連結した値がM0の出力、つまり関数F0の出力である。 The operation performed here is on a finite field, and the result will never be larger than the size of the variable. Here, α 0 is the output of S 0 and α 1 is the output of S 1 . The value obtained by connecting β 0 and β 1 is the output of M 0 , that is, the output of the function F 0 .

このように、S−boxと拡散層によって構成されている構造をSP型と呼ぶことにする。   Thus, the structure constituted by the S-box and the diffusion layer will be referred to as an SP type.

なお、以降の説明では、鍵データの値は状態遷移には影響しないので、図を簡単にするために関数Fに入力される鍵データは省略してある。   In the following description, since the value of the key data does not affect the state transition, the key data input to the function F is omitted for the sake of simplicity.

図中の記号“A"は全通りの値が現れることを、記号“B"はバランス状態であることを、記号“C"は定数であることを、そして記号“U"は状態が不明であることを表す。なお、Bがどのような状態によって構成されているかはここでは区別していない。   The symbol “A” in the figure indicates that all values appear, the symbol “B” indicates a balanced state, the symbol “C” indicates a constant, and the symbol “U” indicates that the state is unknown. Represents something. Note that the state in which B is configured is not distinguished here.

状態は、関数Fを通過したり、XORされたりすると変化する。状態遷移は、図3に示すような表で表すことができる。   The state changes when the function F is passed or XORed. The state transition can be represented by a table as shown in FIG.

入力のAは0〜2m−1までの2m通りのデータであり、Cは任意の定数である。つまり、入力の{C、A、C、C}は2m通りのデータの集合を意味する。 A input is data 2 m as up to 0 to 2 m -1, C is an arbitrary constant. That is, the input {C, A, C, C} means a set of 2 m data sets.

第4ラウンドの出力データ32は、AとAのXORであり、その結果はBとなる。関数F0と関数F1では、鍵データが作用するため、全数の値の出現順序は不明である。すなわち、Bがどのバランス状態にあるのかは知ることができない。 The output data 32 of the fourth round is XOR of A and A, and the result is B. In the function F 0 and the function F 1 , the key data acts, so the order of appearance of all values is unknown. That is, it is impossible to know which balance state B has.

従って、これまではBが関数Fを通過すると、状態はUとして評価を行っていた。非特許文献1に記載される飽和攻撃評価でもそのように評価されている。
Sony Corporation、The 128-bit Blockcipher CLEFIA Security and Performance Evaluations Revision 1.0、インターネット<URL:http://www.sony.co.jp/Products/clefia/technical/data/clefia-eval-1.0.pdf>
Therefore, until now, when B passes the function F, the state is evaluated as U. The saturation attack evaluation described in Non-Patent Document 1 is also evaluated as such.
Sony Corporation, The 128-bit Blockcipher CLEFIA Security and Performance Evaluations Revision 1.0, Internet <URL: http://www.sony.co.jp/Products/clefia/technical/data/clefia-eval-1.0.pdf>

しかしながら、従来における飽和特性探索法では、バランス状態の構成を区別できないため、バランス状態が非線形変換を通過すると、その出力の状態は不明として扱うしかなかった。   However, in the conventional saturation characteristic search method, since the configuration of the balance state cannot be distinguished, if the balance state passes the nonlinear transformation, the output state has to be treated as unknown.

不明な状態は、飽和攻撃には利用できない特性なので、バランス状態を不明として扱うことがあれば、評価として不十分ということになる。   Since the unknown state is a characteristic that cannot be used for the saturation attack, if the balance state is treated as unknown, the evaluation is insufficient.

そこで本発明は、上記問題点に鑑みてなされたもので、飽和攻撃に対する評価指標である飽和特性の探索法について、関数Fを通過してもバランス状態が保持されるバランス状態を探索できる共通鍵ブロック暗号評価装置を提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and a common key that can search for a balance state in which the balance state is maintained even if it passes through the function F with respect to a saturation characteristic search method that is an evaluation index for a saturation attack. An object of the present invention is to provide a block cipher evaluation device.

上記課題を解決するため、本発明における共通鍵ブロック暗号評価装置は、データの分割数pと、データサイズqと、が2p≧qを満たすか否かを判定する関数タイプ判定手段と、入力状態を飽和特性の初期状態として、関係式を用いてラウンド処理後の飽和特性を計算する状態遷移計算手段と、を有し、状態遷移計算手段は、関係式に関数の項を含むと、データの全数が関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、関数タイプ判定手段による判定結果を参照して特殊なバランス状態となる構造であるか否かを判定することを特徴とする。   In order to solve the above-described problem, the common key block cipher evaluation apparatus according to the present invention includes a function type determination unit that determines whether or not the data division number p and the data size q satisfy 2p ≧ q, and an input state And a state transition calculation means for calculating the saturation characteristics after round processing using a relational expression, and the state transition calculation means includes a function term in the relational expression, When the balance state is calculated with reference to the state transition table that associates the number of times that all passed the function and the balance state, and it is determined that there is a possibility of a special balance state, the function type determination means It is characterized by referring to the determination result to determine whether or not the structure has a special balance state.

また、本発明における共通鍵ブロック暗号評価方法は、データの分割数pと、データサイズqと、が2p≧qを満たすか否かを判定する関数タイプ判定ステップと、関係式に関数の項を含むと、データの全数が関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、関数タイプ判定ステップによる判定結果を参照して特殊なバランス状態となる構造であるか否かを判定する状態遷移計算ステップと、を有することを特徴とする。   The common key block cipher evaluation method according to the present invention includes a function type determination step for determining whether or not the data division number p and the data size q satisfy 2p ≧ q, and a function term in the relational expression. Including, when the balance state is calculated with reference to the state transition table that associates the total number of data passed through the function with the balance state, and it is determined that there is a possibility of a special balance state, A state transition calculation step for determining whether or not the structure is in a special balance state with reference to the determination result in the function type determination step.

また、本発明におけるプログラムは、データの分割数pと、データサイズqと、が2p≧qを満たすか否かを判定する関数タイプ判定処理と、関係式に関数の項を含むと、データの全数が関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、関数タイプ判定処理による判定結果を参照して特殊なバランス状態となる構造であるか否かを判定する状態遷移計算処理と、をコンピュータに実行させることを特徴とする。   Further, the program according to the present invention includes a function type determination process for determining whether or not the data division number p and the data size q satisfy 2p ≧ q, and the relational expression includes a function term. When the balance state is calculated with reference to the state transition table that associates the number of times that all passed the function and the balance state, and it is determined that there is a possibility of a special balance state, the function type determination process A state transition calculation process for determining whether the structure is in a special balance state with reference to the determination result is executed by a computer.

本発明により、評価を行う暗号アルゴリズムの関数Fの構造を考慮し、入力が関数Fを通過する回数を調べることによって、これまで検出することができなかった特殊なバランス状態を検出することができるようになる。また、特殊なバランス状態を検出することができるようになることによって、飽和攻撃に対する暗号アルゴリズムの安全性をより厳密に評価できるようになる。   According to the present invention, by considering the structure of the function F of the cryptographic algorithm to be evaluated and examining the number of times the input passes through the function F, it is possible to detect a special balance state that could not be detected so far. It becomes like this. In addition, since the special balance state can be detected, the security of the cryptographic algorithm against the saturation attack can be more strictly evaluated.

まず、関数Fにバランス状態が入力されてもその出力がバランス状態となる入力条件を示す。   First, an input condition in which the balance state is input to the function F and the output is in the balance state is shown.

図2を例に説明すると、入力x1にA、その他をCとしたときに、第5ラウンドの関数F1の入力となるデータ32が後述する“特殊なバランス状態"のとき、第5ラウンドの関数F1の出力データ33がバランスする。 Referring to FIG. 2 as an example, when the input x 1 is A and the others are C, the data 32 as the input of the function F 1 in the fifth round is in the “special balance state” described later, and the fifth round The output data 33 of the function F 1 is balanced.

Cは状態に影響を与えないので省略すると、データ32は、関数F030と関数F131の出力をXORしたものといえるので、図4のように書き直すことができる。 If C is omitted because it does not affect the state, the data 32 can be rewritten as shown in FIG. 4 since it can be said that the output of the functions F 0 30 and F 1 31 is XORed.

データ32をyとすると、yはx1の式で表すことが出来る。xとyは関数F0と関数F1の内部処理に合わせて、それぞれ、x10とx11、y0とy1に分割するとy0とy1は次式で表現できる。 If the data 32 and y, y can be expressed by equation x 1. x and y in accordance with the internal processing of the function F 0 and functions F 1, respectively, y 0 and y 1 when divided into x 10 and x 11, y 0 and y 1 can be expressed by the following equation.

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

数3を項の種類ごとにまとめて記述すると、次式のように書き換えることが出来る。ここで、G0とG1は非線形変換を意味する。 When Equation 3 is collectively described for each type of term, it can be rewritten as the following equation. Here, G 0 and G 1 mean non-linear transformation.

Figure 2010134247
Figure 2010134247

このように、入力の各項が独立に変換されていることがわかる。このような状態において、G0とG1がバランスし、且つ、式における項の種類数をp、項のデータ幅をqビットとしたとき、次式が成り立つならば、y0は偶数バランス、もしくは奇数バランスのいずれかとなる。 Thus, it can be seen that each term of the input is converted independently. In such a state, when G 0 and G 1 are balanced, the number of types of terms in the equation is p, and the data width of the terms is q bits, y 0 is an even balance if the following equation holds: Or it becomes one of odd balance.

Figure 2010134247
Figure 2010134247

数5をみると、項の種類はx10とx11の2種類なので、種類数pは2となる。例えば、データ幅qが4(=2・2)ビット以下ならば、数6は成り立つ。5ビット以上であれば成り立たないので、混合バランスとなる。 Looking at the number 5, the type of term because two x 10 and x 11, the number of kinds p is 2. For example, if the data width q is 4 (= 2 · 2) bits or less, Equation 6 holds. Since it does not hold if it is 5 bits or more, it becomes a mixing balance.

数5と数6の条件により、y0が偶数バランスか奇数バランスのどちらかになることを図4を例に説明する。なお、y1も同様に説明できる。 The case where y 0 is either an even balance or an odd balance under the conditions of Equations 5 and 6 will be described with reference to FIG. It should be noted that y 1 can be similarly explained.

ここでは、x1のサイズmを8ビットとして説明することとするので、p=2、q=4の場合である。これは数6を満たすので、偶数バランス、または奇数バランスのどちらかとなる。 Here, since the description will be made assuming that the size m of x 1 is 8 bits, this is the case where p = 2 and q = 4. Since this satisfies Expression 6, either the even balance or the odd balance is obtained.

関数F0と関数F1の入力となるx1には全数が与えられるので、0〜255までの256(=28)通りデータが与えられる。 Since the x 1 as an input function F 0 and the function F 1 it is given the total number, 256 from 0 to 255 (= 2 8) as data is provided.

10とx11は、x1を2分割したものになるので、S0とS1にはそれぞれ、0〜15までの16(=24)通りのデータが各々16回与えられる。数5のG0とG1は他方がある値のときにそれぞれ独立にバランスすることは明らかである。 Since x 10 and x 11 are obtained by dividing x 1 into two, 16 (= 2 4 ) data from 0 to 15 are respectively given 16 times to S 0 and S 1 . It is clear that G 0 and G 1 in Equation 5 are independently balanced when the other is a certain value.

ここで、各Gの出力値の出現パターンを分析する。   Here, the appearance pattern of the output value of each G is analyzed.

10がある値のときに、x11を全通り与えると、G1の出力値16通りの出現回数としては、以下の3通りが考えられる。 when there is a x 10 values, given all through the x 11, as the number of occurrences of the output value 16 kinds of G 1, three kinds are considered below.

(1).出現回数が0回と偶数回のみ
(2).出現回数が0回と奇数回のみ
(3).出現回数が0回と偶数回と奇数回
(1). Appears only 0 times and even times (2). Appears only 0 times and odd times (3). Number of appearances is 0, even and odd

図5が0回と偶数回のみの例である。実際には、x10の16通りの値ごとに表の出現回数が得られるので、出現回数の総和は図5の16倍の出現回数となる。 FIG. 5 shows an example of 0 times and even times only. In fact, since the number of occurrences of the table is obtained for each value of 16 combinations of x 10, the sum of the number of occurrences is 16 times the number of occurrences of FIG.

図6は、出現回数が0回と偶数回と奇数回の例である。値が1、2、4、7の出現回数が奇数回となっている。   FIG. 6 is an example in which the number of appearances is 0, even, and odd. The number of occurrences of values 1, 2, 4, and 7 is odd.

Gとしてバランスするので、出現回数が奇数回となる値でバランスすることになる。この例では、1+2+4+7=0となるので、バランスしている。   Since the balance is set as G, the balance is set at a value at which the number of appearances is an odd number. In this example, since 1 + 2 + 4 + 7 = 0, it is balanced.

異なる2種類の値をXORしても0にはなりえないので、最低3種類必要となるが3種類の出現回数の合計は奇数回になるので、残りの出現回数も奇数回となってしまう。   Even if two different types of values are XORed, it cannot be 0, so at least three types are required, but the total number of appearances of the three types is an odd number, so the remaining number of appearances is an odd number. .

一方、残りの出現回数は偶数回のものであるから、矛盾する。よって、奇数回となる値は4種類以上の偶数種類に限られる。こちらも実際には16倍カウントされる。   On the other hand, since the remaining number of appearances is an even number, there is a contradiction. Therefore, the number of times of odd number is limited to four or more types of even numbers. This is also actually counted 16 times.

Gの一方が0回と偶数回のみの場合、他方に関係なくy0は0回か偶数回、つまり偶数バランスとなる。 When one of G is only 0 times and even times, y 0 is 0 times or even times, that is, even balance, regardless of the other.

ここでは、G0とG1の両方が“0回と奇数回のみ"と“0回と偶数回と奇数回"の場合について説明する。 Here, a case will be described where both G 0 and G 1 are “only 0 times and odd times” and “0 times, even times and odd times”.

偶数回出現する値は、それのみでバランスするので奇数回に注目すると、“0回と偶数回と奇数回"は、“0回と奇数回のみ"と条件としては同じである。   Since values that appear even times are balanced only by that, when focusing on odd times, “0 times, even times, and odd times” is the same as “0 times and only odd times”.

0で奇数回となった値をa0、a1、a2、a3、G1で奇数回となった値をb0、b1、b2、b3とする。先述したように、a、bそれぞれでバランスするので、 Values that have become odd times at G 0 are a 0 , a 1 , a 2 , a 3 , and values that have become odd times at G 1 are b 0 , b 1 , b 2 , b 3 . As mentioned earlier, since a and b are balanced,

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

である。奇数回出現した値のXORの組合せとしては、 It is. As a combination of XOR of the values that appear odd times,

Figure 2010134247
Figure 2010134247

の16(=42)通り存在する。 There are 16 (= 4 2 ) ways.

ここで、(a0+b0)と(a1+b2)が等しいと仮定すると、 Here, assuming that (a 0 + b 0 ) and (a 1 + b 2 ) are equal,

Figure 2010134247
Figure 2010134247

数10は、交換則が成り立つので、次式が得られる。   In Equation 10, since the exchange rule is established, the following equation is obtained.

Figure 2010134247
Figure 2010134247

更に数7、数8も同様に交換則が成り立つので、数10、数11から次式が得られる。数10に数7を代入して   Further, since the exchange rule is similarly established in Equations 7 and 8, the following equations are obtained from Equations 10 and 11. Substituting Equation 7 into Equation 10

Figure 2010134247
Figure 2010134247

数12を変形すると、   By transforming Equation 12,

Figure 2010134247
Figure 2010134247

数10に数8を代入すると、   Substituting equation 8 into equation 10,

Figure 2010134247
Figure 2010134247

数14を変形すると、   By transforming Equation 14,

Figure 2010134247
Figure 2010134247

数12に数8を代入すると、   Substituting equation 8 into equation 12,

Figure 2010134247
Figure 2010134247

数16を変形すると、   By transforming Equation 16,

Figure 2010134247
Figure 2010134247

このように、G0で奇数回出力された任意の値aiとaj、G1で奇数回出力された任意の値bm、bnについて、ai+bm=aj+bnが成り立つならば、その他の組み合わせ全てについて互いに等しくなるものが存在する。このような状態のとき、y0に出現する値の出現回数は全て偶数回となる。 In this way, a i + b m = a j + b n holds for arbitrary values a i and a j output odd times at G 0 and arbitrary values b m and b n output odd times at G 1. Then, there are things that are equal to each other for all other combinations. In such a state, the number of occurrences of the value appearing at y 0 is all an even number.

逆に、ai+bm=aj+bnとなるものが存在しない場合、axとbyのXORの組み合わせ16通り全てが異なる。すなわち、全通りの値(0〜15)が全て奇数回出現することになる。 Conversely, if there is nothing to be a i + b m = a j + b n, a x and b XOR combination sixteen all of y is different. That is, all the values (0 to 15) all appear odd times.

このとき、他に偶数回出現する値があったとしても、y0には全通りの値が出現し、且つ、出現回数は全て奇数回となる。 At this time, even if there are other values that appear even times, all the values appear in y 0 and the number of appearances is all odd.

ここで、数6で示す条件式について、詳細に説明する。   Here, the conditional expression shown in Equation 6 will be described in detail.

Gの種類、つまり項の種類になるが、これは関数Fの分割数pと等しくなる。分割した各データのサイズがqビットのとき、値の種類としては、2q通りとなる。 The type of G, that is, the type of term, is equal to the division number p of the function F. When the size of each divided data is q bits, there are 2 q kinds of values.

全通りの値が出現するためには、各Gから出現される奇数回となった値の種類の組み合わせの数が、2q以上である必要がある。 In order for all the values to appear, the number of combinations of the value types appearing from each G that are odd times needs to be 2 q or more.

前述のように、各Gから出現する値で出現回数が奇数回となるのは、最低4種類となる。すなわち、   As described above, there are at least four types in which the number of appearances is an odd number of values that appear from each G. That is,

Figure 2010134247
Figure 2010134247

であり、べき数に注目すると、数6が得られる。 When attention is paid to the power number, Expression 6 is obtained.

ところで、y0とy1の両方が、数5と数6を満たすならば、y0とy1は偶数バランスか奇数バランスのどちらかであるが、それらを区別することはできない。 By the way, if both y 0 and y 1 satisfy the equations 5 and 6, y 0 and y 1 are either even balance or odd balance, but they cannot be distinguished.

ここで、y0とy1を結合したmビットのyでみると、混合バランスとなる可能性がある。 Here, in view of m bits of y obtained by combining y 0 and y 1 , there is a possibility of mixing balance.

混合バランスを関数Fで変換すると、出力の状態は不明となるが、y0とy1がそれぞれ偶数バランスか奇数バランスのどちらかであるという状態であれば、関数Fで変換しても出力の状態はバランスする。 When the mixing balance is converted by the function F, the output state is unknown. However, if y 0 and y 1 are either the even balance or the odd balance, the output of the output even if the function F is converted. The state is balanced.

関数FがSP型であるならば、S−boxの出力は入力のバランス状態が保たれ、拡散層もXORによって各入力データを攪拌するため、関数Fの出力はバランスする。   If the function F is SP type, the output balance of the input of the S-box is maintained, and the input of the function F is balanced because the diffusion layer also stirs each input data by XOR.

このように、バランスしているデータを分割して見たときに、各々が偶数バランスか奇数バランスである状態を“特殊なバランス状態"と呼ぶことにする。   In this way, when the balanced data is divided and viewed, the state where each is even balance or odd balance is referred to as “special balance state”.

次に、次式で示す例でみると、x10とx11がそれぞれS0とS1で独立に変換されているが、それぞれをXORしたものがS2で変換されている。 Next, looking at the example shown in the following equation, although x 10 and x 11 are converted independently in S 0 and S 1, respectively, obtained by XOR, respectively, it is converted by S 2.

このような場合は、数5のように入力の項毎に括ることができないので、y2は混合バランスの可能性がある。 In such a case, y 2 cannot be bundled for each input term as shown in Equation 5, so y 2 may have a mixing balance.

Figure 2010134247
Figure 2010134247

図2のデータ34は、第2ラウンドと第3ラウンドの2回の関数F0による変換が行われるため、数19のようにS−boxの入れ子の式となることは明らかである。 Since the data 34 in FIG. 2 is converted by the function F 0 twice in the second round and the third round, it is clear that the S-box nesting expression is obtained as shown in Equation 19.

このように、関数Fを2回以上通過したデータは、特殊なバランス状態になる保証はない。特殊なバランス状態となるためには、入力データが異なる2つの関数Fによってそれぞれ1回のみ変換されている必要がある。   Thus, there is no guarantee that data that has passed the function F more than once will be in a special balanced state. In order to achieve a special balance state, the input data needs to be converted only once by two different functions F.

すなわち、関数Fがその内部でデータをp個に分割して処理を行い、それぞれのビット幅がqであり、数6を満たす暗号アルゴリズムについて、入力xにAを与え、F0(x)とF1(x)がXORされたデータは、特殊なバランス状態となる。 That is, the function F performs processing by dividing the data into p pieces therein, and for each cryptographic algorithm whose bit width is q and satisfies Equation 6, A is given to the input x, and F 0 (x) Data obtained by XORing F 1 (x) is in a special balance state.

次に、本発明の実施の形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

図7は、本発明の実施形態における共通鍵ブロック暗号評価装置の構成図である。本装置は、キーボード等の入力部1と、プログラム制御により動作する状態遷移計算手段21と、関数タイプ判定手段22とを有する飽和特性探索部2と、ディスプレイや印刷装置等の出力部3と、を有して構成される。   FIG. 7 is a configuration diagram of the common key block cipher evaluation apparatus in the embodiment of the present invention. The apparatus includes an input unit 1 such as a keyboard, a state transition calculation unit 21 operated by program control, a saturation characteristic search unit 2 having a function type determination unit 22, an output unit 3 such as a display and a printing device, It is comprised.

入力部1より、評価パラメータとして“ラウンド数"、“関係式"、“入力状態"、“分割数"、そして“データサイズ"の5つが入力される。   From the input unit 1, five evaluation parameters, “number of rounds”, “relational expression”, “input state”, “number of divisions”, and “data size” are input.

ラウンド数には評価を行うラウンド数を指定する。10ラウンドまで評価を行うならば“10"を指定する。   For round number, specify the number of rounds to be evaluated. Specify "10" if you want to evaluate up to 10 rounds.

関係式は、評価対象暗号アルゴリズムの構造を表すものであり、図2の暗号アルゴリズムの場合、関係式は次式で表される4式となる。   The relational expression represents the structure of the evaluation target encryption algorithm. In the case of the encryption algorithm of FIG. 2, the relational expressions are four expressions represented by the following expressions.

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

入力状態には入力x0〜x3に対して、全数を与える変数と定数を与える変数を指定する。例えば、図2の例のようにx1に全数、その他には定数を与えるならば、{C,A0,C,C}とする。Aの添え字0は、初期状態であることを意味する。また、本評価装置では、全数は1箇所のみに与えるものとする。 In the input state, for the inputs x 0 to x 3 , a variable that gives the total number and a variable that gives the constant are specified. For example, all the x 1 as in the example of FIG. 2, if other To give constant, and {C, A0, C, C }. The subscript 0 of A means the initial state. Moreover, in this evaluation apparatus, all numbers shall be given only to one place.

分割数は、評価対象暗号アルゴリズムの関数F内部のデータ分割数を指定する。図2の例では、関数F0と関数F1でそれぞれデータを2分割して内部処理を行っているので、“2"となる。 The number of divisions specifies the number of data divisions inside the function F of the evaluation target cryptographic algorithm. In the example of FIG. 2, the data is divided into two by the function F 0 and the function F 1 , and internal processing is performed, so “2”.

データサイズは、分割されたデータのサイズをビットで表したものである。   The data size represents the size of the divided data in bits.

まず、関数タイプ判定手段22について説明する。関数タイプ判定手段22は、評価対象暗号アルゴリズムの関数Fの構造から特殊なバランス状態となり得るかどうかを判定する。   First, the function type determination unit 22 will be described. The function type determination unit 22 determines whether a special balance state can be obtained from the structure of the function F of the evaluation target cryptographic algorithm.

次に、関数タイプ判定手段22の動作について図8を参照して説明する。   Next, the operation of the function type determination unit 22 will be described with reference to FIG.

関数タイプ判定手段22には、入力された5つのパラメータのうち、分割数とデータサイズの2つが渡され、分割数をp、データサイズをqとしたとき、2p≧qが成り立つか否かを判断する(ステップA1)。   Of the five input parameters, the function type determination means 22 is passed two values, the number of divisions and the data size. If the number of divisions is p and the data size is q, whether or not 2p ≧ q holds. Judgment is made (step A1).

もし成り立つならば、フラグをONに設定し(ステップA2)、成り立たないなら、フラグをOFFに設定する(ステップA3)。なお、設定したフラグは、状態遷移計算手段21へ渡される。   If true, the flag is set to ON (step A2), and if not true, the flag is set to OFF (step A3). The set flag is passed to the state transition calculation means 21.

次に、図9を参照して状態遷移計算手段21の動作について説明する。   Next, the operation of the state transition calculation unit 21 will be described with reference to FIG.

状態遷移計算手段21は、入力状態を飽和特性の初期状態として、関係式を用いてラウンド処理後の飽和特性を計算し、パラメータのラウンド数まで処理すると終了する。   The state transition calculation means 21 calculates the saturation characteristic after the round process using the relational expression with the input state as the initial state of the saturation characteristic, and ends when the process reaches the round number of parameters.

入力された関係式の数をm、ラウンド数をnとする。入力されたパラメータの入力状態を状態の初期値としてS0,0〜S0,m-1に設定する(ステップB1)。図2の例では、入力状態が{C,A0,C,C}とき、S0,0=C、S0,1=A0、S0,2=C、S0,3=Cに設定される。 Let m be the number of input relational expressions and n be the number of rounds. The input state of the input parameter is set to S 0,0 to S 0, m-1 as the initial value of the state (step B1). In the example of FIG. 2, when the input state is {C, A0, C, C}, S 0,0 = C, S 0,1 = A0, S 0,2 = C, S 0,3 = C are set. The

現在の計算ラウンドを示すカウンタiに1を設定する(ステップB2)。関係式の入力xの項に状態Si-1を設定する(ステップB3)。計算式の番号を示すカウンタjに0を設定する(ステップB4)。以降、第iラウンドの出力の状態Siを計算するステップに入る。 1 is set to the counter i indicating the current calculation round (step B2). The state S i-1 is set in the term of the input x of the relational expression (step B3). A counter j indicating the number of the calculation formula is set to 0 (step B4). Thereafter, the process enters the step of calculating the output state S i of the i-th round.

関係式yjがただの代入であるか否かを判断し(ステップB5)、代入であれば、代入元の状態をそのままSi,jに設定する(ステップB6)。例えば、数21や数23が代入の例である。 It is determined whether or not the relational expression y j is just substitution (step B5). If substitution is made, the state of the substitution source is set to S i, j as it is (step B6). For example, Expression 21 and Expression 23 are examples of substitution.

一方、関係式yjが代入ではなければ、関数Fの項があるか否かを判断し(ステップB7)、図10に示す関数Fの状態遷移表を用いて関数Fの項を計算する(ステップB8)。例えば、数20や数22のF0(x0)やF1(x2)の項を計算する。 On the other hand, if the relational expression y j is not an assignment, it is determined whether or not there is a term of the function F (step B7), and the term of the function F is calculated using the state transition table of the function F shown in FIG. Step B8). For example, the terms of F 0 (x 0 ) and F 1 (x 2 ) in Equations 20 and 22 are calculated.

関数Fの入力となる項の状態がAの場合、添え字が1だけインクリメントされる。入力状態としてA0が関数Fの入力となったとき、その出力の状態はA1となり、もう一度入力されるとA2となる。つまり、Aの添え字は関数Fを通過した回数を意味する。   When the state of the term to be input to the function F is A, the subscript is incremented by 1. When A0 is input to the function F as an input state, the output state is A1, and when it is input again, it is A2. That is, the subscript A means the number of times that the function F is passed.

バランス状態は、BとB*の2種類で区別する。Bは、先に述べた4種類のバランス状態のいずれかであり、B*は、特殊なバランス状態である。Bは混合状態のバランスも含むため、関数Fの出力はUとなるが、B*の出力はBとなる点が異なる。 There are two types of balance states, B and B * . B is one of the four types of balance states described above, and B * is a special balance state. Since B includes the balance of the mixed state, the output of the function F is U, but the output of B * is B.

関数Fの項を状態遷移させると、数20と数22は以下のようになる。   When the state of the term of the function F is changed, Equations 20 and 22 are as follows.

Figure 2010134247
Figure 2010134247

Figure 2010134247
Figure 2010134247

上式のようにXORのみの式になるので、図10のXORの状態遷移表を用いて状態の計算を行う。   Since only the XOR expression is obtained as in the above expression, the state is calculated using the XOR state transition table of FIG.

ここで、A1とA1のXORのみ状態であるか否かを判断し、一意に決定しない(ステップB9)。A1は、全数が関数Fを1回通過した状態を意味するので、A1とA1のXORは特殊なバランス状態になる可能性がある。特殊なバランス状態になるかどうかは、関数Fの構造に依存する。関数タイプ判定手段22で、関数Fの構造が調べられており、結果をフラグとして受け取っている。   Here, it is determined whether only the XOR of A1 and A1 is in a state, and is not uniquely determined (step B9). Since A1 means that all the numbers have passed the function F once, the XOR of A1 and A1 may be in a special balance state. Whether or not a special balance state is reached depends on the structure of the function F. The function type determination means 22 checks the structure of the function F and receives the result as a flag.

A1とA1のXORのみ状態であれば、フラグがONかOFFかを判断する(ステップB10)。フラグがONであれば、特殊なバランス状態となる構造なので、状態Si,jにはB*が設定される(ステップB11)。 If only the XOR of A1 and A1 is in a state, it is determined whether the flag is ON or OFF (step B10). If the flag is ON, the structure is in a special balance state, so B * is set in the state S i, j (step B11).

一方、フラグがOFFならば、特殊なバランス状態とはならない構造なので、状態Si,jにはBが設定される(ステップB12)。 On the other hand, if the flag is OFF, B is set in the state S i, j because the structure is not a special balance state (step B12).

一方、A1とA1以外のXORの場合は、XORの状態遷移表の通りの状態をSi,jに設定する(ステップB13)。 On the other hand, in the case of XOR other than A1 and A1, the state according to the state transition table of XOR is set to S i, j (step B13).

関係式yjの状態計算を終了すると、カウンタjがインクリメントされて(ステップB14)、カウンタjが式数m未満であるか否かを判断し(ステップB15)、カウンタjが式数m未満であれば、次の式の状態計算を同様に行う。一方、カウンタjがmまでカウントアップされると、第iラウンドの状態計算は終了する。 When the state calculation of the relational expression y j is completed, the counter j is incremented (step B14), and it is determined whether or not the counter j is less than the expression number m (step B15), and the counter j is less than the expression number m. If there is, the state calculation of the following equation is performed in the same manner. On the other hand, when the counter j is counted up to m, the state calculation for the i-th round ends.

ここで、第iラウンドの状態Siが全てUであるか否かを判断し(ステップB16)、全てがUであれば、以降のラウンドの状態もUとなり評価を行う必要がないので、終了する。 Here, it is determined whether or not all the states S i of the i-th round are U (step B16), and if all are U, the states of the subsequent rounds are also U and there is no need to evaluate, so the end To do.

一方、状態SiにU以外の状態があれば、カウンタiをインクリメントし(ステップB17)、カウンタiがパラメータで指定されたラウンド数nを超えれば、評価を終了する(ステップB18)。達していないならば、次のラウンドの評価を同様に実施する。 On the other hand, if there is a state other than U in the state S i , the counter i is incremented (step B17), and if the counter i exceeds the number of rounds n specified by the parameter, the evaluation is terminated (step B18). If not, the next round of evaluation is performed as well.

(他の実施の形態) (Other embodiments)

次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。   Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図11は、本発明の他の実施の形態における共通鍵ブロック暗号評価装置の構成図である。本装置は、キーボード等の入力部1と、プログラム制御により動作する状態遷移計算手段21と、関数タイプ判定手段22と、入力状態生成手段23と、を有する飽和特性探索部2と、ディスプレイや印刷装置等の出力部3と、を有して構成される。   FIG. 11 is a configuration diagram of a common key block cipher evaluation apparatus according to another embodiment of the present invention. The apparatus includes an input unit 1 such as a keyboard, a state transition calculation unit 21 that operates by program control, a function type determination unit 22, and an input state generation unit 23, a saturation characteristic search unit 2, a display and a print And an output unit 3 such as a device.

本実施形態の共通鍵ブロック暗号評価装置においては、入力状態が入力状態生成手段23で自動生成される。入力状態生成手段23の動作について図12を用いて説明する。   In the common key block cipher evaluation apparatus of the present embodiment, the input state is automatically generated by the input state generation unit 23. The operation of the input state generation unit 23 will be described with reference to FIG.

入力状態生成手段23には入力されたパラメータのうち関係式が渡される。入力状態生成手段23では、関係式からその数を計算する。   A relational expression among the input parameters is passed to the input state generation means 23. The input state generation means 23 calculates the number from the relational expression.

変数sは入力状態を生成するためのものであり、関係式分の桁を持つ。変数sの初期値として、最右を1、残りを0に設定する(ステップC1)。   The variable s is for generating an input state and has digits for the relational expression. As the initial value of the variable s, the rightmost is set to 1 and the remaining is set to 0 (step C1).

0は状態Cを意味し、1は全数Aを意味する。変数sの1の位置をA0、0の位置をCとして入力状態を生成する(ステップC2)。図2の例では、式数は4なので、最初に生成される入力状態は、{C,C,C,A0}である。   0 means state C and 1 means total number A. An input state is generated with the position of 1 of the variable s as A0 and the position of 0 as C (step C2). In the example of FIG. 2, since the number of expressions is 4, the input state generated first is {C, C, C, A0}.

生成した入力状態を出力し(ステップC3)、出力した入力状態が{A0,C,…,C}である、すなわちsの最左が1であるか否かを判断する(ステップC4)。sの最左が1でなければ、sを1だけ左巡回シフトする(ステップC5)。sが0001であれば、0010となり、次の状態を生成する。   The generated input state is output (step C3), and it is determined whether or not the output input state is {A0, C,..., C}, that is, whether the leftmost of s is 1 (step C4). If the leftmost of s is not 1, s is cyclically shifted left by 1 (step C5). If s is 0001, it becomes 0010, and the next state is generated.

最終的にsの最左が1となれば終了する。   If the leftmost s finally becomes 1, the process ends.

以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更が可能である。   The present invention has been described above by the preferred embodiments of the present invention. While the invention has been described with reference to specific embodiments thereof, various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the invention as defined in the claims. is there.

入力データを2n(n≧2)以上に分割し、そのうちのnのデータ各々を基本関数で鍵データと攪拌し、残りのnのデータに排他的論理和する処理を繰り返し行い、更に基本関数は入力データを2つ以上に分割し、鍵の排他的論理和と非線形変換を順に行い、分割したそれぞれのデータが基本関数の出力全てに影響するように攪拌を行う拡散層で構成され、更に基本関数が複数種類で構成された共通鍵ブロック暗号方式を採用した暗号化装置に対して、飽和特性を探索する装置として利用可能である。   The input data is divided into 2n (n ≧ 2) or more, each of the n data is mixed with the key data by the basic function, and the process of exclusive ORing the remaining n data is repeatedly performed. It consists of a diffusion layer that divides the input data into two or more, performs the exclusive OR and nonlinear transformation of the key in order, and stirs so that each divided data affects all the outputs of the basic function. It can be used as an apparatus for searching for saturation characteristics with respect to an encryption apparatus that employs a common key block encryption method in which a plurality of functions are configured.

全単射の例を示す図である。It is a figure which shows the example of a bijection. 飽和特性の状態遷移の一例を表す図である。It is a figure showing an example of the state transition of a saturation characteristic. 従来技術の関数FとXORによる状態遷移を表す図である。It is a figure showing the state transition by the function F and XOR of a prior art. 図2の第5ラウンドの関数F1の入力を表した図である。FIG. 6 is a diagram illustrating an input of a function F1 in the fifth round in FIG. 2. Gから出力される値が0回と偶数回のみの例を表す図である。It is a figure showing the example of the value output from G only 0 times and even number of times. Gから出力される値が0回と偶数回と奇数回の例を表す図である。It is a figure showing the example of the value output from G 0 times, an even number of times, and an odd number of times. 本発明の第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 関数タイプ判定手段の動作を示すフローチャート図である。It is a flowchart figure which shows operation | movement of a function type determination means. 状態遷移計算手段の動作を示すフローチャート図である。It is a flowchart figure which shows operation | movement of a state transition calculation means. 本発明の関数FとXORによる状態遷移を表す図である。It is a figure showing the state transition by the function F and XOR of this invention. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 入力状態生成手段の動作を示すフローチャート図である。It is a flowchart figure which shows operation | movement of an input state production | generation means.

符号の説明Explanation of symbols

1 入力部
2 飽和特性探索部
3 出力部
4 飽和特性探索部
21 状態遷移計算手段
22 関数タイプ判定手段
23 入力状態生成手段
30 関数F0
31 関数F1
32 第4ラウンドの中間データ
33 第5ラウンドの関数F1の出力データ
34 中間データ
1 Input unit 2 saturation characteristic searching unit 3. Output 4 saturation characteristic search portion 21 state transition calculating means 22 function type determination unit 23 input state generator 30 functions F 0
31 Function F 1
32 Intermediate data of the fourth round 33 Output data of the function F 1 of the fifth round 34 Intermediate data

Claims (7)

データの分割数pと、データサイズqと、が
2p≧q
を満たすか否かを判定する関数タイプ判定手段と、
入力状態を飽和特性の初期状態として、関係式を用いてラウンド処理後の前記飽和特性を計算する状態遷移計算手段と、を有し、
前記状態遷移計算手段は、前記関係式に関数の項を含むと、前記データの全数が前記関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、前記関数タイプ判定手段による判定結果を参照して特殊なバランス状態となる構造であるか否かを判定することを特徴とする共通鍵ブロック暗号評価装置。
The number of data divisions p and the data size q are 2p ≧ q
Function type determination means for determining whether or not
State transition calculation means for calculating the saturation characteristics after round processing using a relational expression, with the input state as the initial state of the saturation characteristics, and
When the state transition calculation means includes a function term in the relational expression, the state transition calculation means calculates a balance state by referring to a state transition table in which the total number of the data passes the function and the balance state, When it is determined that there is a possibility of a special balance state, it is determined whether the structure is in a special balance state by referring to the determination result by the function type determination unit Key block cipher evaluation device.
前記状態遷移計算手段は、前記全数がそれぞれ前記関数を1回だけ通過したデータの排他的論理和であれば、特殊なバランス状態になる可能性があると判定することを特徴とする請求項1記載の共通鍵ブロック暗号評価装置。   2. The state transition calculation means determines that there is a possibility of a special balance state if the total number is an exclusive OR of data that has passed the function only once. The common key block cipher evaluation apparatus described. 前記状態遷移計算手段は、バランス状態を特殊なバランス状態か否かの2種類で区別することを特徴とする請求項1又は2記載の共通鍵ブロック暗号評価装置。   The common key block cipher evaluation apparatus according to claim 1 or 2, wherein the state transition calculation means distinguishes the balance state into two types of whether or not the balance state is a special balance state. 前記状態遷移計算手段により状態が全て不明と判定されると、以降のラウンドの状態も不明として、処理を終了することを特徴とする請求項1から3のいずれか1項に記載の共通鍵ブロック暗号評価装置。   The common key block according to any one of claims 1 to 3, wherein when the state transition calculation unit determines that all the states are unknown, the state of the subsequent round is also unknown, and the process is terminated. Cryptographic evaluation device. 前記関係式から桁数を設定して、前記初期状態を生成する入力状態生成手段を有することを特徴とする請求項1から4のいずれか1項に記載の共通鍵ブロック暗号評価装置。   5. The common key block cipher evaluation apparatus according to claim 1, further comprising an input state generation unit configured to set the number of digits from the relational expression and generate the initial state. 6. データの分割数pと、データサイズqと、が
2p≧q
を満たすか否かを判定する関数タイプ判定ステップと、
関係式に関数の項を含むと、前記データの全数が前記関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、前記関数タイプ判定ステップによる判定結果を参照して特殊なバランス状態となる構造であるか否かを判定する状態遷移計算ステップと、を有することを特徴とする共通鍵ブロック暗号評価方法。
The number of data divisions p and the data size q are 2p ≧ q
A function type determination step for determining whether or not
When a relational term is included in the relational expression, the balance state is calculated by referring to a state transition table in which the total number of the data passes through the function and the balance state, and a special balance state may be obtained. A state transition calculation step for determining whether the structure is in a special balance state with reference to the determination result of the function type determination step when it is determined that there is a common state. Key block cipher evaluation method.
データの分割数pと、データサイズqと、が
2p≧q
を満たすか否かを判定する関数タイプ判定処理と、
関係式に関数の項を含むと、前記データの全数が前記関数を通過した回数とバランス状態とを対応させた状態遷移表を参照してバランス状態を計算し、特殊なバランス状態になる可能性があると判定されたときに、前記関数タイプ判定処理による判定結果を参照して特殊なバランス状態となる構造であるか否かを判定する状態遷移計算処理と、をコンピュータに実行させるプログラム。
The number of data divisions p and the data size q are 2p ≧ q
A function type determination process for determining whether or not
When a relational term is included in the relational expression, the balance state is calculated by referring to a state transition table in which the total number of the data passes through the function and the balance state, and a special balance state may be obtained. A program for causing a computer to execute a state transition calculation process for determining whether or not a structure is in a special balance state with reference to a determination result of the function type determination process when it is determined that there is a function.
JP2008310954A 2008-12-05 2008-12-05 Common key block cipher evaluation device, common key block cipher evaluation method, and program Withdrawn JP2010134247A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008310954A JP2010134247A (en) 2008-12-05 2008-12-05 Common key block cipher evaluation device, common key block cipher evaluation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008310954A JP2010134247A (en) 2008-12-05 2008-12-05 Common key block cipher evaluation device, common key block cipher evaluation method, and program

Publications (1)

Publication Number Publication Date
JP2010134247A true JP2010134247A (en) 2010-06-17

Family

ID=42345598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008310954A Withdrawn JP2010134247A (en) 2008-12-05 2008-12-05 Common key block cipher evaluation device, common key block cipher evaluation method, and program

Country Status (1)

Country Link
JP (1) JP2010134247A (en)

Similar Documents

Publication Publication Date Title
US6751319B2 (en) Block cipher method
JP4882598B2 (en) Cryptographic processing apparatus, cryptographic processing algorithm construction method, cryptographic processing method, and computer program
Biryukov et al. Block ciphers and systems of quadratic equations
JP5229315B2 (en) Encryption device and built-in device equipped with a common key encryption function
JP5182091B2 (en) Block encryption apparatus with adjustment function, method and program
JP5272417B2 (en) Data conversion apparatus, data conversion method, and computer program
KR101770874B1 (en) Cryptographic processing device, cryptographic processing method, computer readable recording medium, and information processing device
Biryukov et al. Cryptanalysis of Feistel networks with secret round functions
Kazymyrov et al. Influence of addition modulo 2 n on algebraic attacks
Huang et al. Automatic tool for searching for differential characteristics in ARX ciphers and applications
Jamal et al. A group action method for construction of strong substitution box
Srisakthi et al. Towards the design of a stronger AES: AES with key dependent shift rows (KDSR)
WO1999014889A1 (en) Improved block cipher method
JP2002510058A (en) Method for cryptographic conversion of binary data blocks
JP2008151829A (en) Encryption operation apparatus
Polimón et al. Automated design of a lightweight block cipher with genetic programming
JP2010134247A (en) Common key block cipher evaluation device, common key block cipher evaluation method, and program
US20100128870A1 (en) Pseudo-random number generation device, program, and method for stream encoding
ElSheikh et al. Integral attacks on round-reduced Bel-T-256
JP5354914B2 (en) Encryption processing device, decryption processing device, and program
Jean et al. Analysis of the CAESAR candidate Silver
JP5488608B2 (en) Block encryption apparatus, block encryption method and program
Muthalagu et al. Improved KASUMI block cipher for GSM-based mobile networks
Meça Exploring Data Encryption Standard (DES) Through CrypTool Implementation: A Comprehensive Examination and Historical Perspective
KR20030000720A (en) Symmetric key block cipher algorithm design method with no operation between key and plaintext

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120207