Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os, binascii
- import bitcoin as btc
- import random, time, sys, copy
- import borromean_signature as brs
- import range_proof as rp
- import MLSAG_RS as mlsag
- import stealth_addresses as sa
- from classes import *
- import itertools
- # TOCHANGE
- MESSAGE = 'abc'
- # Include borromean verification?
- incl_ver = True
- # Some data
- RM = []
- self_keypair = Keypair()
- pid = os.urandom(32)
- # 3) Normally we get these from the blockchain
- # Now we create 'amount_rm' amount of ring members
- def generate_ring_members(amount_rm):
- RM = [None] * amount_rm
- for r in range(amount_rm):
- valid = False
- while not valid:
- rnd = 50
- R_RP = brs.sign_brs2(rnd, MESSAGE)
- R_C = rp.sumCi(R_RP.cs)
- # Quick verification of Borromean signature
- if incl_ver and not brs.ver_brs(MESSAGE, R_RP.vks, R_RP.sig):
- # print binascii.hexlify(z)
- print R_RP.vks
- print binascii.hexlify(R_RP.sig)
- print ("R_C:", R_C)
- print '!!! Verification of BorSig for ' + str(r) + ' failed (' + str(rnd) + ')!!!'
- else:
- valid = True
- return RM
- if __name__ == '__main__':
- generate_ring_members(100)
Advertisement
Add Comment
Please, Sign In to add comment