CoderTools

DES/3DES暗号化・復号化ツール

DESとTriple DESをサポートする古典的な対称暗号アルゴリズム

⚠️ セキュリティ警告

DES/3DESはレガシー暗号アルゴリズムであり、新しいセキュリティアプリケーションには推奨されません。新しいプロジェクトには、AES-256などの現代の暗号アルゴリズムを使用してください。

DES鍵長: 8バイト (64ビット、有効56ビット)
フォーマットオプション

DES/3DES暗号化について

DES (Data Encryption Standard、データ暗号化標準) は、1970年代にIBMによって開発され、1977年に米国国立標準局(NBS)によって連邦情報処理標準(FIPS)として採用された対称鍵ブロック暗号です。

DESの56ビット鍵が安全でなくなったため、3DES (Triple DES) が開発されました。3DESは3つのDES鍵を使用して3回の暗号化を行い、セキュリティを大幅に向上させます。

暗号化モードの説明

  • CBC: CBC (Cipher Block Chaining): 各平文ブロックは暗号化前に前の暗号文ブロックとXORされます。IVが必要、より安全。
  • ECB: ECB (Electronic Codebook): 各ブロックは独立して暗号化されます。IVは不要ですが、同じ平文は同じ暗号文を生成、セキュリティが低い。
  • CFB: CFB (Cipher Feedback): ブロック暗号をストリーム暗号に変換します。IVが必要。
  • OFB: OFB (Output Feedback): ブロック暗号をストリーム暗号に変換、出力を入力にフィードバック。IVが必要。

DES vs 3DES比較

アルゴリズム 鍵長 ブロックサイズ セキュリティ 速度 推奨事項
DES 56ビット (8バイト) 64ビット 低 - 総当たり攻撃に脆弱 高速 レガシーシステム互換性のみ
3DES-2Key 112ビット (16バイト) 64ビット 中程度 中程度 レガシーシステムに推奨
3DES-3Key 168ビット (24バイト) 64ビット 高め 遅い (DESの3倍) レガシーシステムに推奨

セキュリティの推奨事項

  • DESは鍵長が短いため、新しいシステムには推奨されません。
  • 3DESはより安全ですが、AESに置き換えられています。新しいプロジェクトにはAESを使用してください。
  • 3DESを使用する必要がある場合は、168ビット鍵(3つの異なる鍵)を使用してください。
  • データパターンが漏洩するため、ECBモードの使用は避けてください。
  • 同じ鍵を使用する場合でも、暗号化ごとに異なるIVを使用してください。

使用シナリオ

  • レガシー金融システム: POSターミナル、ATMなど
  • レガシー決済ゲートウェイ: 銀行間データ転送
  • レガシーソフトウェア統合: DES/3DESのみをサポートするシステムとの通信
  • 磁気ストライプ暗号化: EMV決済標準でのPINブロック暗号化

参考資料