現在、目的 c で aes-128 cfb8 形式で文字列を暗号化しようとしています。私はいたるところを見てきましたが、有効な解決策が見つからないようです。Bouncy Castle は理想的なソリューションですが、Java と C# でしか機能しません。ここでは openssl が最適なオプションですか? openssl を使用して実際に暗号化する詳細な方法が見つからないようです。私を正しい方向に導いてください。別の暗号化に切り替えることはオプションではありません。
質問する
1073 次
2 に答える
1
CommonCryptor は、 を使用して CFB-8 をサポートする必要がありkCCModeCFB8
ます。詳細については、CCCrypt のマニュアル ページを参照してください。
そうは言っても、CommonCryptor のような低レベルのライブラリを使用してこの種のものを手動で実装する場合は、細心の注意を払うよう常に警告しています。間違って行うのは非常に簡単です。たとえば、KDF を使用してパスワードから鍵を正しく生成する必要があり (パスワードを鍵データにバイトコピーすることはできません)、IV はランダムでなければなりません。そうしないと、CFB はそのセキュリティの一部を失います (より具体的には、同じキーと IV)。
これらの問題に慣れていない場合は、CommonCrypto を使用した AES による適切な暗号化と、Mike Ash のFriday Q&A 2012-08-10: A Tour of CommonCrypto を参照してください。CFB-8 用に変更する必要があるのは、 への呼び出しを への呼び出しに置き換えCCryptorCreate
てCCCryptorCreateWithMode
、kCCModeCFB8
.
于 2013-10-25T18:02:57.143 に答える