暗号化アルゴリズムは主にソフトウェアとハードウェアを通じて実装されます。ソフトウェア実装には柔軟性と利便性という利点がありますが、暗号化速度が制限されるという欠点もあります。暗号化アルゴリズムを実装するためにハードウェアを使用することは、実際のアプリケーションで考慮する必要がある問題です。現在、これを実装するためにハードウェア 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 に示します。
暗号化の各ラウンドで、関数ファクトリの操作には次の 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 演算を実装する関数です。暗号化の各ラウンドの具体的なプロセスは次のようになります。
上記操作の詳細なプロセスを図 2 に示します。
3DES 暗号化アルゴリズムでは、暗号化プロセスで 2 つの異なるキー K1 と K2 を使用して、パケット メッセージに対して DES 暗号化を 3 回実行します。まず、最初のキーを使用して DES 暗号化を実行し、次に 2 番目のキーを使用して最初の結果に対して DES 復号化を実行し、最後に最初のキーを使用して 2 番目の結果に対して DES 暗号化を実行します。
復号化プロセスでは、まず最初のキーを使用して DES 復号化を実行し、次に 2 番目のキーを使用して最初の結果に対して DES 暗号化を実行し、最後に最初のキーを使用して 2 番目の結果に対して DES 復号化を実行します。
DESアルゴリズムのキー長は56ビット、トリプルDESアルゴリズムのキー長は112ビットです。暗号化の強度が大幅に強化され、さまざまな攻撃にうまく対処できます。現在、実行可能な攻撃方法はありません。3DESを使用した暗号化システムは、大きな実用価値を持っています。詳細については、ARMベースのハードウェア実装をお読みください。 【編集者のおすすめ】
|
<<: エッセンス共有サイトのランキングアルゴリズムのまとめ
>>: ARMベースの3DES暗号化アルゴリズムの実装(2)
マッキンゼー・グローバル・インスティテュートは最近の報告書で、テクノロジーの進歩により、将来世界で約...
近年、人工肉は急速に発展していますが、本物の肉と比較すると、味や食感にはまだ明らかな差があります。最...
海外メディアによると、グーグルの研究者は以前、グーグルが現在検索やその他のテキスト分析製品に使用して...
量子コンピュータは多くの産業の運営方法を変えるでしょう。量子コンピューティングは社会に大きな影響を与...
データセンターでの機械学習プロジェクトの開発に精通している読者は、データドリフトとコンセプトドリフト...
医療用人工知能製品は多様化しており、下流の需要は強い医療人工知能産業の上流は、主に医療データマイニン...
どの学校も生徒をより深く理解したいと考えていますが、テクノロジーを駆使した解決策の中には、満場一致で...
[[349350]] 10月29日、北京亦荘イノベーション発表体験研究イベントで記者らが自動運転タク...
1 月 11 日、OpenAI は小規模なセルフサービス チーム専用の新しいサブスクリプション プラ...
自己教師あり表現学習は、過去 2 年間で非常に人気が高まっています。機械学習分野のリーダーであるジェ...
米国のコンピューターサイエンス分野の博士課程学生の 64% 以上と修士課程学生の 70% 近くが留学...
[51CTO.comより引用] 近年、人工知能が大流行し、多くの大企業、中堅企業、中小企業が動き始め...