# Prove in Zero Knowledge the execution of a function

Given a function:

$$Y = a * b$$

Is there a way to prove in zero knowledge that a value $$Y$$ was gotten, without revealing $$a$$ and $$b$$? Alternatively, that we have knowledge of $$a$$ and $$b$$ such that their product equals $$Y$$.

public : $$Y$$

private: $$a$$,$$b$$

ZKP systems such as libSNARK, libSTARK, pepper-project, etc. can help the prover generate a proof that he/she knows private $$a$$ and $$b$$ such that $$Y = a * b$$ and then a verifier can check that the computation was done correctly without ever knowing $$a$$ and $$b$$.