key commit(xmr_amount amount, key mask) { mask = scalarmultBase(mask); key am = d2h(amount); key bH = scalarmultH(am); addKeys(mask, mask, bH); return mask; }
key commit(xmr_amount amount, const key &mask) { key c = scalarmultBase(mask); key am = d2h(amount); key bH = scalarmultH(am); addKeys(c, c, bH); return c; }
key zeroCommit(xmr_amount amount) { key mask = identity(); mask = scalarmultBase(mask); key am = d2h(amount); key bH = scalarmultH(am); addKeys(mask, mask, bH); return mask; }
//generates a <secret , public> / Pedersen commitment to the amount tuple<ctkey, ctkey> ctskpkGen(xmr_amount amount) { ctkey sk, pk; skpkGen(sk.dest, pk.dest); skpkGen(sk.mask, pk.mask); key am = d2h(amount); key bH = scalarmultH(am); addKeys(pk.mask, pk.mask, bH); return make_tuple(sk, pk); }
//generates C =aG + bH from b, a is given.. void genC(key & C, const key & a, xmr_amount amount) { key bH = scalarmultH(d2h(amount)); addKeys1(C, a, bH); }
key zeroCommit(xmr_amount amount) { key am = d2h(amount); key bH = scalarmultH(am); return addKeys(G, bH); }