gnu.crypto.sig.rsa

Class EMSA_PKCS1_V1_5

public class EMSA_PKCS1_V1_5 extends Object implements Cloneable

An implementation of the EMSA-PKCS1-V1.5 encoding scheme.

EMSA-PKCS1-V1.5 is parameterised by the choice of hash function Hash and hLen which denotes the length in octets of the hash function output.

References:

  1. Public-Key Cryptography Standards (PKCS) #1:
    RSA Cryptography Specifications Version 2.1.
    Jakob Jonsson and Burt Kaliski.

Version: $Revision: 1.4 $

Method Summary
Objectclone()
byte[]encode(byte[] mHash, int emLen)

Frames the hash of a message, along with an ID of the hash function in a DER sequence according to the specifications of EMSA-PKCS1-V1.5 as described in RFC-3447 (see class documentation).

static EMSA_PKCS1_V1_5getInstance(String mdName)

Returns an instance of this object given a designated name of a hash function.

Method Detail

clone

public Object clone()

encode

public byte[] encode(byte[] mHash, int emLen)

Frames the hash of a message, along with an ID of the hash function in a DER sequence according to the specifications of EMSA-PKCS1-V1.5 as described in RFC-3447 (see class documentation).

Parameters: mHash the byte sequence resulting from applying the message digest algorithm Hash to the message M. emLen intended length in octets of the encoded message, at least tLen + 11, where tLen is the octet length of the DER encoding T of a certain value computed during the encoding operation.

Returns: encoded message, an octet string of length emLen.

Throws: IllegalArgumentException if the message is too long, or if the intended encoded message length is too short.

getInstance

public static final EMSA_PKCS1_V1_5 getInstance(String mdName)

Returns an instance of this object given a designated name of a hash function.

Parameters: mdName the canonical name of a hash function.

Returns: an instance of this object configured for use with the designated options.

Throws: UnsupportedOperationException if the hash function is not implemented or does not have an ID listed in RFC-3447.

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.