問題タブ [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.

0 投票する
1 に答える
765 参照

c++ - crypto++を使用してプロジェクトをコンパイルしようとしたときにエラーC2711が発生しました

crypto++を使用してプロジェクトをコンパイルしようとしています。私のプロジェクトはclrを使用しており、コードをコンパイルしようとすると、次のエラーが発生します。

私のプロジェクトはを使用しており、ランタイムライブラリとしてclr使用しています。/MDcrypto++をコンパイルしたときに同じパラメータを設定しました。

編集:私の主な機能

0 投票する
1 に答える
1632 参照

c++ - AES とキーの長さのエラー

このコードを機能させようとしています。Cryptopp AESからです

CTR で AES を使用した暗号化と復号化を示します

唯一の違いは、関数encryptAESdecryptAESを作成し、コードを挿入したことです。これらの関数を作成しなくても機能します。しかし、次のエラーが表示されました: AES/CTR 4 は有効なキーの長さではありませんが、キーの長さは 16 ビットです。

0 投票する
3 に答える
1175 参照

c++ - 非対称認証付き暗号化

許可されていない人が自分のデータを変更したり読み取ったりしないように保護したいと思います。調べてみると、Authenticated Encryption(AE)が解決策であることがわかりました。
CCM、GCM、またはEAXのいずれかを使用してCrypto++でAEを実行できることを知っています。しかし、データの暗号化と復号化に同じキーを使用していることに気づきました。私はそれを望んでいません。データの暗号化と復号化に非対称鍵を使用したいと思います。
非対称アルゴリズムを使用してデータに署名し、次に対称アルゴリズムを使用して暗号化すると、目的の結果が得られます(AtE方式なので、どちらが安全でしょうか?)。
しかし、それを行う前に、私がすでに望んでいることを実行する暗号ライブラリはありますか?

0 投票する
1 に答える
1853 参照

c++ - この valgrind は、crypto++ のサイズ 8 の単位化された値を使用していますか?

libcrypto++9_5.6.1-6_amd64.debUse of uninitialised value of size 8のライブラリ呼び出しで CryptoPP::HuffmanEncoder::GenerateCodeLengthsvalgrindレポートがあります。Ubuntu 12.10

健全性チェックが必要です。アプリケーション コードに何か問題がありますか? (私は crypto++ を使い始めたばかりなので、これは本当の可能性です。) それとも、valgrind 警告の抑制を無視フィルターに入れる必要がありますか?

エラーにもかかわらず、コードは機能しているように見えます。

コンパイル

g++ -std=c++11 -g3 -O2 -Wall -Wextra -Wno-unused -o test3 test3.cpp -lrt -lcryptopp

test3.cpp コード

0 投票する
1 に答える
1608 参照

c++ - 独立したハッシュを注文する

私は、データを識別するいくつか(<10)の情報を取得し、それらを組み合わせて1つのハッシュを生成することにより、Key-Valueデータのキーを作成しています。このために、私はCryptoPPのSHA256::Update関数を使用してきました。この関数を使用すると、一度にピースを追加できます。

呼び出しの順序が重要であることに気づきましたUpdate(つまり、2つのUpdateステートメントの順序を変更すると、異なるハッシュが取得されます)。代わりに、これを注文に依存しないようにしたいと思います。それで:

  • CryptoPPはこれを行う方法を提供しますか?
  • そうでない場合は、別のアプローチを提案できますか?xorこれまでのところ、パラメータを組み合わせるために使用するとうまくいくと思います。1つの問題は、2つのデータが同じである場合、それらがキャンセルされることです。これに関する問題を予見できますか?
0 投票する
1 に答える
2558 参照

c++ - Crypto++のテストコードの構築とリンク

プロジェクトのCrypto++ライブラリ用の簡単なテストコードを作成しようとしています。しかし、私はまだ自分のコードをビルドすることができていません。それはうまくコンパイルされます、問題はリンクにあります。Visual Studioはまだかなり新しいですが、VS10を使用しています。私が得ているエラーは次のとおりです。

リンクに関して、ドキュメントで見つけられるすべてのことを試しました。これまでDLLに対してリンクしたことはありませんが、リンクしようとするとエラーが発生します。静的ライブラリのバージョンに対してリンクしていると思うことをやろうとすると、さらに多くのことが得られます。

現在、純粋なDESをテストしようとしています。特に、安全のために、私が行っているAPI呼び出しは次のとおりです。

誰かが助けてくれるか、私を正しい方向に向けることができれば、私は大いに義務づけられるでしょう。

0 投票する
1 に答える
4966 参照

c++ - JAVA(AES / CBC / PKCS5PADDING)対応するC /C++は何ですか

Cipher.getInstance( "AES / CBC / PKCS5PADDING")i Sun JCEプロバイダーを使用しています:</ p>

}

C / C ++とは何に対応しますか?私はcrypto++を見つけました、他はそうではありません、しかし、アルゴリズムが多すぎるので、AESが必要です。それは複雑すぎます、私は初心者です、このアルゴリズムに精通していますか、移植したいですAndroidに、そのようにパッケージ化されています。</ p>

0 投票する
1 に答える
1236 参照

c++ - Eclipse 未定義リファレンスの Crypto++

MinGW ツールチェーンを使用して、Eclipse C++ プロジェクトに Crypto++ を使用しようとしています。問題は、暗号関数を使用しようとするたびに、「未定義の参照」エラーが殺到することです。誰もこれを経験したことがありますか?これは私が得ているものです(切り捨てられています):

更新しました

0 投票する
0 に答える
56 参照

c++ - 必要な 1 つの AES ブロックを暗号化する例

重複の可能性:
AES および Crypto++ を使用した単一ブロックの暗号化/復号化

AES の 2 つの操作モードを実装する宿題がありますが、問題は、単一の AES ブロックを暗号化する方法がわからないことです。のように、AES の Crypto++ の実装を単独で使用する方法がわかりません。どこを見ても、ライブラリの操作モードを使用するコード スニペットしか見つかりませんでした。それが本来の使用方法であることはわかっていても、実際には割り当てのために自分で実行したいと思います。誰かがC++コードの例を手伝ってくれますか?

0 投票する
1 に答える
820 参照

javascript - Crypto++ 低レベル AES API (SJCL 風)

JavaScript の実装からプロトコルをリバース エンジニアリングしようとしていますが、AES 暗号化方式に固執しています。Crypto++ ライブラリを使用して、C++ でこれをプログラミングしています。SJCL ライブラリを使用しており、ciphertext = (new sjcl.cipher.aes(key)).encrypt(plaintext). SJCL のドキュメントから、これが低レベルのインターフェースであることがわかります。ciphertextkey、およびplaintextは、すべて 32 ビット整数の 4 要素配列です。私の知る限り、Google で見つけることができる限り、Crypto++ は高レベルのインターフェイスのみを提供します。SJCL が行っていることを Crypto++ に実行させる方法はありますか? また、そのencryptメソッドは正確に何をしますか?

http://bitwiseshiftleft.github.com/sjcl/doc/symbols/sjcl.cipher.aes.html

編集: javascript コードplantextが文字列から int に変換されていることに気付きました。すべての変数のエンディアンを変更するすべての組み合わせを試したと思います。とにかく、意味のあるすべての組み合わせを試しました。また、 の配列を作成int32_tし、その JavaScript の行に入力されたものでそれらを初期化しようとしました。これが私が今持っているものです:

C++ バージョンの出力は次のとおりです。

および JavaScript: