社区
C语言
帖子详情
随机生成10个100位的大素数
Nemo_0
2013-11-25 05:09:23
近在写RSA算法 这道题真是怎么做也做不出 跪求源代码 C/C++等等都可以 谢谢大大们!
...全文
1066
11
打赏
收藏
随机生成10个100位的大素数
近在写RSA算法 这道题真是怎么做也做不出 跪求源代码 C/C++等等都可以 谢谢大大们!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FancyMouse
2013-11-29
打赏
举报
回复
搬凳子看小丑
一起来玩玩呗
2013-11-28
打赏
举报
回复
用Solovay-Strassen素性测试法或Miller-Rabin素性测试法进行是否是素数的测试...
赵4老师
2013-11-27
打赏
举报
回复
引用 8 楼 zhao4zhong1 的回复:
2048二进制位吧。
2048二进制位对应610多位十进制位 100十进制位对应330多位二进制位
FancyMouse
2013-11-26
打赏
举报
回复
一个数n是质数的概率粗略是1/log(n)。所以直接随机任何一个数,然后检测是否是质数,不是则重新生成直到生成一个质数,这个期望检测O(log(n))个数就能找到一个。
lt114896
2013-11-26
打赏
举报
回复
可以定义大数结构,然后重载除法和减法,去判断
赵4老师
2013-11-26
打赏
举报
回复
2048二进制位吧。
独孤过儿
2013-11-26
打赏
举报
回复
引用 6 楼 zhao4zhong1 的回复:
检测100位的大整数是否素数是一道耗时的难题,否则RSA将失去意义。
又满嘴跑火车!RSA的工业标准是2048位以上的 100位的数字,即使用deterministic的算法,有一小时都足够了!
赵4老师
2013-11-26
打赏
举报
回复
检测100位的大整数是否素数是一道耗时的难题,否则RSA将失去意义。
独孤过儿
2013-11-25
打赏
举报
回复
用GMP Library吧~~ 先用 mpz_urandomb()函数生成一个指定位数的大数,然后滤掉偶数。再用Miller Rabin Algorithm来测试primality。 参考这个链接 http://gmplib.org/gmp-man-5.1.3.pdf 第 5.13 和 5.9.
worldy
2013-11-25
打赏
举报
回复
先别做100位的,先做出64位二进制位,再做使用大整数的
随机生成
大
素数
RSA算法中
随机生成
大
素数
的代码,仅供学习用。
随机产生大
素数
的C++程序
随机产生大
素数
的C++程序,以时间作为随机数种子,生成大
素数
随机大质数和大随机数的产生
应用密码学大作业,基本实现大随机“数”的产生,大
素数
因为需要大数库,所以只产生了20
位
的(unsigned __int64),但是
素数
的产生函数写的并不好,有兴趣的话可以自己改
产生64
位
的大
素数
,并检验素性
课程作业,只有一个C++程序。程序中产生了一个64
位
的大
素数
,并检验他的素性。
一个有用的工具——大
素数
生成器
这个软件有助于研究密码学的同行们。大家不妨可以下载了试试,呵呵~~~~
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章