RSA加密及解密 Encryption and decryption by RSA algorithm
程式修改日期: 2014年8月31日
程式可以利用RSA演算法對一些數值進行加密或解密。
程式需要在 BASE 模式下執行,因此在選擇新程式位置後,按 3 選用BASE模式。
程式 (79 bytes,使用記憶為A、B、C、D及M)
Dec: ?→A: ?→B: Lbl 0: 1→M: A→D: ?→C: While D:
C - C ÷ B×B→C: D - D ÷ 2 × 2 => CM - CM ÷ B×B→M:
D ÷ 2→D: Ans => CC→C: WhileEnd: M→C: Goto 0
註: 如果是使用fx-50FH,上述程式中紅色的乘號 ×可以省略不輸入,程式長度可節省2 bytes。
例題: 已知RSA加密演算法的公鑰及私鑰分別為{5, 35}及{29, 35},試將數值 12, 16, 22 及 5進加密及解密。
加密:
按 Prog 1 再按 5 EXE 35 EXE (輸入公鑰)
12 EXE (顯示17) 16 EXE (顯示11) 22 EXE (顯示22) 5 EXE (顯示10)
所以加密後的數值為 17, 11, 22, 10
計算完結後按 AC 終止程式
解密:
按 Prog 1 再按 29 EXE 35 EXE (輸入私鑰)
17 EXE (顯示12) 11 EXE (顯示16) 22 EXE (顯示22) 10 EXE (顯示5)
所以解密後的數值為 12, 16, 22, 5
計算完結後按 AC 終止程式及按MODE 1 返回正常計算模式