OpenSSL密码库算法笔记——第1.2.2章 comba乘法
comba乘法就是用另外一种顺序来做乘法:
…………(1.4)
即按照由低到高的顺序计算乘积r的每一个字。其具体算法如下:(参见[3]算法3)
───────────────────────────────────────
算法: comba算法
step1: 。
step2: 对k从0到(m+n-1),执行:
2.1) 对每一对,执行:
2.2.1) (uv)=ai×bj,
2.2.2) c0←加法(c0,v),c1←带进位加法(c1,u),c2←带进位加法(c2,0)。
2.2)。
step3: 。
step3: 返回
───────────────────────────────────────
其中的u、v、c0、c1、c2、ri都是32比特字,(u,v)表示u和v连接成的64比特数。
步骤2中的一个乘法(uv)=ai×bj和三个加法: c0←加法(c0,v),c1←带进位加法(c1,u),c2←带进位加法(c2,0),可以用宏定义#define mul_add_c(BN_ULONG a, BN_ULONG b, BN_ULONG c0, BN_ULONG c1, BN_ULONG c2) 实现,即
───────────────────────────────────────
void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
备注: a、b实际长度超过8时,也仅仅将a、b的低8个字相乘。
───────────────────────────────────────
OpenSSL密码库算法笔记——第1.2.2章 comba乘法相关推荐
- OpenSSL密码库算法笔记——第1.2.5章 comba平方
comba平方就是将comba乘法和经典平方的思想结合在一起: ----(1.9) 具体算法如下:(参见[3]算法4) ─────────────────────────────────────── ...
- OpenSSL密码库算法笔记——第6.5.2章 密钥协商函数
现在来看看OpenSSL中哪些函数是用来具体实现密钥协商的. ─────────────────────────────────────── int ECDH_compute_key(void *ou ...
- OpenSSL密码库算法笔记——第 2.2.4章 Barrett模数与相关函数
为了便于使用Barrett约化,专门定义了一个结构体,我们将它称作Barrett模数.结构体的定义如下: struct bn_recp_ctx_st { BIGNUM N; BIGNUM Nr; in ...
- OpenSSL密码库算法笔记——第4.1.1章 平方和算法
平方和算法是模指数运算的基本.如果指数e的二进制展开为,则利用平方和算法可以这样计算模指数: . ----(4.1) 现在 ...
- OpenSSL密码库算法笔记——第4.1.2章 窗口算法
如果存储空间足够的话,可以事先将一部分计算结果(比如指数很小时的运算结果)存储起来,到后面需要时再直接调用.窗口算法就用到了这种思想,它一次可以处理指数e的多个比特(不妨设为k比特,而k称为窗口的大小 ...
- OpenSSL密码库算法笔记——第5.1.2章 椭圆曲线算法集
在定义椭圆曲线点群时出现了描述曲线所用算法的参数const EC_METHOD *meth,这一节就来看看这个参数有什么用处. 椭圆曲线算法集的定义如下. typedef struct ec_meth ...
- OpenSSL密码库算法笔记——第5.1.1章 椭圆曲线点群的定义
下面定义的椭圆曲线点群不仅包含了域的信息和曲线的信息,甚至还包括了很多别的有利于实现的信息. 椭圆曲线点群的定义如下. typedef struct ec_group_st EC_GROUP; s ...
- OpenSSL密码库算法笔记——第5.3.1章 椭圆曲线点群的算法集
在使用椭圆曲线之前,必需先设定好曲线上的算法集,只有这样在应用中才知道应该使用哪些函数. 下面就来看看怎样设定好曲线上的方法集. ─────────────────────────────────── ...
- OpenSSL密码库算法笔记——第2.2.2章 Barrett约化的优越性
现在简单的将经典运算和Barrett约化做下对比.经典模运算就是做长除法,而Barrett约化与经典模运算不同. 经典模运算 = 除法. Barrett约化 = 2次特殊的除法 + 2次较特殊的乘法 ...
最新文章
- androidx FloatingActionButton 中间加载的图片显示黑色
- Java 8中一些常用的全新的函数式接口
- 复现经典:《统计学习方法》​第 11 章 条件随机场
- 中国历史上影响最大的10首诗
- linux撤销编译,linux重新编译内核
- win10下安装lxml
- 问题:anaconda: command not found 解决方案
- 助力南京打造创新名城 第三届未来网络发展大会将召开
- DOM节点操作大全(一)
- 关于依赖倒置,控制反转和依赖注入的趣谈
- 集中刷新父窗口,关闭子窗口的JS(后台)
- AI 最新突破集锦 AI的瓶颈和进展 AI控制核聚变 AI预测蛋白质3D结构 Alpha Fold2 AI证明数学公式 自动驾驶 AI替代的硬件
- MacBook安装git教程,git学习这一篇就够了!
- 软件项目管理课程设计-数字化校园学工信息系统
- 将数字金额转换为对应的中文大写金额
- 计算机公式与函数乘法,excel里减法函数是哪个?-excel函数公式乘法
- mac怎么无线打印机连接到服务器,苹果电脑连接wifi打印机的方法
- Introducing Heka
- 如何删除tmp计算机桌面,教你Win10系统中tmp文件删除不了应该如何解决?
- 2023AE软件、Adobe After Effects下载、安装教程