Desafortunadamente, las aplicaciones resistentes a la manipulación implementadas únicamente en software son imposibles.
El software que se ejecuta en la máquina del usuario está bajo el control del usuario. El usuario puede extraer cualquier clave secreta del programa, ya sea de la memoria en tiempo de ejecución o del código binario del programa. Un programa y / o los datos que utiliza no se pueden cifrar de manera efectiva, ya que para poder ejecutarse y acceder a ellos se debe descifrar, y esa clave de descifrado y el algoritmo de descifrado deben estar disponibles en forma no cifrada.
Hay ofuscadores que hacen que un programa sea más difícil de descifrar, pero solo ralentizan a un atacante determinado. No pueden parar uno completamente.
Para hacer una computación confiable necesitas un hardware confiable. Existen soluciones de hardware disponibles para algunos casos de uso, como dispositivos USB que pueden contener claves criptográficas que no se exponen al dispositivo host y que pueden realizar operaciones criptográficas de forma de caja negra. Estos dispositivos generalmente son bastante resistentes a la manipulación del software, pero aún pueden ser susceptibles a la manipulación del hardware físico.
Además, cualquier información que reciban o envíen al sistema host puede ser interceptada. Cuando desee que los datos permanezcan en secreto, no debe abandonar el dispositivo de confianza.
Desafortunadamente, no está escribiendo lo suficiente sobre su caso de uso exacto para hacer una conjetura si esa sería una opción en su situación y en qué inconvenientes podría meterse.