dc. DO CRY c. Encripts/Decripts a text file. ,c. c. Performs a simple key .or. on the data in the file with a c. change in the start point based on the number of characters in the Xc. file, mode=0, or on the data, mode=1,2 c. c. Mode=0, is its own inverse. c. Mode=1 (encript) is inverted by Mode=2 (decript) c. Lc. Input (for005) Input file c. Output file c. Key xc. Mode c. @c.-end.of.info- c.  IMPLICIT INTEGER (A-Z) l COMMON /CRYPT/ ISEED, MODE, LENKEY, KEY, LENLIN, LINE  BYTE KEY(128), LINE(1024) 4C.  CHARACTER*1024 INFILE, OUTFILE C. ` C. ......... 9010 FORMAT( A ) ( 9020 FORMAT( 1024A1 ) C. ......... C. T C... GET INFILE, OUTFILE, KEY C.  WRITE( 6, 9010 ) '$Input file_' READ ( 5, 9010 ) INFILE OPEN(UNIT=1,NAME=INFILE,TYPE='OLD',CARRIAGE CONTROL='LIST') H C. WRITE( 6, 9010 ) '$Output file_'  READ ( 5, 9010 ) OUTFILE t IF( OUTFILE.EQ.' ' ) OUTFILE = INFILE  OPEN(UNIT=2,NAME=OUTFILE,TYPE='NEW',CARRIAGE CONTROL='LIST') <C.  WRITE( 6, 9010 ) '$Crypto Key_'  READ ( 5, 9020 ) KEY h LENKEY = ISLEN( KEY )  IF( LENKEY.EQ.0 ) THEN 0 LENKEY = 127  DO 50 I=1,127  KEY(I) = I \50 CONTINUE  ENDIF $C. C.  WRITE( 6, 9010 ) '$Crypto Mode_' P READ ( 5, 110 ) MODE 110 FORMAT( I ) C. |500 CONTINUE  READ( 1, 510, ERR=9000 ) LENLIN,(LINE(I),I=1,LENLIN) D510 FORMAT( Q, 1024A1 )  IXLINE = IXLINE+1  IF( LENLIN.NE.0 ) THEN p CALL ENCRYPT  WRITE( 2, 9020 ) (LINE(I), I=1,LENLIN) 8 ELSE  WRITE( 2, 9020 )  ENDIF d GOTO 500 C. ......... ,C. 9000 CONTINUE  TYPE 9100, IXLINE X9100 FORMAT( I10, ' Lines crypted' )  END dC+++++++++ C.CALL ENCRYPT .. TO ENCRIPT DATA ,C-  SUBROUTINE ENCRYPT  IMPLICIT INTEGER (A-Z) X COMMON /CRYPT/ ISEED, MODE, LENKEY, KEY, LENLIN, LINE  BYTE KEY(128), LINE(1024) C.  IF( ISEED.LT.0 ) ISEED = -ISEED  ISEED = MOD( ISEED, LENKEY )+1 L IREC = IREC+1  IF( MODE.EQ.1 ) THEN  ISH = LINE(1) x ELSE IF( MODE.EQ.2 ) THEN  ISH = LINE(1).XOR.KEY(ISEED) @ ENDIF  DO 90 I=1, LENLIN  IF( ISEED.GT.LENKEY ) ISEED=1 l LINE(I) = LINE(I) .XOR. KEY(ISEED)  ISEED = ISEED+1 490 CONTINUE  ISEED = ISEED + ISH C. ` RETURN END dC+++++++++ C.I= ISLEN( KEY ) .. TO FIND THE LENGTH OF A KEY ,C.  FUNCTION ISLEN( KEY )  BYTE KEY(128) XC.  ISLEN = 0  DO 190 I=1,128  IF( KEY(I).NE.' ' ) ISLEN = I 190 CONTINUE LC.  RETURN  END