Unfortunately, you will find that the BigInteger Class was not built for purpose, and its Modulo arithmetic is as rouge as any secret agent. I built a bespoke application and turns out that not any amount of decryption will be correct after the 1st round. If a message is too long only the 1st round of encryption/decryption will yield accurate results. The longer the message unfortunately, the worse the performance. I tried to ask Oracle to rewrite the BigInteger class as it is flawed significantly, but could not reach them. For more information follow this link: https://www.martinlayooinc.com/Home/Product/checkRSA4096