2019 Dec. 01.
2019 Feb. 16.
2018 Nov. 11.
2018 Aug. 25.
2017 May 20.
openssl
共通鍵方式の暗号化・復号化が可能。opensslでのaes-256-cbc暗号化
入力したパスワードから共通鍵と初期化ベクトルが自動生成される。パスワード自体が共通鍵ではない。共通鍵は、パスワードと自動設定されるsaltから生成される。
初期化ベクトルは、パスワードとsaltと共通鍵から生成される。
制裁される共通鍵・初期化ベクトルは、ver1.0まではmd5、ver1.1.1以降はsha256でハッシュされる。
ver1.1.1以降はハッシュ化に -iter N もしくは -pbkdf2 オプション指定が推奨。
Padding 方式には PKCS#5 が使用される。
androidアプリcrNoteで復号できる暗号化例
$ openssl aes-256-cbc -md md5 -e -in FILE -out FILE.x
$ openssl aes-256-cbc -md md5 -e -in FILE -out FILE.x file:./password.txt
CrNoteと共用するために拡張子は .x にする。
(オプションを付けなければsha256でハッシュされる)
$ openssl aes-256-cbc -e -in FILE -out FILE.x
復号化
共通鍵生成に必要な暗号化時のsaltは、暗号化されたファイルの先頭に書き込まれている。Padding 方式は PKCS#5。
暗号化方式・ハッシュ化の方式を暗号化時と同じにする。
(md5ハッシュ鍵)
$ openssl aes-256-cbc -d -in FILE.x -md md5
$ openssl aes-256-cbc -d -in FILE.x -md md5 -pass file:./password.txt
(sha256ハッシュ鍵)
$ openssl aes-256-cbc -d -in FILE.x
$ openssl aes-256-cbc -d -in FILE.x -pass file:./password.txt
0 件のコメント:
コメントを投稿