首页 > 编程知识 正文

wpki无线公开密钥体系(NTL密码算法开源库--综述)

时间:2023-05-06 02:02:58 阅读:123999 作者:465

2021SC@SDUSC

http://www.Sina.com/http://www.Sina.com /

NTL算法库是开源自由软件,是一种高性能可移植c库,专门处理任意精度大的整数、实数的计算数论和计算代数,基于任意大的整数、任意精度的实数以及整环和有限域上的向量、矩阵、多项式的数据为了提供大量库函数的实现,是实现信息安全理论、开发符号计算和计算机自动推理平台的有效函数库。 近年来,许多国内外研究者应用于信息安全研究领域。 算法库的使用非常方便灵活,在Windows和Linux平台上调用扩展开发和直接调用算法库实现函数,同时提供了良好的二次开发接口,具有面向过程和面向对象的双重开发方法基于上述优点,笔者想深入分析算法库,介绍NTL算法库在算法内部的实现原理,深入分析NTL算法库中的工作原理和实现过程。

NTL密码算法开源库--综述

步骤1 :下载ntl代码开放源代码库(https://www.shoup.net/ntl/download.html )

步骤2 :选择并下载相应的NTL开源库(此处笔者下载的是NTL 11.5.1 for Windows )。

步骤3 (将压缩包下载到电脑的非系统盘上并解压缩

在步骤Visual studio 2017中创建NTL静态库

步骤5 :编写测试程序,测试NTL静态库的运行状态是否正常

项目综述

NTL密码开源库主要解决的问题是任意大整数、任意精度实数以及基于全环和有限域上向量、矩阵、多项式的数据结构和算术运算,同时提供了大量库函数的实现。 关于这些功能,笔者下载了NTL库后,查看了其内部的src文件。 NTL算法定义了许多类,下面将讨论NTL中相对重要的类。

大整数(zz )任意长度的大整数表示、最大公约数、雅可比符号和质数检验;

-模式p大整数(ZZ_P ) ZZ-p上的数据表示、基本运算、关系运算和流控制等;

-模式单精度整数(zz_P ) :模式单精度p整数表示、内存分配、基本运算和重载等;

-模2整数(GF2 ) GF2上的数据表示、基本运算、运算重载和关系运算等;

ZZ上多项式(zzx ) :单变量多项式最大公约数、特征多项式、范数和跟踪运算等;

ZZ _ p上扩展(ZZ_pE ):ZZ_pE上的数据表示、基本运算、关系运算、范数和跟踪运算;

-ZZ_p上多项式(ZZ_pX ) :多项式向量表示、基本运算、模运算、最大公约数公式等;

-ZZ_pE上多项式(ZZ_pEX ) :模的单变量多项式、极小多项式、特征多项式、插值运算等;

-zz_p上多项式(zz_pX ) :多项式向量表示、极小多项式、特征多项式、插值运算等;

ZZ _ p上扩展(zz_pE ):zz_pE上的基本运算、幂运算、范数和跟踪运算等;

gf2上多项式(GF2X ):gf2上单变量多项式的最大公约数、极小多项式、因数分解;

-GF2上矩阵(mat_GF2 ) :矩阵算术运算、矩阵逆、解非退化线性方程和高斯消元等;

gf2上环/域扩展(GF2E ) :在gf2上扩展单变量多项式,实现GF2[x]/上的运算;

-GF2E上多项式(GF2EX ):GF2上的单变量多项式、模多项式运算、模合成、极小多项式特性多项式、插值运算等。

NTL开源代码库的安装和使用

此次NTL加密算法的代码分析项目组由笔者(@回顾、阮珊)和)元解)毁怀(https://blog.csdn.net/lichenyangok )两个成员组成。 我们详细分配了代码分析工作,每个人都参与了核心代码的分析。 我想详细分析1.3中说明的NTL中比较重要的类。 计划每周更新博文。 @元解)毁怀侧重于代码的实现逻辑和数论知识是如何应用和编写代码的。 笔者主要对代码中数论的相关数学知识进行了深入的研究。

PS :参考文献《基于NTL算法库的多元多项式因式分解高效实现》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。