You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like generating witnesses from private ECDSA keys inside of a circuit is possible, but I don't know if these could also be used to decrypt a message inside of a circuit
With that in mind, can the Alice/Eve Secret-Bounties Protocol (cf. #7) be modified to be:
Can we Create an Algorand App or Logic Sig with the Following Properties?
Verifies that a secret is provided by the sender
The secret should be encrypted and private except to those who possess the encryption's decrypt key. In particular, this means that during the application's transaction, the secret cannot be decrypted in a way that is "plain to see".
The secret should be decryptable by the app's author directly from viewing the application's transaction (because they possess the encryption's secret key)
Can the following "solution" be implemented?
Alice possesses a public-private key pair (PK, SK). She wishes to learn a particular secret (eg “find a factor of the large number $n$"). She authors a ZK-SNARK circuit which internally uses SK to decrypt a public input and assert the special property of the plaintext (eg this will involve applying the decryption $D_{\rm{SK}}(p')$ to a provided input inside the circuit with $p'$ defined below)
Alice publishes the secret request and:
her public key PK
the ZK-SNARK's public parameters for generating a witness, constructing a proof and verifying the proof
a smart contract $A$ which verifies the constructed proof and sends a reward to an address specified by the solver
A bounty hunter Eve knows a solution (eg she knows a non-trivial $p$ that factors $n$) and claims the bounty as follows:
constructs the witness and proof using PK and the ZK-SNARK public parameters which Alice has published (eg this will involve applying the encryption $E_{\rm{PK}}(p) = p'$ to generate part of the witness)
runs Alice's app $A$ on her private network providing the necessary inputs to ensure that the bounty would be paid
calls Alice's app $A$ to claim the bounty
Since Eve has provided $p'$ as an input to $A$, Alice can easily analyze the application call transaction which paid the bounty and learn $p = D_{\rm{SK}}(p')$.
The text was updated successfully, but these errors were encountered:
Apparently, there are ZK-SNARKS that implement public-key cryptography:
With that in mind, can the Alice/Eve Secret-Bounties Protocol (cf. #7) be modified to be:
Can we Create an Algorand App or Logic Sig with the Following Properties?
Can the following "solution" be implemented?
Alice possesses a public-private key pair (PK, SK). She wishes to learn a particular secret (eg “find a factor of the large number$n$ "). She authors a ZK-SNARK circuit which internally uses SK to decrypt a public input and assert the special property of the plaintext (eg this will involve applying the decryption $D_{\rm{SK}}(p')$ to a provided input inside the circuit with $p'$ defined below)
Since Eve has provided$p'$ as an input to $A$ , Alice can easily analyze the application call transaction which paid the bounty and learn $p = D_{\rm{SK}}(p')$ .
The text was updated successfully, but these errors were encountered: