It seems that when I encrypt & decrypt data using a Cipher in EBC mode, I do not need to specify any parameters beyond the algorithm string (e.g. "AES/EBC/PKCS5Padding"). However, I want to use CBC or OFB mode. These modes seem to require additionally parameters. What information do these additional parameters contain? For example, do they contain an initialization vector? If so, I would certainly somehow need to share these additional parameters with the class that will be decrypting the data. The trouble is that the process that does decrypting is located on a different computer than the process doing the encrypting. Since all data passed between these classes will be encrypted, if the decrypting process is sent these parameters, it will not be able to decrypt the parameters until it has the parameters. Paradoxical I suppose, but there must be some standard way to solve this situation. Suggestions?