共通鍵暗号

共通鍵暗号アルゴリズムを使って、暗復号お試し演算をします。
暗号鍵とIVは、16進表現で入力して下さい。
RC4の場合、鍵欄にパスフレーズを入力して下さい。文字列を入力して[16進変換]ボタンで16進表現に変換する事も可能です。RC4はストリーム暗号なので利用モード、パディング、IVの概念はありません。
ECBモードはIVは不要です。CTRモードではカウンタ初期値を、CCMモードではnonce、XEX, XTSモードではtweakをIV欄に入力して下さい。
複数の鍵が必要な暗号アルゴリズム(Triple-DES, XTSモード)は、全ての鍵を連結して入力して下さい。XTSでは、暗号鍵-調整鍵の順に連結します。
XEX, XTSモードでは、デーユニット長は考慮しません。入力された全データが1つのデータユニットに保存されると仮定して暗号演算します。
入力欄のデータは、16進表現、文字列表現、またはバイナリファイルで入力できます。
16進入力の場合は2kバイトまで、ファイル入力の場合は32kバイトまでのデータを入力できます。
16進数・文字列を入力した場合は16進表現、バイナリファイルを入力した場合はバイナリファイルが出力されます。
鍵長、IV長が不正な場合はエラーになります。

 このボタンを押すと演算を開始します。

アルゴリズム Blowfish   IDEA   DES   AES   Misty1   Camellia   RC4   RC6
演算 暗号化   復号
利用モード ECB   CBC   CFB   OFB   CTR   XEX, XTS   CCM   GCM
パディング なし   PKCS#7   ISO9797 method2   ISO9797 method1   CTS
暗号鍵
IV
AAD
Tag
入力 16進数   文字列   ファイル
出力 HEXダンプ  HEX空白区切り  HEXカンマ区切り  C言語形式

参考) 各暗号アルゴリズムの鍵長とブロック長 [bit]
DESの128bit鍵と192bit鍵は、2Key Triple-DES, 3Key Triple-DESです。
CFBモードでは暗号アルゴリズムブロック長以下の任意の平文ブロック長を暗号化できますが、本ページではサポートしていません。
XTSモードで使用可能なアルゴリズムは、AESとCammelliaの128/256ビット鍵のみです。

アルゴリズム 鍵長 ブロック長
Blowfish 32~448 64
IDEA 128 64
DES 64, 128, 192 64
AES 128, 192, 256 128
Misty1 128 64
Camellia 128, 192, 256 128
RC6 128, 192, 256 128

参考) パディング方式

方式 説明
なし パディングしません。
平文長は、ブロック長の倍数でなければなりません。
PKCS#7 パディングバイト数と同じ値をパディングします。
例えばパディングバイト数が3バイトであれば、03 03 03
最終ブロックがブロックサイズと等しい場合でも、空ブロック(パディングだけが暗号化されたブロック)を生成するので、データサイズは必ず大きくなりますが、バイナリデータを正しく復号できます。
ISO9797 method2 1bitの1と連続した0をパディングします。
例えばパディングバイト数が3バイトであれば、80 00 00
最終ブロックがブロックサイズと等しい場合でも、空ブロック(パディングだけが暗号化されたブロック)を生成するので、データサイズは必ず大きくなりますが、バイナリデータを正しく復号できます。
ISO9797 method1 00をパディングします。
最終ブロックがブロックサイズと等しい場合はパディングしません。バイナリデータに適用すると、データ最後の00を正しく復号できません。
CTS Cipher Text Stealing
ブロック長より長い任意長の平文に対して、平文と同じ長さの暗号文を生成します。一般には、CBC, XEXモードと組合せて使用します。
XEXモードとの組合せは、XTSモードを計算します(暗号鍵と調整鍵の2keyが必要になります)。
本ページでの他のモードとの組み合せは、下記の計算を行ないます(CTSではありません)。
OFB, CTR:単純に暗号文の切り詰めを行ないます。
CFB:CFB8を計算します。
CCM 認証コード(MAC)付き暗号です。認証コードは、暗号文と連結して入出力されます。本ページのタグサイズは128bit固定です。
CBC-MACとCTRモードを利用します。
GCM 認証コード(MAC)付き暗号です。認証コードは、Tag欄を使って入出力されます。本ページのタグサイズは128bit固定です。
GMACとCTRモードを利用します。