echo "bob.dat out.1 y rev" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Encrypted bob.dat to out.1 using rev od -c out.1 0000000 \0 \0 \0 \0 \0 \0 \0 020 \0 \0 \0 \0 \0 \0 005 200 0000020 ! b o B e r e h t o l l e H 0000040 echo "bob.dat out.2 n rev" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Decrypted bob.dat to out.2 using rev od -c out.2 0000000 \0 \0 \0 \0 \0 \0 \0 020 \0 \0 \0 \0 \0 \0 005 200 0000020 ! b o B e r e h t o l l e H 0000040 echo "boberr.dat out.2.bad y rev" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Illegal input file format Makefile:10: recipe for target 'all_runs' failed make: [all_runs] Error 1 (ignored) cat -v out.2.bad cat: out.2.bad: No such file or directory Makefile:10: recipe for target 'all_runs' failed make: [all_runs] Error 1 (ignored) cat bob.dat | tr o X > checksumerr.txt echo "checksumerr.txt out.3.bad y rev" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Invalid checksum; got 1362, expected 1408 Makefile:10: recipe for target 'all_runs' failed make: [all_runs] Error 1 (ignored) cat -v out.3.bad cat: out.3.bad: No such file or directory Makefile:10: recipe for target 'all_runs' failed make: [all_runs] Error 1 (ignored) rm -f checksumerr.txt echo "bob.xor out.3 y xor what" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Key: Encrypted bob.xor to out.3 using xor od -c out.3 0000000 \0 \0 \0 \0 \0 \0 \0 020 \0 \0 \0 \0 \0 \0 005 200 0000020 H e l l o t h e r e B o b ! 0000040 echo "ceaser.txt out.4 y shift 7" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Shift amount: Encrypted ceaser.txt to out.4 using shift od -c out.4 0000000 \0 \0 \0 \0 \0 \0 \0 \b \0 \0 \0 \0 \0 \0 002 342 0000020 J l h z l y ' > 0000030 echo "dog.txt out.5 y shift 200" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Shift amount: Encrypted dog.txt to out.5 using shift od -c out.5 0000000 \0 \0 \0 \0 \0 \0 \0 C \0 \0 \0 \0 \0 \0 006 260 0000020 F C # 034 0 - 350 4 ) B A 350 : - , 350 0000040 , 7 / 350 * 7 = 6 + - , 350 7 > - : 0000060 350 < 0 - 350 9 = 1 + 3 # 016 027 % 366 0000100 032 \r \f 350 365 350 370 350 362 350 371 \0 350 363 350 372 0000120 \a % E 0000123 echo "dog-150.dat out.6 n shift 150" | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Shift amount: Decrypted dog-150.dat to out.6 using shift od -c out.6 0000000 \0 \0 \0 \0 \0 \0 \0 C \0 \0 \0 \0 \0 \0 \t 324 0000020 R O / ( < 9 364 @ 5 N M 364 F 9 8 364 0000040 8 C ; 364 6 C I B 7 9 8 364 C J 9 F 0000060 364 H < 9 364 E I = 7 ? / 032 # , 1 002 0000100 & 031 030 364 001 364 004 364 376 364 005 \f 364 377 364 006 0000120 023 1 Q 0000123 echo 'ascii.dat out.7 7 xor !#*+,-0123456789:;<=>ABCDefgh{|}~' | java Main Input: Output: Encrypt (y/n): Method: (rev, shift, xor): Key: Decrypted ascii.dat to out.7 using xor od -c out.7 0000000 \0 \0 \0 \0 \0 \0 016 304 \0 \0 \0 \0 \0 003 250 0 0000020 V J I \ _ @ W B M R _ J M R W B 0000040 ] B O Z ] < 5 + 024 035 \b 003 016 003 026 0000060 ) h ` } x a j c n s x k n s x c 0000100 ~ c h { ~ c 026 001 \f 025 > ) , = $ 7 0000120 J W 002 024 031 006 \v 036 017 020 031 \f 017 020 031 \f 0000140 037 \0 \t 034 037 \0 \t b m r 177 J M R W P 0000160 k t } 6 0 ' , ? 2 1 : - ( 1 : - 0000200 0 ! * = 8 ! * = N S X K n s 006 035 0000220 016 027 030 017 P L C V Q N ] H K T E P 0000240 S L M X [ D E P S 2 ? * - 022 ' 2 0000260 = 0 9 , / n j w v o ` i h u b q 0000300 p m b y x e b q p m 034 \v \n 023 D S 0000320 R C ^ M L Q \b 036 027 \b 001 024 \t 026 003 026 0000340 021 016 003 026 031 006 003 026 021 016 003 h k t E p 0000360 s l m j m r w < > ) & 5 4 7 7 0000400 6 / 7 6 ' 7 6 / 7 6 + 3 0000420 026 \v \0 033 004 035 026 001 Z F E P K T C V 0000440 Q N C V Y F C V Q N C V i \b 001 024 0000460 027 ( ! 4 7 : 7 " % d l q l u ~ w 0000500 r o d w z g l w r o d w \n 027 b u 0000520 p i B U X I P C F [ 016 030 \r 022 037 \n 0000540 023 \f 005 020 033 004 \r 030 023 \f 005 020 + 4 = V 0000560 Q N C v y f c d g x q : $ 3 8 + 0000600 . - & 1 < % . 9 < - X O N W X O 0000620 0 - * 9 030 005 \n 021 002 033 \f 033 D X _ J 0000640 M R I \ _ @ I \ _ @ y l o p y l 0000660 o 016 \v 036 031 & + > 1 < - 8 ; z v k 0000700 j s t } | a n } | a 026 \r \f 021 036 \r 0000720 \f 021 h 177 ~ g H _ ^ O J Y X E 024 002 0000740 \v 024 025 \0 035 002 017 032 035 002 7 " - 2 ? * 0000760 - 2 7 \ _ @ I | 177 ` y ~ y f k 0001000 " 5 2 ! # , ; D ] V A D U ^ I 0001020 D ] V A : ' , ? 002 037 024 017 030 001 \n 035 0001040 N R Q D G X O Z e z w b e z 177 j 0001060 e z w b e 004 \r 030 003 < 5 + & + > 0001100 1 p x e ` y r { 006 033 020 003 006 033 020 \v 0001120 006 033 020 003 006 033 n y d } V A D U L _ 0001140 R O 032 \f 001 036 023 006 ' 8 1 $ ' 8 1 $ 0001160 ' 8 1 $ ' 8 1 Z E Z W b e z 177 x 0001200 s l e . ( ? J Y X [ T C B [ \ K 0001220 J [ T C B [ L [ $ 9 6 % 004 031 036 005 0001240 026 017 \0 027 H T k ~ y f u ` c | } h 0001260 k t u ` c | m x { 032 027 002 005 : ? * 0001300 % ( ! 4 7 v 002 037 036 \a \b 001 \0 035 032 \t 0001320 \b 025 032 001 \0 035 \n 031 030 005 t c b { \ K 0001340 J [ F U T I 6 ? ) < ! > ; . 0001360 ) 6 ; . ! > + > 9 & + @ C \ ] h 0001400 k t u r \v 024 035 V P G L _ R Q Z M 0001420 H Q Z M P A J ] X A J ] . 3 8 + 0001440 016 023 030 003 , 5 > ) r n m x s l { n 0001460 i v { n q n k ~ y f k ~ q 020 031 \f 0001500 017 0 9 , _ R _ J M \f 004 031 024 \r 006 017 0001520 \n 027 034 017 022 017 004 037 032 \a \f 037 022 017 z m 0001540 h q Z M p a x k n s & 0 5 * ' 2 0001560 + 4 = ( 3 , % 0 ; $ - 8 3 , % N 0001600 I V % 020 023 \f \r \n \r 022 027 \ ^ I F U 0001620 T W @ W V O @ W V G @ W V O @ W 0001640 ( 5 002 021 0 - " 9 * 3 4 # | ` g r 0001660 u j a t w h a t w h a t w h a t 0001700 w 026 c v q N C V Y T U @ C 002 016 023 0001720 022 \v 034 025 024 \t 006 025 024 \t 016 025 024 \t 006 025 0001740 024 \t @ W V O ` w v g r a ` } , : 0001760 3 , = ( 5 * ' 2 5 * / : 5 * ' 2 0002000 K T ] 6 1 . # 026 031 006 003 004 \a 030 021 Z 0002020 D S X K N M F Q \ E N Y \ M F Q 0002040 l u ~ i 022 017 004 027 : ' , 7 9 2 % 0002060 f z y l o p g r } b o z } b g r 0002100 \r 022 037 \n \r l e p { D M X S ^ S F 0002120 Y 030 020 \r \b 021 032 023 036 003 \b 033 036 003 \b 023 0002140 . 3 8 + . 3 F Q \ E n y | m t g 0002160 z g 2 $ ) 6 ; . ? ) < ? W B 0002200 M R _ J M R W < ? ) 034 037 \0 031 036 0002220 031 006 \v @ B U R A @ C L [ Z C t c 0002240 b s | k j s t c 034 001 016 035 < ! 6 - 0002260 > ' ( ? ` | s f a ~ m x { d 025 \0 0002300 003 034 035 \b \v 024 025 \0 003 b o z } B W B 0002320 M @ I \ _ 036 032 \a 006 037 020 031 030 005 2 ! 0002340 = 2 ) ( 5 2 ! = L [ Z C t c 0002360 b s n } | a 8 . ' 8 1 $ G X Q D 0002400 G X Q D G X Q D G X Q : % : 7 002 0002420 005 032 037 030 023 \f 005 N H _ T G z y r e 0002440 ` y r e h y r e ` y r e 006 033 020 003 0002460 & ; 0 + 4 - & 1 j v u ` 033 004 023 006 0002500 001 036 023 006 \t 026 023 006 001 036 023 006 031 x q d 0002520 g X Q D G J G R U 024 034 001 < % . ' 0002540 " ? 4 ' * 7 < ' " ? 4 ' : ' R E 0002560 @ Y r e h y ` s v k @ V _ @ I \ 0002600 A ^ [ N I V [ N A ^ K ^ Y F K 0002620 # < = \b \v 024 025 022 025 \n ? t v a n } 0002640 | 177 x o n w x o n 177 h 177 ~ g h 177 0002660 \0 035 032 \t ( 5 : ! 2 + \ K 024 \b 017 032 0002700 035 002 031 \f 017 020 031 \f 017 020 \t 034 037 \0 \t 034 0002720 037 ~ { n i V [ N A L } h k * & ; 0002740 : # $ - , 1 > - , 1 & = < ! . = 0002760 < ! X O N W x o 020 001 030 \v 016 023 F P 0003000 U J G R K T ] H S L E P [ D M X 0003020 S L E . ) 6 ; 016 1 . + , / 0 9 r 0003040 | k ` s v u ~ i t m f q t e n y 0003060 t m f q \n 027 034 017 R O D _ H Q Z M 0003100 036 002 001 024 027 \b 037 \n 025 \n \a 022 025 \n 017 032 0003120 025 \n \a 022 025 t } h S l e p { v { n 0003140 a ( 5 0 ) " + 6 + 3 6 + ; 0003160 6 + 3 6 + 7 6 / \0 027 026 \a 022 001 0003200 \0 035 L Z S L ] H U J G R U J O Z 0003220 U J G R U J 177 024 027 \b 001 4 7 ( ! & 0003240 ! > 3 x z m z i h k d s r k l { 0003260 z k d s r k 034 \v t i f u T I N U 0003300 F _ P G 030 004 033 016 \t 026 005 020 023 \f \r 030 0003320 033 004 005 020 023 \f = ( + J G R U j o z 0003340 u x q d g & 2 / . 7 8 1 0 - * 9 0003360 8 % * 1 N S X K N S & 1 < % 016 031 0003400 034 \r 024 \a 032 \a R D I V [ N _ @ I \ 0003420 _ @ I \ o p y l o p y 022 035 002 017 : 0003440 = " ' ; $ - f ` w | o b a j } 0003460 x a j } \0 021 032 \r \b 021 032 \r ~ c h { 0003500 ^ C H S \ E N Y 002 036 035 \b 003 034 \v 036 0003520 031 006 \v 036 ! > ; . ) 6 ; . ! @ I \ 0003540 _ ` i | o b o z } < 4 ) $ = 6 ? 0003560 : ' R A @ ] R I H U R A @ ] , ; 0003600 : # 024 003 002 023 016 035 034 001 X N G X Q D 0003620 Y F s f a ~ s f i v s f a ~ s 030 0003640 033 004 025 # < = : = " ' l n y v e 0003660 d g 020 \a 006 037 020 \a 006 027 020 \a 006 037 020 \a 0003700 x e r a @ ] R I Z C D S \f 020 027 002 0003720 005 032 1 $ ' 8 1 $ ' 8 1 $ ' 8 1 $ 0003740 ' F S F A ~ s f i d e p s 2 > # 0003760 \ E N G B _ T G J W \ G B _ T G 0004000 Z G 2 % 9 022 005 \b 031 \0 023 026 \v ^ H 0004020 } b o z c | u ` k t } h c | u ` 0004040 { d m 006 001 036 023 & ) 6 3 4 7 ( ! j 0004060 024 003 \b 033 036 035 026 001 \f 025 036 \t \f 035 026 001 0004100 034 005 016 031 b 177 t g J W \ G P I B U 0004120 6 * ) < ? 7 " - 2 ? * - 2 7 " 0004140 = " / : = \ U @ K t } h c n 035 \b 0004160 \v J F [ Z C D M L Q ^ M L Q F ] 0004200 \ A N ] \ A 8 / . 7 030 017 016 037 : ) 0004220 ( 5 d r { d e p m r 177 j m r g r 0004240 } b o z } b g \f 017 020 031 , / 0 I N 0004260 I V [ 020 022 005 002 021 020 023 034 \v \n 023 004 023 0004300 022 003 \f 033 032 003 004 023 l q ~ m L Q f } 0004320 n w x o 0 , # 6 1 . = ( + 4 % 0 0004340 3 , - 8 ; $ % 0 3 R _ J 3 \f 005 020 0004360 033 026 033 016 001 @ H U P I B K V K @ S 0004400 V K @ [ V K @ S V K > ) 024 \r & 1 0004420 4 % < / " ? j | q n c v w h a t 0004440 w h a t w h a t w h a \n u j g R 0004460 U J O H C \ U 036 030 017 004 027 \n \t 002 025 0004500 020 \t 002 025 030 \t 002 025 020 \t 002 025 V K @ S 0004520 v k ` { d } v a : & % 0 + 4 # 6 0004540 1 . # 6 9 & # 6 1 . ] H K * ' 2 0004560 5 \n 017 032 025 030 021 004 \a F R O N W X Q 0004600 P M J Y X E J Q P M z i h u 004 023 0004620 022 \v , ; : + 6 % $ 9 p f o p y l 0004640 q n k ~ y f k ~ q n 033 016 \t 026 033 p 0004660 s l m X [ D E B E Z O 004 006 021 036 \r 0004700 \f 017 \b 037 036 \a \b 037 036 017 8 / . 7 8 / 0004720 P M J Y x e j q b { l { $ 8 ? * 0004740 - 2 ) < ? ) < A ^ [ N I V [ N 0004760 A ) < ? \0 \t 034 017 002 017 032 035 \ T I 0005000 D ] V _ Z G L _ b 177 t o j w | o 0005020 b 177 \n 035 030 001 * = 1 ( ; > # v ` 0005040 e z w b { d m x 003 034 025 \0 \v 024 035 \b 0005060 003 034 025 ~ y f k ^ A ^ [ \ _ @ I 002 0005100 \f 033 020 003 006 005 016 031 $ = 6 ! $ 5 > ) 0005120 $ = 6 ! Z G L _ b 177 t o x a j } 0005140 . 2 1 $ ' 8 Q D G X Q D G X Q D 0005160 G X Q D G & 3 & ! 036 023 006 \t 004 005 020 0005200 023 R ^ C B [ l e d y v e d y ~ e 0005220 d y v e d y 020 \a 006 037 0 ' & 7 " 1 0005240 0 - | j c | \r 030 005 032 027 002 005 032 037 \n 0005260 005 032 027 002 005 032 017 d g x q D G X Q V 0005300 Q N C \b \n 035 * 9 8 ; 4 # " ; < + 0005320 * ; 4 # " ; , ; D Y V E d y ~ e 0005340 v o ` w V J I \ _ @ W B M R _ J 0005360 M R W B ] B O Z ] < 5 + 024 035 \b 0005400 003 016 003 026 ) h ` } x a j c n s x k 0005420 n s x c ~ c h { ~ c 026 001 \f 025 > ) 0005440 , = $ 7 J W 002 024 031 006 \v 036 017 020 031 \f 0005460 017 020 031 \f 037 \0 \t 034 037 \0 \t b m r 177 J 0005500 M R W P k t } 6 0 ' , ? 2 1 : - 0005520 ( 1 : - 0 ! * = 8 ! * = N S X K 0005540 n s 006 035 016 027 030 017 P L C V Q N ] H 0005560 K T E P S L M X [ D E P S 2 ? * 0005600 - 022 ' 2 = 0 9 , / n j w v o ` i 0005620 h u b q p m b y x e b q p m 034 \v 0005640 \n 023 D S R C ^ M L Q \b 036 027 \b 001 024 0005660 \t 026 003 026 021 016 003 026 031 006 003 026 021 016 003 h 0005700 k t E p s l m j m r w < > ) & 5 0005720 4 7 7 6 / 7 6 ' 7 6 / 7 0005740 6 + 3 026 \v \0 033 004 035 026 001 Z F E P 0005760 K T C V Q N C V Y F C V Q N C V 0006000 i \b 001 024 027 ( ! 4 7 : 7 " % d l q 0006020 l u ~ w r o d w z g l w r o d w 0006040 \n 027 b u p i B U X I P C F [ 016 030 0006060 \r 022 037 \n 023 \f 005 020 033 004 \r 030 023 \f 005 020 0006100 + 4 = V Q N C v y f c d g x q : 0006120 $ 3 8 + . - & 1 < % . 9 < - X O 0006140 N W X O 0 - * 9 030 005 \n 021 002 033 \f 033 0006160 D X _ J M R I \ _ @ I \ _ @ y l 0006200 o p y l o 016 \v 036 031 & + > 1 < - 8 0006220 ; z v k j s t } | a n } | a 026 \r 0006240 \f 021 036 \r \f 021 h 177 ~ g H _ ^ O J Y 0006260 X E 024 002 \v 024 025 \0 035 002 017 032 035 002 7 " 0006300 - 2 ? * - 2 7 \ _ @ I | 177 ` y ~ 0006320 y f k " 5 2 ! # , ; D ] V A 0006340 D U ^ I D ] V A : ' , ? 002 037 024 017 0006360 030 001 \n 035 N R Q D G X O Z e z w b 0006400 e z 177 j e z w b e 004 \r 030 003 < 5 0006420 + & + > 1 p x e ` y r { 006 033 020 003 0006440 006 033 020 \v 006 033 020 003 006 033 n y d } V A 0006460 D U L _ R O 032 \f 001 036 023 006 ' 8 1 $ 0006500 ' 8 1 $ ' 8 1 $ ' 8 1 Z E Z W b 0006520 e z 177 x s l e . ( ? J Y X [ T C 0006540 B [ \ K J [ T C B [ L [ $ 9 6 % 0006560 004 031 036 005 026 017 \0 027 H T k ~ y f u ` 0006600 c | } h k t u ` c | m x { 032 027 002 0006620 005 : ? * % ( ! 4 7 v 002 037 036 \a \b 001 0006640 \0 035 032 \t \b 025 032 001 \0 035 \n 031 030 005 t c 0006660 b { \ K J [ F U T I 6 ? ) < 0006700 ! > ; . ) 6 ; . ! > + > 9 & + @ 0006720 C \ ] h k t u r \v 024 035 V P G L _ 0006740 R Q Z M H Q Z M P A J ] X A J ] 0006760 . 3 8 + 016 023 030 003 , 5 > ) r n m x 0007000 s l { n i v { n q n k ~ y f k ~ 0007020 q 020 031 \f 017 0 9 , _ R _ J M \f 004 031 0007040 024 \r 006 017 \n 027 034 017 022 017 004 037 032 \a \f 037 0007060 022 017 z m h q Z M p a x k n s & 0 0007100 5 * ' 2 + 4 = ( 3 , % 0 ; $ - 8 0007120 3 , % N I V % 020 023 \f \r \n \r 022 027 \ 0007140 ^ I F U T W @ W V O @ W V G @ W 0007160 V O @ W ( 5 002 021 0 - " 9 * 3 4 # 0007200 | ` g r u j a t w h a t w h a t 0007220 w h a t w 026 c v q N C V Y T U @ 0007240 C 002 016 023 022 \v 034 025 024 \t 006 025 024 \t 016 025 0007260 024 \t 006 025 024 \t @ W V O ` w v g r a 0007300 ` } , : 3 , = ( 5 * ' 2 5 * / : 0007320 5 * ' 2 0007324 rm -f *.class out.* run