um.di.lmf.security
Class RSABlindSignature

java.lang.Object
  extended byum.di.lmf.security.RSABlindSignature

public class RSABlindSignature
extends java.lang.Object

This class implements four procedures related to the RSA Blind Signature


Constructor Summary
RSABlindSignature()
           
 
Method Summary
static byte[] blind(byte[] data, java.math.BigInteger blinding_factor, java.security.interfaces.RSAPublicKey pubKey)
          This method can be used to obtain a blinded hash, to be signed by the public key owner.
static byte[] sign(byte[] blinded_hash, java.security.interfaces.RSAPrivateKey privKey)
          This method allows the private key owner to sign a previously blinded hash.
static byte[] unblind(byte[] blinded_sig, java.math.BigInteger blinding_factor, java.security.interfaces.RSAPublicKey pubKey)
          This method permits recovering a proper signature, removing the blinding from the result of the sign function.
static boolean verify(byte[] data, byte[] signature, java.security.interfaces.RSAPublicKey pubKey)
          This method permits verifying an unblinded signature.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RSABlindSignature

public RSABlindSignature()
Method Detail

blind

public static byte[] blind(byte[] data,
                           java.math.BigInteger blinding_factor,
                           java.security.interfaces.RSAPublicKey pubKey)
                    throws RSABlindSignatureException
This method can be used to obtain a blinded hash, to be signed by the public key owner.

Throws:
RSABlindSignatureException

sign

public static byte[] sign(byte[] blinded_hash,
                          java.security.interfaces.RSAPrivateKey privKey)
                   throws RSABlindSignatureException
This method allows the private key owner to sign a previously blinded hash.

Throws:
RSABlindSignatureException

unblind

public static byte[] unblind(byte[] blinded_sig,
                             java.math.BigInteger blinding_factor,
                             java.security.interfaces.RSAPublicKey pubKey)
                      throws RSABlindSignatureException
This method permits recovering a proper signature, removing the blinding from the result of the sign function.

Throws:
RSABlindSignatureException

verify

public static boolean verify(byte[] data,
                             byte[] signature,
                             java.security.interfaces.RSAPublicKey pubKey)
                      throws RSABlindSignatureException
This method permits verifying an unblinded signature.

Throws:
RSABlindSignatureException