JP5578422B2 - ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF - Google Patents

ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF Download PDF

Info

Publication number
JP5578422B2
JP5578422B2 JP2010164219A JP2010164219A JP5578422B2 JP 5578422 B2 JP5578422 B2 JP 5578422B2 JP 2010164219 A JP2010164219 A JP 2010164219A JP 2010164219 A JP2010164219 A JP 2010164219A JP 5578422 B2 JP5578422 B2 JP 5578422B2
Authority
JP
Japan
Prior art keywords
encryption
data
output
exclusive
round
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010164219A
Other languages
Japanese (ja)
Other versions
JP2012027149A (en
Inventor
智保 洲崎
幸保 角尾
博靖 久保
真紀 茂
照夫 齊藤
剛嗣 川幡
弘勝 中川
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 Solution Innovators 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 Solution Innovators Ltd filed Critical NEC Corp
Priority to JP2010164219A priority Critical patent/JP5578422B2/en
Publication of JP2012027149A publication Critical patent/JP2012027149A/en
Application granted granted Critical
Publication of JP5578422B2 publication Critical patent/JP5578422B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラムに関し、特にブロック暗号で十分な強度を保ちつつ少ないハードウェアで実装することを可能とする暗号化通信システム等に関する。   The present invention relates to an encryption communication system, a transmission device, a reception device, an encryption / decryption method, and a program thereof, and in particular, encryption capable of being implemented with a small amount of hardware while maintaining sufficient strength with a block cipher. The present invention relates to a communication system and the like.

コンピュータや携帯電話端末などによるネットワークが普及するにつれ、個人や企業などの機密情報の漏洩が社会的な問題となることが多くなっている。そのため、これらの機密情報を保護するため、データの通信や蓄積の際にそれらのデータを暗号化によって秘匿することがますます重要になっている。   As networks such as computers and mobile phone terminals become widespread, leakage of confidential information from individuals and companies is becoming a social problem. For this reason, in order to protect such confidential information, it is increasingly important to conceal the data by encryption during communication and storage of the data.

暗号化には、大きく分けて2種類の方法がある。暗号化鍵と復号化鍵が同一である対称鍵(共通鍵)暗号方式と、互いに異なる一対の暗号化鍵と復号化鍵とを用いる非対称鍵(公開鍵)暗号方式である。共通鍵暗号は公開鍵暗号と比較して暗号化/復号化の処理性能が良好であるというメリットを持つため、様々な環境で利用されている。   There are roughly two types of encryption methods. They are a symmetric key (common key) encryption method in which the encryption key and the decryption key are the same, and an asymmetric key (public key) encryption method using a pair of mutually different encryption keys and decryption keys. Common key cryptography has the advantage of better encryption / decryption processing performance than public key cryptography, and is therefore used in various environments.

共通鍵暗号は、さらにブロック暗号およびストリーム暗号という2種類の方式に分類される。ここではブロック暗号について説明する。ブロック暗号の暗号化は、データPを暗号の仕様によって決定されるブロック長nビットに区切って、これを数1に示すように暗号化関数Eで秘密鍵Kとの間で攪拌して、nビットの暗号文Cを生成する。   Common key ciphers are further classified into two types of schemes, block ciphers and stream ciphers. Here, block cipher will be described. In block cipher encryption, data P is divided into block length n bits determined by the cipher specifications, and this is agitated with the secret key K by the encryption function E as shown in Equation 1, n Bit ciphertext C is generated.

Figure 0005578422
Figure 0005578422

ブロック暗号は、数2に示すようにラウンド関数Fを複数回繰り返す構造の暗号化関数Eを使用する。ここでK_1〜K_rは拡大鍵(副鍵、ラウンド鍵とも呼ばれる)であり、秘密鍵Kを種として鍵スケジュールによって生成される。ブロック暗号の繰り返しの単位をラウンドという。即ち、数2に示す暗号化関数Eは、関数Fをrラウンド繰り返す構造である。本明細書では、数式以外の行では「Aに上付き文字Bを付したもの(たとえばAのB乗など)」を「A^B」と表記し、また「Aに下付き文字Bを付したもの」を「A_B」と表記する。   The block cipher uses an encryption function E having a structure in which the round function F is repeated a plurality of times as shown in Equation 2. Here, K_1 to K_r are extended keys (also called subkeys and round keys), and are generated by a key schedule using the secret key K as a seed. The unit of repeating block cipher is called round. That is, the encryption function E shown in Equation 2 has a structure in which the function F is repeated r rounds. In this specification, “A with a superscript B (for example, A raised to the power of B)” is indicated as “A ^ B”, and “A with a subscript B is added to a line other than a mathematical expression. "A_B".

Figure 0005578422
Figure 0005578422

ブロック暗号に限らず、共通鍵暗号の秘密鍵Kは、ブルート・フォース(brute force)攻撃(または総当たり攻撃)によって全数試行すれば必ず行き当たる。そこで、秘密鍵Kを十分長くすることによって、現実的な時間での全数試行を困難にしている。   The secret key K of the common key cipher is not limited to the block cipher, and will always be reached if all the attempts are made by the brute force attack (or brute force attack). Therefore, by making the secret key K sufficiently long, all trials in a realistic time are made difficult.

しかしながら、ブロック暗号には秘密鍵を全数試行するために必要とする計算量を削減するショートカット法と呼ばれる攻撃手法が研究されている。設計された暗号のフルラウンド構成についてショートカット法が適用できることは、より少ない計算量で秘密鍵Kに行き当たることが可能であることを意味する。ショートカット法は暗号アルゴリズムの構造に起因する特性を利用するため、暗号アルゴリズムを設計する場合、ショートカット法に対する耐性を有していることを評価する必要がある。   However, for block ciphers, an attack technique called a shortcut method that reduces the amount of calculation required to try all secret keys has been studied. The fact that the shortcut method can be applied to the designed full-round configuration of the cipher means that the secret key K can be reached with a smaller amount of calculation. Since the shortcut method uses characteristics resulting from the structure of the encryption algorithm, it is necessary to evaluate that the shortcut algorithm has resistance to the shortcut method when designing the encryption algorithm.

ショートカット法の具体的な手法の一つとして、データの差分の伝播を観測するものがある。差分とは、2つのデータの差のことであり、多くの場合排他的論理和による差分が用いられる。より具体的には、たとえばP_1=0x23(0xは16進数を意味する)とP_2=0xF5との間の差分値ΔPは、以下の数3で表されるように0xD6である。本明細書では、数式以外の行では「丸に+の字を重ねた」排他的論理和の記号を「(+)」と表記する。   One specific method of the shortcut method is to observe propagation of data differences. The difference is a difference between two data, and in most cases, a difference by exclusive OR is used. More specifically, for example, the difference value ΔP between P_1 = 0x23 (0x means a hexadecimal number) and P_2 = 0xF5 is 0xD6 as expressed by the following Equation 3. In the present specification, in a line other than the mathematical expression, an exclusive logical sum symbol “superimpose a + character on a circle” is expressed as “(+)”.

Figure 0005578422
Figure 0005578422

このような差分を利用したショートカット法の一つに、不能差分攻撃がある。暗号化関数Eに対して入力差分ΔPを入力したとき、第iラウンド(i<r)のラウンド関数Fの出力差分が確率1でΔxになることがない(即ちΔPからΔxが発生する確率はゼロである)ならば、それは不能差分であるという。不能差分攻撃とは、このような特性を利用した攻撃手法であり、その手順を簡単に説明すると以下のようになる。   One of the shortcut methods using such a difference is an impossible differential attack. When the input difference ΔP is input to the encryption function E, the output difference of the round function F of the i-th round (i <r) does not become Δx with probability 1 (that is, the probability that Δx occurs from ΔP is If it is zero), it is said to be an impossible difference. Impossible differential attack is an attack technique using such characteristics, and its procedure is briefly described as follows.

(1).まずP_1およびP_2という2つのデータを暗号化した際の暗号文を各々C_1およびC_2とする。ここで、P_1とP_2の間の差分をΔPとする。即ちP_2=P_1(+)ΔPである。
(2).K_(i+1)〜K_rを仮定し、これを数2に適用して第iラウンドの出力データx_1、x_2を計算する。ここで、K_(i+1)〜K_rとして仮定できるサイズは秘密鍵Kのサイズ未満である。
(3).x_1とx_2の差分がΔxであるならば、拡大鍵の仮定は誤っていたことになるので、候補から棄却する。
(4).この一連の作業を、鍵候補が絞り込まれるまで繰り返す。鍵候補が一つに絞り込まれれば、それが正解の鍵である。
(1). First, ciphertexts obtained when two data P_1 and P_2 are encrypted are C_1 and C_2, respectively. Here, the difference between P_1 and P_2 is ΔP. That is, P_2 = P_1 (+) ΔP.
(2). Assuming K_ (i + 1) to K_r, this is applied to Equation 2 to calculate the output data x_1 and x_2 of the i-th round. Here, the size that can be assumed as K_ (i + 1) to K_r is smaller than the size of the secret key K.
(3). If the difference between x_1 and x_2 is Δx, the assumption of the extended key is wrong, and the candidate is rejected.
(4). This series of operations is repeated until key candidates are narrowed down. If the key candidates are narrowed down to one, it is the correct key.

不能差分攻撃の解読可能ラウンド数は、不能差分が存在するラウンド数(不能差分特性ラウンド数と呼ぶ)と鍵仮定を行うラウンド数の合計ラウンド数である。フェイステル(Feistel)構造を採用するブロック暗号において、ラウンド関数F(以後F関数という)が全単射であるならば、5ラウンドの不能差分が存在することが知られている。しかしながら、F関数の構造によっては不能差分特性ラウンド数が6ラウンド以上に延びる場合がある。   The number of rounds that can be deciphered by the impossible differential attack is the total number of rounds in which there is an impossible difference (referred to as the number of impossible differential characteristic rounds) and the number of rounds that perform key assumptions. In block ciphers employing a Feistel structure, it is known that there are five rounds of impossibility differences if the round function F (hereinafter referred to as F function) is bijective. However, depending on the structure of the F function, the number of impossible differential characteristic rounds may extend to 6 rounds or more.

フェイステル構造を採用した代表的なブロック暗号の一例として、日本電信電話(株)と三菱電機(株)が共同開発したカメリア(Camellia、登録商標)がある。図13は、カメリアのラウンド関数(F関数)の構造を示す説明図である。カメリアのF関数は、S関数とP関数の2つのパートで構成されている。このような構成をとっているF関数をSP型F関数という。   An example of a typical block cipher employing the Faithel structure is Camellia (registered trademark) jointly developed by Nippon Telegraph and Telephone Corporation and Mitsubishi Electric Corporation. FIG. 13 is an explanatory diagram showing the structure of the Camellia round function (F function). Camellia's F function is composed of two parts, an S function and a P function. The F function having such a configuration is called an SP type F function.

S関数はS1〜S4の4種類のSボックス(S-Box)911〜914で構成されている非線形変換処理であり、P関数は排他的論理和921〜936によってSボックス911〜914の出力データz1〜z8を拡散させることを目的とした線形変換処理である。   The S function is a non-linear transformation process composed of four types of S boxes (S-Box) 911 to 914 S1 to S4, and the P function is output data of the S boxes 911 to 914 by exclusive OR 921 to 936. This is a linear conversion process for the purpose of diffusing z1 to z8.

P関数の変換処理は以下の数4の式で表現することができ、また数5の行列を用いた写像で表現することができる。また、P関数の逆関数P^−1は数6の式で表現することができ、また数6の行列を用いた写像で表現することができる。   The conversion process of the P function can be expressed by the following equation (4), and can be expressed by a mapping using the matrix of equation (5). Further, the inverse function P ^ -1 of the P function can be expressed by the equation (6), and can be expressed by a mapping using the matrix of the equation (6).

数5で示されるように要素が0と1のみで構成されるバイナリ行列は、数4のように排他的論理和(XOR)のみで演算できる。このため、カメリアには非常に実装性に優れている(省リソース、高速処理)というメリットがある。   As shown in Equation 5, a binary matrix composed of only 0 and 1 can be calculated only by exclusive OR (XOR) as shown in Equation 4. For this reason, Camellia has the advantage that it is very easy to mount (resource saving, high-speed processing).

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

しかしながら、非特許文献1などで、カメリアには8ラウンドの不能差分が存在することが報告されている。以下にそのカメリアの8ラウンド不能差分の詳細を説明する。図14は、図13に示したカメリアの暗号化処理1ラウンドについて示す説明図である。   However, Non-Patent Document 1 reports that there are 8 rounds of impossibility difference in Camellia. The details of the Camellia 8-round impossibility difference will be described below. FIG. 14 is an explanatory diagram showing one round of camelia encryption processing shown in FIG.

KS関数941は、図13に示したkiの排他的論理和901〜908とSボックス911〜914に相当する。P関数942は、図1のP関数(排他的論理和921〜936)に相当する。第iラウンド(iは1以上の整数)の入力差分をΔL_(i−1)およびΔR_(i−1)と表記する。また、差分値を8ビット(1バイト)単位の丸め差分で扱って(xxxxxxxx)と表記し、左から順にバイト1、バイト2、…、バイト8と番号をつける。即ち、一つのxが8ビットの差分値を表し、差分値が0の場合は0と表記し、非ゼロの場合は任意のアルファベットで表記する。   The KS function 941 corresponds to the exclusive OR of 901 to 908 and S boxes 911 to 914 shown in FIG. The P function 942 corresponds to the P function (exclusive ORs 921 to 936) in FIG. Input differences in the i-th round (i is an integer of 1 or more) are denoted as ΔL_ (i−1) and ΔR_ (i−1). Further, the difference value is treated as a rounding difference in units of 8 bits (1 byte), expressed as (xxxxxxxx), and numbered as byte 1, byte 2,. That is, one x represents an 8-bit difference value. When the difference value is 0, it is expressed as 0, and when it is non-zero, it is expressed in an arbitrary alphabet.

また、第iラウンドのKS関数の出力差分をΔyi、P関数の出力差分をPΔyiとする。KS関数はバイト毎に独立に処理を行うので差分値が非ゼロならば任意の非ゼロの差分値に変化するが、他のバイトへ波及することはない。その一方で、P関数は数5〜6に示したような演算を行うため、他のバイトへ波及する。   Also, the output difference of the i-th round KS function is Δyi, and the output difference of the P function is PΔyi. Since the KS function performs processing independently for each byte, if the difference value is non-zero, it changes to any non-zero difference value, but does not propagate to other bytes. On the other hand, the P function spreads to other bytes in order to perform operations as shown in Equations 5-6.

図15は、図14に示した暗号化処理で、入力差分(00000000a0000000)から8ラウンド後の出力差分(s000000000000000)が得られない、つまり不能差分であることを示す説明図である。   FIG. 15 is an explanatory diagram showing that the output difference (s000000000000) after 8 rounds cannot be obtained from the input difference (00000000a0000000) in the encryption processing shown in FIG. 14, that is, an impossible difference.

入力差分の右側(a0000000)はそのまま第2ラウンドの入力差分となるため、Δy2=(b0000000)となり、PΔy2=(bbb0b00b)となる。PΔy2はそのまま第3ラウンドの入力差分となるため、Δy3は(cde0f00g)となる。また、8ラウンド後の出力差分をΔL_8=(s0000000)、ΔR_8=(00000000)として、ラウンドを遡って考える。   Since the input difference on the right side (a0000000) is the input difference of the second round as it is, Δy2 = (b0000000) and PΔy2 = (bbb0b00b). Since PΔy2 is the input difference of the third round as it is, Δy3 is (cde0f00g). Further, considering the output difference after 8 rounds as ΔL_8 = (s0000000) and ΔR_8 = (00000000), the rounds are considered.

ここで、Δy5に注目する。Δy5は第5ラウンドのF関数の出力差分PΔy5を用いることで以下の数7、数8に示すように表記される。ここで?はゼロか非ゼロのいずれであるかが確定されない差分値を示す。   Here, pay attention to Δy5. Δy5 is expressed as shown in the following equations 7 and 8 by using the output difference PΔy5 of the F function of the fifth round. here? Indicates a difference value for which it is not determined whether it is zero or non-zero.

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

数7、数8から、以下の数9、数10が導かれる。また、数9に数10を代入して、v=0が得られるが、図15ではv≠0なので、ここで矛盾が生じたことになる。以上より、ΔL_0=(00000000)、ΔR_0=(a0000000)からΔL_8=(s0000000)、ΔR_8=(00000000)が発生しないことがわかる。即ち、不能差分である。   From Equations 7 and 8, the following Equations 9 and 10 are derived. Further, v = 0 is obtained by substituting equation 10 into equation 9, but v ≠ 0 in FIG. From the above, it can be seen that ΔL_0 = (00000000) and ΔR_0 = (a0000000) to ΔL_8 = (s0000000) and ΔR_8 = (00000000) do not occur. That is, it is an impossible difference.

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

以上で説明したブロック暗号に関連する技術文献として、次に示す各々の特許文献がある。その中でも特許文献1は、与えられた鍵データに基づいて複数の拡大鍵を生成する鍵生成手段と、これらの拡大鍵を所定の順序で適用する暗号化手段と復号化手段とで構成される秘話通信装置について記載されている。特許文献2には、線形変換処理で異なる複数のMDS行列を適用するという暗号処理装置について記載されている。   As technical documents related to the block cipher described above, there are the following patent documents. Among them, Patent Document 1 includes a key generation unit that generates a plurality of extended keys based on given key data, and an encryption unit and a decryption unit that apply these extended keys in a predetermined order. A secret communication device is described. Patent Document 2 describes an encryption processing apparatus that applies a plurality of different MDS matrices in linear transformation processing.

特許文献3には、フェイステル型ブロック暗号で、複数種類の線形変換行列を適用する順序を工夫したという暗号処理装置について記載されている。特許文献4には、拡散行列切り替え機構を備えたという暗号処理装置について記載されている。特許文献5には、第1および第2の中間鍵を利用してラウンド関数を実行する回路のコストを削減するというという暗号処理装置について記載されている。   Patent Document 3 describes a cryptographic processing device in which the order of applying a plurality of types of linear transformation matrices is devised in Faithel block cryptography. Patent Document 4 describes an encryption processing apparatus having a diffusion matrix switching mechanism. Patent Document 5 describes an encryption processing apparatus that reduces the cost of a circuit that executes a round function using first and second intermediate keys.

特開2001−134174号公報JP 2001-134174 A 特開2006−072054号公報JP 2006-072054 A 特開2007−199156号公報JP 2007-199156 A 特開2008−051829号公報JP 2008-051829 A 特開2009−003312号公報JP 2009-003312 A

Wenling Wu, Wentao Zhang, and Dengguo Feng,"Impossible Differential Cryptanalysis of ARIA and Camellia," Journal of Computer Science and Technology 22(3), pp. 449-456, 2007.Wenling Wu, Wentao Zhang, and Dengguo Feng, "Impossible Differential Cryptanalysis of ARIA and Camellia," Journal of Computer Science and Technology 22 (3), pp. 449-456, 2007.

前述のように、任意の全単射なラウンド関数をもつフェイステル型のブロック暗号には5ラウンドの不能差分が必ず存在するが、カメリアにはそれよりも長い8ラウンドの不能差分が存在している。これは行列Pと行列P^−1の要素に共に0が存在し、バイト単位に区切った各データが出力の全バイトに作用しないからである。バイナリ行列の場合、全単射性を保証すると行列Pと行列P^−1に要素0が存在し、上記のような不能差分の原因となる可能性がある。   As mentioned above, Faithel block ciphers with arbitrary bijective round functions always have 5 rounds of impossibility difference, but Camellia has 8 rounds of impossibility difference longer than that. Yes. This is because both elements of the matrix P and the matrix P ^ -1 have 0, and each piece of data divided in byte units does not act on all bytes of the output. In the case of a binary matrix, if bijectivity is guaranteed, element 0 exists in the matrix P and the matrix P ^ -1, which may cause the above-described impossible difference.

解析に利用する特性が長いということは、その解析に対する耐性を持たせるためにラウンド数を増やさねばならない。ラウンド数を増やすと処理性能が低下するため、実装性という観点でいうと望ましいことではない。特に、携帯電話端末やICカードなど、少ない計算能力と記憶容量しか持たないハードウェアでこの暗号化方式を利用する上で、このことは大きな障害となる。   The long characteristic used for the analysis means that the number of rounds must be increased in order to have resistance to the analysis. Increasing the number of rounds decreases processing performance, which is not desirable in terms of mountability. In particular, this is a major obstacle in using this encryption method with hardware such as a mobile phone terminal and an IC card that have only a small amount of computing power and storage capacity.

要素に0を持たない行列としてMDS(Maximum Distance Separable)行列がある。MDS行列は、暗号学的に良好な性質を持っているため、いくつかのブロック暗号に採用されている。しかしながら、MDS行列は2以上の要素を持つため、有限体上の乗算を行わなければならないので、バイナリ行列よりも計算コストが増加する。このため、サイズの大きなMDS行列は計算コストの増加がデメリットとなる。   There is an MDS (Maximum Distance Separable) matrix as a matrix having zero elements. The MDS matrix is adopted in some block ciphers because it has good cryptographic properties. However, since the MDS matrix has two or more elements, multiplication on a finite field has to be performed, so that the calculation cost is higher than that of the binary matrix. For this reason, an increase in calculation cost is disadvantageous for a large MDS matrix.

特許文献1〜5は、いずれもこの不能差分特性を短縮することを目的としたものではなく、また不能差分特性を短縮しうる構成は記載されていない。従って、これらの技術の組み合わせによってこの問題を解決することはできない。   None of Patent Documents 1 to 5 is intended to shorten the impossible differential characteristic, and does not describe a configuration that can shorten the impossible differential characteristic. Therefore, this problem cannot be solved by a combination of these techniques.

本発明の目的は、不能差分特性を短縮して、十分な強度を保ちつつ少ないハードウェアでの利用を可能とする暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラムを提供することにある。   An object of the present invention is to provide an encrypted communication system, a transmission apparatus, a reception apparatus, an encryption / decryption method, and an encryption / decryption system capable of shortening the impossibility difference characteristic and using a small amount of hardware while maintaining sufficient strength. To provide a program.

上記目的を達成するため、本発明に係る暗号化通信システムは、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムであって、暗号化手段が、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、第1の加算器からの出力に非線形変換を行うSボックス層と、Sボックス層からの出力に線形変換処理を行う線形変換層と、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、復号化手段が、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを暗号化手段とは逆の順序で排他的論理和で作用させる第3の加算器と、第3の加算器からの出力に非線形変換を行うSボックス層と、Sボックス層からの出力に線形変換処理を行う線形変換層と、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第4の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有し、暗号化手段および復号化手段の線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする。   In order to achieve the above object, an encrypted communication system according to the present invention includes a transmitting device for transmitting input data after being encrypted by an encryption unit using a block encryption method, and a decrypting unit for a signal received from the transmitting device. The encryption communication system includes a receiving device that decrypts the key data generated by the key schedule in advance in one of the two sub-block data generated by dividing the input data. A first adder that operates with exclusive OR, an S box layer that performs non-linear conversion on the output from the first adder, a linear conversion layer that performs linear conversion processing on the output from the S box layer, and linear The round including the second adder that operates the remaining one of the sub-block data on the output from the conversion layer by exclusive OR is defined as one round. Key data that has a plurality of rounds specified in advance according to the encryption method to be used, and that is generated in advance by the decryption means by one of the two sub-block data generated by dividing the input data by the key schedule Of the third adder that operates with exclusive OR in the reverse order to the encryption means, an S box layer that performs nonlinear transformation on the output from the third adder, and a linear output on the output from the S box layer A round including a linear conversion layer that performs conversion processing and a fourth adder that operates the remaining one of the sub-block data on the output from the linear conversion layer by exclusive OR is used as one round. The number of rounds specified in advance according to the encryption method to be used, and the linear conversion layer of the encryption means and the decryption means has a plurality of input data that is 2n m-bit data. a function of outputting output data that is 2n m-bit data obtained by multiplying a matrix M of 2n rows and 2n columns obtained by combining square sub-matrices of n rows and n columns (m and n are 2 or more) Natural squares), at least one of the square sub-matrices is a basic matrix that does not include 0 in the elements and does not have the same value in the elements in the same column, and the rest of the square sub-matrices are the basic matrix in the basic matrix. It is characterized by being obtained by exclusive ORing the ones that are cyclically shifted.

上記目的を達成するため、本発明に係る送信装置は、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置であって、暗号化手段が、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、第1の加算器からの出力に非線形変換を行うSボックス層と、Sボックス層からの出力に線形変換処理を行う線形変換層と、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする。   In order to achieve the above object, a transmitting apparatus according to the present invention is a transmitting apparatus for transmitting input data after encrypting the input data by a block cipher encryption means, and the encryption means divides the input data. A first adder for operating the key data generated beforehand by the key schedule on one of the two sub-block data generated by the exclusive OR, and performing nonlinear conversion on the output from the first adder An S box layer, a linear transformation layer that performs linear transformation processing on the output from the S box layer, and a second adder that operates the remaining one of the sub-block data on the output from the linear transformation layer by exclusive OR 1 round, and a number of rounds specified in advance according to the encryption method using this round, and the linear conversion layer has 2n m-bit data. A function of outputting output data that is 2n m-bit data obtained by multiplying a matrix M of 2n rows and 2n columns obtained by combining a plurality of square matrices of n rows and n columns with the input data of Having (m and n are natural numbers greater than or equal to 2), at least one of the square sub-matrices is a basic matrix that does not include 0 in the elements and does not have the same value in the elements in the same column, The remainder is obtained by exclusive ORing a basic matrix obtained by cyclically shifting the basic matrix.

上記目的を達成するため、本発明に係る受信装置は、受信した信号をブロック暗号方式の復号化手段によって復号化したデータを出力する受信装置であって、復号化手段が、入力データを分割して生成した2つのサブブロックデータのうちの一方にデータを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、第1の加算器からの出力に非線形変換を行うSボックス層と、Sボックス層からの出力に線形変換処理を行う線形変換層と、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする。   In order to achieve the above object, a receiving apparatus according to the present invention is a receiving apparatus that outputs data obtained by decrypting a received signal by means of a block cipher decryption means, and the decryption means divides input data. A first adder for operating the key data generated in advance by the key schedule in an order opposite to the time when the data is encrypted in one of the two sub-block data generated by the exclusive OR, An S box layer that performs nonlinear transformation on the output from the adder, a linear transformation layer that performs linear transformation processing on the output from the S box layer, and the remaining one of the sub-block data in the output from the linear transformation layer A round including the second adder operated by exclusive OR is defined as one round, and a plurality of rounds specified in advance according to the encryption method using this round are included. The shape conversion layer multiplies 2n m 2 bits of matrix data M obtained by combining a plurality of n rows and n columns of square small matrices with 2n m bit data of input data. It has a function of outputting output data that is bit data (m and n are natural numbers of 2 or more), and at least one of the square sub-matrices does not contain 0 in the elements, and the same value is given to the elements in the same column It is a basic matrix that does not have, and the remainder of the square small matrix is obtained by exclusive ORing the basic matrix obtained by cyclically shifting the basic matrix.

上記目的を達成するため、本発明に係る暗号化方法は、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを、暗号化手段が備えている第1の加算器が排他的論理和で作用させ、排他的論理和からの出力に、暗号化手段が備えているSボックス層が非線形変換処理を行い、非線形変換処理からの出力に、暗号化手段が備えている線形変換層が線形変換処理を行い、線形変換処理からの出力にサブブロックデータのうちの残る一方を、暗号化手段が備えている第2の加算器が排他的論理和で作用させると共に、これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする。
In order to achieve the above object, an encryption method according to the present invention includes a transmission device that encrypts input data by an encryption unit of a block encryption method and then sends the data, and a signal received from the transmission device by a decryption unit. An encryption communication system including a receiving device for decryption,
One of the two sub-block data generated by dividing the input data is subjected to exclusive OR operation by the first adder provided in the encryption means with the key data generated in advance by the key schedule. The S box layer included in the encryption unit performs nonlinear conversion processing on the output from the exclusive OR, and the linear conversion layer included in the encryption unit performs linear conversion processing on the output from the nonlinear conversion processing. The second adder provided in the encryption means operates the remaining one of the sub-block data on the output from the linear transformation process by exclusive OR, and the round including each processing content is performed. As one round, this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means, and the linear conversion process is performed with an input data that is 2n m-bit data. Output data which is 2n m-bit data obtained by multiplying a matrix M of 2n rows and 2n columns obtained by combining a plurality of square submatrices of n rows and n columns with respect to the data (m and n are 2 or more natural numbers), at least one of the square sub-matrices is a basic matrix that does not contain 0 in the elements and does not have the same value in the elements in the same column, and the rest of the square sub-matrix is the basic matrix It is obtained by exclusive ORing a matrix obtained by cyclically shifting a matrix.

上記目的を達成するため、本発明に係る復号化方法は、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、入力データを分割して生成した2つのサブブロックデータのうちの一方にデータを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを、復号化手段が備えている第1の加算器が排他的論理和で作用させ、排他的論理和からの出力に、復号化手段が備えているSボックス層が非線形変換処理を行い、非線形変換処理からの出力に、復号化手段が備えている線形変換層が線形変換処理を行い、線形変換処理からの出力にサブブロックデータのうちの残る一方を、復号化手段が備えている第2の加算器が排他的論理和で作用させると共に、これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする。 In order to achieve the above object, a decryption method according to the present invention includes a transmitting device that encrypts input data by an encryption unit of a block cipher system and sends the data, and a signal received from the transmitting device by a decrypting unit. in the encrypted communication system including a receiving apparatus for decoding, on one of the two block data generated by dividing the input data, the key schedule in the reverse order as when encrypted data The first adder provided in the decryption means operates the key data generated in advance by exclusive OR, and the S box layer provided in the decryption means is nonlinear in the output from the exclusive OR. performs conversion processing on the output from the nonlinear conversion process, a linear conversion layer is decoding means comprises performs a linear transformation process, the remaining ones of the sub-block data output from the linear conversion process Write a, the second adder exerts exclusive or the decoding means includes, a round containing these respective processing contents as one round, the encryption method that uses this round encryption means 2n rows 2n obtained by executing a plurality of rounds specified in advance, and linear transformation processing combining a plurality of n × n square sub-matrices with respect to input data that is 2n m-bit data. Output data that is 2n m-bit data obtained by multiplying the matrix M of columns (m and n are natural numbers of 2 or more), and at least one of the square sub-matrices does not include 0 as an element, In addition, it is a basic matrix that does not have the same value for the elements in the same column, and the rest of the square small matrix is obtained by exclusive ORing the basic matrix obtained by cyclically shifting the basic matrix. Features.

上記目的を達成するため、本発明に係る暗号化プログラムは、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、暗号化手段が備えるコンピュータを請求項4に記載の送信装置として機能させるための暗号化プログラムである。 In order to achieve the above object, an encryption program according to the present invention includes a transmission device that encrypts input data by an encryption unit using a block encryption method, and a signal received from the transmission device by a decryption unit. An encryption program for causing a computer included in the encryption means to function as the transmission device according to claim 4 , wherein the encryption communication system includes a receiving device for decrypting .

上記目的を達成するため、本発明に係る復号化プログラムは、装置と、送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、復号化手段が備えるコンピュータを請求項5に記載の受信装置として機能させるための復号化プログラムである。 In order to achieve the above object, a decryption program according to the present invention is an encryption communication system including an apparatus and a reception apparatus that decrypts a signal received from a transmission apparatus using a decryption means. A decoding program for causing a computer provided to function as the receiving device according to claim 5.

本発明は、上述したように線形変換処理に使用する行列として、正方小行列とその正方小行列を行巡回シフトさせたものを排他的論理和して得られるものとを組み合わせたものを使用するように構成したので、カメリアに存在する8ラウンドの不能差分を排除することができる。これによって、不能差分特性を短縮して、十分な強度を保ちつつ少ないハードウェアの利用が可能である暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラムを提供することができる。   As described above, the present invention uses a combination of a square submatrix and a matrix obtained by exclusive ORing a square submatrix obtained by cyclically shifting the square submatrix. With this configuration, it is possible to eliminate eight rounds of impossibility difference existing in Camellia. Thus, there are provided an encrypted communication system, a transmission device, a reception device, an encryption / decryption method, and a program thereof capable of shortening the impossible differential characteristic and using a small amount of hardware while maintaining sufficient strength. be able to.

本発明の第1の実施形態に係る暗号化通信システムの構成について示す説明図である。It is explanatory drawing shown about the structure of the encryption communication system which concerns on the 1st Embodiment of this invention. 図1に示した暗号化手段および復号化手段の、より詳しい構成について示す説明図である。It is explanatory drawing shown about a more detailed structure of the encryption means and decryption means shown in FIG. 図2に示した暗号化手段(復号化手段)が行う入力データの暗号化の処理について示すフローチャートである。3 is a flowchart showing a process of encrypting input data performed by an encryption unit (decryption unit) shown in FIG. 2. 図2で示した線形変換層の処理を表す行列Mについて示す説明図である。It is explanatory drawing shown about the matrix M showing the process of the linear transformation layer shown in FIG. 図4に示した行列Mの構成について示す説明図である。It is explanatory drawing shown about the structure of the matrix M shown in FIG. 図5に示した行列Mbを数11によって生成した例について示す説明図である。6 is an explanatory diagram showing an example in which the matrix Mb shown in FIG. 本発明の第2の実施形態に係る暗号化通信システムの構成について示す説明図である。It is explanatory drawing shown about the structure of the encryption communication system which concerns on the 2nd Embodiment of this invention. 図7に示した暗号化手段および復号化手段の、より詳しい構成について示す説明図である。It is explanatory drawing shown about a more detailed structure of the encryption means and decryption means shown in FIG. 図8で示した線形変換層の処理を表す行列Mの構成について示す説明図である。It is explanatory drawing shown about the structure of the matrix M showing the process of the linear transformation layer shown in FIG. 本発明の第3の実施形態に係る暗号化通信システムの構成について示す説明図である。It is explanatory drawing shown about the structure of the encryption communication system which concerns on the 3rd Embodiment of this invention. 図10に示した暗号化手段および復号化手段の、より詳しい構成について示す説明図である。It is explanatory drawing shown about a more detailed structure of the encryption means and decryption means shown in FIG. 図11で示した線形変換層の処理を表す行列Mの構成について示す説明図である。It is explanatory drawing shown about the structure of the matrix M showing the process of the linear transformation layer shown in FIG. カメリアのラウンド関数(F関数)の構造を示す説明図である。It is explanatory drawing which shows the structure of a Camellia round function (F function). 図13に示したカメリアの暗号化処理1ラウンドについて示す説明図である。It is explanatory drawing shown about the encryption process 1 round of the camelia shown in FIG. 図14に示した暗号化処理が不能差分であることを示す説明図である。It is explanatory drawing which shows that the encryption process shown in FIG. 14 is an impossible difference.

(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1〜2に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る暗号化通信システム1は、入力されるデータをブロック暗号方式の暗号化手段12によって暗号化してから送出する送信装置10と、送信装置から受信した信号を復号化手段23によって復号化する受信装置20とを含む暗号化通信システムである。暗号化手段12は、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器101aと、第1の加算器からの出力に非線形変換を行うSボックス層101bと、Sボックス層からの出力に線形変換処理を行う線形変換層101cと、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器102とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有する。復号化手段23は、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを暗号化手段とは逆の順序で排他的論理和で作用させる第3の加算器201aと、第3の加算器からの出力に非線形変換を行うSボックス層201bと、Sボックス層からの出力に線形変換処理を行う線形変換層201cと、線形変換層からの出力にサブブロックデータのうちの残る一方を排他的論理和で作用させる第4の加算器202とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有する。そして暗号化手段および復号化手段の線形変換層101c(201c)が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたもの排他的論理和して得られるものである。
(First embodiment)
Hereinafter, the structure of the 1st Embodiment of this invention is demonstrated based on attached FIGS. 1-2.
First, the basic content of the present embodiment will be described, and then more specific content will be described.
The encryption communication system 1 according to the present embodiment includes a transmission device 10 that transmits input data after being encrypted by a block encryption method encryption unit 12, and a decryption unit 23 that decrypts a signal received from the transmission device. It is the encryption communication system containing the receiver 20 which makes it. The encryption means 12 includes a first adder 101a that operates, by exclusive OR, key data generated in advance by a key schedule on one of two sub-block data generated by dividing input data. An S box layer 101b that performs nonlinear conversion on the output from the adder 1; a linear conversion layer 101c that performs linear conversion processing on the output from the S box layer; and the subblock data remaining in the output from the linear conversion layer One round including the second adder 102 that operates one of them with exclusive OR is defined as one round, and has a plurality of round numbers specified in advance according to the encryption method using this round. The decryption means 23 operates the key data previously generated by the key schedule on one of the two sub-block data generated by dividing the input data by exclusive OR in the reverse order to the encryption means. A third adder 201a, an S box layer 201b that performs nonlinear transformation on the output from the third adder, a linear transformation layer 201c that performs linear transformation processing on the output from the S box layer, and a linear transformation layer A round including the fourth adder 202 that operates the remaining one of the sub-block data on the output by exclusive OR is defined as one round, and a plurality of rounds specified in advance according to the encryption method using this round Have a number. The linear transformation layer 101c (201c) of the encryption means and the decryption means obtains 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices with respect to input data that is 2n m-bit data. Output data that is 2n m-bit data obtained by multiplying the matrix M, and at least one of the square sub-matrices does not contain 0 and has the same value for the elements in the same column There is no basic matrix, and the remainder of the square small matrix is obtained by exclusive ORing the basic matrix obtained by cyclically shifting the basic matrix.

ここで、線形変換層が入力データに乗算する行列Mは、2種類の正方小行列を組み合わせて構成されたものである。そして、この基本行列は要素に0を持たないMDS(Maximum Distance Separable)行列である。   Here, the matrix M by which the linear conversion layer multiplies the input data is configured by combining two kinds of square small matrices. This basic matrix is an MDS (Maximum Distance Separable) matrix having no elements.

この構成を備えることにより、本実施形態の暗号化通信システム1は、カメリアに存在する8ラウンドの不能差分を排除して、不能差分特性を短縮し、十分な強度を保ちつつ少ないハードウェアの利用が可能である暗号化通信を行うことができる。
以下、これをより詳細に説明する。
By providing this configuration, the encrypted communication system 1 of the present embodiment eliminates the 8 rounds of impossible differences existing in Camellia, shortens the impossible differential characteristics, and uses less hardware while maintaining sufficient strength. It is possible to perform encrypted communication.
Hereinafter, this will be described in more detail.

図1は、本発明の第1の実施形態に係る暗号化通信システム1の構成について示す説明図である。暗号化通信システム1は、送信装置10と、受信装置20とで構成される。送信装置10は、入力されるデータを圧縮手段11によってデータ圧縮し、次いで暗号化手段12によって暗号化し、次いで符号化手段13によってエラー訂正用のデータを付加した符号化を行い、符号化手段13から出力される符号語を変調手段14によって変調して搬送波に載せて、伝送路30に送出する。そして鍵スケジュール手段15が、後述の鍵データEk_iを生成してこれを暗号化手段12に与える。   FIG. 1 is an explanatory diagram showing the configuration of the encrypted communication system 1 according to the first embodiment of the present invention. The encrypted communication system 1 includes a transmission device 10 and a reception device 20. The transmitting apparatus 10 compresses input data by the compression means 11, then encrypts the data by the encryption means 12, and then performs encoding by adding error correction data by the encoding means 13. The code word output from the signal is modulated by the modulation means 14, placed on a carrier wave, and sent to the transmission line 30. Then, the key schedule means 15 generates key data Ek_i, which will be described later, and gives it to the encryption means 12.

伝送路30を介して伝送された信号を受信した受信装置20は、まずこの受信信号を復調手段21によって復調して符号語を抽出し、その符号語をエラー訂正手段22によってエラー訂正などを行い、復号化手段23によって暗号化を解除し、最後に解凍手段24によってデータ圧縮を解除する。そして鍵スケジュール手段25が、後述の鍵データEk_iを生成してこれを復号化手段23に与える。これによって元の入力データを復元して出力する。   The receiving device 20 that has received the signal transmitted via the transmission path 30 first demodulates the received signal by the demodulating means 21 to extract a code word, and performs error correction or the like on the code word by the error correcting means 22. Then, the decryption means 23 releases the encryption, and finally the decompression means 24 releases the data compression. Then, the key schedule unit 25 generates key data Ek_i, which will be described later, and gives it to the decryption unit 23. As a result, the original input data is restored and output.

伝送路30は、たとえば光ケーブルでもメタルケーブルでも無線通信でもよいし、またこの伝送路30を光ディスク、磁気ディスク、フラッシュメモリなどのような記憶媒体や記憶装置に置換することもできる。   The transmission path 30 may be, for example, an optical cable, a metal cable, or wireless communication. The transmission path 30 may be replaced with a storage medium or storage device such as an optical disk, a magnetic disk, or a flash memory.

本実施形態に係る暗号化/復号化の手法は、暗号化手段12および復号化手段23に関わるものである。この手法は、コンピュータプログラムとして実現されてもよく、またLSI(Large-scale Integrated Circuit)などの電子回路として実現されてもよい。   The encryption / decryption method according to the present embodiment relates to the encryption unit 12 and the decryption unit 23. This method may be realized as a computer program or an electronic circuit such as an LSI (Large-scale Integrated Circuit).

図2は、図1に示した暗号化手段12および復号化手段23の、より詳しい構成について示す説明図である。また図3は、図2に示した暗号化手段12(復号化手段23)が行う入力データの暗号化の処理について示すフローチャートである。暗号化手段12は、4nmビットのフェイステル型ブロック暗号によって暗号化を行う。入力データを2つのサブブロックデータに分割(ステップS51)し、その各々のサブブロックデータのサイズは2nmビットである。   FIG. 2 is an explanatory diagram showing a more detailed configuration of the encryption unit 12 and the decryption unit 23 shown in FIG. FIG. 3 is a flowchart showing the process of encrypting input data performed by the encryption unit 12 (decryption unit 23) shown in FIG. The encryption means 12 performs encryption using a 4 nm-bit Faithtel block cipher. The input data is divided into two sub-block data (step S51), and the size of each sub-block data is 2 nm bits.

暗号化手段12の第iラウンドの処理100は、F関数101および第2の加算器(排他的論理和)102で構成されている。これを仕様により決定したラウンド数分繰り返す。図2では、第iラウンドの処理についてのみ詳しく示しているが、他のラウンドも同様である。   The i-th round process 100 of the encryption means 12 includes an F function 101 and a second adder (exclusive OR) 102. This is repeated for the number of rounds determined by the specification. In FIG. 2, only the process of the i-th round is shown in detail, but the same applies to the other rounds.

F関数101はサブブロックデータのうちの一方に鍵スケジュール手段15によって生成された鍵データEk_iを作用させる第1の加算器(排他的論理和)101a、2n個のmビット入出力のSボックスで構成される非線形変換を行うSボックス層101b、そして後述の線形変換処理を行う線形変換層101cで構成される。   The F function 101 is a first adder (exclusive OR) 101a for applying the key data Ek_i generated by the key scheduling means 15 to one of the sub-block data, and 2n m-bit input / output S boxes. The S box layer 101b that performs nonlinear conversion and the linear conversion layer 101c that performs linear conversion processing to be described later are configured.

分割した一方のサブブロックデータに加算器(排他的論理和)101aで鍵データEk_iを作用させ(ステップS52)、その出力にSボックス層101bで非線形変換を行い(ステップS53)、そしてその出力に線形変換層101cで線形変換処理を行う(ステップS54)。以上のF関数101による処理の出力データを、もう一方のサブブロックデータに第2の加算器(排他的論理和)102によって作用させる(ステップS55)。   The adder (exclusive OR) 101a applies the key data Ek_i to one of the divided sub-block data (step S52), and the output is subjected to non-linear transformation by the S box layer 101b (step S53). Linear conversion processing is performed in the linear conversion layer 101c (step S54). The output data of the processing by the F function 101 is applied to the other sub-block data by the second adder (exclusive OR) 102 (step S55).

そして、F関数101に入力された側のサブブロックデータと、第2の加算器(排他的論理和)によって生成されたサブブロックデータとの間で左右入れ替えを行い(ステップS56)、これを第iラウンドの出力データとする。以上のステップS52〜56の処理を、仕様により決定された所定のラウンド数分繰り返す(ステップS57〜58)。   Then, left-right switching is performed between the sub-block data on the side input to the F function 101 and the sub-block data generated by the second adder (exclusive OR) (step S56). The output data is i-round. The processes in steps S52 to S56 are repeated for a predetermined number of rounds determined by the specifications (steps S57 to S58).

復号化手段23も、基本的な構成は鍵スケジュール手段25が生成した鍵データEk_iを作用させる順番が暗号化手段12とは逆である点を除いては、図2〜3に示した暗号化手段12と同様である。1ラウンド分の処理200は、F関数201および排他的論理和202で構成されている。これを仕様により決定された所定のラウンド数分繰り返す。従って、以後は暗号化手段12の線形変換層101cの構成についてのみ説明する。   The basic structure of the decryption means 23 is the encryption shown in FIGS. 2 to 3 except that the order in which the key data Ek_i generated by the key schedule means 25 is applied is opposite to that of the encryption means 12. Similar to the means 12. The process 200 for one round is composed of an F function 201 and an exclusive OR 202. This is repeated for a predetermined number of rounds determined by the specification. Therefore, hereinafter, only the configuration of the linear conversion layer 101c of the encryption unit 12 will be described.

図4は、図2で示した線形変換層101cの処理を表す行列Mについて示す説明図である。この行列Mは2n行2n列の行列であり(nは2以上の自然数)、要素a_(0,0)〜要素a_(n−1,n−1)で構成される正方小行列M1、要素a_(0,n)〜要素a_(n−1,2n−1)で構成される正方小行列M2、要素a_(n,0)〜要素a_(2n−1,n−1)で構成される正方小行列M3、要素a_(n,n)〜要素a_(2n−1,2n−1)で構成される正方小行列M4の4つのn行n列の正方小行列の組み合わせで表現される。   FIG. 4 is an explanatory diagram showing the matrix M representing the processing of the linear conversion layer 101c shown in FIG. This matrix M is a matrix of 2n rows and 2n columns (n is a natural number of 2 or more), and a square small matrix M1 composed of elements a_ (0, 0) to elements a_ (n−1, n−1), elements A square small matrix M2 composed of a_ (0, n) to element a_ (n-1,2n-1), composed of element a_ (n, 0) to element a_ (2n-1, n-1). It is represented by a combination of four square n matrixes of n rows and n columns of a square small matrix M4 including a square small matrix M3 and elements a_ (n, n) to elements a_ (2n-1,2n-1).

そして、正方小行列M1〜M4は2種類以上の行列であり、そのうちの1つを基本小行列とすると、他の小行列は基本小行列を巡回シフトした行列に基本小行列を排他的論理和することで生成される行列である。   The square sub-matrices M1 to M4 are two or more kinds of matrices. If one of them is a basic sub-matrix, the other sub-matrices are obtained by exclusive ORing the basic sub-matrix with a matrix obtained by cyclically shifting the basic sub-matrix. It is a matrix generated by doing.

図5は、図4に示した行列Mの構成について示す説明図である。本実施形態では、正方小行列M1〜M4としてMaおよびMbという2種類の行列を使用し、正方小行列M2〜M4をMa、正方小行列M1をMbとする。そして、要素として0を含まず、かつ同じ列に同じ値の要素を持たない(たとえばMDS行列などのような)行列Maを基本小行列とする。このとき、行列Mbは以下の数11で表現される。ここで「<<<」は行単位の巡回シフトを表し、Rは1以上n−1以下の整数である。   FIG. 5 is an explanatory diagram showing the configuration of the matrix M shown in FIG. In the present embodiment, Ma and Mb are used as the square small matrices M1 to M4, the square small matrices M2 to M4 are Ma, and the square small matrix M1 is Mb. A matrix Ma that does not include 0 as an element and does not have an element with the same value in the same column (such as an MDS matrix) is defined as a basic small matrix. At this time, the matrix Mb is expressed by the following Expression 11. Here, “<<” represents a cyclic shift in units of rows, and R is an integer of 1 to n−1.

Figure 0005578422
Figure 0005578422

図6は、図5に示した行列Mbを上記の数11によって生成した例について示す説明図である。ここで、r(j)=(R+j)mod nであり、x mod nはxをnで除算したときの剰余である。   FIG. 6 is an explanatory diagram showing an example in which the matrix Mb shown in FIG. Here, r (j) = (R + j) mod n, and x mod n is a remainder when x is divided by n.

線形変換層101cの入力データをy_0、y_1、…、y_(2n−2)、y_(2n−1)とし、出力データをz_0、z_1、…、z_(2n−2)、z_(2n−1)とする。ここでyi、zi(0≦i≦2n−1)は各々mビットのデータである。また、行列Maの第i行j列(0≦i、j≦n−1)の要素をa_(i,j)という。線形変換層101cはまず、以下の数12〜13に示す行列演算を行う。ここで「・」はGF(2^m)上の乗算を表す記号である。数12は図4で示した正方小行列M3に相当し、数13は図4で示した正方小行列M2およびM4に相当する。   The input data of the linear conversion layer 101c is y_0, y_1, ..., y_ (2n-2), y_ (2n-1), and the output data is z_0, z_1, ..., z_ (2n-2), z_ (2n-1). ). Here, yi and zi (0 ≦ i ≦ 2n−1) are m-bit data, respectively. In addition, an element in the i-th row and j-th column (0 ≦ i, j ≦ n−1) of the matrix Ma is referred to as a_ (i, j). First, the linear conversion layer 101c performs matrix operations shown in the following equations 12-13. Here, “·” is a symbol representing multiplication on GF (2 ^ m). Equation 12 corresponds to the square small matrix M3 shown in FIG. 4, and Equation 13 corresponds to the square small matrices M2 and M4 shown in FIG.

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

