[url removed, login to view] has a function construct_tx and it seems to be the function that does most of the ring signature handling
I need a C callable library (source code form) that abstracts and simplifies the process of generating and validating ring signatures. The above code has working software so should form a good basis for this abstraction.
Update - Job Description rewritten:
I need a reference implementation of ring signatures in C language. Something easy to use like Bernstein's nacl library.
I need reference C library so I can do stuff like "generate ring signature", "validate ring signature", etc.
of course actual operations are more than just those, but basically need the C code that implements the ring sig crypto functions.
https://github.com/amjuarez/bytecoin/blob/master/src/cryptonote_core/cryptonote_format_utils.cpp has a function construct_tx and it seems to be the function that does most of the ring signature handling. The above code has working software so should form a good basis for this abstraction.
What API funtionalities are needed?
automatic creation of multiple unique one-time keys, derived from the single public key
created by a user while signing, which we called a key image.
Basically all the things needed to do:
Standard CryptoNote transaction
A standard CryptoNote transaction is generated by the following sequence covered in the white paper.
Bob decides to spend an output, which was sent to the one-time public key. He needs Extra (1), TxOutNumber (2), and his Account private key (3) to recover his one-time private key (4).
When sending a transaction to Carol, Bob generates its Extra value by random (5). He uses Extra (6), TxOutNumber (7) and Carol's Account public key (8) to get her Output public key (9).
In the input Bob hides the link to his output among the foreign keys (10). To prevent double-spending he also packs the Key image, derived from his One-time private key (11).
Finally, Bob signs the transaction, using his One-time private key (12), all the public keys (13) and Key Image (14). He appends the resulting Ring Signature to the end of the transaction (15).
10 freelancers are bidding on average €165 for this job
Hi, I have more than 14 year experience with C and about the same with C++ on different UNIX platforms. I can rewrite this code in C and make a C API.
Good morning Sir, I'm an expert in C/C++, I'd like to help you with your project. If you can provide more details I'll ensure that you'll be happy. THanks.