トリプルDES(3DES)暗号化・復号ツール
古いシステムとの互換用に、トリプルDES(DES-EDE3)でテキストを暗号化・復号します。
Triple DESは現在の基準では弱い暗号です。古いデータを読むために使い、新しいデータにはAESかChaCha20を使ってください。 AESへ移動
復号するときにも必要です。入力した内容がこのページの外に出ることはありません。
OpenSSLの既定値は10,000です。任意の回数を指定でき、多いほどパスワードの推測に時間がかかるようになります。復号には同じ回数が必要です。
OpenSSLで一般的な選択です。IVが必要で、ブロック単位にパディングします。
openssl enc -des-ede3-cbc -pbkdf2 -iter 10000 -a -AOpenSSLがパスワードを尋ねます。テキストを貼り付けるか、-inと-outでファイルを指定してください。
トリプルDES(3DES、TDES、TDEA)は、3つのDES鍵からなる192ビットの鍵で、DESを暗号化・復号・暗号化と3回実行する暗号です。決済システムや古いデータベース、レガシーな連携では今も使われているため、このページは主に、そうしたデータを読んだり、そのためのデータを作ったりするためのものです。3鍵のトリプルDES(OpenSSLのdes-ede3)で、初期設定のCBCモードのほか、ECB・CFB・OFB・CTRでテキストを暗号化・復号できます。鍵はopenssl enc -pbkdf2形式のパスワードか、48桁のhexの鍵とIVで指定します。新しいデータにはAESを使ってください。処理はすべてブラウザ内で行われるため、データも鍵も端末の外に出ることはありません。無料で登録も不要です。
トリプルDESのテキストを復号・暗号化する方法
- 「復号」を選んでBase64またはhexのテキストを貼り付けるか(形式は自動で判別されます)、「暗号化」を選んでテキストを入力します。
- パスワードを入力するか、「鍵とIV(hex)」に切り替えて48桁の鍵と16桁のIVを入力します(ECBにはIVがありません)。
- データの作成に使われたモード(通常はCBC)を選びます。PKCS#7パディングなしで暗号化されたデータの場合だけ、「パディングなし」をオンにします。
- 結果をコピーまたはダウンロードします。テキストではない結果はhexで表示され、バイト列としてダウンロードされます。
主な機能
- 3鍵のトリプルDES(DES-EDE3、192ビット鍵)。2鍵の鍵もK1 K2 K1の形で入力すれば使用可能
- CBC・ECB・CFB・OFB・CTRモード、PKCS#7パディングまたはパディングなし
- OpenSSLのレガシープロバイダーなしで、openssl enc -des-ede3-cbc -pbkdf2で読めるパスワード方式
- 「鍵とIV」方式:48桁のhex鍵と16桁のIV
- データに合わせたPBKDF2の反復回数:10,000・100,000・600,000、またはそれ以外の任意の回数
- Base64・hexで入出力。テキストではない結果はhexで表示し、バイト列として保存
- 対応するopensslコマンドを、パスワードや鍵を除いて表示
プライバシーは守られますか?
はい。トリプルDESはブラウザ内のWebAssemblyで動作します。復号するデータも、その鍵やパスワードもアップロードや保存はされないので、決済システムや銀行システムの記録もパソコンの中にとどまります。
よくある質問
トリプルDESは今でも安全ですか?
新しいデータには向きません。ブロックが8バイトしかないため、1つの鍵で大量のデータを暗号化すると攻撃を受けやすく(Sweet32攻撃)、NISTは2023年以降、トリプルDESによる暗号化を認めていません。3鍵方式でも約112ビットの安全性はあるので既存のデータがすぐに破られるわけではありませんが、新しいデータはAESかChaCha20で暗号化してください。
OpenSSLで復号できますか?
はい。トリプルDESにはレガシープロバイダーも不要です。echo 'U2FsdGVkX1…' | openssl enc -d -des-ede3-cbc -pbkdf2 -iter 10000 -a -A を実行すると、OpenSSLがパスワードを尋ねます。ECBには-des-ede3を、CFBとOFBには-des-ede3-cfbと-des-ede3-ofbを使います。OpenSSLにはトリプルDESのCTRはありません。「鍵とIV」方式では、-pbkdf2 -iterの代わりに-K <48桁のhex> -iv <16桁のhex>を使います。
鍵が16バイトしかありません。2鍵のトリプルDESですか?
はい。このページは3鍵のトリプルDESを使いますが、2鍵の鍵K1 K2は3鍵の鍵K1 K2 K1と同じです。「鍵とIV」方式で、32桁のhexに続けて、その先頭16桁をもう一度入力してください。
トリプルDESのデータをAESに移すには?
ここで鍵かパスワードを使って復号してテキストをコピーし、AESのページで暗号化し直します。読む側が対応していればGCMモード、openssl encを使うならCBCを選びます。どちらの手順もブラウザ内で行われるので、途中で平文がどこかに送られることはありません。
復号に失敗したり、読めないテキストになったりするのはなぜですか?
パスワードか鍵、反復回数、モード、パディングのいずれかが暗号化時と違っているためです。暗号文に記録されているのはソルトだけなので、それ以外の違いは検出できません。CBCとECBでは不一致はたいていエラーになりますが、CFB・OFB・CTRでは判別できず、ランダムなバイト列がhexで表示されます。パスワードではなく生の鍵で暗号化されたデータには、「鍵とIV」方式が必要です。