0

Microsoft CryptoAPI を使用する Windows アプリケーション (Visual Studio を使用) があります。ここで、WinApp によって暗号化されたデータを読み取り、WinApp によって復号化される Mac OS X 上のデータを暗号化できる Mac OS X アプリケーションを開発する必要があります。このような方法で初期化された WinApp の暗号化/説明:

::CryptAcquireContext(&m_hCryptProv, NULL, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT);
::CryptCreateHash(m_hCryptProv, CALG_MD5, 0, 0, &m_hCryptHash);
::CryptHashData(m_hCryptHash, pbtPSW, dwPSWLen, 0);
::CryptDeriveKey(m_hCryptProv, CALG_RC4, m_hCryptHash, 0, &m_hCryptKey);

また、暗号化/説明には以下が使用されます。

::CryptEncrypt(m_hCryptKey, 0, TRUE, 0, pBuf, &dwCnt, dwLen);
::CryptDecrypt(m_hCryptKey, 0, TRUE, 0, pBuf, &dwCnt);

私が理解しているように、MD5 ハッシュと RC4 エンコード/デコードを実装するライブラリを見つける必要があります。そのようなライブラリがいくつかあるようです。例: matrixSSL、OpenSSL。しかし、目的のためにライブラリを使用することは明らかではありません (特に、セキュリティ/暗号化 API に慣れていないことを考慮すると)。誰かが特定の暗号化ライブラリを推奨できますか? 私のタスクのコード例はありますか?

添加:

主な問題は、Microsoft のバージョンと互換性のある ::CryptDeriveKey のポータブル アナログが必要なことです (つまり、同じキーを生成します)。誰かそのようなものを知っていますか?または、::CryptDeriveKey によって鍵を作成するアルゴリズムですか?

4

1 に答える 1

1

CyaSSL組み込みSSLライブラリを確認することをお勧めします。TLS 1.2までの現在の標準をサポートし、オペレーティングシステム間で非常に移植性があります。特に、CyaSSLにはCTaoCrypt暗号化ライブラリが含まれており、探している暗号化操作を実行できます。

CyaSSLのいくつかの役立つドキュメントリンク:

CTaoCrypt使用法リファレンス:http://yassl.com/yaSSL/Docs_CTaoCrypt_Usage_Reference.html CyaSSL
ドキュメントページ: http: //yassl.com/yaSSL/Docs.html

CyaSSLをダウンロードすると、VisualStudioプロジェクトファイルも表示されます。

よろしく、
クリス

于 2011-01-28T17:51:02.333 に答える