No, tamper-resistant applications implemented purely in software are unfortunately impossible.
Software which runs on the user's machine is under the user's control. The user can extract any secret keys from the program, either from memory at runtime or from the program's binary code. A program and/or the data it uses can not be effectively encrypted, because in order to be executed and accessed it needs to be decrypted, and that decryption key and the decryption algorithm must be available in unencrypted form.
There are obfuscators which make a program harder to decipher, but those only slow down a determined attacker. They can not stop one completely.
In order to do trusted computing you need trusted hardware. There are hardware solutions available for some use-cases, like USB dongles which can hold cryptographic keys which they don't expose to the host device and can perform cryptographic operations in a black-box manner. These devices are usually quite resistant to software tampering, but they might still be susceptible to physical hardware tampering.
Also, whatever data they receive or send back to the host-system can be intercepted. When you want data to stay secret, it must not leave the trusted device.
You are unfortunately not writing enough about your exact use-case to make a guess if that would be an option in your situation and what pitfalls you could possibly step into.