MIRACL库成功配置记录

最近需要使用各种加密、散列算法,又不太想自己写,于是去Google和GitHub上找了一番,发现了MIRACL这个据说很好用的库。用百度搜搜发现还有一篇以此为基础的电子科技大学的硕士论文!吼啊!看起来很不错嘛

于是先去GitHub上下载源代码 点击Download ZIP

下载之后解压,看了一下manual.doc,是关于各种函数以及用法的,翻翻看看发现了几个bat脚本,ms32doit和ms64doit等等,刚开始没看懂什么意思,后来才发现这是MS 32Bit Do It !的意思,意思就是用这个就可以编译了。(没搞明白这个,浪费了大半个小时)

搞明白之后尝试执行ms32doit,一大堆错误,慢慢看发现cl什么的都未找到,应该是VS的配置没有到全局变量里,既然这样那我不如用GCC了(以前配置过cygwin)同时还找到了gcdoit看来就是GCC DO IT!的意思嘛

于是用gcdoit,仍旧一大堆错误。一行行看发现都是编译的时候未找到各种各种。

这个库本身没有MAKE CONFIGURE这样好用的东西,自己不想处理依赖关系,于是开始百度用IDE编译。找到了几篇博客什么的,后来证明这些博客都在胡说八道。

先用CodeBlocks编译miracl,仍旧一大堆错误。尝试手动修改#include导致的问题,后来卡死在miracl.h里面的宏定义上。

后来用Visual Studio 2015编译,一大堆错误。(到这里我已经快疯了...)引入VS之后出现了预编译头的问题,去项目配置里面的C/C++选项卡关掉了预编译头。继续编译仍旧出现各种#include not found的问题。卒。

无奈返回到命令

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
基于MIRACL(Multiprecision Integer and Rational Arithmetic C/C++ Library)的密钥协商,可以使用椭圆曲线密码算法(Elliptic Curve Cryptography, ECC)来实现。 在密钥协商中,假设有两个通信方Alice和Bob,他们希望通过一个安全的通信渠道来交换密钥,并确保第三方无法获知这个密钥。 首先,Alice和Bob需要选择一个椭圆曲线作为基础,假设选择的曲线为E。然后,Alice和Bob各自生成一个私钥,通常用一个随机数来表示,分别为私钥A和私钥B。秘钥的生成是基于曲线E上的点,即私钥是在曲线E上选取的一个点。 接下来,Alice和Bob根据各自的私钥通过椭圆曲线上的点运算,分别计算出相应的公钥,这些公钥可以公开给所有人,我们分别称之为公钥A和公钥B。 然后,Alice和Bob交换各自的公钥。Alice将公钥B发送给Bob,Bob将公钥A发送给Alice。 最后,Alice和Bob利用对方的公钥和自己的私钥进行运算,分别计算出相同的共享密钥。这个共享密钥既可以用于对称加密算法(如AES)加密通信数据,也可以用于生成消息认证码(Message Authentication Code, MAC)来确保数据的完整性和真实性。 MIRACL提供了各种椭圆曲线密码算法的实现,包括椭圆曲线的选择、点运算、公钥验证等功能。使用MIRACL,Alice和Bob可以方便地实现基于椭圆曲线的密钥协商,并确保通信的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值