線形変換層101cはこれに引き続いて以下の数14に示す演算を行い、z_(n+i)(0≦i≦n−1)を得る。   Subsequently, the linear conversion layer 101c performs the calculation shown in the following equation 14 to obtain z_ (n + i) (0 ≦ i ≦ n−1).

Figure 0005578422
Figure 0005578422

線形変換層101cは最後に、以下の数15に示す演算を行うことによってz_i(0≦i≦n−1)を得る。   Finally, the linear conversion layer 101c obtains z_i (0 ≦ i ≦ n−1) by performing the calculation shown in the following Expression 15.

Figure 0005578422
Figure 0005578422

なお、図6に示した行列Mbを、図5に示した行列Mの正方小行列M1〜M4のいずれに配置しても、同じ演算回数で行列Mとしての演算結果が得られる。   Note that, even if the matrix Mb shown in FIG. 6 is arranged in any of the small square matrices M1 to M4 of the matrix M shown in FIG. 5, the calculation result as the matrix M is obtained with the same number of calculations.

(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る暗号化方法は、入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置10と、送信装置から受信した信号を復号化手段によって復号化する受信装置20とを含む暗号化通信システム1にあって、入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを第1の加算器が排他的論理和で作用させ、排他的論理和からの出力にSボックス層が非線形変換処理を行い、非線形変換処理からの出力に線形変換層が線形変換処理を行い、線形変換処理からの出力にサブブロックデータのうちの残る一方を第2の加算器が排他的論理和で作用させると共に、これらの各処理内容を暗号化手段が予め決定されたラウンド数だけ実行し、線形変換処理が、2n個のmビットデータである入力データに複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたもの排他的論理和して得られるものである。
(Overall operation of the first embodiment)
Next, the overall operation of the above embodiment will be described. The encryption method according to the present embodiment includes a transmission device 10 that transmits input data after being encrypted by a block encryption method encryption unit, and a reception device that decrypts a signal received from the transmission device by a decryption unit. The first adder uses the exclusive logic of the key data previously generated by the key schedule in one of the two sub-block data generated by dividing the input data. The S box layer performs non-linear transformation processing on the output from the exclusive OR, the linear transformation layer performs linear transformation processing on the output from the non-linear transformation processing, and sub-block data is output from the linear transformation processing. The second adder operates the exclusive one of the remaining one of them, and each processing content is executed by the encryption means for a predetermined number of rounds. 2n m-bit data obtained by linear transformation processing by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n × n square small matrices. Is output, and at least one of the square submatrices is a basic matrix that does not include 0 in the elements and does not have the same value in the elements in the same column, and the rest of the square submatrix is the basic matrix. This basic matrix is obtained by performing an exclusive OR operation on the cyclic shift of the basic matrix.

また、本実施形態に係る復号化方法は、入力データを分割して生成した2つのサブブロックデータのうちの一方にデータを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを第1の加算器が排他的論理和で作用させ、排他的論理和からの出力にSボックス層が非線形変換処理を行い、非線形変換処理からの出力に線形変換層が線形変換処理を行い、線形変換処理からの出力にサブブロックデータのうちの残る一方を第2の加算器が排他的論理和で作用させると共に、これらの各処理内容を復号化手段が予め決定されたラウンド数だけ実行し、線形変換処理が、2n個のmビットデータである入力データに複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し、正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、正方小行列の残りは基本行列に当該基本行列を行巡回シフトさせたもの排他的論理和して得られるものである。   In addition, the decryption method according to the present embodiment uses a key that is generated in advance in accordance with the key schedule in the reverse order to when data is encrypted into one of two sub-block data generated by dividing input data. The first adder operates the data with exclusive OR, the S box layer performs nonlinear conversion processing on the output from the exclusive OR, and the linear conversion layer performs linear conversion processing on the output from the nonlinear conversion processing. The second adder operates the remaining one of the sub-block data on the output from the linear transformation processing by exclusive OR, and the contents of each processing are executed by the number of rounds determined in advance. 2n m obtained by multiplying the input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Bi Output data, which is data, and at least one of the square sub-matrices is a basic matrix that does not include 0 in the elements and does not have the same value in the elements in the same column, and the rest of the square sub-matrices are the basic matrix Is obtained by exclusive ORing the basic matrix obtained by cyclically shifting the matrix.

ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである送信装置10および受信装置20とに実行させるようにしてもよい。
この動作により、本実施形態は以下のような効果を奏する。
Here, each of the above-described operation steps may be programmed to be executable by a computer and executed by the transmission device 10 and the reception device 20 which are computers that directly execute the respective steps.
By this operation, this embodiment has the following effects.

第1の効果は、本発明による線形変換処理をSP型F関数に採用することにより、カメリアに存在する8ラウンドの不能差分を排除することができるため、不能差分攻撃の適用可能ラウンド数が削減できることである。ラウンド数が削減できると暗号化処理を高速に行うことができるので、携帯電話端末やICカードなどのような、少ない計算能力と記憶容量しか持たないハードウェアでの利用に適する。   The first effect is that by adopting the linear transformation processing according to the present invention for the SP-type F function, it is possible to eliminate the eight rounds of impossible differences existing in Camellia, thereby reducing the number of applicable rounds of impossible differential attacks. It can be done. If the number of rounds can be reduced, encryption processing can be performed at high speed, which is suitable for use with hardware such as a mobile phone terminal or IC card that has a small amount of computing capacity and storage capacity.

第2の効果は、暗号化および復号化の処理に必要な演算回数を削減(演算時間を短縮)できることである。ランダムな要素を持つ2n行2n列の行列を演算する場合、1行分の演算には2n回のGF(2^m)上の乗算と2n−1回の排他的論理和を行う必要がある。これを2n行について行うと、4n^2回のGF(2^m)上の乗算と2n(2n−1)回の排他的論理和を行うことになる。   The second effect is that the number of computations required for the encryption and decryption processes can be reduced (calculation time is shortened). When calculating a 2n × 2n matrix having random elements, it is necessary to perform 2n multiplications on GF (2 ^ m) and 2n−1 exclusive ORs for one row of operations. . If this is performed for 2n rows, 4n ^ 2 times multiplication on GF (2 ^ m) and 2n (2n-1) times exclusive OR are performed.

一方、本発明で構成される2n行2n列の行列の場合、数12〜15で示したように、2n^2回のGF(2^m)上の乗算と2n^2回の排他的論理和で演算できる。即ち、演算回数をほぼ半減したことになる。このことも、少ない計算能力と記憶容量しか持たないハードウェアでの利用に適する要因となる。   On the other hand, in the case of a matrix of 2n rows and 2n columns constructed according to the present invention, 2n ^ 2 times multiplication over GF (2 ^ m) and 2n ^ 2 times exclusive logic as shown in Equations 12-15. Can be calculated as a sum. That is, the number of operations is almost halved. This is also a factor suitable for use with hardware having only a small computing capacity and storage capacity.

(第2の実施形態)
本発明の第2の実施形態は、線形変換層が入力データに乗算する行列Mの構成を前述の第1の実施形態と比べて変更している。この構成によっても、第1の実施形態と同一の効果が得られる。
以下、これをより詳細に説明する。
(Second Embodiment)
In the second embodiment of the present invention, the configuration of the matrix M by which the linear conversion layer multiplies input data is changed as compared with the first embodiment. With this configuration, the same effect as in the first embodiment can be obtained.
Hereinafter, this will be described in more detail.

図7は、本発明の第2の実施形態に係る暗号化通信システム301の構成について示す説明図である。暗号化通信システム301は、送信装置310と、受信装置320とで構成される。送信装置310および受信装置320は、第1の実施形態に係る送信装置10および受信装置20と比べて、暗号化手段312および復号化手段323のみが異なるので、その他の要素については同一の呼称および参照番号を付している。   FIG. 7 is an explanatory diagram showing the configuration of the encrypted communication system 301 according to the second embodiment of the present invention. The encrypted communication system 301 includes a transmission device 310 and a reception device 320. The transmission device 310 and the reception device 320 are different from the transmission device 10 and the reception device 20 according to the first embodiment only in the encryption unit 312 and the decryption unit 323. A reference number is attached.

図8は、図7に示した暗号化手段312および復号化手段323の、より詳しい構成について示す説明図である。暗号化手段312の1ラウンド分の処理400は、F関数401内の線形変換層401cのみが第1の実施形態と異なるので、その他の要素については同一の呼称および参照番号を付している。また処理の手順も、図3に示したフローチャートと同一である。復号化手段323についても同様に、F関数501内の線形変換層501cのみが第1の実施形態と異なる。   FIG. 8 is an explanatory diagram showing a more detailed configuration of the encryption unit 312 and the decryption unit 323 shown in FIG. Since the processing 400 for one round of the encryption unit 312 is different from the first embodiment only in the linear conversion layer 401c in the F function 401, the other elements have the same names and reference numbers. The processing procedure is also the same as the flowchart shown in FIG. Similarly, only the linear conversion layer 501c in the F function 501 is different from the first embodiment in the decoding unit 323.

図9は、図8で示した線形変換層401cの処理を表す行列Mの構成について示す説明図である。本実施形態では、行列Mを構成する正方小行列M1〜M4のうちの2つをMb、残る2つを行列Maとし、それらを対角に配置している点が第1の実施形態との相違点である。ここでは、M2およびM3を基本小行列Ma、M1およびM4を行列Mbとしている。   FIG. 9 is an explanatory diagram showing the configuration of the matrix M representing the processing of the linear conversion layer 401c shown in FIG. In this embodiment, two of the square small matrices M1 to M4 constituting the matrix M are Mb, the remaining two are matrix Ma, and they are diagonally arranged. It is a difference. Here, M2 and M3 are basic submatrix Ma, and M1 and M4 are matrix Mb.

線形変換層401cはまず、前述の数12〜13に示した行列演算で、図6に示したMbを算出する。続いて線形変換層401cは、0≦i≦n−1について以下の数16の計算を行い、0≦i≦2n−1について以下の数17の計算を行う。これによって、図9に示した行列Mを得ることができる。   First, the linear conversion layer 401c calculates Mb shown in FIG. 6 by the matrix calculation shown in the above formulas 12-13. Subsequently, the linear conversion layer 401c performs the following Expression 16 for 0 ≦ i ≦ n−1 and performs the following Expression 17 for 0 ≦ i ≦ 2n−1. Thereby, the matrix M shown in FIG. 9 can be obtained.

Figure 0005578422
Figure 0005578422

Figure 0005578422
Figure 0005578422

(第3の実施形態)
本発明の第3の実施形態は、線形変換層が入力データに乗算する行列Mの構成を3種類の正方小行列を組み合わせたものとしている。この構成によっても、第1の実施形態と同一の効果が得られる。
以下、これをより詳細に説明する。
(Third embodiment)
In the third embodiment of the present invention, the configuration of the matrix M by which the linear conversion layer multiplies the input data by combining three kinds of square small matrices. With this configuration, the same effect as in the first embodiment can be obtained.
Hereinafter, this will be described in more detail.

図10は、本発明の第3の実施形態に係る暗号化通信システム601の構成について示す説明図である。暗号化通信システム601は、送信装置610と、受信装置620とで構成される。送信装置610および受信装置620は、第1の実施形態に係る送信装置10および受信装置20と比べて、暗号化手段612および復号化手段623のみが異なるので、その他の要素については同一の呼称および参照番号を付している。   FIG. 10 is an explanatory diagram showing the configuration of the encrypted communication system 601 according to the third embodiment of the present invention. The encrypted communication system 601 includes a transmission device 610 and a reception device 620. Since the transmission device 610 and the reception device 620 are different from the transmission device 10 and the reception device 20 according to the first embodiment only in the encryption unit 612 and the decryption unit 623, the other elements have the same names and A reference number is attached.

図11は、図10に示した暗号化手段612および復号化手段623の、より詳しい構成について示す説明図である。暗号化手段612の1ラウンド分の処理700は、F関数701内の線形変換層701cのみが第1の実施形態と異なるので、その他の要素については同一の呼称および参照番号を付している。また処理の手順も、図3に示したフローチャートと同一である。復号化手段623についても同様に、F関数801内の線形変換層801cのみが第1の実施形態と異なる。   FIG. 11 is an explanatory diagram showing a more detailed configuration of the encryption unit 612 and the decryption unit 623 shown in FIG. In the processing 700 for one round of the encryption unit 612, only the linear conversion layer 701c in the F function 701 is different from that of the first embodiment, and therefore, the other elements have the same names and reference numbers. The processing procedure is also the same as the flowchart shown in FIG. Similarly for the decoding means 623, only the linear conversion layer 801c in the F function 801 is different from the first embodiment.

図12は、図11で示した線形変換層701cの処理を表す行列Mの構成について示す説明図である。本実施形態では、行列Mを構成する正方小行列M1〜M4としてMa、Mb、Mcなる3つの行列を使用している点が第1および第2の実施形態との相違点である。ここでは、M2およびM3を基本小行列Ma、M1を行列Mb、M4を行列Mcとしている。ただし、Ma、Mb、Mcの配置はこの例に限定されるものではない。   FIG. 12 is an explanatory diagram showing the configuration of the matrix M representing the processing of the linear conversion layer 701c shown in FIG. The present embodiment is different from the first and second embodiments in that three matrixes Ma, Mb, and Mc are used as the square small matrices M1 to M4 constituting the matrix M. Here, M2 and M3 are basic sub-matrix Ma, M1 is matrix Mb, and M4 is matrix Mc. However, the arrangement of Ma, Mb, and Mc is not limited to this example.

MbおよびMcは、前述の数11に各々異なる巡回シフトを作用して基本小行列Maから生成される。ここで行列Mb、Mcの巡回シフト数をそれぞれR1、R2とする。   Mb and Mc are generated from the basic submatrix Ma by applying different cyclic shifts to the above equation (11). Here, the cyclic shift numbers of the matrices Mb and Mc are R1 and R2, respectively.

線形変換層701cはまず、前述の数12〜13、および数16に示した行列演算で、図6に示したMbを算出する。続いて線形変換層701cは、0≦i≦n−1について以下の数18の計算を行う。これによって、図12に示した行列Mを得ることができる。ここで、r_1(j)=R1+j mod n、r_2(j)=R2+j mod nである。   First, the linear conversion layer 701c calculates Mb shown in FIG. 6 by the matrix operation shown in the above equations 12-13 and 16. Subsequently, the linear conversion layer 701c performs the following calculation of Equation 18 for 0 ≦ i ≦ n−1. Thereby, the matrix M shown in FIG. 12 can be obtained. Here, r_1 (j) = R1 + j mod n and r_2 (j) = R2 + j mod n.

Figure 0005578422
Figure 0005578422

これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。   The present invention has been described with reference to the specific embodiments shown in the drawings. However, the present invention is not limited to the embodiments shown in the drawings, and any known hitherto provided that the effects of the present invention are achieved. Even if it is a structure, it is employable.

上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。   About each embodiment mentioned above, it is as follows when the summary of the novel technical content is put together. In addition, although part or all of the said embodiment is summarized as follows as a novel technique, this invention is not necessarily limited to this.

(付記1) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムであって、
前記暗号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記復号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを前記暗号化手段とは逆の順序で排他的論理和で作用させる第3の加算器と、前記第3の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第4の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有し、
前記暗号化手段および前記復号化手段の前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする暗号化通信システム。
(Supplementary Note 1) Encrypted communication including a transmitting apparatus that encrypts input data after being encrypted by a block cipher encrypting means, and a receiving apparatus that decrypts a signal received from the transmitting apparatus by a decrypting means A system,
The encryption means is
A first adder that operates on one of two sub-block data generated by dividing the input data by exclusive OR, the key data generated in advance by the key schedule; and from the first adder An S-box layer that performs nonlinear transformation on the output, a linear transformation layer that performs linear transformation processing on the output from the S-box layer, and the remaining one of the sub-block data in the output from the linear transformation layer is exclusive logic A round including the second adder that acts as a sum is defined as one round, and has a plurality of round numbers specified in advance according to the encryption method using this round,
The decoding means comprises:
A third adder for operating the key data generated beforehand by the key schedule on one of the two sub-block data generated by dividing the input data by exclusive OR in the reverse order to the encryption means An S box layer that performs nonlinear transformation on the output from the third adder, a linear transformation layer that performs linear transformation processing on the output from the S box layer, and an output from the linear transformation layer that includes the sub-block. The round including the fourth adder that operates the remaining one of the data by exclusive OR is defined as one round, and has a plurality of rounds specified in advance according to the encryption method using this round,
A matrix of 2n rows and 2n columns obtained by the linear transformation layer of the encryption unit and the decryption unit obtained by combining a plurality of n rows and n columns of square small matrices with respect to input data that is 2n m-bit data. A function of outputting output data which is 2n m-bit data obtained by multiplying M (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. An encryption communication system characterized by being obtained by performing an exclusive OR operation on what is cyclically shifted.

(付記2) 前記線形変換層が入力データに乗算する前記行列Mが2種類もしくは3種類のうちいずれか一方の前記正方小行列を組み合わせて構成されたことを特徴とする、付記1に記載の暗号化通信システム。 (Supplementary note 2) The supplementary note 1 according to supplementary note 1, wherein the matrix M by which the linear transformation layer multiplies input data is configured by combining any one of two or three kinds of the square sub-matrices. Encrypted communication system.

(付記3) 前記基本行列がMDS(Maximum Distance Separable)行列であることを特徴とする、付記1または付記2に記載の暗号化通信システム。 (Supplementary Note 3) The encrypted communication system according to Supplementary Note 1 or Supplementary Note 2, wherein the basic matrix is an MDS (Maximum Distance Separable) matrix.

(付記4) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置であって、
前記暗号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする送信装置。
(Supplementary Note 4) A transmission device that encrypts input data using block encryption method and transmits the data.
The encryption means is
A first adder that operates on one of two sub-block data generated by dividing the input data by exclusive OR, the key data generated in advance by the key schedule; and from the first adder An S-box layer that performs nonlinear transformation on the output, a linear transformation layer that performs linear transformation processing on the output from the S-box layer, and the remaining one of the sub-block data in the output from the linear transformation layer is exclusive logic A round including the second adder that acts as a sum is defined as one round, and has a plurality of round numbers specified in advance according to the encryption method using this round,
The linear conversion layer multiplies 2n-by-2n matrix M obtained by combining a plurality of n-by-n square sub-matrices with 2n m-bit input data, and 2n a function of outputting output data which is m-bit data (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A transmitting apparatus characterized by being obtained by exclusive ORing a cyclically shifted one.

(付記5) 受信した信号をブロック暗号方式の復号化手段によって復号化したデータを出力する受信装置であって、
前記復号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に前記データを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする受信装置。
(Supplementary Note 5) A receiving device that outputs data obtained by decrypting a received signal by a decryption unit of a block encryption method,
The decoding means comprises:
First of all, the key data previously generated by the key schedule is operated by exclusive OR in the reverse order to the case where the data is encrypted to one of the two sub-block data generated by dividing the input data. The S box layer that performs nonlinear transformation on the output from the first adder, the linear transformation layer that performs linear transformation processing on the output from the S box layer, and the output from the linear transformation layer A round including a second adder that operates the remaining one of the sub-block data with exclusive OR is defined as one round, and has a plurality of rounds specified in advance according to an encryption method using this round. With
The linear conversion layer multiplies 2n-by-2n matrix M obtained by combining a plurality of n-by-n square sub-matrices with 2n m-bit input data, and 2n a function of outputting output data which is m-bit data (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A receiving apparatus obtained by performing an exclusive OR operation on a cyclically shifted one.

(付記6) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを第1の加算器が排他的論理和で作用させ、
前記排他的論理和からの出力にSボックス層が非線形変換処理を行い、
前記非線形変換処理からの出力に線形変換層が線形変換処理を行い、
前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を第2の加算器が排他的論理和で作用させると共に、
これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする暗号化方法。
(Supplementary note 6) Encrypted communication including a transmitting apparatus that encrypts input data after being encrypted by a block cipher encrypting means, and a receiving apparatus that decrypts a signal received from the transmitting apparatus by a decrypting means In the system,
The first adder operates the key data previously generated by the key schedule on one of the two sub-block data generated by dividing the input data by exclusive OR,
The S box layer performs non-linear transformation processing on the output from the exclusive OR,
A linear conversion layer performs linear conversion processing on the output from the nonlinear conversion processing,
The second adder operates the remaining one of the sub-block data on the output from the linear transformation process by exclusive OR,
A round including each of these processing contents is defined as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. An encryption method characterized by being obtained by exclusive ORing a cyclically shifted one.

(付記7) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
入力データを分割して生成した2つのサブブロックデータのうちの一方に前記データを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを第1の加算器が排他的論理和で作用させ、
前記排他的論理和からの出力にSボックス層が非線形変換処理を行い、
前記非線形変換処理からの出力に線形変換層が線形変換処理を行い、
前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を第2の加算器が排他的論理和で作用させると共に、
これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする復号化方法。
(Supplementary note 7) Encrypted communication including a transmitting device that encrypts input data after being encrypted by a block cipher encryption unit and a receiving device that decrypts a signal received from the transmitting device by a decrypting unit In the system,
The first adder performs exclusive logic on the key data previously generated by the key schedule in the reverse order to the case where the data is encrypted into one of the two sub-block data generated by dividing the input data. Act in sum,
The S box layer performs non-linear transformation processing on the output from the exclusive OR,
A linear conversion layer performs linear conversion processing on the output from the nonlinear conversion processing,
The second adder operates the remaining one of the sub-block data on the output from the linear transformation process by exclusive OR,
A round including each of these processing contents is defined as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A decoding method characterized by being obtained by performing an exclusive OR operation on a cyclic shift.

(付記8) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
前記暗号化手段が備えるコンピュータに、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる手順、
前記排他的論理和からの出力に非線形変換処理を行う手順、
前記非線形変換処理からの出力に線形変換処理を行う手順、
および前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる手順、
これらの各手順を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行させると共に、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする暗号化プログラム。
(Supplementary Note 8) Encrypted communication including a transmission device that transmits input data after being encrypted by a block cipher encryption unit, and a reception device that decrypts a signal received from the transmission device by a decryption unit In the system,
In the computer provided with the encryption means,
A procedure for operating the key data generated in advance by the key schedule by exclusive OR on one of the two sub-block data generated by dividing the input data;
A procedure for performing nonlinear transformation processing on the output from the exclusive OR,
A procedure for performing linear transformation processing on the output from the nonlinear transformation processing,
And a procedure for operating the remaining one of the sub-block data by exclusive OR on the output from the linear transformation process,
A round including each of these procedures is set as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. An encryption program obtained by performing an exclusive OR operation on a cyclic shift.

(付記9) 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
前記復号化手段が備えるコンピュータに、
入力データを分割して生成した2つのサブブロックデータのうちの一方に前記データを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる手順、
前記排他的論理和からの出力に非線形変換処理を行う手順、
前記非線形変換処理からの出力に線形変換処理を行う手順、
および前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる手順、
これらの各手順を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行させると共に、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする復号化プログラム。
(Supplementary note 9) Encrypted communication including a transmission device that transmits input data after being encrypted by block encryption method encryption means, and a reception device that decrypts a signal received from the transmission device by decryption means In the system,
In the computer provided in the decoding means,
A procedure for operating the key data previously generated by the key schedule in an exclusive OR in the reverse order to the case where the data is encrypted to one of the two sub-block data generated by dividing the input data;
A procedure for performing nonlinear transformation processing on the output from the exclusive OR,
A procedure for performing linear transformation processing on the output from the nonlinear transformation processing,
And a procedure for operating the remaining one of the sub-block data by exclusive OR on the output from the linear transformation process,
A round including each of these procedures is set as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A decoding program obtained by performing an exclusive OR operation on a cyclic shift.

本発明は、音声通信端末やデータ通信装置における通信データを秘匿するための暗号化装置といった用途に適用できる。   The present invention can be applied to uses such as an encryption device for concealing communication data in a voice communication terminal or a data communication device.

1、301、601 暗号化通信システム
10、310、610 送信装置
11 圧縮手段
12、312、612 暗号化手段
13 符号化手段
14 変調手段
15、25 鍵スケジュール手段
20、320、620 受信装置
21 復調手段
22 エラー訂正手段
23、323、623 復号化手段
24 解凍手段
30 伝送路
100、200 第iラウンドの処理
101、201 F関数
101a、201a 第1の加算器(排他的論理和)
101b、201b Sボックス層
101c、201c、401c、501c、701c、801c 線形変換層
102、202 第2の加算器(排他的論理和)
DESCRIPTION OF SYMBOLS 1,301,601 Encryption communication system 10,310,610 Transmission apparatus 11 Compression means 12,312,612 Encryption means 13 Encoding means 14 Modulation means 15,25 Key schedule means 20,320,620 Receiver 21 Demodulation means 22 Error correction means 23, 323, 623 Decoding means 24 Decompression means 30 Transmission path 100, 200 Processing of i-th round 101, 201 F function 101a, 201a First adder (exclusive OR)
101b, 201b S box layer 101c, 201c, 401c, 501c, 701c, 801c Linear transformation layer 102, 202 Second adder (exclusive OR)

Claims (9)

入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムであって、
前記暗号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記復号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを前記暗号化手段とは逆の順序で排他的論理和で作用させる第3の加算器と、前記第3の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第4の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有し、
前記暗号化手段および前記復号化手段の前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする暗号化通信システム。
An encryption communication system comprising: a transmission device that encrypts input data after being encrypted by block encryption method encryption means; and a reception device that decrypts a signal received from the transmission device by decryption means. ,
The encryption means is
A first adder that operates on one of two sub-block data generated by dividing the input data by exclusive OR, the key data generated in advance by the key schedule; and from the first adder An S-box layer that performs nonlinear transformation on the output, a linear transformation layer that performs linear transformation processing on the output from the S-box layer, and the remaining one of the sub-block data in the output from the linear transformation layer is exclusive logic A round including the second adder that acts as a sum is defined as one round, and has a plurality of round numbers specified in advance according to the encryption method using this round,
The decoding means comprises:
A third adder for operating the key data generated beforehand by the key schedule on one of the two sub-block data generated by dividing the input data by exclusive OR in the reverse order to the encryption means An S box layer that performs nonlinear transformation on the output from the third adder, a linear transformation layer that performs linear transformation processing on the output from the S box layer, and an output from the linear transformation layer that includes the sub-block. The round including the fourth adder that operates the remaining one of the data by exclusive OR is defined as one round, and has a plurality of rounds specified in advance according to the encryption method using this round,
A matrix of 2n rows and 2n columns obtained by the linear transformation layer of the encryption unit and the decryption unit obtained by combining a plurality of n rows and n columns of square small matrices with respect to input data that is 2n m-bit data. A function of outputting output data which is 2n m-bit data obtained by multiplying M (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. An encryption communication system characterized by being obtained by performing an exclusive OR operation on what is cyclically shifted.
前記線形変換層が入力データに乗算する前記行列Mが2種類もしくは3種類のうちいずれか一方の前記正方小行列を組み合わせて構成されたことを特徴とする、請求項1に記載の暗号化通信システム。   The encrypted communication according to claim 1, wherein the matrix M by which the linear conversion layer multiplies input data is configured by combining either one of two types or three types of the square sub-matrices. system. 前記基本行列がMDS(Maximum Distance Separable)行列であることを特徴とする、請求項1または請求項2に記載の暗号化通信システム。   The encrypted communication system according to claim 1, wherein the basic matrix is an MDS (Maximum Distance Separable) matrix. 入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置であって、
前記暗号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする送信装置。
A transmission device that encrypts input data by an encryption means of a block encryption method and sends it out,
The encryption means is
A first adder that operates on one of two sub-block data generated by dividing the input data by exclusive OR, the key data generated in advance by the key schedule; and from the first adder An S-box layer that performs nonlinear transformation on the output, a linear transformation layer that performs linear transformation processing on the output from the S-box layer, and the remaining one of the sub-block data in the output from the linear transformation layer is exclusive logic A round including the second adder that acts as a sum is defined as one round, and has a plurality of round numbers specified in advance according to the encryption method using this round,
The linear conversion layer multiplies 2n-by-2n matrix M obtained by combining a plurality of n-by-n square sub-matrices with 2n m-bit input data, and 2n a function of outputting output data which is m-bit data (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A transmitting apparatus characterized by being obtained by exclusive ORing a cyclically shifted one.
受信した信号をブロック暗号方式の復号化手段によって復号化したデータを出力する受信装置であって、
前記復号化手段が、
入力データを分割して生成した2つのサブブロックデータのうちの一方に前記データを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを排他的論理和で作用させる第1の加算器と、前記第1の加算器からの出力に非線形変換を行うSボックス層と、前記Sボックス層からの出力に線形変換処理を行う線形変換層と、前記線形変換層からの出力に前記サブブロックデータのうちの残る一方を排他的論理和で作用させる第2の加算器とを含むラウンドを1ラウンドとして、このラウンドを使用する暗号方式に応じて予め特定された複数のラウンド数有すると共に、
前記線形変換層が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力する機能を有し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする受信装置。
A receiving device that outputs data obtained by decrypting a received signal by a decryption unit of a block encryption method,
The decoding means comprises:
First of all, the key data previously generated by the key schedule is operated by exclusive OR in the reverse order to the case where the data is encrypted to one of the two sub-block data generated by dividing the input data. The S box layer that performs nonlinear transformation on the output from the first adder, the linear transformation layer that performs linear transformation processing on the output from the S box layer, and the output from the linear transformation layer A round including a second adder that operates the remaining one of the sub-block data with exclusive OR is defined as one round, and has a plurality of rounds specified in advance according to an encryption method using this round. With
The linear conversion layer multiplies 2n-by-2n matrix M obtained by combining a plurality of n-by-n square sub-matrices with 2n m-bit input data, and 2n a function of outputting output data which is m-bit data (m and n are natural numbers of 2 or more);
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A receiving apparatus obtained by performing an exclusive OR operation on a cyclically shifted one.
入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
入力データを分割して生成した2つのサブブロックデータのうちの一方に鍵スケジュールによって予め生成された鍵データを、前記暗号化手段が備えている第1の加算器が排他的論理和で作用させ、
前記排他的論理和からの出力に、前記暗号化手段が備えているSボックス層が非線形変換処理を行い、
前記非線形変換処理からの出力に、前記暗号化手段が備えている線形変換層が線形変換処理を行い、
前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を、前記暗号化手段が備えている第2の加算器が排他的論理和で作用させると共に、
これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする暗号化方法。
An encryption communication system comprising: a transmission device that encrypts input data after being encrypted by block encryption method encryption means; and a reception device that decrypts a signal received from the transmission device by decryption means. ,
One of the two sub-block data generated by dividing the input data is subjected to key data generated in advance by the key schedule, and the first adder provided in the encryption means operates by exclusive OR. Let
The S box layer provided in the encryption means performs nonlinear transformation processing on the output from the exclusive OR,
A linear conversion layer provided in the encryption unit performs linear conversion processing on the output from the nonlinear conversion processing,
A second adder provided in the encryption means operates the remaining one of the sub-block data on the output from the linear transformation process by exclusive OR,
A round including each of these processing contents is defined as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. An encryption method characterized by being obtained by exclusive ORing a cyclically shifted one.
入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
入力データを分割して生成した2つのサブブロックデータのうちの一方に前記データを暗号化した時とは逆の順序で鍵スケジュールによって予め生成された鍵データを、前記復号化手段が備えている第1の加算器が排他的論理和で作用させ、
前記排他的論理和からの出力に、前記復号化手段が備えているSボックス層が非線形変換処理を行い、
前記非線形変換処理からの出力に、前記復号化手段が備えている線形変換層が線形変換処理を行い、
前記線形変換処理からの出力に前記サブブロックデータのうちの残る一方を、前記復号化手段が備えている第2の加算器が排他的論理和で作用させると共に、
これらの各処理内容を含むラウンドを1ラウンドとして、このラウンドを前記暗号化手段が使用する暗号方式に応じて予め特定された複数のラウンド数だけ実行し、
前記線形変換処理が、2n個のmビットデータである入力データに対して複数のn行n列の正方小行列を組み合わせて得られる2n行2n列の行列Mを乗算して得られる2n個のmビットデータである出力データを出力し(mおよびnは2以上の自然数)、
前記正方小行列のうち少なくとも1つは要素に0を含まず、かつ同一列内の要素に同じ値を持たない基本行列であり、前記正方小行列の残りは前記基本行列に当該基本行列を行巡回シフトさせたものを排他的論理和して得られるものであることを特徴とする復号化方法。
An encryption communication system comprising: a transmission device that encrypts input data after being encrypted by block encryption method encryption means; and a reception device that decrypts a signal received from the transmission device by decryption means. ,
To one of the two block data generated by dividing the input data, the key data are previously generated by the key scheduling in the reverse order that encrypted the data, provided that said decoding means A first adder that operates with exclusive OR,
The S box layer provided in the decoding means performs nonlinear transformation processing on the output from the exclusive OR,
A linear conversion layer provided in the decoding means performs linear conversion processing on the output from the nonlinear conversion processing,
A second adder provided in the decoding means operates the remaining one of the sub-block data on the output from the linear transformation process by exclusive OR,
A round including each of these processing contents is defined as one round, and this round is executed by a plurality of rounds specified in advance according to the encryption method used by the encryption means,
The linear transformation process is performed by multiplying input data, which is 2n m-bit data, by a matrix M of 2n rows and 2n columns obtained by combining a plurality of n rows and n columns of square small matrices. Output data that is m-bit data (m and n are natural numbers of 2 or more),
At least one of the square sub-matrices is a basic matrix whose elements do not include 0, and the elements in the same column do not have the same value, and the rest of the square sub-matrices are row-based on the basic matrix. A decoding method characterized by being obtained by performing an exclusive OR operation on a cyclic shift.
入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
前記暗号化手段が備えるコンピュータを請求項4に記載の送信装置として機能させるための暗号化プログラム。
An encryption communication system comprising: a transmission device that encrypts input data after being encrypted by block encryption method encryption means; and a reception device that decrypts a signal received from the transmission device by decryption means. ,
The encryption program for functioning the computer with which the said encryption means is provided as a transmission apparatus of Claim 4 .
入力されるデータをブロック暗号方式の暗号化手段によって暗号化してから送出する送信装置と、前記送信装置から受信した信号を復号化手段によって復号化する受信装置とを含む暗号化通信システムにあって、
前記復号化手段が備えるコンピュータを請求項5に記載の受信装置として機能させるための復号化プログラム。
An encryption communication system comprising: a transmission device that encrypts input data after being encrypted by block encryption method encryption means; and a reception device that decrypts a signal received from the transmission device by decryption means. ,
A decoding program for causing a computer provided in the decoding means to function as the receiving device according to claim 5 .
JP2010164219A 2010-07-21 2010-07-21 ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF Expired - Fee Related JP5578422B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010164219A JP5578422B2 (en) 2010-07-21 2010-07-21 ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010164219A JP5578422B2 (en) 2010-07-21 2010-07-21 ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF

Publications (2)

Publication Number Publication Date
JP2012027149A JP2012027149A (en) 2012-02-09
JP5578422B2 true JP5578422B2 (en) 2014-08-27

Family

ID=45780164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010164219A Expired - Fee Related JP5578422B2 (en) 2010-07-21 2010-07-21 ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF

Country Status (1)

Country Link
JP (1) JP5578422B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116722991B (en) * 2023-02-02 2023-11-17 浙江云马智慧科技有限公司 Data transmission system used in physical isolation environment
CN116707934B (en) * 2023-06-20 2023-10-24 甘肃省地震局(中国地震局兰州地震研究所) Data encryption transmission method based on wireless sensor network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3907976B2 (en) * 2000-07-13 2007-04-18 富士通株式会社 Arithmetic apparatus and arithmetic method using SPN structure in F function
JP4622222B2 (en) * 2003-09-30 2011-02-02 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and computer program
JP4561252B2 (en) * 2004-09-03 2010-10-13 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and computer program
JP4905000B2 (en) * 2006-09-01 2012-03-28 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and computer program
WO2009075337A1 (en) * 2007-12-13 2009-06-18 Nec Corporation Encryption method, decryption method, device, and program

Also Published As

Publication number Publication date
JP2012027149A (en) 2012-02-09

Similar Documents

Publication Publication Date Title
Ali et al. A new chaos based color image encryption algorithm using permutation substitution and Boolean operation
Noura et al. A new efficient lightweight and secure image cipher scheme
Anees et al. Designing secure substitution boxes based on permutation of symmetric group
Ur Rehman et al. Block mode image encryption technique using two-fold operations based on chaos, MD5 and DNA rules
CN105556880A (en) Method and apparatus for secure communication
KR100800468B1 (en) Hardware cryptographic engine and method improving power consumption and operation speed
Norouzi et al. Breaking a novel image encryption scheme based on an improper fractional order chaotic system
Rashwan et al. Security of the GPT cryptosystem and its applications to cryptography
JPWO2009075337A1 (en) ENCRYPTION METHOD, DECRYPTION METHOD, DEVICE, AND PROGRAM
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
CN104854814A (en) Key sharing network device and configuration thereof
EP3447963A1 (en) Method for protecting data
US20080192924A1 (en) Data encryption without padding
Yap et al. On the effective subkey space of some image encryption algorithms using external key
CN102187617A (en) Cryptographic system
Arshad et al. New extension of data encryption standard over 128-bit key for digital images
Reyad et al. Image encryption using koblitz’s encoding and new mapping method based on elliptic curve random number generator
Sadeghi et al. Improved zero‐correlation and impossible differential cryptanalysis of reduced‐round SIMECK block cipher
Hooshmand et al. Physical layer encryption scheme using finite‐length polar codes
Ur Rehman et al. An innovative technique for image encryption using tri-partite graph and chaotic maps
Li et al. Related-tweak statistical saturation cryptanalysis and its application on QARMA
Chen et al. Image encryption/decryption system using 2-D cellular automata
Gangadari et al. FPGA implementation of compact S-box for AES algorithm using composite field arithmetic
Xu et al. A white-box AES-like implementation based on key-dependent substitution-linear transformations
JP5578422B2 (en) ENCRYPTED COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, ENCRYPTION / DECRYPTION METHOD, AND PROGRAM THEREOF

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140603

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140626

R150 Certificate of patent or registration of utility model

Ref document number: 5578422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees