未加星标

Linux 下编译并使用 Miracl 库

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

MIRACL(Multiprecision Integer and Rational Arithmetic C/c++ Library)是一套由Shamus Software Ltd.所开发的一套关于大数运算函数库,用来设计与大数运算相关的密码学之应用,包含了RSA 公开密码学、Diffie-Hellman密钥交换(Key Exchange)、AES、DSA数字签名,还包含较新的椭圆曲线密码学(Elliptic Curve Cryptography)等等。运算速度快,并提供源代码。国外著名密码学函数库还有:GMP、NTL、Crypto++、LibTomCrypt(LibTomMath)、OpenSSL等。

(1)这是我找到的一些关于这个库的文档:

链接: https://pan.baidu.com/s/1WDXIeI3ajAclHQB42Kzbxg 提取码:5sjp

(2)这是这个库的 github 项目

https://github.com/miracl/MIRACL

0X02 编译

由于 ubuntu 在编译方面相对于 centos 方便一些,于是我这里以 ubuntu 进行说明

1.下载并解压 GitHub 的 Miracl zip

下载下 MIRACL-master.zip 文件以后,我们需要新建一个 miracl 文件夹

mkdir miracl

将 zip 文件拷贝到 miracl 中以后,使用下面的命令进行解压

unzip -j -aa -L MIRACL*.zip 2.开始编译

在 miracl 目录下运行 linux64 这个脚本

bash linux64

等待一会就编译结束了,执行下面这条命令测试一下是否编译成功,如果正常运行就是编译成功了

./pk-demo

3.将 *.h 拷贝

Linux 要想引用头文件我们需要将我们的自己的库的 .h 文件都放到 linux 的 /usr/include 中,为了区分各种的库,我在 /usr/include 创建一个 miracl 文件夹

cp ./miracl/*.h /usr/include/miracl 4.将 miracl.a 文件移动并重命名

我们需要在链接的时候用到这个库,我们就要把这个静态链接库文件放在 /usr/lib 下,并命名为 libxxxx.a

cp ./miracl/miracl.a /usr/lib/libmiracl.a 5.修改头文件

因为我刚刚在 include 目录下创建了一个 miracl 文件夹,于是我们引用头文件的时候也要带上

#include<miracl/miracl.h> #include<miracl/mirdef.h> 6.使用 gcc 编译 c 文件 gcc sm3.c -o sm3 -lmiracl 0X03 补充

如果有人对这个 gcc 编译,包括 静态动态链接不是很清楚的话,可以看一下这本书的 3.3.1 节,我觉得写得非常好,也是别人推荐给我的

链接: https://pan.baidu.com/s/1PWLxrT8VtmD5MKSCU-3WhQ 提取码:bq6v

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

代码区博客精选文章
分页:12
转载请注明
本文标题:Linux 下编译并使用 Miracl 库
本站链接:https://www.codesec.net/view/620999.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(193)