had:=======================================================an: ENCRYPT MESSAGES, USING A MINIATURE VERSION OF THEax: RIVEST-SHAMIR-ADLEMAN PUBLIC KEY CRYPTOSYSTEM.a:b: PROMPT FOR THE MESSAGE TO BE ENCRYPTED, PRINT THE[b: NUMERIC FORM OF THE MESSAGE, AND PRINT THE CRYPTOGRAM.b:=======================================================b: DEFINE PARAMETERS.b:b C,M,N : C, M, AND N HAVE 16 DIGITS'c M(d) : MESSAGE BLOCKS`cCHRS  : CHARACTERS PER BLOCKcN p4 : ENCRYPTION KEY, OR MODULUSc:-------------------------------------------------------d: GET THE MESSAGE FROM THE USER.d:d : M$ ""Ud "MESSAGE"; M$ : MESSAGE FOR ENCRYPTIONd M$ "" : STOP IF NOTHING IS ENTEREDd"d,:-------------------------------------------------------e6: ADD ZEROS TO MESSAGE, IF NECESSARY, TO MAKE ITS LENGTHJe@: A MULTIPLE OF THREE (AN EVEN NUMBER OF BLOCKS).ReJ:eTL (M$) : LENGTH OF MESSAGEe^Q (LCHRS) : NUMBER OF COMPLETE BLOCKSfhR L Q CHRS : LENGTH OF PARTIAL BLOCK6fr R  M$ M$ () : T : ADD A ZERO?vf|:--------------------------------------------------------f: CONVERT THE MESSAGE TO NUMERIC FORM, AND PRINT IT.f:f I Q : I IS THE BLOCK NUMBER/g M(I)  : CONVERT BLOCK I TO NUMERICkg J CHRS : FOR EACH CHAR IN BLOCKg A ((M$,IJ,)) : CONVERT TO NUMBERg M(I) M(I) d : SHIFT BLOCK LEFTh M(I) M(I) A : ADD THE CHARACTERh JNh M(I); : PRINT THE BLOCKh I : DO THE NEXT BLOCKh : h:-------------------------------------------------------i: ENCRYPT THE MESSAGE, AND PRINT THE CRYPTOGRAM. i:!i "CRYPTOGRAM:" : Xi& I Q : I IS THE BLOCK NUMBERgi0 M M(I)i:  : ENCRYPT THE BLOCKiD C; : PRINT ITiN I : DO THE NEXT ONEiX8jb:-------------------------------------------------------ojl  : RUN THE PROGRAM AGAINjv:-------------------------------------------------------j: SUBROUTINE. ENCRYPT ONE MESSAGE BLOCK.j: COMPUTE C = (M^3) MOD N.k:@kC M M : C C (CN) N : (M * M) MOD N}kC C M : C C (CN) N : (M * M * M) MOD Nkk:========================================================