Intriguing, yet ultimately unsuccessful, attempts to fit Groth16 into a Secure Element.
This research explores methods for efficiently verifying zero-knowledge (ZK) proofs on resource-constrained devices, such as secure elements. Our focus is on the Groth16 proof system over the BN254 curve, a widely adopted standard in ZK systems like SNARKs and STARKs, largely due to its near-optimality and support from Ethereum's EIP-197 precompiles. We target a scenario where a powerful but potentially malicious host device delivers proofs to a secure element for verification.