Imagine the following scenario: I want to provide proof of my good standing so that I am allowed to transact with someone. But at the same time, I don't want anyone to know the input for my good standing (e.g. details about my current balance and who I interacted with before).
So I could send the public and private key to a smart contract. The smart contract retrieves the stored encrypted data from my last proof, decrypts it with my private key, uses the inputs to calculate a new proof, encrypts the private data with my public key, and leaves the result (e.g. true/false) in plain text, saves it, so that anyone can verify that I am in good standing.
Is it secure to send my private key to a smart contract or does that compromise it?