ch1 密码学C/C++库介绍、C中大数的表示、接口语义

Ch1 密码学C/C++库介绍
话休絮烦,既然开了新坑《密码学C/C++语言实现》,就直接开始吧。这本书的作者是迈克尔·威尔森巴赫(Michael Welschenbach),是书籍的第二版。
本书中描述的软件包名称为FLINT/C,意思是“数论和密码学中的大整数函数”(Functions for large integers in number theory and cryptography)。

简单描述一下各个模块:
flint.h,使用flint.c的头文件;
flint.c,用C描述的算数和数论函数;
kmul.{h, c},Karatsuba乘法和开方函数;
ripemd/{h, c},散列函数RIPEMD-60的实现;
sha{1, 256}.{h, c},散列函数SHA-1、SHA-256的实现;
entropy.c,生成作为伪随机序列初始值的熵;
random.{h, c},生成伪随机数;
aes.{h, c},高级加密算法(AES)的实现。
具体的下载地址在Github上,搜索flint即可。

Ch2 C中大数的表示
背景:在FLINT/C库中,所有程序的基本功能是处理远超过标准数据类型容量的几百位数字的自然数,因此我们需要一个用于大数表达和操作的计算机存储器单元的逻辑顺序。
可以采用动态内存管理的方式分配内存,但是会牺牲计算时间,因此,本书中采用静态长度。
为了表示大自然数,出于效率考虑,一个无符号的数据类型是最

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值