Why JDK doesn't provide IGE block cipher mode
The JDK provides various block cipher modes implementations, e.g. CBC, CTR, ECB.
As per title, is there a (maybe documented somewhere) reason why IGE mode is not provided?
Java包含了大量的密码学功能作为标准运行时。然而，很明显它仍然主要受到标准的驱动，特别是TLS / X.509。这很容易看出：密钥存储区以前只用于存储（RSA）私钥及其相关链。默认证书存储包含所有必要的根证书等。
Java contains a lot of cryptography for a standard runtime. However, it is pretty clear that it is still mainly driven by standards, and particularly TLS / X.509. It is pretty easy to see this: key stores used to only store (RSA) private keys with their chains attached. The default certificate store contains all the necessary root certificates etc.
There are a few more well known block ciphers and modes implemented for secret key encryption. However, these are all modes standardized by NIST and included in most libraries. It doesn't include many other ciphers or modes. Including a mode that has been specifically designed for a niche purpose such as IGE doesn't make sense. Although IGE and specifically bi-IGE make some sense in schemes providing plausible deniability their error propagation properties are kind of lost in the days of authenticated encryption. See also this question and answer (note the person asking the question).
However, nothing is preventing you to create one in a provider, and define your own mode that way. Note that you may need to sign that provider if you want to include it with specific commercial releases of Java.