LEA LEA暗号化ラウンド関数 |
|
| デザイナー | ホン・ドゥクジョ、イ・ジョングン、キム・ドンチャン、クォン・デソン、リュ・クォン、イ・ドンゴン |
|---|
| 初版 | 2013 |
|---|
|
| キーサイズ | 128、192、または256ビット |
|---|
| ブロックサイズ | 128ビット |
|---|
| 構造 | ARX (モジュラー加算、ビット回転、ビットXOR) |
|---|
| ラウンド | 24、28、または32(キーのサイズによって異なります) |
|---|
|
| 2019 年現在、フルラウンド LEA への成功した攻撃は知られていません。 |
軽量暗号化アルゴリズム( LEAとも呼ばれる)は、ビッグデータやクラウドコンピューティングなどの高速環境だけでなく、 IoTデバイスやモバイルデバイスなどの軽量環境でも機密性を確保するために2013年に韓国で開発された128ビットのブロック暗号です。[ 1 ] LEAには、128ビット、192ビット、256ビットの3つの異なる鍵長があります。LEAは、さまざまなソフトウェア環境で最も広く使用されているブロック暗号で あるAESよりも約1.5~2倍高速にデータを暗号化します。
LEAは、韓国暗号モジュール検証プログラム(KCMVP)によって承認された暗号アルゴリズムの1つであり、大韓民国の国家標準(KS X 3246)です。LEAは、ISO/IEC 29192-2:2019規格(情報セキュリティ- 軽量暗号化 - パート2:ブロック暗号)に含まれています。
仕様
32ビットワードのARX演算(モジュラー加算: 、ビット回転:、、ビットXOR )で構成されるブロック暗号LEAは、128ビットのデータブロックを処理し、128ビット、192ビット、256ビットの3つの異なる鍵長を持ちます。128ビット鍵のLEA、192ビット鍵のLEA、256ビット鍵のLEAは、それぞれ「LEA-128」、「LEA-192」、「LEA-256」と呼ばれます。ラウンド数は、LEA-128が24ラウンド、LEA-192が28ラウンド、LEA-256が32ラウンドです。 



