{VERSION 3 0 "IBM INTEL LINUX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(numtheory);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#7gn%\"BG%\"FG%&GIgcdG%\"JG%\"LG%\"MG%* bernoulliG%)bigomegaG%&cfracG%)cfracpolG%+cyclotomicG%)divisorsG%&eule rG%)factorEQG%*factorsetG%'fermatG%(ifactorG%)ifactorsG%)imagunitG%&in dexG%/integral_basisG%)invcfracG%'invphiG%'isolveG%(isprimeG%*issqrfre eG%)ithprimeG%'jacobiG%*kroneckerG%'lambdaG%)legendreG%)mcombineG%)mer senneG%*minkowskiG%(mipolysG%%mlogG%'mobiusG%&mrootG%&msqrtG%)nearestp G%*nextprimeG%*nthconverG%)nthdenomG%)nthnumerG%'nthpowG%&orderG%)pdex pandG%$phiG%*pprimrootG%*prevprimeG%)primrootG%(quadresG%+rootsunityG% *safeprimeG%&sigmaG%*sq2factorG%(sum2sqrG%$tauG%%thueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 181 "setRSA:=proc(p0,q0,e0) local p,q,n ,e,d,k; p:=safeprime(p0); q:=safeprime(q0); e:=safeprime(e0);n:=p*q;ig cdex(e,(p-1)*(q-1),'d','k');while d<0 do d:=d+(p-1)*(q-1) od; p,q,n,e, d; end;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'setRSAGR6%%#p0G%#q0G%#e0G6(%\"pG%\"qG%\"nG%\"eG%\"dG %\"kG6\"F1C)>8$-%*safeprimeG6#9$>8%-F66#9%>8'-F66#9&>8&*&F4\"\"\"F:FF- %'igcdexG6&F?*&,&F4FF!\"\"FFFF,&F:FFFLFFFF.8(.8)?(F1FFFFF12FO\"\"!>FO, &FOFFFJFF6'F4F:FDF?FOF1F1F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 265 "ASCII:=table([`0`=48,`1`=49,`2`= 50,`3`=51,`4`=52,`5`=53,`6`=54,`7`=55,`8`=56,`9`=57,`:`=58,`;`=59,`<`= 60,`=`=61,`>`=62,`?`=63,`@`=64,A=65,B=66,C=67,D=68,E=69,F=70,G=71,H=72 ,I=73,J=74,K=75,L=76,M=77,N=78,O=79,P=80,Q=81,R=82,S=83,T=84,U=85,V=86 ,W=87,X=88,Y=89,Z=90]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%&ASCIIG-%&TABLEG6#7M/%\"HG\"#s/%\"LG \"#w/%\"KG\"#v/%\"0G\"#[/%\"NG\"#y/%\"1G\"#\\/%\";G\"#f/%\"AG\"#l/%\"D G\"#o/%\"QG\"#\")/%\"2G\"#]/%\"CG\"#n/%\"SG\"#$)/%\"3G\"#^/%\"XG\"#))/ %\"TG\"#%)/%\"4G\"#_/%\"=G\"#h/%\"UG\"#&)/%\"5G\"#`/%\"MG\"#x/%\"VG\"# ')/%\"6G\"#a/%\"FG\"#q/%\"YG\"#*)/%\"PG\"#!)/%\">G\"#i/%\"WG\"#()/%\"7 G\"#b/%\"OG\"#z/%\"8G\"#c/%\"JG\"#u/%\"9G\"#d/%\"BG\"#m/%\"ZG\"#!*/%\" " 0 "" {MPLTEXT 1 0 266 "ASCIIi:=table( [48=`0`,49=`1`,50=`2`,51=`3`,52=`4`,53=`5`,54=`6`,55=`7`,56=`8`,57=`9` ,58=`:`,59=`;`,60=`<`,61=`=`,62=`>`,63=`?`,64=`@`,65=A,66=B,67=C,68=D, 69=E,70=F,71=G,72=H,73=I,74=J,75=K,76=L,77=M,78=N,79=O,80=P,81=Q,82=R, 83=S,84=T,85=U,86=V,87=W,88=X,89=Y,90=Z]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'ASCIIiG-%&TABLEG6#7M/\"#w%\"LG/\"#j%\"?G/\"#[%\"0G/ \"#x%\"MG/\"#k%\"@G/\"#\\%\"1G/\"#y%\"NG/\"#]%\"2G/\"#z%\"OG/\"#^%\"3G /\"#!)%\"PG/\"#l%\"AG/\"#_%\"4G/\"#\")%\"QG/\"#m%\"BG/\"#`%\"5G/\"##)% \"RG/\"#n%\"CG/\"#a%\"6G/\"#$)%\"SG/\"#o%\"DG/\"#b%\"7G/\"#%)%\"TG/\"# p%\"EG/\"#c%\"8G/\"#&)%\"UG/\"#q%\"FG/\"#d%\"9G/\"#')%\"VG/\"#r%\"GG/ \"#e%\":G/\"#()%\"WG/\"#s%\"HG/\"#f%\";G/\"#))%\"XG/\"#t%\"IG/\"#g%\"< G/\"#*)%\"YG/\"#u%\"JG/\"#h%\"=G/\"#!*%\"ZG/\"#v%\"KG/\"#i%\">G" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "text2num:=proc(L,b) local x, i; x:=0; for i in L do x:=x*b+ASCII[i] od end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)text2numGR6$%\"LG%\"bG6$%\"xG%\"iG6\"F,C$>8$\"\"!?&8 %9$%%trueG>F/,&*&F/\"\"\"9%F8F8&%&ASCIIG6#F2F8F,F,F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 98 "num2text:=proc(n,b) local L,i,x; L:=[];x: =n; while x>0 do L:=[ASCIIi[irem(x,b,'x')],op(L)] od end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)num2textGR6$%\"nG%\"bG6%%\"LG%\"iG%\"xG6\"F- C%>8$7\">8&9$?(F-\"\"\"F6F-2\"\"!F3>F07$&%'ASCIIiG6#-%%iremG6%F39%.F3- %#opG6#F0F-F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "RSAe:=pr oc(n,e,L) text2num(L,128) &^ e mod n end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%RSAeGR6%%\"nG%\"eG%\"LG6\"F*F*-%$modG6$-%#&^G6$-%)te xt2numG6$9&\"$G\"9%9$F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "RSAd:=proc(n,d,x) num2text(x &^ d mod n,128) end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%RSAdGR6%%\"nG%\"dG%\"xG6\"F*F*-%)num2textG6$-%$ modG6$-%#&^G6$9&9%9$\"$G\"F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "setRSA(1000000000000,2000000000000,3);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'\".Z0++++\"\".B,++++#\":\"Gn+++q@,+++?\"\"&\"9Xm -++g&[++++)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "RSAe(%[3],%[ 4],[A,L,M,A]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"9pc@sZ:+aua-h" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "RSAd(%%[3],%%[5],%);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&%\"AG%\"LG%\"MGF$" }}}}{MARK "11" 0 }{VIEWOPTS 1 1 0 1 1 1803 }