C# Class Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner

ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3).

Note: the usual length for the salt is the length of the hash function used in bytes.

Inheritance: ISignerWithRecovery
Show file Open project: red-gate/iTextSharp-4.1.6 Class Usage Examples

Public Methods

Method Description
BlockUpdate ( byte input, int inOff, int length ) : void

update the internal digest with the byte array in

GenerateSignature ( ) : byte[]

Generate a signature for the loaded message using the key we were initialised with.

GetRecoveredMessage ( ) : byte[]

Return a reference to the recoveredMessage message.

HasFullMessage ( ) : bool

Return true if the full message was recoveredMessage.

Init ( bool forSigning, ICipherParameters parameters ) : void

Initialise the signer.

Iso9796d2PssSigner ( IAsymmetricBlockCipher cipher, IDigest digest, int saltLength ) : System

Constructor for a signer with an explicit digest trailer.

Iso9796d2PssSigner ( IAsymmetricBlockCipher cipher, IDigest digest, int saltLength, bool isImplicit ) : System

Generate a signer for the with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.

Reset ( ) : void

reset the internal state

Update ( byte input ) : void

update the internal digest with the byte b

VerifySignature ( byte signature ) : bool

return true if the signature represents a ISO9796-2 signature for the passed in message.

Private Methods

Method Description
ClearBlock ( byte block ) : void

clear possible sensitive data

IsSameAs ( byte a, byte b ) : bool

compare two byte arrays.

ItoOSP ( int i, byte sp ) : void

int to octet string.

int to octet string.

LtoOSP ( long l, byte sp ) : void

long to octet string.

MaskGeneratorFunction1 ( byte Z, int zOff, int zLen, int length ) : byte[]

mask generator function, as described in Pkcs1v2.

Method Details

BlockUpdate() public method

update the internal digest with the byte array in
public BlockUpdate ( byte input, int inOff, int length ) : void
input byte
inOff int
length int
return void

GenerateSignature() public method

Generate a signature for the loaded message using the key we were initialised with.
public GenerateSignature ( ) : byte[]
return byte[]

GetRecoveredMessage() public method

Return a reference to the recoveredMessage message.
public GetRecoveredMessage ( ) : byte[]
return byte[]

HasFullMessage() public method

Return true if the full message was recoveredMessage.
public HasFullMessage ( ) : bool
return bool

Init() public method

Initialise the signer.
if wrong parameter type or a fixed /// salt is passed in which is the wrong length. ///
public Init ( bool forSigning, ICipherParameters parameters ) : void
forSigning bool true if for signing, false if for verification.
parameters ICipherParameters parameters for signature generation/verification. If the /// parameters are for generation they should be a ParametersWithRandom, /// a ParametersWithSalt, or just an RsaKeyParameters object. If RsaKeyParameters /// are passed in a SecureRandom will be created. ///
return void

Iso9796d2PssSigner() public method

Constructor for a signer with an explicit digest trailer.
public Iso9796d2PssSigner ( IAsymmetricBlockCipher cipher, IDigest digest, int saltLength ) : System
cipher IAsymmetricBlockCipher cipher to use. ///
digest IDigest digest to sign with. ///
saltLength int length of salt in bytes. ///
return System

Iso9796d2PssSigner() public method

Generate a signer for the with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.
public Iso9796d2PssSigner ( IAsymmetricBlockCipher cipher, IDigest digest, int saltLength, bool isImplicit ) : System
cipher IAsymmetricBlockCipher base cipher to use for signature creation/verification
digest IDigest digest to use.
saltLength int length of salt in bytes.
isImplicit bool whether or not the trailer is implicit or gives the hash.
return System

Reset() public method

reset the internal state
public Reset ( ) : void
return void

Update() public method

update the internal digest with the byte b
public Update ( byte input ) : void
input byte
return void

VerifySignature() public method

return true if the signature represents a ISO9796-2 signature for the passed in message.
public VerifySignature ( byte signature ) : bool
signature byte
return bool