暗号化
を128ビットの平文ブロック、を128ビットの暗号文ブロックとします。ここで、 ( )と( )はそれぞれ32ビットのブロックです。( )は192ビットのラウンド鍵とします。ここで、( )は32ビットのブロックです。LEAアルゴリズムのラウンド数は以下です。暗号化操作は以下のように記述されます。 ![{\displaystyle P=P[0]\|P[1]\|P[2]\|P[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle C=C[0]\|C[1]\|C[2]\|C[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle P[i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle C[i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)

![{\displaystyle K_{i}=K_{i}[0]\|K_{i}[1]\|K_{i}[2]\|K_{i}[3]\|K_{i}[4]\|K_{i}[5]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)

![{\displaystyle K_{i}[j]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)


![{\displaystyle X_{0}[0]\|X_{0}[1]\|X_{0}[2]\|X_{0}[3]\leftarrow P[0]\|P[1]\|P[2]\|P[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- 〜のために


![{\displaystyle X_{i+1}[0]\leftarrow \left(\left(X_{i}[0]\oplus K_{i}[0]\right)\boxplus \left(X_{i}[1]\oplus K_{i}[1]\right)\right)\lll 9}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i+1}[1]\leftarrow \left(\left(X_{i}[1]\oplus K_{i}[2]\right)\boxplus \left(X_{i}[2]\oplus K_{i}[3]\right)\right)\ggg 5}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i+1}[2]\leftarrow \left(\left(X_{i}[2]\oplus K_{i}[4]\right)\boxplus \left(X_{i}[3]\oplus K_{i}[5]\right)\right)\ggg 3}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i+1}[3]\leftarrow X_{i}[0]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle C[0]\|C[1]\|C[2]\|C[3]\leftarrow X_{Nr}[0]\|X_{Nr}[1]\|X_{Nr}[2]\|X_{Nr}[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
復号化
復号化操作は次のとおりです。
![{\displaystyle X_{Nr}[0]\|X_{Nr}[1]\|X_{Nr}[2]\|X_{Nr}[3]\leftarrow C[0]\|C[1]\|C[2]\|C[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- まで


![{\displaystyle X_{i}[0]\leftarrow X_{i+1}[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i}[1]\leftarrow \left(\left(X_{i+1}[0]\ggg 9\right)\boxminus \left(X_{i}[0]\oplus K_{i}[0]\right)\right)\oplus K_{i}[1]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i}[2]\leftarrow \left(\left(X_{i+1}[1]\lll 5\right)\boxminus \left(X_{i}[1]\oplus K_{i}[2]\right)\right)\oplus K_{i}[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle X_{i}[3]\leftarrow \left(\left(X_{i+1}[2]\lll 3\right)\boxminus \left(X_{i}[2]\oplus K_{i}[4]\right)\right)\oplus K_{i}[5]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle P[0]\|P[1]\|P[2]\|P[3]\leftarrow X_{0}[0]\|X_{0}[1]\|X_{0}[2]\|X_{0}[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
主要スケジュール
LEAのキースケジュールは128ビット、192ビット、256ビットのキーをサポートし、データ処理部分に 192ビットのラウンドキー( )を出力します。

LEA-128の主要スケジュール
128ビットの鍵を とします。ここで、( )は32ビットのブロックです。LEA-128の鍵スケジュールは、4つの32ビット定数( ) を入力として受け取り、24個の192ビットラウンド鍵( ) を出力します。LEA-128の鍵スケジュール演算は以下のとおりです。 ![{\displaystyle K=K[0]\|K[1]\|K[2]\|K[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K[i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)


![{\displaystyle \delta [i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)



![{\displaystyle T[0]\|T[1]\|T[2]\|T[3]\leftarrow K[0]\|K[1]\|K[2]\|K[3]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- 〜のために


![{\displaystyle T[0]\leftarrow \left(T[0]\boxplus \left(\delta [i\mod 4]\lll i\right)\right)\lll 1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[1]\leftarrow \left(T[1]\boxplus \left(\delta [i\mod 4]\lll \left(i+1\right)\right)\right)\lll 3}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[2]\leftarrow \left(T[2]\boxplus \left(\delta [i\mod 4]\lll \left(i+2\right)\right)\right)\lll 6}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[3]\leftarrow \left(T[3]\boxplus \left(\delta [i\mod 4]\lll \left(i+3\right)\right)\right)\lll 11}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K_{i}\leftarrow T[0]\|T[1]\|T[2]\|T[1]\|T[3]\|T[1]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
LEA-192の主要スケジュール
192ビット鍵を とします。ここで、( )は32ビットブロックです。LEA-192の鍵スケジュールは、6つの32ビット定数( )を入力として受け取り、28個の192ビットラウンド鍵( )を出力します。LEA-192の鍵スケジュール演算は以下のとおりです。 ![{\displaystyle K=K[0]\|K[1]\|K[2]\|K[3]\|K[4]\|K[5]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K[i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)


![{\displaystyle \delta [i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)



![{\displaystyle T[0]\|T[1]\|T[2]\|T[3]\|T[4]\|T[5]\leftarrow K[0]\|K[1]\|K[2]\|K[3]\|K[4]\|K[5]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- 〜のために


![{\displaystyle T[0]\leftarrow \left(T[0]\boxplus \left(\delta [i\mod 6]\lll i\right)\right)\lll 1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[1]\leftarrow \left(T[1]\boxplus \left(\delta [i\mod 6]\lll \left(i+1\right)\right)\right)\lll 3}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[2]\leftarrow \left(T[2]\boxplus \left(\delta [i\mod 6]\lll \left(i+2\right)\right)\right)\lll 6}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[3]\leftarrow \left(T[3]\boxplus \left(\delta [i\mod 6]\lll \left(i+3\right)\right)\right)\lll 11}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[4]\leftarrow \left(T[4]\boxplus \left(\delta [i\mod 6]\lll \left(i+4\right)\right)\right)\lll 13}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[5]\leftarrow \left(T[5]\boxplus \left(\delta [i\mod 6]\lll \left(i+5\right)\right)\right)\lll 17}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K_{i}\leftarrow T[0]\|T[1]\|T[2]\|T[3]\|T[4]\|T[5]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
LEA-256の主要スケジュール
256ビットの鍵を とします。ここで、( )は32ビットのブロックです。LEA-192の鍵スケジュールは、8つの32ビット定数( ) を入力として受け取り、32個の192ビットラウンド鍵( ) を出力します。LEA-256の鍵スケジュール演算は以下のとおりです。 ![{\displaystyle K=K[0]\|K[1]\|K[2]\|K[3]\|K[4]\|K[5]\|K[6]\|K[7]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K[i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)


![{\displaystyle \delta [i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)



![{\displaystyle T[0]\|T[1]\|T[2]\|T[3]\|T[4]\|T[5]\|T[6]\|T[7]\leftarrow K[0]\|K[1]\|K[2]\|K[3]\|K[4]\|K[5]\|K[6]\|K[7]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- 〜のために


![{\displaystyle T[6i\mod 8]\leftarrow \left(T[6i\mod 8]\boxplus \left(\delta [i\mod 8]\lll i\right)\right)\lll 1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[6i+1\mod 8]\leftarrow \left(T[6i+1\mod 8]\boxplus \left(\delta [i\mod 8]\lll \left(i+1\right)\right)\right)\lll 3}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[6i+2\mod 8]\leftarrow \left(T[6i+2\mod 8]\boxplus \left(\delta [i\mod 8]\lll \left(i+2\right)\right)\right)\lll 6}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[6i+3\mod 8]\leftarrow \left(T[6i+3\mod 8]\boxplus \left(\delta [i\mod 8]\lll \left(i+3\right)\right)\right)\lll 11}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[6i+4\mod 8]\leftarrow \left(T[6i+4\mod 8]\boxplus \left(\delta [i\mod 8]\lll \left(i+4\right)\right)\right)\lll 13}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T[6i+5\mod 8]\leftarrow \left(T[6i+5\mod 8]\boxplus \left(\delta [i\mod 8]\lll \left(i+5\right)\right)\right)\lll 17}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K_{i}\leftarrow T[6i\mod 8]\|T[6i+1\mod 8]\|T[6i+2\mod 8]\|T[6i+3\mod 8]\|T[6i+4\mod 8]\|T[6i+5\mod 8]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
定数値
キースケジュールで使用される 8 つの 32 ビット定数値( ) を次の表に示します。![{\displaystyle \delta [i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)

キースケジュールで使用される定数値  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|
![{\displaystyle \delta [i]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) | 0xc3efe9db | 0x44626b02 | 0x79e27c8a | 0x78df30ec | 0x715ea49e | 0xc785da0a | 0xe04ef22a | 0xe5c40957 |
|---|
安全
2019年現在、全ラウンドLEAに対する成功した攻撃は知られていません。反復ブロック暗号ではよくあることですが、ラウンド数を短縮した亜種は攻撃されています。標準的な攻撃モデル(未知の鍵を用いたCPA/CCA)におけるLEAに対する最も優れた公開済みの攻撃は、ブーメラン攻撃と差分線形攻撃です。ブロック暗号に対する既存の様々な暗号解読技術に対して、全ラウンド数に対するセキュリティマージンは37%以上です。
LEAのセキュリティマージン | ブロック暗号 | ラウンド数(攻撃回数 / 合計回数) | セキュリティマージン |
|---|
| LEA-128 | 15 / 24 | 37.50% |
| LEA-192 | 16 / 28 | 42.85% |
| LEA-256 | 18 / 32 | 43.75% |
LEAは汎用ソフトウェア環境において非常に優れた性能を発揮します。特に、様々なソフトウェア環境で最も広く利用されているブロック暗号であるAESと比較して、平均で約1.5~2倍の速度で暗号化が可能です。以下の表は、軽量暗号プリミティブのソフトウェア実装を評価するためのベンチマークフレームワークであるFELICS(Fair Evaluation of Lightweight Cryptographic Systems)[ 3 ]を用いて、LEAとAESの性能を比較したものです。
FELICSシナリオ1 – 暗号化 + 復号化 + キーセットアップ / 128バイトCBC暗号化[ 4 ](コード:バイト、RAM:バイト、時間:サイクル) | プラットフォーム | LEA-128 | LEA-192 | LEA-256 | AES-128 |
|---|
| AVR | コード | 1,684 | 2,010 | 2,150 | 3,010 |
| ラム | 631 | 943 | 1,055 | 408 |
| 時間 | 61,020 | 80,954 | 92,194 | 58,248 |
| MSP | コード | 1,130 | 1,384 | 1,468 | 2,684 |
| ラム | 626 | 942 | 1,046 | 408 |
| 時間 | 47,339 | 56,540 | 64,001 | 86,506 |
| アーム | コード | 472 | 536 | 674 | 3,050 |
| ラム | 684 | 968 | 1,080 | 452 |
| 時間 | 17,417 | 20,640 | 24,293 | 83,868 |
FELICSシナリオ2 – 暗号化 / 128ビットCTR暗号化[ 4 ](コード:バイト、RAM:バイト、時間:サイクル) | プラットフォーム | LEA-128 | LEA-192 | LEA-256 | AES-128 |
|---|
| AVR | コード | 906 | 1,210 | 1,306 | 1,246 |
| ラム | 80 | 80 | 80 | 81 |
| 時間 | 4,023 | 4,630 | 5,214 | 3,408 |
| MSP | コード | 722 | 1,014 | 1,110 | 1,170 |
| ラム | 78 | 78 | 78 | 80 |
| 時間 | 2,814 | 3,242 | 3,622 | 4,497 |
| アーム | コード | 628 | 916 | 1,012 | 1,348 |
| ラム | 92 | 100 | 100 | 124 |
| 時間 | 906 | 1,108 | 1,210 | 4,044 |
テストベクトル
各キー長のLEAのテストベクトルは以下のとおりです。[ 5 ] すべての値は16進数形式で表されます。
- LEA-128
- キー: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0
- 平文: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
- 暗号文: 9f c8 4e 35 28 c6 c6 18 55 32 c7 a7 04 64 8b fd
- LEA-192
- キー: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87
- 平文: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
- 暗号文: 6f b9 5e 32 5a ad 1b 87 8c dc f5 35 76 74 c6 f2
- LEA-256
- キー: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87 78 69 5a 4b 3c 2d 1e 0f
- 平文: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
- 暗号文: d6 51 af f6 47 b1 89 c1 3a 89 00 ca 27 f9 e1 97
実装
LEAは、公共・私的、商用・非商用を問わず、あらゆる用途に無料で使用できます。C 、Java 、 Pythonで実装されたLEAの配布用ソースコードは、KISAのウェブサイトからダウンロードできます。[ 6 ] さらに、LEAは、暗号化スキームの無料のC++クラスライブラリであるCrypto++ライブラリに含まれています。[ 7 ]
KCMVP
LEAは、韓国暗号モジュール検証プログラム(KCMVP)によって承認された暗号アルゴリズムの1つです。[ 8 ]
標準化
LEA は次の標準に含まれています。
- KS X 3246、128ビットブロック暗号LEA(韓国語)[ 5 ]
- ISO/IEC 29192-2:2019、情報セキュリティ - 軽量暗号 - パート2:ブロック暗号[ 9 ]
参考文献
- ^ a b c d e f g h Hong, Deukjo; Lee, Jung-Keun; Kim, Dong-Chan; Kwon, Daesung; Ryu, Kwon Ho; Lee, Dong-Geon (2014). 「LEA: 一般的なプロセッサ上で高速暗号化を実現する128ビットブロック暗号」情報セキュリティアプリケーションコンピュータサイエンス講義ノート 第8267巻 Springer International Publishing. pp. 3– 27. doi : 10.1007/978-3-319-05149-9_1 . ISBN 978-3-319-05149-9。
- ^ a b Song, Ling; Huang, Zhangjie; Yang, Qianqian (2016). 「ARXブロック暗号の自動差分解析とSPECKおよびLEAへの応用」 .情報セキュリティとプライバシー. コンピュータサイエンス講義ノート. 第9723巻. Springer International Publishing. pp. 379– 394. doi : 10.1007/978-3-319-40367-0_24 . ISBN 978-3-319-40367-0。
- ^ Dinu, Daniel; Corre, Yann Le; Khovratovich, Dmitry; Perrin, Léo; Großschädl, Johann; Biryukov, Alex (2018年7月14日). 「モノのインターネットのための軽量ブロック暗号のトライアスロン」(PDF) . Journal of Cryptographic Engineering . 9 (3): 283– 302. doi : 10.1007/s13389-018-0193-x . S2CID 1578215 .
- ^ a b "CryptoLUX > FELICS" . cryptolux.org。
- ^ a b「KS X 3246、128ビットブロック暗号LEA(韓国語)」。
- ^ “KISA 암호이용활성화 - 암호알고리즘 소스코드” .シード.kisa.or.kr。
- ^ 「Crypto++ ライブラリ 8.2 | 暗号化スキームの無料 C++ クラスライブラリ」www.cryptopp.com。
- ^ “KISA 암호이용활성화 - 개요” .シード.kisa.or.kr。
- ^ 「ISO/IEC 29192-2:2019、情報セキュリティ - 軽量暗号化 - パート2:ブロック暗号」。
|
|---|
| 一般的なアルゴリズム | |
|---|
| あまり一般的ではないアルゴリズム | |
|---|
| その他のアルゴリズム | |
|---|
| デザイン | |
|---|
| 攻撃(暗号解読) | |
|---|
| 標準化 | |
|---|
| 利用 | |
|---|
|
|
|