Please login or register.

Ring CT C++ Crypto

With respect to the work here:

Major milestones to do in C++ which are cryptography related (someone who is more of an expert with the database / etc can handle the necessary database modifications and other modifications)

  • MG signatures (Gen / Ver / Demo)
  • ASNL’s (Gen / Ver / Demo)
  • ECDH
  • genRangeProof
  • genRCTSig
  • Compute Received Amount
  • Demo RingCT Code (+python version with the transposed MG sigs)

Each of the above points has several smaller helper functions / data structures. I estimate 10-ish hours for each, $20 / hour ~ 45 xmr / hour so 450 for each part as a checkpoint and a total of 450 * 7 = 3150

The finished c++ code for each part will be compatible with the MiniNero python implementation at except where there needs to be additional checks for security and such.

edit 1/9/2016: Looks like its fully funded! Thanks to everyone who funded - I've started the work (, and I will be posting updates here for the next two weeks as I work on this, rather than updating both here and the stickied reddit post.

edit 1/13/2016: MG sigs + demo are done (git clone, cd brief, make, a.exe (or a.out depending on system)). Most of the helper functions are there, so the rest should go a little bit quicker. Also fixed a tiny bug in Monero's keccak function.

edit 1/14/2016: ASNL + demo are done. ( I will probably do some additional checks on these and the MG sigs once I get everything finished, however they are working as expected now.

edit 1/15/2016: spent an all nighter getting a rough version of all the code finished - I will most likely clean it up, and then make it available early next week.

edit 1/21/2016: Just FYI the code is fully working (available at right now I am just doing some additional checks / testing / looking carefully for bugs, I expect to have all of these checks done by end of the week.

edit 1/26/2016: Almost completely rewrote the code to make it simpler and less pythonic so it benefits a bit more from c++'s efficiency. I think it's in pretty close to final form at this point:

edit 2/3/2016:

Python version of all checkpoints:

(You can run this with )

C++ version of all checkpoints:

(You can run this with )

Replies: 7
Gingeropolous posted 1 year ago Replies: 1 | Weight: 0 | Link [ - ]

Does this also make multisig development possible / move that into realm of possibility somehow?

Reply to: Gingeropolous
shen posted 1 year ago Weight: 0 | Link [ - ]

Yes - there are a couple of ways to go with the multisig - once the MG sigs are there, the method detailed in section 4.4 here is available (probably even without the CT part of, but then you have to be more careful with amounts).

AJIekceu4 edited 1 year ago Weight: 0 | Link [ - ]

+1000 XMR

dnaleor edited 1 year ago Weight: 0 | Link [ - ]

Very important for privacy! This will eventually make XMR more resilient because it solves some issues with XMR blockchain analysis, certainly for non-frequent users who don't have a lot of inputs in their XMR account.

Funded 1 hour of your work

45 XMR / txid: f60c52091785a60db5da2a2900868a9718445253445515c659eed44cbd6f9038

pa posted 1 year ago Weight: 0 | Link [ - ]

500 xmr sent

canth posted 1 year ago Weight: 0 | Link [ - ]

Awesome. Just dumped in another 100XMR!

TheKoziTwo posted 1 year ago Weight: 0 | Link [ - ]

+275 XMR

Thank you for doing this Shen.