問題タブ [crypto++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ で WHIRLPOOL ハッシュを実行する
これは比較的単純な質問のように思えますが、Crypto++ を機能させることができませんでした。Microsoft Visual C++ 2010 Express を使用していますが (私は安価です)、ライブラリに含まれている .vcxproj/.vcproj/.sln ファイルが機能しません。ファイルもたくさんありますが、正確に何が必要なのかわかりません。
それで、私が立ち寄ることができる解決策を知っている人はいますか?参照実装は、途方もなく非効率的でない限り問題ありません。このような平凡な質問で申し訳ありませんが、私は自分自身を見回しましたが、必要なものは何も見つかりませんでした.暗号化は私の専門分野ではないと思います.
そうは言っても、VC++ 2010 にプロジェクト ファイルをロードさせる方法について手がかりがあれば、Crypto++ を機能させるとよいでしょう。エラーは非常に...説明的ではありません。プロジェクトを読み込めなかったと表示され、エラー番号として -2147483647 が表示されます。
編集: コンバージョン レポートのエラーは次のとおりです。
XML 解析中に次のエラーが発生しました: ファイル: C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj 行: 102 列: 5 エラー メッセージ: システム エラー: -2147154677. ファイル 'C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj' の読み込みに失敗しました。
これは cryptlib.vcproj の 102 行目です。
編集(再度):動作するようになりました。プロジェクトファイルでx64を参照しているものをすべて削除したところ、正しく変換されるようになりました。とにかくありがとう。
c++ - いくつかのライブラリを使用してプログラム(ソースファイル)を配布する
Cryptoppライブラリを使用するプログラムを作成しました。静的ライブラリを作成し、ディストリビューションにインクルードしますが、プログラムには多くのヘッダーファイルも必要です。私の質問は、これらすべてのヘッダーファイルをディストリビューションに含める必要があるかどうかです。
たとえば、を使用するコードを作成しました。このコードはdes.h
、長いチェーンmodes.h
でfilters.h
あるCryptoppの他のヘッダーファイルに基づいています。Cryptoppライブラリのすべてのヘッダーファイルをインクルードしますか?
もっと一般的に言えば、他のライブラリ(Cryptoppやboostなど)を使用するコードを作成する場合、distroに含める必要があるものはすべてありますか?
更新:バイナリだけでなく、ソースを配布したい。必要に応じて、ユーザーが私のプログラムを最初からコンパイルできるようにします。静的ライブラリをインクルードしていますが、ヘッダーファイルについて混乱しています。それらすべてを含める必要がありますか?
c++ - PEMでエンコードされた秘密RSAキーをCrypto++にロードします
多くの場合、ユーザーはPEMでエンコードされたRSA秘密鍵を持っています。Crypto ++をロードするには、これらのキーがDER形式である必要があります。私は、次のようなopensslを使用して、事前にPEMファイルをDERに手動で変換するように人々に求めてきました。
それはうまくいきますが、それを行う方法を理解していない人もいれば、したくない人もいます。そこで、プログラム内でPEMファイルをDERファイルに自動的に変換したいと思います。
PEMから「-----BEGINCERTIFICATE-----」と「-----ENDCERTIFICATE-----」をストライピングするのと同じくらい簡単ですか、それとも他の変換も必要ですか?これらのマーカーの間では、b64でエンコードされたDERであると言われています。この問題を示すコードは次のとおりです。
opensslへのシステムコールを避け、Crypto ++で完全に変換を実行して、ユーザーがいずれかの形式と「正常に機能する」ものを提供できるようにしたいと思います。アドバイスありがとうございます。
rsa - Crypto++を使用したRAWRSA暗号化と復号化
PCと、SHA1によるRSA暗号化と署名をサポートするデバイスとの間に安全な通信を確立する必要があります。アプリケーションの他の部分ですでにCrypto++を使用しているので、これにもCrypto++を利用したいと思います。
デバイスは非常に原始的ですが、私が書いたプログラムを実行することができます。生のRSAおよびSHAa関数が組み込まれています。ただし、処理するメモリはほとんどなく、正確には2Kバイトです。
PCからのメッセージを暗号化して署名する必要があります。次に、デバイスはメッセージを復号化して検証します。次に、デバイスは暗号化されたメッセージに応答してサインオンします。PCはメッセージを復号化し、後で確認します。組み込み関数を使用して、デバイス内にSHA1を使用して、生のRSA暗号化、署名、および検証を実装しました。メッセージは、1回のラウンドで実行できるほど短いものです。
ただし、OAEPまたはPKCS#1を使用せずに、Crypto++を使用して生のRSAでメッセージを暗号化する方法がわかりません。誰かが私にいくつかのサンプルコードを見せてくれるほど親切にしてくれませんか?トンありがとう!
crypto++ - メモリーから RSA PKCS#1 秘密鍵をロードしますか?
USB デバイスとの安全な通信を確立するためのプログラムを作成する必要があります。そこから生成され、PKCS#1 形式で保存されている秘密鍵を使用する必要があります。プログラムの一部でCrypto++を使用したことがあるので、この目的にも利用したいと思います。
ただし、メモリから RSA 秘密鍵をインポートする方法が見つかりません。PKCS#8 形式の秘密鍵のみを受け入れます。プロがそれを行う方法のサンプルコードを見せてくれませんか? どうもありがとう!
c++ - Crypto++を始めましょう
ここでこの質問をするのが正しいかどうかはわかりません。
プロジェクトでCrypto++ライブラリを使用しようとしています。私もそれを始めることができません。これは私が試しているコードです:
ダウンロードパッケージに含まれているreadmeファイルを読んでみました。私はこれを試しましたが、それでもうまくいきませんでした。VS2010を使用しています。
android - NDK を介して Android プロジェクトに Crypto++ ライブラリを含める
Android NDK プロジェクトに Crypto++ (http://www.cryptopp.com/) を含めようとしています。コードの C++ 部分から Crypto++ メンバー関数を呼び出せるようにしたいと考えています。C++コードにCrypto++のヘッダーとソースを含めることができると思っていましたが、うまくいかないようです。
私のC++ファイルは次のようになります。
cryptopp サブディレクトリ内のすべての Crypto++ ヘッダーとソース ファイルを使用します。
標準の C++ ライブラリが見つからないため、最初は多くのコンパイル エラーが発生しましたが、次の行で Application.mk を追加して修正しました。
ndk-build (標準バージョンと crystax バージョンの両方) でコンパイルすると、次のエラーが発生します。
これまで NDK プロジェクトに外部ライブラリを含めたことはありません。基本的なことを見落としているだけかもしれません。
c++ - Crypto++ 原因不明のクラッシュ
プロジェクトで暗号化を使用する必要があります (Visual C++ 2008 sp1、いくつかの dll を含む exe、いくつかのサードパーティ ライブラリを使用)。Crypto++ ライブラリを選択しました。静的ライブラリとして使用します。まず、テスト コンソール アプリケーションで必要なすべての機能をテストしたところ、すべて正常に動作しました。
次に、この機能をプロジェクトに統合し始めました。
そして、次のような非常に単純なものを含む、多くの Crypto++ 関数呼び出しでクラッシュします。
このコード行の呼び出し中に、アプリケーションは次のようにクラッシュします。
これが私のコールスタックです:
私のプロジェクトと Crypto++ の両方で、マルチスレッド DLL ランタイム ライブラリを使用しています。
Crypto++ プロジェクト オプションを自分のプロジェクト オプションと同じになるように変更しようとしましたが、役に立ちません (いくつかの変更の後、別のコール スタックでアプリケーションがクラッシュします)。
どんなアイデアでも大歓迎です!
c++ - Crypto++ を使用して aes-cbc-essiv:sha256 を復号化できますか (ファイルは Linux dm-crypt によって暗号化されています)
Linux dm-crypt で暗号化された aes-cbc-essiv:sha256 でファイルを復号化するために Crypto++ を使用する必要があった人はいますか? 次のコードを使用してファイルを復号化しようとしました。しかし、それは正しくありません。誰も以前に経験がありますか?手伝って頂けますか?本当にありがとう。
cryptography - 安全なStringSinks
したがって、Crypto ++でアルゴリズムを使用する一般的な方法はStringSinks
、への参照を渡すことによって開始されるを使用することであるように思われstd::string
ます。
std::string
しかし、セキュリティの問題のために使用したくない場合はどうなりますか?データをのようなものにすることは可能ですかSecByteBlock
、それとも、再成長する安全なバッファ文字列クラスを対象とする独自のシンククラスを作成する必要がありますか?