PRINT PRINT "RSA暗号 : I love you. を暗号化します。" PRINT DIM Q$(11),W(11),F(11) LET TX1$="I love you." FOR i=1 TO 11 LET Q$(i)=TX1$(i:i) ! 一文字ずつ得る LET W(i)=ORD(Q$(i)) ! キャラクターコードを得る NEXT i PRINT "I love you. をキャラクターコードにより数列化すると、" PRINT PRINT " "; FOR i=1 TO 11 PRINT " ";W(i); NEXT i PRINT PRINT PRINT "暗号化数列 :" PRINT PRINT " "; FOR i=1 TO 11 LET F(i)=MOD(W(i)^3,253) PRINT " ";F(i); NEXT i PRINT PRINT PRINT "公開鍵は、( べき乗数 3 , 法 253 ) です。" PRINT END ##################################################################### OPTION ARITHMETIC DECIMAL_HIGH PRINT PRINT "RSA暗号 : 次の暗号化数列を解読します。" PRINT PRINT " 156 131 25 166 50 85 131 55 166 123 184" PRINT PRINT " 公開鍵 ( べき乗数 3 , 法 253 )" PRINT " 秘密鍵 ( べき乗数 37 )" PRINT PRINT INPUT PROMPT "秘密鍵のべき乗数は? ":n PRINT DIM Q$(11),W(11),F(11) DATA 156,131,25,166,50,85,131,55,166,123,184 MAT READ F FOR i=1 TO 11 LET W(i)=MOD(F(i)^n,253) LET Q$(i)=CHR$(W(i)) NEXT i PRINT PRINT "解読された数列:" PRINT PRINT " "; FOR i=1 TO 11 PRINT " ";W(i); NEXT i PRINT PRINT PRINT "解読された数列を文字列に変換:" PRINT PRINT " "; FOR i=1 TO 11 PRINT Q$(i); NEXT i PRINT PRINT END