回答編集履歴
1
修正、追記
test
CHANGED
@@ -7,14 +7,17 @@
|
|
7
7
|
ざっくり書くと、openssl は暗号化するとき、
|
8
8
|
コマンドオプションから -k で与えたパスフレーズと、中で生成した乱数列 (Salt) から、
|
9
9
|
ハッシュアルゴリズムを通して暗号化に使う key と iv を計算します。
|
10
|
+
(鍵導出関数)
|
10
11
|
|
11
12
|
Saltは暗号化の出力に埋め込まれているので(今回のでは 8-15バイト)、復号の時にも同じアルゴリズムでkey, ivを計算することができます。
|
12
13
|
|
13
|
-
今回は iv は指定しているので、keyだけを計算すればいいのではないでしょうか
|
14
|
+
今回は iv は指定しているので、keyだけを計算すればいいのではないでしょうか。
|
15
|
+
(通常は iv も鍵導出関数で作成されたものを使うことが多いと思います)
|
16
|
+
|
14
17
|
```python
|
15
18
|
# 暗号鍵とIVをセットアップ
|
16
19
|
salt = encrypted_data[8:16]
|
17
|
-
key = hashlib.sha256(キー.encode() + salt).dige
|
20
|
+
key = hashlib.sha256(キー.encode() + salt).digest()
|
18
21
|
iv = bytes.fromhex(iv値)
|
19
22
|
|
20
23
|
# 暗号文本体
|