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
We're currently performing decryption deep inside PXE as part of the trial-decrypt note discovery brute force process. We need to expose this behavior all the way to an oracle call so that contract code can attempt note payload decryption on its own, without having to reveal the private keys to the circuit.
As per #8969, notes are encrypted with the following shared secret:
letS:Point = (h + ivsk)*Epk;
h + ivsk is secret information that cannot be passed to any app and cannot leave PXE, which is why this oracle call exists. We'll send PXE the encrypted payload along with Epk, and it will return an option of a decrypted message. Note that PXE must not throw if decryption fails, since the Noir code will need to deal with failed decryption on its own.
The text was updated successfully, but these errors were encountered:
Closes: AztecProtocol/aztec-packages#9371AztecProtocol/aztec-packages#9370AztecProtocol/aztec-packages#9372
Blindly moves the logic in `note_processor.ts` to the
`simulator_oracle`, so retrieved logs can be processed and injected in
PXE's db. This approach has several problems:
- We have to trigger a process from an oracle, but the thing itself
requires a simulator to call `compute_note_hash_and_nullifier`. This
either implies moving lot of stuff into `client_execution_context`
(namely, the key store), or a chicken and egg problem with
`simulator_oracle` (we need a simulator in the oracle that is provided
to a simulator). Right now a very ugly solution is adopted,
instantiating a new simulator in place.
- ~~Are deferred notes even necessary now?~~ No, will be removed in
AztecProtocol/aztec-packages#9575
- Is there an alternative to passing the the `dataStartIndexForTx` all
the way from the node to compute the note index? (this is not too bad
IMO)
- Can the logic in the processor be simplified?
- Is there a better place to put this code that still allows us to
initiate the process from `aztec.nr`?
---------
Co-authored-by: Nicolás Venturo <[email protected]>
We're currently performing decryption deep inside PXE as part of the trial-decrypt note discovery brute force process. We need to expose this behavior all the way to an oracle call so that contract code can attempt note payload decryption on its own, without having to reveal the private keys to the circuit.
As per #8969, notes are encrypted with the following shared secret:
h + ivsk
is secret information that cannot be passed to any app and cannot leave PXE, which is why this oracle call exists. We'll send PXE the encrypted payload along withEpk
, and it will return an option of a decrypted message. Note that PXE must not throw if decryption fails, since the Noir code will need to deal with failed decryption on its own.The text was updated successfully, but these errors were encountered: