CSE 539, Applied Cryptography
Project 6: Due Dec 2 2019
Projects are to be done in groups of two
You are provided with a C++ RSA library. You can extract the required files from the given Zip file.
The programs compile and run on Linux/Unix systems. Please use 32 bit systems, or 32 bit flags.
Instructions on how to compile and run are given in the myReadme file and samplerun.txt file inside the zip folder. It is preferred that you attempt to solve this problem in a Linux environment, as it is easier for the TA to use one machine to check your programs. (Note: Please read the code contained, there are limitations on the size of numbers they handle.)
You have to do the following:
Blind signature is a kind of signature, where the signing authority does not know what is being signed. Blind Signatures are used to implement Anonymous money orders. You have to implement a blind signature scheme. The scheme you have to implement is described in wikipedia at the link: http://en.wikipedia.org/wiki/Blind_signature
The scheme can be briefly stated as:
b. Obtain a random number and its inverse with respect to the Modulus [Not phi] of Bob
h. Bob simply decrypts the received value with the private key
Bob sends it back to
k. The value obtained above is the signed message. To obtain the original message from it, again encrypt it with Bobís Public Key.
To implement the sending and receiving, you may use whatever method you choose, you can use files, pipes or just pass it through functions, or through global memory. Ensure that the random number is around 16 bits long for the program to work correctly.
Some encryption examples are shown in rsaDriver.cpp and rsatry1.cpp in the zip file.
Submit: The code to do #3, blind signatures. The output must be self-explanatory. Code will be compiled and run.
Upload to Canvas.