org.logi.crypto.keys
Interface BlindSignatureKey

All Superinterfaces:
Key, PrettyPrintable, SignatureKey
All Known Implementing Classes:
RSAKey

public interface BlindSignatureKey
extends SignatureKey

This interface is implemented by keys that can be used to create and validate blind signatures on fingerprints of data.

Obviously blind signatures should be used with care since you do not know what is being signed. The key used for blind signatures should be created specifically for one purpose and never be used for anything else.

Author:
Logi Ragnarsson (logir@logi.org)

Method Summary
 BlindFingerprint blind(Fingerprint fp, BlindingFactor bf)
          Blind a fingerprint with a public key and the given blinding factor in preparation for blindly signing the fingerprint with the private key.
 BlindingFactor createBlindingFactor()
          Create a new blinding factor suitable for blinding a fingerprint before being signed with the private key in the pais.
 BlindSignature sign(BlindFingerprint fp)
          Create a signature for a blinded fingerprint with a private key.
 Signature unBlind(BlindSignature bs, BlindingFactor bf)
          Unblind a blind signature using the same blinding factor that was used to blind the original fingerprint.
 
Methods inherited from interface org.logi.crypto.keys.SignatureKey
sign, signatureSize, signBlockSize, verify
 
Methods inherited from interface org.logi.crypto.keys.Key
getAlgorithm, getFingerprint, getFingerprint, getSize, hashCode, isPrivate, matches, matchFingerprint, matchFingerprint
 
Methods inherited from interface org.logi.crypto.PrettyPrintable
prettyPrint, prettyPrint
 

Method Detail

createBlindingFactor

public BlindingFactor createBlindingFactor()
Create a new blinding factor suitable for blinding a fingerprint before being signed with the private key in the pais.

blind

public BlindFingerprint blind(Fingerprint fp,
                              BlindingFactor bf)
                       throws KeyException
Blind a fingerprint with a public key and the given blinding factor in preparation for blindly signing the fingerprint with the private key.
Throws:
KeyException - if there are problems, depending on the implementing class.

sign

public BlindSignature sign(BlindFingerprint fp)
                    throws KeyException
Create a signature for a blinded fingerprint with a private key.
Throws:
KeyException - if there are problems, depending on the implementing class.

unBlind

public Signature unBlind(BlindSignature bs,
                         BlindingFactor bf)
                  throws KeyException
Unblind a blind signature using the same blinding factor that was used to blind the original fingerprint.
Throws:
KeyException - if there are problems, depending on the implementing class.


Copyright 1997-2000 Logi Ragnarsson