org.logi.crypto.keys
Interface BlindingKey

All Superinterfaces:
Key, java.security.Key, PrettyPrintable, java.io.Serializable, VerificationKey
All Known Implementing Classes:
RSAPublicKey

public interface BlindingKey
extends VerificationKey

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)

Fields inherited from interface java.security.Key
serialVersionUID
 
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.
 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.VerificationKey
signatureSize, signBlockSize, verify
 
Methods inherited from interface org.logi.crypto.keys.Key
getAlgorithm, getFingerprint, getFingerprint, getSize, hashCode, matches, matchFingerprint, matchFingerprint
 
Methods inherited from interface org.logi.crypto.io.PrettyPrintable
prettyPrint, prettyPrint
 
Methods inherited from interface java.security.Key
getEncoded, getFormat
 

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 CryptoException
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.

unBlind

public Signature unBlind(BlindSignature bs,
                         BlindingFactor bf)
                  throws CryptoException
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 (c) 1997-2001 Logi Ragnarsson - Distributed under the GPL