問題タブ [ntl]

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 投票する
3 に答える
3008 参照

c++ - 文字列を ZZ 番号に変換するにはどうすればよいですか?

NTL ライブラリを使用して、ElGamal 暗号化/復号化アルゴリズムを実装しています。私はそれが機能しているという点に到達しましたが、アルゴリズムはメッセージを整数に変換して暗号化できるようにすることを望んでいます。
したがって、1234 のような数値を入力するとすべて問題なく動作しますが、C++ 文字列 (std::string) を ZZ 数値に変換し、その ZZ 数値から文字列に戻すにはどうすればよいでしょうか?

:

ZZ 多数を表すクラスです。
例: 18287348238476283658234881728316274273671623781254124517353


したがって、基本的には、たとえば「Hello World」を1文字ずつ実行し、文字のASCIIコードを取得して、「72 101 108 108 111 32 87 111 114 108 100」という数字を取得しようとしています。次に、この数値を文字列 "Hello World" に戻す必要があります

または、もっと良い方法があるかもしれません。

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

c++ - Windows 用 NTL c++ ライブラリのコンパイルと使用

Microsoft Visual Studio 2008 を使用して、C++ 用の NTL inifite 精度整数演算ライブラリをコンパイルしました。このサイトで説明されているように、コマンド プロンプトからではなく、Visual Studio インターフェイスを使用して行いました。実際にはコマンド プロンプトから実行したいのですが、方法がわかりませんでした。

とにかく、ライブラリをコンパイルしたので、コマンドプロンプトからライブラリを使用してプログラムをコンパイルしたいと思います。コンパイルしようとしているプログラムは、Linux システムでテストされており、次のようにコンパイルします。

gmpのことは気にしないでください。Windowsにはインストールしていません。NTL の実行を高速化するのは、純粋にオプションです。とにかく、これはLinuxでうまく動作します。Windowsでは、次のように記述します

しかし、これにより次のエラーが発生します。

私の mpqs.h ファイルがコンパイル プロセスに含まれていないようです。また、ベクター型の .push_back() について不平を言う理由がわかりませんか?

助けていただければ幸いです。

0 投票する
2 に答える
556 参照

c++ - Linuxでのc++を使用したBoost/NTLプログラムのコンパイル

NTLライブラリとBoost::Asioを使用して、C++で整数因数分解アプリケーションのクライアント/サーバー通信を行うクライアントプログラムとサーバープログラムを作成しました。

両側は、いくつかのヘッダーとcppファイルで構成されています。どちらのプロジェクトも、VisualStudioのWindowsで個別に正常にコンパイルされます。私がしたのは、両方のプロジェクトにNTLとBoostのインクルードパスを追加することだけでした。

さらに、両方のプロジェクトについて、VSの両方のプロジェクトに2つのライブラリパスを追加しました。

そして、追加の依存関係の下に追加されました:

すでに述べたように、Windowsでは正常にコンパイルされます。しかし、大学が提供するLinuxマシンにコードを置くと、次のステートメントでコンパイルしようとします。

これを行うと、ここに投稿したhuugeエラーが発生します。これを修正する方法はありますか?

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

c++ - std::set と NTL::vec_ZZ の競合

NTL-Library から定義された任意の長さの整数ベクトルに std::set を使用しようとしていますが、何らかの理由で機能しません。ライブラリで定義された ZZ 整数で問題なく動作します。

最初の挿入が機能し、2 番目の挿入が機能しない理由を知っている人はいますか?

0 投票する
2 に答える
1666 参照

c++ - CMake を使用して NTL を含める方法

この行を使用して、単純なプログラムをコンパイルします。

これをどのように CMake に含めますか?

うまくいきません。次のエラーが表示されます。

どちらも機能しません(ただし、一般的には間違っていると思います)。

ありがとうございました!

0 投票する
5 に答える
4119 参照

c++ - NTLライブラリを使用したコンパイラエラー

NTLライブラリを使用しようとしていますが、未定義のシンボルに関するコンパイラエラーが常に発生します。

例(NTLドキュメントから取得):

結果:

NTLヘッダーはに/usr/include/NTL含まれているため、含める必要があります。

どうしたの?間違った方法でコンパイルしていますか?もしそうなら、ドキュメントに「ntlでコンパイルする方法」のようなものがないように見えるので、どこで正しい方法を見つけることができますか?

using namespace NTL何も変更しない代わりに使用する場合NTL_CLIENT

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

c++ - 大きな整数 ZZ (NTL で宣言されている) から 16 進数まで

私は現在 NTL を使用して大きな整数を処理しています。このライブラリの大きな整数は ZZ として宣言されます。ZZ 番号から 16 進数に変更したいと思います。ただし、調べたところ、NTL は ZZ から 16 進数への変換をサポートしていません。

私の質問は、どのように ZZ (または大きな 10 進数を表す文字列) から 16 進数の形式に変換できますか? 誰かが助けてくれれば、このライブラリの機能を使用して ZZ から 16 進に直接移動できるかどうかを好みます

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

exponentiation - NTLライブラリの多項式、RRおよびZZのべき乗

RSA暗号解読の実装にNTLライブラリを使用しています。しかし、私はタイプの不一致/非互換性に関して頻繁にいくつかの問題に遭遇しています。

例えば-

  1. n ^((h-1.0)/(h * k-1.0))の型の値が必要ですRR。ここで、nは型ZZで、hとkはintです。全体的な指数はfloatまたはdoubleです。^、pow(RRベースでのみ機能)、power(長い指数でのみ機能)を試しました。私は最終的にすべてのタイプRRをpowを使用するように作成しましたが、それは本当にそれを行う方法ですか?

  2. (p(x))^ kを実行するにはどうすればよいですか?ここで、p(x)は多項式です。ループでmul関数をk回使用する必要がありました。また、多項式を初期化する方法は?stdinからpythonリストのようなものを取得できるようですが、プログラム内でそのように設定することはできません。それで、

    また

    動作しません。SetCoeff各係数を個別に設定するために使用する必要がありました。

これらは私が今覚えている2つのインスタンスです。あまりにも多くの不便に遭遇しました。
Iirc、ZZとRRを掛けることさえできません。

0 投票する
2 に答える
1604 参照

visual-studio-2010 - VisualStudio2010でNTLライブラリを構成する方法

最初のVisualStudio2010プロジェクトでNTLライブラリを構成しようとしています。私は次の指示に従っています:http://www.shoup.net/ntl/doc/tour-win.html

という名前の新しいWin32プロジェクトを作成しましたntl

次に、Project->から、ファイルNTLライブラリフォルダ内Add Existing Itemsのすべてのファイルを選択します。src

Project次に、 -> Properties-> Configuration Properties-> C/C++- >をクリックして、ライブラリフォルダ内のディレクトリAdditional Include Directoriesを選択しました。includeNTL

最後に、Build->しようとしBuild ntlましたが、(src内のすべてのファイルに対して)次のようなエラーが発生します。

0 投票する
2 に答える
703 参照

c - ZZをバイナリに変換する方法は?

NTLライブラリを使用してコードを実装しています。ZZ番号を2進数に変換し、そこから部分文字列を取得して、その部分文字列を10進数に変換する必要があります。どうやってやるの?

上記のコードは私にこのエラーを与えています:「セグメンテーション違反(コアダンプ)」

編集:上記のコードは現在機能していますが、8進数の文字列を指定する代わりに、ガベージ値を返しています。