同态密码吧 关注:163贴子:471
  • 8回复贴,共1

NTL库使用相关

只看楼主收藏回复

首页:http://www.shoup.net/ntl/
下载地址:http://www.shoup.net/ntl/download.html
NTL的安装很简单,windows和linux下均可以通过不同的配置进行使用,可参见:http://tieba.baidu.com/p/3529494302
此处主要介绍一下NTL库的介绍文档,例如我下载了WinNTL-9_1_0,那将其解压,在主文件夹下的doc中,这里主要说一些常用的:
1.GF2.cpp.html 里边介绍了二元域中各种操作,包括加减乘除,以及求逆等等。
例如void mul(GF2& x, GF2 a, GF2 b); // x = a * b
void sqr(GF2& x, GF2 a); // x = a^2


1楼2015-05-12 09:32回复
    2.GF2E类主要用来表示F_2[X]域中模多项式P的多项式。
    void init(const GF2X& P) 可以用来初始化现在的多项式P,要求deg(P)>=1.
    其次支持各种加减乘除、求指数、随机等函数,均可以找到相应的。


    2楼2015-05-17 19:16
    回复
      2026-02-17 08:46:34
      广告
      不感兴趣
      开通SVIP免广告
      ZZ_p::init(ZZ(2)); // define GF(2)
      ZZ_pX P; //univariate polynomials over ZZ_p
      BuildIrred(P, 16); // generate an irreducible polynomial P
      // of degree 16 over GF(2)
      ZZ_pE::init(P); // define GF(2^16),ZZ_pE: ring/field extension over ZZ_p
      ZZ_pEX a; // declare polynomials over GF(2^16)
      random(a, 10); // a is a random polynomial of degree less than 1024
      ZZ_p::init(ZZ(2)); // define GF(2)
      ZZ_pX PP; //univariate polynomials over ZZ_p
      BuildIrred(PP, 1); // generate an irreducible polynomial P
      // of degree 1 over GF(2)
      ZZ_pE::init(PP); // define GF(2^1),ZZ_pE: ring/field extension over ZZ_p
      ZZ_pEX s; // declare polynomials over GF(2^1)
      random(s, 10); // a is a random polynomial of degree less than 1024
      ZZ_pEX b;
      b = a*s;
      先定义两个环上的多项式,然后相乘,这样有问题吗?


      IP属地:北京3楼2016-09-30 14:55
      回复(1)
        请问楼主用过NTL库的Mat<ZZ> 变量没?如何给一个矩阵元素进行任意长度整数的赋值?除了用cin之外。
        求指导


        IP属地:北京4楼2016-12-06 21:41
        收起回复
          NTL库怎么也装不上,不知道哪里出了问题QUQ


          IP属地:四川5楼2017-12-18 16:11
          收起回复
            mac上可以安装NTL库吗


            IP属地:江苏6楼2021-04-18 13:58
            回复