{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 142 "RSA encryption and decryp tion of credit card - partial card and then full card number\nBased on module developed by Mike May. Book section: 9.1" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " \nrestart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 121 "r1:=rand(10^30)():\np:=nextprime(r1);\nr2:=rand(10^30)():\nq:=n extprime(r2);\nn:=p*q;\nr:=(p-1)*(q-1);\nisprime(n);\nlength(n);\n" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "r3:=rand(10^10)():\ne:=next prime(r3); gcd(e,r);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "d : = eval(1/e mod r);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 89 "card1 :=5414:\nencrypt:=(a,e,n) -> Power(a,e) mod n:\ndecrypt:=(a,d,n) -> Po wer(a,d) mod n:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "m1:=en crypt(card1,e,n);\nm2:=decrypt(m1,d,n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "card:=5414567812349876:\nm3:=encrypt(card,e,n);\nm4:= decrypt(m3,d,n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "\n" } {TEXT -1 87 "Note that we can detrmine how many binary digits are used for the prime p, as follows \n" }{MPLTEXT 1 0 21 "b:=convert(p,binary );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "length(b);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "\n" }{TEXT -1 93 "Now we show encoding and decoding of the text \"This is\" when converted into ASC II as a string" }{MPLTEXT 1 0 62 "\nm5:=encrypt(1161041051153210511532 ,e,n);\nm6:=decrypt(m5,d,n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "m7:=encrypt(97321151019911410111633,e,n);\nm8:=decrypt(m7,d,n); \n" }}}}{MARK "0 0 0" 142 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }