Это называется безопасность по неизвестности - если подробности вашего известного алгоритма шифрования сделают его небезопасным, он уже небезопасен.
Нет, вы не можете помешать людям размышлять отвой класс.В самом худшем случае они могут загрузить библиотеку JNI, которая будет идти прямо в кучу JVM и считывать содержимое памяти (или записывать их)!Если ваш код выполняется на компьютере под управлением других, то он никогда не будет по-настоящему приватным.
Если вы сами пишете библиотеку JNI, ее можно декомпилировать и перепроектировать (и это явно разрешено закономболее того, во многих юрисдикциях прошлый прецедент).
Просто сделайте алгоритм безопасным, даже когда его работа известна всем, или (еще лучше!) используйте реализацию, которая уже была написана и является частью языка Java.
Если вас беспокоит раскрытие материала ключа , используйте методы Java для доступа к хранилищу ключей.Если вы действительно параноик, убедитесь, что резервное хранилище является аппаратным токеном PKCS11.