diff options
author | Shen Noether <Shen.Noether@gmx.com> | 2016-07-09 19:30:28 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-08-28 21:29:14 +0100 |
commit | 4fd01f2bee0a64a72d67129e2f84007125e81ad2 (patch) | |
tree | 490e090d8253d7ccc7889369a76ea8b580d94187 /src/ringct/rctSigs.h | |
parent | wallet: rct specific output selection (diff) | |
download | monero-4fd01f2bee0a64a72d67129e2f84007125e81ad2.tar.xz |
ringct: "simple" ringct variant
Allows the fake outs to be in different positions for each ring.
For rct inputs only.
Diffstat (limited to 'src/ringct/rctSigs.h')
-rw-r--r-- | src/ringct/rctSigs.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ringct/rctSigs.h b/src/ringct/rctSigs.h index f87312fa8..7682510cd 100644 --- a/src/ringct/rctSigs.h +++ b/src/ringct/rctSigs.h @@ -113,7 +113,9 @@ namespace rct { //Ver: // verifies the above sig is created corretly mgSig proveRctMG(const ctkeyM & pubs, const ctkeyV & inSk, const keyV &outMasks, const ctkeyV & outPk, unsigned int index, key txnFee, const key &base_hash); + mgSig proveRctMGSimple(const key & message, const ctkeyV & pubs, const ctkey & inSk, const key &a , const key &Cout, unsigned int index); bool verRctMG(mgSig mg, const ctkeyM & pubs, const ctkeyV & outPk, key txnFee, const key &base_hash); + bool verRctMGSimple(const key &message, const mgSig &mg, const keyV &II, const ctkeyV & pubs, const key & C); //These functions get keys from blockchain //replace these when connecting blockchain @@ -135,13 +137,14 @@ namespace rct { // must know the destination private key to find the correct amount, else will return a random number rctSig genRct(const ctkeyV & inSk, const keyV & destinations, const vector<xmr_amount> amounts, const ctkeyM &mixRing, const key &bash_hash, unsigned int index); rctSig genRct(const ctkeyV & inSk, const ctkeyV & inPk, const keyV & destinations, const vector<xmr_amount> amounts, const key &bash_hash, const int mixin); + sRctSig genRctSimple(const key & message, const ctkeyV & inSk, const ctkeyV & inPk, const keyV & destinations, const vector<xmr_amount> & inamounts, const vector<xmr_amount> & outamounts, xmr_amount txnFee, unsigned int mixin); + sRctSig genRctSimple(const key & message, const ctkeyV & inSk, const ctkeyV & inPk, const keyV & destinations, const vector<xmr_amount> & inamounts, const vector<xmr_amount> & outamounts, xmr_amount txnFee, const ctkeyM & mixRing, const std::vector<unsigned int> & index); bool verRct(const rctSig & rv); bool verRct(const rctSig & rv, const ctkeyM &mixRing, const keyV &II, const key &base_hash); + bool verRctSimple(const sRctSig & rv); xmr_amount decodeRct(const rctSig & rv, const key & sk, unsigned int i, key & mask); xmr_amount decodeRct(const rctSig & rv, const key & sk, unsigned int i); - - - + xmr_amount decodeRct(const sRctSig & rv, const key & sk, unsigned int i); } #endif /* RCTSIGS_H */ |