HC-256


HC-256
HC-256は、ソフトウェアの一括暗号化を高速で提供すると同時に、セキュリティに強い信頼を置くように設計されたストリーム暗号です。 128ビットのバリアントがeSTREAM暗号候補として提出され、ソフトウェアプロファイルの4人の最終的な出場者の1人として選ばれました。
このアルゴリズムはHongjunWuによって設計され、2004年に最初に公開されました。特許は取得され

コンテンツ
1 働き
2 パフォーマンス
3 参考文献
4 外部リンク

働き
HC-256には、256ビットのキーと256ビットの初期化ベクトル(ノンス)が
内部的には、2つのシークレットテーブル(PとQ)で構成されています。各テーブルには、1024個の32ビットワードが含まれています。状態の更新ごとに、非線形更新機能を使用して、各テーブルの1つの32ビットワードが更新されます。2048ステップの後、テーブルのすべての要素が更新されました。
Blowfish暗号の出力関数と同様の32ビットから32ビットへのマッピング関数を使用して、更新ステップごとに1つの32ビットワードを生成します。最後に、線形ビットマスキング関数を適用して出力ワードを生成します。内部的にはハッシュ関数SHA-256の2つのメッセージスケジュール関数を使用しますが、テーブルPとQをSボックスとして使用します。
HC-128は機能が似ており、キーの長さ、ナンス、テーブルPとQのワード数、およびテーブル更新ステップの数をそれぞれ半分に減らします。

パフォーマンス
HC-256のパフォーマンスは、Pentium4プロセッサで1バイトあたり約4サイクルであると著者によって推定されています。ただし、暗号の初期化フェーズには、256ビットキーをテーブルP、Qに展開してから、暗号を4096ステップ実行することが含まれます。HC-256の作成者は、このプロセスに約74,000サイクルかかると見積もっています。
HC-128の場合、 PentiumMプロセッサでの1バイトあたり約3サイクルの暗号化速度が引用されています。
さまざまなコンピューティング構造でのHC-128の実装が詳細に研究されており、ナイーブなSWの実装と比較してパフォーマンスが大幅に向上しています。

参考文献
^ Wu、Hongjun(2004)。「新しいストリーム暗号HC-256」 (PDF)。高速ソフトウェア暗号化– FSE 2004、LNCS 3017:226–244。
^ Wu、Hongjun(2004)。「ストリーム暗号HC-128」(PDF)。

^ 「eSTREAMプロジェクト」。
^ Chattopadhyay、Anupam; Khalid、Ayesha; マイトラ、サブハモイ; Raizada、Shashwat(2012)。「ストリーム暗号HC-128用の高スループットハードウェアアクセラレータの設計」。2012 IEEE International Symposium on CircuitsandSystems。pp。1448–1451。土井:10.1109/ISCAS.2012.6271518。ISBN
 978-1-4673-0219-7。
^ Khalid、Ayesha; Bagchi、Deblin; ポール、ゴータム; Chattopadhyay、Anupam(2013)。「ストリーム暗号のHCシリーズの最適化されたGPU実装とパフォーマンス分析」。情報セキュリティと暗号化–ICISC2012。コンピュータサイエンスの講義ノート。巻 7839. pp。293–308。土井:10.1007/978-3-642-37682-5_21。ISBN
 978-3-642-37681-8。

外部リンク
HC-256のeSTREAMページ
Stub
  この暗号関連”