hiho第九十二周数论一·Miller-Rabin质数测试
2016-05-03 15:53
183 查看
描述
小Hi和小Ho最近突然对密码学产生了兴趣,其中有个叫RSA的公钥密码算法。RSA算法的计算过程中,需要找一些很大的质数。小Ho:要如何来找出足够大的质数呢?
小Hi:我倒是有一个想法,我们可以先随机一个特别大的初始奇数,然后检查它是不是质数,如果不是就找比它大2的数,一直重复,直到找到一个质数为止。
小Ho:这样好像可行,那我就这么办吧。
过了一会儿,小Ho拿来了一张写满数字的纸条。
小Ho:我用程序随机生成了一些初始数字,但是要求解它们是不是质数太花时间了。
小Hi:你是怎么做的啊?
说着小Hi接过了小Ho的纸条。
小Ho:比如说我要检测数字n是不是质数吧,我就从2开始枚举,一直到sqrt(n),看能否被n整除。
小Hi:那就对了。你看纸条上很多数字都是在15、16位左右,就算开方之后,也有7、8位的数字。对于这样大一个数字的循环,显然会很花费时间。
小Ho:那有什么更快速的方法么?
小Hi:当然有了,有一种叫做Miller-Rabin质数测试的算法,可以很快的判定一个大数是否是质数。
#
相关文章推荐
- oracle创建计划任务
- Web程序员最常用的11款PHP框架
- 猜数字(C语言版)
- 停博通知
- BLE4.0 连接参数说明和使用
- Jetty 的工作原理以及与 Tomcat 的比较
- 第8条 对于所有对象都通用的方法——覆盖equals时请遵守通用约定
- vm10虚拟机安装Mac OS X10.10教程
- JMS基础概念
- Android与网页交互
- mac_intellij_idea_快捷键
- 不用root权限也能运行Docker——细数Docker 1.10的新功能
- PAT B 1011
- android技术要点梳理
- Html中的div和span的区别
- 有序字典(OrderedDict)、默认字典(defaultdict)内置函数
- 用户体验设计案例分析
- js实现简易的贪吃蛇
- 1.Objective-C简介
- HTML&CSS——CSS中背景background-position负值定位深入理解[图文]