ARMベースの3DES暗号化アルゴリズムの実装(1)

ARMベースの3DES暗号化アルゴリズムの実装(1)

暗号化アルゴリズムは主にソフトウェアとハ​​ードウェアを通じて実装されます。ソフトウェア実装には柔軟性と利便性という利点がありますが、暗号化速度が制限されるという欠点もあります。暗号化アルゴリズムを実装するためにハードウェアを使用することは、実際のアプリケーションで考慮する必要がある問題です。現在、これを実装するためにハードウェア FPGA がよく使用されています。この実験方法は、処理速度が速いという特徴がありますが、システムの複雑さに対する要件が高くなります。

組み込みマイクロプロセッサには、実装が簡単、システム統合性が高い、サイズが小さい、持ち運びが簡単など、多くの利点があります。そのため、組み込みマイクロプロセッサに基づく暗号化アルゴリズムのハードウェア デバイスを開発する必要があります。ここでは、ARM プロセッサに基づく3DESのハードウェア実装方法を提案します。

3DESアルゴリズムの原理

DES は、米国国立標準局によって公布されたデータ暗号化アルゴリズムであり、20 年以上にわたって世界的な公開暗号化標準として使用されてきました。コンピュータの処理速度の向上に伴い、DES アルゴリズムはいくつかのセキュリティ上の脅威に直面しています。DES は 56 ビットのキーを使用しますが、かつて誰かが網羅的な検索方法を使用して DES に対してキー検索攻撃を実行しました。

近年、差分攻撃や線形攻撃の方式が提案されていますが、その実装には超高速コンピュータのサポートが必要です。 DES アルゴリズムの差分攻撃や線形攻撃への対処能力を高めるために、一連の改善スキームが提案されており、キーの長さを増やすことは実現可能なアプローチです。

キーの長さを増やすために、ブロック暗号をカスケードして、異なるキーの作用で平文のグループを複数回暗号化することができます。その中で最も効果的な方法は、暗号化キーの長さを 128 ビットまで拡張できるトリプル DES 暗号化を使用することです。これにより、暗号化の強度を向上させながら、現在のさまざまな攻撃に対処するのに十分です。

DES は、64 ビット ブロックでデータを暗号化するブロック暗号化アルゴリズムです。 64 ビットの平文シーケンスが暗号化アルゴリズムの入力として使用され、16 ラウンドの暗号化後に 64 ビットの暗号文シーケンスが得られます。暗号化キーは 64 ビットで、実際の長さは 56 ビットです。DES アルゴリズムの機密性はキーに依存します。 DES は 64 ビットのプレーンテキスト ブロックで動作します。

まず、初期置換 IP を使用して、64 ビットの平文をそれぞれ 32 ビットの長さの左半分と右半分に分割します。この初期置換は、16 ラウンドの暗号化プロセスの前に 1 回だけ実行されます。最初の順列操作の後、結果として得られる 64 ビットのシーケンスは、関数 f と呼ばれる 16 ラウンドの暗号化操作にかけられます。操作中、入力データはキーと結合されます。 16 ラウンドの操作の後、左側と右側の部分が結合されて 64 ビットの出力シーケンスが得られ、最後に IP-1 で並べ替えられて最終的な暗号化結果が得られます。このプロセスを図 1 に示します。

[[33999]]

暗号化の各ラウンドで、関数ファクトリの操作には次の 4 つの部分が含まれます。

まず、キーシーケンスがシフトされ、シフトされた 56 ビットのキーシーケンスから 48 ビットが選択されます。

次に、32 ビットの入力シーケンスの右半分が拡張順列によって 48 ビットに拡張され、48 ビットのラウンド キーと XOR されます。

さらに、XOR演算後に得られた48ビットのシーケンスは、8つのSボックスを介して32ビットのシーケンスに置き換えられます。

最後に、32 ビット シーケンスに順列 P を適用して順列変換を実行し、32 ビットの出力シーケンスを取得します。関数ファクトリの出力と入力シーケンスの左半分の間の XOR 演算の結果は、新しいラウンドの暗号化プロセスの入力シーケンスの右半分として使用され、現在の入力シーケンスの右半分は、新しいラウンドの暗号化プロセスの入力シーケンスの左半分として使用されます。

上記のプロセスは 16 回繰り返され、16 ラウンドの DES 暗号化操作が実行されます。

Bi が i 回目の計算結果であると仮定すると、Bi は 64 ビットのシーケンス、Li と Ri はそれぞれ Bi の左半分と右半分、Ki は i 回目の 48 ビットのキー、f は置換、順列、およびキー XOR 演算を実装する関数です。暗号化の各ラウンドの具体的なプロセスは次のようになります。

[[34000]]

上記操作の詳細なプロセスを図 2 に示します。

[[34001]]

3DES 暗号化アルゴリズムでは、暗号化プロセスで 2 つの異なるキー K1 と K2 を使用して、パケット メッセージに対して DES 暗号化を 3 回実行します。まず、最初のキーを使用して DES 暗号化を実行し、次に 2 番目のキーを使用して最初の結果に対して DES 復号化を実行し、最後に最初のキーを使用して 2 番目の結果に対して DES 暗号化を実行します。

[[34002]]

復号化プロセスでは、まず最初のキーを使用して DES 復号化を実行し、次に 2 番目のキーを使用して最初の結果に対して DES 暗号化を実行し、最後に最初のキーを使用して 2 番目の結果に対して DES 復号化を実行します。

[[34003]]

DESアルゴリズムのキー長は56ビット、トリプルDESアルゴリズムのキー長は112ビットです。暗号化の強度が大幅に強化され、さまざまな攻撃にうまく対処できます。現在、実行可能な攻撃方法はありません。3DESを使用した暗号化システムは、大きな実用価値を持っています。詳細については、ARMベースのハードウェア実装をお読みください。

【編集者のおすすめ】

  1. データ暗号化の詳細な分析
  2. 事前共有キーの生成と交換
  3. PKIの基礎入門(1)
  4. パスワードを解読するにはどれくらい時間がかかりますか?
  5. 情報セキュリティの核心:暗号技術
  6. ウィキリークスの機密情報の新たな窃盗手法を暴露

<<:  エッセンス共有サイトのランキングアルゴリズムのまとめ

>>:  ARMベースの3DES暗号化アルゴリズムの実装(2)

ブログ    

推薦する

...

DALL·E 3=旅の途中+PS? OpenAIは、生画像の後に改良できる「シード」機能をひっそりとリリースした。

今日、DALL·E 3 のチュートリアルがオンラインで話題となり、1 日も経たないうちに 100 万...

GPT-4 Turboがリリースされ、APIがよりコスト効率化され、128Kコンテキストウィンドウが新時代をリード

1. はじめにGPT-4 をリリースしてからわずか 8 か月後、OpenAI は更新されたモデル G...

時系列予測のための 5 つのディープラーニング モデルの比較

マクリダキス M-コンペティション シリーズ (M4 および M5 と呼ばれます) は、それぞれ 2...

テンセント、自動運転のリアルタイム制御を改善する新たな特許を発表

テンセントテクノロジー(深圳)有限公司は5月13日、人工知能ベースの自動運転方法、デバイス、設備、媒...

...

詳細 | 顔認識が蔓延していますが、あなたの顔データを奪う権利は誰にあるのでしょうか?

記者 | 周一雪8月中旬のある日、北京市昌平区回龍観のコミュニティに住む王毅さんは、所有者グループの...

...

AIツールClaude 2が世界中で利用可能に:ファイルのアップロードとより長い応答テキストをサポート

10月18日、Anthropicは今年7月に新しいClaude 2言語モデルをリリースしました。 C...

顧客サービスの革命: 現代のビジネスにおける広報ロボットの役割

人工知能 (AI) の登場により、企業の運営方法は劇的に変化し、PR ボットが顧客サービスの革命にお...

ディープラーニングにおける次の大きな進歩は機械読み取りでしょうか?

機械読み取りはディープラーニングの次の大きな進歩となるだろう[[184205]] 2016 年を振り...

Web攻撃検出のための機械学習の深層実践

1. 概要1. 従来のWAFの問題点従来の WAF は、ルールとブラックリストおよびホワイトリストに...

顔認識がまた失敗しました。アクセス制御システムは引き続き使用できますか?

旅行がますます便利になるにつれ、旅行の際には携帯電話だけを持って行けばよくなります。これは、モバイル...

トップエキスパートが語る: 生成型AIとロボット工学の未来

ビッグデータダイジェスト制作最近、カーネギーメロン大学、カリフォルニア大学バークレー校、Meta、N...