In this section, we will examine how Java supports symmetric and asymmetric encryption. As we will see, there are various encryption algorithms that are available for both of these techniques.
Symmetric encryption uses a single key to encrypt and decrypt a message. This type of encryption is classified as either stream ciphers or block ciphers. More details about these algorithms can be found at https://en.wikipedia.org/wiki/Symmetric-key_algorithm. A provider provides an implementation of an encryption algorithm, and we often choose between them.
Symmetric algorithms that are supported by Java include the following ones where the key size in bits is enclosed in parentheses: