/ring-signatures

How to generated and verify ring signatures in monero

Primary LanguageC++

Ring signatures

Ring signatures are an essential part of Monero. But how do they look like in a transaction? How do you generate and check them?

In this example, this problem is addressed. Specifically, a C++ program called rings is developed. The program prints out all signatures used in a given transaction.

Pre-requisites

Everything here was done and tested on Ubuntu 14.04 x86_64 and Ubuntu 15.10 x86_64.

Instruction for Monero compilation:

Monero source code compilation and setup are same as here.

C++ code

The main part of the example is main.cpp.

Program options

./rings -h

Example input and output

Compile this example

The dependencies are same as those for Monero, so I assume Monero compiles correctly. If so then to download and compile this example, the following steps can be executed:

# download the source code
git clone https://github.com/moneroexamples/ring-signatures.git

# enter the downloaded sourced code folder
cd ring-signatures

# create the makefile
cmake .

# compile
make

After this, rings executable file should be present in access-blockchain-in-cpp folder. How to use it, can be seen in the above example outputs.

How can you help?

Constructive criticism, code and website edits are always good. They can be made through github.

Some Monero are also welcome:

48daf1rG3hE1Txapcsxh6WXNe9MLNKtu7W7tKTivtSoVLHErYzvdcpea2nSTgGkz66RFP4GKVAsTV14v6G3oddBTHfxP6tU