DES暗号化・復号ツール
古いデータを、シングルDESで復号・暗号化します。
DESは現在の基準では弱い暗号です。古いデータを読むために使い、新しいデータにはAESかChaCha20を使ってください。 AESへ移動
復号するときにも必要です。入力した内容がこのページの外に出ることはありません。
OpenSSLの既定値は10,000です。任意の回数を指定でき、多いほどパスワードの推測に時間がかかるようになります。復号には同じ回数が必要です。
OpenSSLで一般的な選択です。IVが必要で、ブロック単位にパディングします。
openssl enc -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider defaultOpenSSLがパスワードを尋ねます。テキストを貼り付けるか、-inと-outでファイルを指定してください。
DES(Data Encryption Standard、1977年)は、8バイトのブロックを64ビットの鍵で暗号化する方式で、鍵のうち実際に使われるのは56ビット、残りの8ビットはパリティビットです。総当たりでとうに破られていますが、古いファイルや設定、データベースには今もDESで暗号化された値が残っており、このページはそれを読み書きします。初期設定のCBCモードのほか、ECB・CFB・OFB・CTRに対応し、鍵はopenssl enc -pbkdf2形式のパスワードか、16桁のhexの鍵とIVで指定します。古いデータを取り出したら、AESで暗号化し直してください。すべてブラウザ内で動作するため、データも鍵も端末の外に出ることはありません。無料で登録も不要です。
DESで暗号化されたテキストを復号する方法
- 「復号」を選んでBase64またはhexのテキストを貼り付けるか(形式は自動で判別されます)、「暗号化」を選んでテキストを入力します。
- パスワードを入力するか、「鍵とIV(hex)」に切り替えて16桁の鍵と16桁のIVを入力します(ECBにはIVがありません)。
- データの作成に使われたモード(通常はCBCかECB)を選びます。PKCS#7パディングなしで暗号化されたデータの場合だけ、「パディングなし」をオンにします。
- 結果をコピーまたはダウンロードします。テキストではないバイト列はhexで表示されます。
主な機能
- 64ビット鍵のシングルDES:56ビットの鍵と8ビットのパリティ
- CBC・ECB・CFB・OFB・CTRモード、PKCS#7パディングまたはパディングなし
- openssl enc -pbkdf2形式のパスワード方式。PBKDF2の反復回数は任意
- 「鍵とIV」方式:16桁のhexの鍵とIVを入力または生成
- 同じ処理をするopensslコマンドを、OpenSSL 3のレガシープロバイダー付きで表示
- 入力のBase64・hexを自動で判別。テキストではない結果はhexで表示し、バイト列としてダウンロード可能
プライバシーは守られますか?
はい。DESはブラウザ内のWebAssemblyで動作するため、復号する古いデータも、その鍵やパスワードも、どこにもアップロード・保存されません。
よくある質問
DES暗号は安全ですか?
いいえ。56ビットの鍵は、すべての組み合わせを試せば見つかります。1998年には専用マシンで実際に解読され、今でははるかに安くできます。DESは、すでにDESで暗号化されたデータを読むためだけに使い、そのデータはAESかChaCha20で暗号化し直してください。
OpenSSLで「Error setting cipher DES-CBC」と表示されるのはなぜですか?
OpenSSL 3ではDESが、既定では読み込まれないレガシープロバイダーに移されたためです。echo 'U2FsdGVkX1…' | openssl enc -d -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default のようにプロバイダーを追加してください。ほかのモードには-des-ecb・-des-cfb・-des-ofbを使い(OpenSSLにはDESのCTRはありません)、「鍵とIV」方式では-pbkdf2 -iterの代わりに-K <16桁のhex> -iv <16桁のhex>を使います。
DESの鍵はどんな形ですか?
8バイトで、16桁のhexで表します。各バイトの最下位ビットはDESが無視するパリティビットなので、そのビットだけが違う鍵は同じように復号されます。IVも8バイトで、ECBでは使いません。パスワード方式では、どちらもパスワードから導出されるので用意する必要はありません。
DESとトリプルDESの違いは何ですか?
トリプルDESは3つの鍵でDESを3回実行する方式で(192ビットの鍵、実質の強度は約112ビット)、そのためDESより長く使われてきました。シングルDESは56ビットの鍵が1つだけで、総当たりで破られてしまいます。鍵の長さが16バイトか24バイトなら、そのデータはトリプルDESです。トリプルDESのページを使ってください。
読めないテキストが出てくるのはなぜですか?
パスワードか鍵、反復回数、モード、パディングのいずれかが暗号化時と違っているためです。CFB・OFB・CTRでは、DESは不一致を検出できずにランダムなバイト列を返し、ページではhexで表示されます。CBCとECBでは、不一致はたいていエラーになります。