A cipher <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation">mode of operation</a> directs a cipher algorithm how to convert data during the encryption or decryption process. This enum represents all JDK-standard Cipher operation mode names as defined in <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html">JDK Security Standard Names</a>, as well as a few more that are well-known and supported by other JCA Providers. <p/> This {@code enum} exists to provide Shiro end-users type-safety when declaring an operation mode. This helps reduce error by providing a compile-time mechanism to specify a mode and guarantees a valid name that will be recognized by an underlying JCA Provider. <h2>Standard or Non-Standard?</h2> All modes listed specify whether they are a JDK standard mode or a non-standard mode. Standard modes are included in all JDK distributions. Non-standard modes can sometimes result in better performance or more secure output, but may not be available on the target JDK platform and rely on an external JCA Provider to be installed. Some providers (like <a href="http://www.bouncycastle.org">Bouncy Castle</a>) may support these modes however.