概述
如果存储空间足够的话,可以事先将一部分计算结果(比如指数很小时的运算结果)存储起来,到后面需要时再直接调用。窗口算法就用到了这种思想,它一次可以处理指数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章 窗口算法的全部内容,希望文章能够帮你解决OpenSSL密码库算法笔记——第4.1.2章 窗口算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复