Miracle密码算法开源库(零) 项目综述
2021SC@SDUSC 山东大学软件学院软件工程应用与实践
一.MIRACL简介
MIRACL(Multiprecision Integer and RationalArithmetic C/c++ Library)是一套由Shamus Software Ltd.所开发的一套关于大数运算函数库,用来设计与大数运算相关的密码学之应用,包含了RSA 公开密码学、Diffie-Hellman密钥交换(Key Exchange)、AES、DSA数字签名,还包含了较新的椭圆曲线密码学(Elliptic CurveCryptography)等等。运算速度快,并提供源代码。MIARCL是当前使用比较广泛的基于公钥加密算法保护实现的大数库之一,据说要使用该库用于商业软件,需要交纳一笔昂贵的授权费——1000$。
二、下载
下载地址:https://github.com/miracl/MIRACL
三、 编译miracl
将从github网站上下载的安装包解压,如下图:
2.新建文件夹miracle,将解压出来的所有文件复制到miracl文件夹中,如下图:
3.打开vs 2017,新建 Visual C++–空项目CompileMiracl,把miracl文件夹里的所有文件复制到CompileMiracl的工程目录,和工程源文件放在一个文件夹,如下图:
4.右键单击项目–添加–现有项,如下图:
5.添加如下头文件和源文件:
miracl.h
mirdef.h
mraes.c
mralloc.c
mrarth0.c
mrarth1.c
mrarth2.c
mrarth3.c
mrbits.c
mrbrick.c
mrbuild.c
mrcore.c
mrcrt.c
mrcurve.c
mrdouble.c
mrebrick.c
mrec2m.c
mrgf2m.c
mrfast.c
mrflash.c
mrflsh1.c
mrflsh2.c
mrflsh3.c
mrflsh4.c
mrfrnd.c
mrgcd.c
mrgcm.c
mrio1.c
mrio2.c
mrjack.c
mrlucas.c
mrmonty.c
mrmuldv.c
mrpi.c
mrpower.c
mrprime.c
mrrand.c
mrround.c
mrscrt.c
mrshs.c
mrshs256.c
mrshs512.c
mrsmall.c
mrsroot.c
mrstrong.c
mrxgcd.c
mrzzn2.c
mrzzn2b.c
mrzzn3.c
mrzzn4.c
mrecn2.c
6.右键单击项目–属性,如下图:
7.更改目标文件扩展名和配置类型,如下图: