背景:根据 Synology 白皮书中的一般信息,我对其 Cloud Sync 加密算法的细节进行了逆向工程;有关详细信息,请参阅Synology-decrypt。
在这种加密中,会话密钥和数据都使用密码加密,在 CBC 模式下使用 AES-256,密钥和 iv 从密码派生,如openssl enc
. 那个问题我已经破解了。
现在他们升级了加密文件格式(从 1.0 到 3.0)以包含随机盐,我正在尝试弄清楚该盐的确切使用方式。
问题: 使用给定的密码/盐组合使用哪种算法来加密/解密以下明文/密文?(基于上述内容,我希望这是 CBC 模式下的 AES-256,key+iv 是从密码派生的,如openssl enc
。但我完全不确定。)
最好,我想要一个 UNIX 命令行(openssl
例如使用)将明文转换为密文或其他方式。
+--------------------------------------------------------------------+--------------+----------------------+--------------------------------------------------------------+
| plaintext | password | salt | ciphertext |
+--------------------------------------------------------------------+--------------+----------------------+--------------------------------------------------------------+
| "Just a single line, no newline character at the end..." | "buJx9/y9fV" | "DXzp4VKu" | 8f7d757c0e46ab0c434ab72b2a70ec71ad49b2284257189365cb4c706751 |
| (4a75737420612073696e676c65206c696e652c206e6f206e65776c696e65 | | (44587a7034564b75 or | 10a3b98bd95f58bd5eafdccb51020354dc33449b221b45c134180882aa84 |
| 206368617261637465722061742074686520656e642e2e2e) | | 0d7ce9e152ae) | 739ff78f0213a54a720537785495a84425b0415b |
+--------------------------------------------------------------------+--------------+----------------------+--------------------------------------------------------------+
| "EA23EB5F36B9008AC73498A8FC53884D1D7EFBA052F902F44B44D40409CBC215" | "buJx9/y9fV" | "DXzp4VKu" | e866e8c3fb7496d6dd5f0d8befd212e351d3558edf7f097bbe5994b38082 |
| (454132334542354633364239303038414337333439384138464335333838 | | (44587a7034564b75 or | 3a6b68a9221dc43c53726b767268c4dfc01f92f99383407070ae5622c10c |
| 344431443745464241303532463930324634344234344434303430394342 | | 0d7ce9e152ae) | 27003cd4d4bcbda1d4bfbe03f5784f5cc45c95b3 |
| 43323135) | | | |
+--------------------------------------------------------------------+--------------+----------------------+--------------------------------------------------------------+