encoding program then sophisticated mathematical algorithms are employed to transform these numbers into other numbers usuallythe transformation is based on combining the message with some other special value called the key in order to decrypt the messagethe party on the receiving end needs to have an appropriate key so that the encoding can be reversed to recover the original message encryption approaches come in two flavorsprivate key and public key in private key (also called shared keysystem the same key is used for encrypting and decrypting messages all parties that wish to communicate need to know the keybut it must be kept secret from the outside world this is the usual system that people think of when considering secret codes in public key systemsthere are separate but related keys for encrypting and decrypting knowing the encryption key does not allow you to decrypt messages or discover the decryption key in public key systemthe encryption key can be made publicly availablewhile the decryption key is kept private anyone can safely send message using the public key for encryption only the party holding the decryption key will be able to decipher it for examplea secure web site can send your web browser its public keyand the browser can use it to encode your credit card information before sending it on the internet then only the company that is requesting the information will be able to decrypt and read it using the proper private key input/output as string manipulation even programs that we may not view as primarily doing text manipulation often need to make use of string operations for exampleconsider program that does financial analysis some of the information ( datesmust be entered as strings after doing some number crunchingthe results of the analysis will typically be nicely formatted report including textual information that is used to label and explain numberschartstablesand figures string operations are needed to handle these basic input and output tasks example applicationdate conversion as concrete examplelet' extend our month abbreviation program to do date conversions the user will input date such as ",and the program will display the date as "may here is the algorithm for our programinput the date in mm/dd/yyyy format (datestrsplit datestr into monthday and year strings convert the month string into month number use the month number to lookup the month name create new date string in form month dayyear output the new date string we can implement the first two lines of our algorithm directly in code using string operations we have already discussed