The work of David Chaum on privacy showed the world that it could build a world of trust, but preserve privacy. On the back of the work around the ground-breaking RSA method, in 1983, David outlined [here]:

The paper outlined a blinded signature, and Bob can sign for a message, without knowing what the message is. His method used RSA encryption, and where Bob creates his RSA keys in the usual way, and where he selects two prime numbers (p and q) and an encryption key value (e=63,535) and then computes:

Now Alice has a message (m) that she wants Bob to blind sign. She first generates a random value (k) and will then compute:

She sends this to Bob, and who uses his private key (d) to compute:

Bob sends this back, and Alice computes the true signature from Bob:

This is the signature that Bob would have signed the message with and as if Bob had used his private key:

This works because:

Here is an example:

The coding is here:

`import randomimport libnumfrom Crypto.Util.number import getPrimefrom Crypto.Random import get_random_bytesimport sysprimebits=32if (len(sys.argv)>1):  primebits=int(sys.argv)if (primebits>128): primebits=128q = getPrime(primebits, randfunc=get_random_bytes)p = getPrime(primebits, randfunc=get_random_bytes)n=p*qPHI=(p-1)*(q-1)e=65537d=libnum.invmod(e,PHI)print ("e=",e)print ("d=",d)print ("n=",n)k=random.randint(1,n-1)m=10mstar = (m*pow(k,e,n)) % nsstar = (pow(mstar,d,n)) % ns = (pow(k,-1,n)*sstar) % nprint ("\nk: ",k)print ("m*: ",mstar)print ("s*: ",sstar)print ("\nBob signing (Blinded): ",s)s= pow(m,d,n)print ("Bob's signing of message: ",s)`

A sample run is:

`e= 65537d= 2124181929009379037n= 12366750569495532989k:  5848566409051754306m*:  10054324083273091146s*:  12242772676557453579Bob signing (Blinded):  2010459568356223927Bob's signing:  2010459568356223927`

The coding is here:

## Conclusions

And so David showed us a new way of transacting, and in a trusted way. At the core of his work was the rights to privacy. We need to follow David’s path in the future and build a more trusted digital work, and which has increased levels of trust.

## Reference

 Chaum, D. (1983). Blind signatures for untraceable payments. In Advances in cryptology (pp. 199–203). Springer, Boston, MA.

Written by