yafu安装使用方法以及mismatched parens解决方法
2018-02-04 23:29
861 查看
摘自pcat博客:https://www.cnblogs.com/pcat/p/7508205.html
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安装
https://sourceforge.net/projects/yafu/
现在最新版本是1.34版本,下载后解压即可。
解压后有yafu-Win32.exe和yafu-x64.exe,推荐使用64位的。
2. linux安装
https://github.com/DarkenCode/yafu
(哈,pcat最近没时间写,先占个空)
3. yafu使用方法
使用cmd进入yafu的解压目录(为了方便的话,自己可以把该目录加入到环境变量。)
输入yafu-x64进入命令行
最常用的命令是factor(n),将n值分解
如分解23333333333333
factor(23333333333333)
很快得到:
fac: factoring 23333333333333 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations Total factoring time = 0.2805 seconds ***factors found*** P2 = 31 P12 = 752688172043 ans = 1
4. 使用yafu的时候遇到mismatched parens
这是因为在命令行里不支持过长的位数,所以我们只要把n的值从文件中去读取即可。
新建一个文件pcat.txt,内容里写上n的值,如:
966808932627497190635859236054960349099463975227350564265384373280336699853387254070662881265937565163000758606154308757944030571837175048514574473061401566330836334647176655282619268592560172726526643074499534129878217409046045533656897050117438496357231575999185527675071002803951800635220029015932007465117818739948903750200830856115668691007706836952244842719419452946259275251773298338162389930518838272704908887016474007051397194588396039111216708866214614779627566959335170676055025850932631053641576566165694121420546081043285806783239296799795655191121966377590175780618944910532816988143056757054052679968538901460893571204904394975714081055455240523895653305315517745729334114549756695334171142876080477105070409544777981602152762154610738540163796164295222810243309051503090866674634440359226192530724635477051576515179864461174911975667162597286769079380660782647952944808596310476973939156187472076952935728249061137481887589103973591082872988641958270285169650803792395556363304056290077801453980822097583574309682935697260204862756923865556397686696854239564541407185709940107806536773160263764483443859425726953142964148216209968437587044617613518058779287167853349364533716458676066734216877566181514607693882375533
注意:最后面一定要换行,不然会出现eof; done processing batchfile
然后运行命令为
yafu-x64 "factor(@)" -batchfile pcat.txt
很快得到:
***factors found*** PRP617 = 31093551302922880999883020803665536616272147022877428745314830867519351013248914244880101094365815998050115415308439610066700139164376274980650005150267949853671653233491784289493988946869396093730966325659249796545878080119206283512342980854475734097108975670778836003822789405498941374798016753689377992355122774401780930185598458240894362246194248623911382284169677595864501475308194644140602272961699230282993020507668939980205079239221924230430230318076991507619960330144745307022538024878444458717587446601559546292026245318907293584609320115374632235270795633933755350928537598242214216674496409625928997877221 PRP617 = 31093551302922880999883020803665536616272147022877428745314830867519351013248914244880101094365815998050115415308439610066700139164376274980650005150267949853671653233491784289493988946869396093730966325659249796545878080119206283512342980854475734097108975670778836003822789405498941374798016753689377992355122774401780930185598458240894362246194248623911382284169677595864501475308194644140602272961699230282993020507668939980205079239221924230430230318076991507619960330144745307022538024878444458717587446601559546292026245318907293584609320115374632235270795633933755350928537598242214216674496409625928797450473 ans = 1
注意:运行后,pcat.txt就会消失了。
相关文章推荐
- yafu安装使用方法以及mismatched parens解决方法
- PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法
- Angular CLI 安装和使用以及安装失败的解决方法
- 安装phantomjs、使用phantomjs以及时遇到问题时的解决方法
- 数据库sql server安装使用遇到的问题以及解决方法
- 在fedora17 64位 上安装linux qq以及解决中文输入法不能正常使用的方法
- Sublime Text 无法使用Package Control的解决方法 以及 常用的插件安装过程
- windows下安装python basemap时使用Visual Studio编译geos时遇到的问题以及解决方法
- DevExpressVCL 傻瓜安装 使用后问题和解决方法
- 整理ArcSDE 安装过程出现问题以及解决方法系列
- 整理ArcSDE 安装过程出现问题以及解决方法系列
- ArcSDE 安装过程出现问题以及解决方法(转载,收藏版)
- 使用DotNetNuke(DNN) Startkit 4.7(及以上版本)安装无法完成问题的解决方法
- vmware安装ubuntu时安装vmware tool解决方法,及使用鼠标滚轮的方法.
- 使用java mail 包收发中文邮件的编码,解码问题以及解决方法
- centos6.5 编译安装lamp以及相关错误的解决方法
- 同一台服务器上,安装OC4J之后Oracle数据库不能使用,解决方法
- ibatis的一些错误码解释以及解决方法、一些使用心得
- pligg9.7beta的后HTML编辑器插件的安装(tinymce_2_1_1_1)(以及使用中遇到的点滴问题解决办法)
- 在安装有VS2008beta2版本的机子上使用vs2005进行部署出现问题的解决方法