博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yafu安装使用方法以及mismatched parens解决方法
阅读量:4677 次
发布时间:2019-06-09

本文共 4379 字,大约阅读时间需要 14 分钟。

yafu用于自动整数因式分解,在RSA中,当p、q的取值差异过大或过于相近的时候,使用yafu可以快速的把n值分解出p、q值,原理是使用Fermat方法与Pollard rho方法等。

再摘录官方的一段简介(又懒得翻译了)。

YAFU (with assistance from other free software) uses the most powerful modern algorithms (and implementations of them) to factor input integers in a completely automated way. The automation within YAFU is state-of-the-art, combining factorization algorithms in an intelligent and adaptive methodology that minimizes the time to find the factors of arbitrary input integers. Most algorithm implementations are multi-threaded, allowing YAFU to fully utilize multi- or many-core processors (including SNFS, GNFS, SIQS, and ECM).YAFU is primarily a command-line driven tool. You provide the number to factor and, via screen output and log files, YAFU will provide you the factors. There is also an interactive environment similar to MATLAB or PARI/GP, where you can type commands and store results. YAFU is very customizable, through the optional use of many many command line parameters and a very capable expression interpreter.

-------------------------------------------------

1. windows安装

现在最新版本是1.34版本,下载后解压即可。

解压后有yafu-Win32.exe和yafu-x64.exe,推荐使用64位的。

 

2. linux安装

(哈,pcat最近没时间写,先占个空)

 

3. yafu使用方法

使用cmd进入yafu的解压目录(为了方便的话,自己可以把该目录加入到环境变量。)

输入yafu-x64进入命令行

最常用的命令是factor(n),将n值分解

如分解23333333333333

factor(23333333333333)

很快得到:

fac: factoring 23333333333333fac: using pretesting plan: normalfac: no tune info: using qs/gnfs crossover of 95 digitsdiv: primes less than 10000fmt: 1000000 iterationsTotal factoring time = 0.2805 seconds***factors found***P2 = 31P12 = 752688172043ans = 1

 

4. 使用yafu的时候遇到mismatched parens

这是因为在命令行里不支持过长的位数,所以我们只要把n的值从文件中去读取即可。

新建一个文件pcat.txt,内容里写上n的值,如:

966808932627497190635859236054960349099463975227350564265384373280336699853387254070662881265937565163000758606154308757944030571837175048514574473061401566330836334647176655282619268592560172726526643074499534129878217409046045533656897050117438496357231575999185527675071002803951800635220029015932007465117818739948903750200830856115668691007706836952244842719419452946259275251773298338162389930518838272704908887016474007051397194588396039111216708866214614779627566959335170676055025850932631053641576566165694121420546081043285806783239296799795655191121966377590175780618944910532816988143056757054052679968538901460893571204904394975714081055455240523895653305315517745729334114549756695334171142876080477105070409544777981602152762154610738540163796164295222810243309051503090866674634440359226192530724635477051576515179864461174911975667162597286769079380660782647952944808596310476973939156187472076952935728249061137481887589103973591082872988641958270285169650803792395556363304056290077801453980822097583574309682935697260204862756923865556397686696854239564541407185709940107806536773160263764483443859425726953142964148216209968437587044617613518058779287167853349364533716458676066734216877566181514607693882375533

注意:最后面一定要换行,不然会出现eof; done processing batchfile

然后运行命令为

yafu-x64 "factor(@)" -batchfile pcat.txt

很快得到:

***factors found***PRP617 = 31093551302922880999883020803665536616272147022877428745314830867519351013248914244880101094365815998050115415308439610066700139164376274980650005150267949853671653233491784289493988946869396093730966325659249796545878080119206283512342980854475734097108975670778836003822789405498941374798016753689377992355122774401780930185598458240894362246194248623911382284169677595864501475308194644140602272961699230282993020507668939980205079239221924230430230318076991507619960330144745307022538024878444458717587446601559546292026245318907293584609320115374632235270795633933755350928537598242214216674496409625928997877221PRP617 = 31093551302922880999883020803665536616272147022877428745314830867519351013248914244880101094365815998050115415308439610066700139164376274980650005150267949853671653233491784289493988946869396093730966325659249796545878080119206283512342980854475734097108975670778836003822789405498941374798016753689377992355122774401780930185598458240894362246194248623911382284169677595864501475308194644140602272961699230282993020507668939980205079239221924230430230318076991507619960330144745307022538024878444458717587446601559546292026245318907293584609320115374632235270795633933755350928537598242214216674496409625928797450473ans = 1

注意:运行后,pcat.txt就会消失了。

转载于:https://www.cnblogs.com/pcat/p/7508205.html

你可能感兴趣的文章
[Coci2015]Divljak
查看>>
centos7中keepalived+nginx做双机热备和反向代理
查看>>
HDU 1250
查看>>
Introduction to my galaxy engine 6: Differed Lighting 2
查看>>
Python_深浅拷贝
查看>>
Oracle 中 not exists (select 'X' ...) 的含义
查看>>
Android必备的Java知识点
查看>>
ASP.NET网站实现中英文转换(本地化资源)【转】
查看>>
vue中 关于$emit的用法
查看>>
计算机基本介绍
查看>>
使用Flickr的图片拼出你的句子
查看>>
Visual Studio中web应用程序和网站区别
查看>>
浅析/dev/shm
查看>>
BZOJ4010 HNOI2015 菜肴制作 拓扑排序+贪心
查看>>
处理打拼音时触发input事件bug
查看>>
074-PHP数组元素相乘
查看>>
Android性能调优篇之UI布局优化
查看>>
DateUtils
查看>>
Java -- IO -- 目录
查看>>
三路快速排序
查看>>