如果存储空间足够的话,可以事先将一部分计算结果(比如指数很小时的运算结果)存储起来,到后面需要时再直接调用。窗口算法就用到了这种思想,它一次可以处理指数e的多个比特(不妨设为k比特,而k称为窗口的大小)。当窗口大小为k时,可以预先将计算出来并进行存储(不妨记),然后对e进行进制展开,接着按平方和算法的思想进行迭代即可。

下面是窗口算法的简单描述。关于窗口算法的更多情况可参见[10,算法14.82]。

───────────────────────────────────────

───────────────────────────────────────

同样以上面那个例子e=165来看看窗口算法。假设取窗口宽度k=3,则e的8进制展开为,那么按照窗口算法思想计算模指数的过程为:

Step1:预计算g1、g2、……、g7;

Step2:初始化A: A ← 1;

Step3:迭代过程如下:

表4.2

i

Step 3.1)

Step 3.2)

2

A←A8=1

ei=2

A←A×g2=g2

1

A←A8=g16

ei=4

A←A×g4=g20

0

A←A8=g160

ei=5

A←A×g5=g165

OpenSSL密码库算法笔记——第4.1.2章 窗口算法相关推荐

  1. OpenSSL密码库算法笔记——第4.1.1章 平方和算法

    平方和算法是模指数运算的基本.如果指数e的二进制展开为,则利用平方和算法可以这样计算模指数: .                                        ----(4.1) 现在 ...

  2. OpenSSL密码库算法笔记——第5.1.2章 椭圆曲线算法集

    在定义椭圆曲线点群时出现了描述曲线所用算法的参数const EC_METHOD *meth,这一节就来看看这个参数有什么用处. 椭圆曲线算法集的定义如下. typedef struct ec_meth ...

  3. 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)

    强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...

  4. 算法设计与分析第七章分支限界算法(完结篇)

    算法设计与分析第七章分支限界算法 一.分支界限算法概述 1.分支限界法类似于回溯法,是一种在问题的解空间树上搜索问题解的算法. 分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解 ...

  5. c++ string 删除字符_算法笔记|(5)第二章C、C++的快速入门字符数组的存放方式string.h文件...

    字符数组的存放方式 由于字符数组是由若干个char类型的元素组成的,因此字符数组的每一位都是一个char字符,除此之外,在一维字符数组或者二维字符数组的第二维的末尾都有一个空字符\0表示存放的字符串的 ...

  6. 函数传参数_算法笔记(7)第二章C、C++快速入门函数,main函数,

    #includevoid change(int x){ x=x+1;}int main(){ int x=10; change(x); prinf("%d\n",x); retur ...

  7. 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))

    整理的算法模板合集: ACM模板 匈牙利算法又称为 KM 算法,可以在 O(n3)O(n^3)O(n3) 时间内求出二分图的 最大权完美匹配 . 考虑到二分图中两个集合中的点并不总是相同,为了能应用 ...

  8. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

  9. 路径规划算法(一):DWA动态窗口算法

    文章目录 前言 一.机器人运动学模型 二.速度空间 三.评价函数 四.movebase代码解析 前言 一个人可以走的更快,一群人才能走的更远,交流学习加qq:2096723956 更多保姆级PX4+R ...

最新文章

  1. MySQL非等值连接
  2. 大数据,TB、PB、EB
  3. Android 驱动(13)---Makefile, Kconfig和.config关联关系
  4. 让老外吐血而亡的中国汉字
  5. Driver 初始化顺序
  6. java spring多数据源配置文件_深入理解spring多数据源配置
  7. 【Unity Shader】---UnityShader 提供的CG/HLSL语义
  8. 高校图书馆管理系统 php 漏洞,江苏汇文Libsys图书馆管理系统几处通用SQL注入漏洞...
  9. mysql获取记录的插入时间_mysql 自动记录数据插入及最后修改时间
  10. 服务器网卡修复工具,网络适配器无法启动如何修复 不能启动的处理办法
  11. 自然资源一体化平台(一站式服务平台)
  12. Skiplist跳表详解及其模拟实现
  13. 使用VSCode创建一个Vue项目
  14. 产品经理入门:一、产品、产品经理
  15. OSChina 周三乱弹 —— 国家命运与个人命运
  16. pytorch 12 支持任意维度数据的梯度平衡机制GHM Loss的实现(支持ignore_index、class_weight,支持反向传播训练,支持多分类)
  17. android x86 最新手机,Android-x86手机PC版的引导方法
  18. 秒表工具类StopWatch
  19. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(一)——C语言/单片机
  20. Window应急响应(二):蠕虫病毒

热门文章

  1. 数字孪生中汽车发动机装配管理方案
  2. 低代码开发物联网app(2)-Power Apps 连接Azure SQL Database 读取物联网设备清单
  3. Linux: 引导过程与服务控制理论干货干干干!
  4. java正则匹配ip_使用正则表达式匹配IP地址
  5. 如何基于 Nginx 搭建个人直播服务器.md
  6. python 编译成可运行的 .pyc /pyo文件
  7. 斯坦福cs224d(深度学习在自然语言处理上的应用)Lecture 2
  8. wsm-lucene 一个简单的Lucene工具类
  9. 摄像头poe供电原理_一篇图文,详解监控供电的几种方式选择
  10. 践行绿色交通 高速公路再出发