|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--iaik.pkcs.pkcs1.PKCS1AlgorithmParameterSpec | +--iaik.pkcs.pkcs1.RSAOaepPSourceParameterSpec | +--iaik.pkcs.pkcs1.RSAOaepParameterSpec
Algorithm parameter specification for the PKCS#1 RSAES-OAEP encryption scheme.
PKCS#1v2.1 defines the following parameters for the OAEP encryption scheme:
RSASES-OAEP-params :: = SEQUENCE { hashAlgorithm [0] HashAlgorithm DEFAULT sha1, maskGenerationAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1, pSourceAlgorithm [2] PSourceAlgorithm DEFAULT pSpecifiedEmpty, } HashAlgorithm ::= AlgorithmIdentifer { {OAEP-PSSDigestAlgorithms} } MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} } PSourceAlgorithm ::= AlgorithmIdentifier { {PKCS1PSourceAlgorithms} }By default OAEP uses SHA-1 as hash function, MGF1 (with SHA-1 as hash function parameter) as mask generation algorithm, and id-pSpecified as PSourceAlgorithm (with an empty OCTET STRING as parameter).
Hash algorithm, mask generation function, and PSourceAlgorithm have to be
supplied when creating a creating
a RSAOaepParameterSpec object, e.g.:
// hash, mgf and pSource algorithm ids AlgorithmID hashID = (AlgorithmID)AlgorithmID.sha1.clone(); AlgorithmID mgfID = (AlgorithmID)AlgorithmID.mgf1.clone(); mgfID.setParameter(hashID.toASN1Object()); AlgorithmID pSourceID = (AlgorithmID)AlgorithmID.pSpecified.clone(); pSourceID.setParameter(new OCTET_STRING()); // hash and mgf engines MessageDigest hashEngine = hashID.getMessageDigestInstance(); MaskGenerationAlgorithm mgfEngine = mgfID.getMaskGenerationAlgorithmInstance(); MGF1ParameterSpec mgf1ParamSpec = new MGF1ParameterSpec(hashID); mgf1ParamSpec.setHashEngine(hashEngine); mgfEngine.setParameters(mgf1ParamSpec); // create the RSAOaepParameterSpec RSAOaepParameterSpec oaepParamSpec = new RSAOaepParameterSpec(hashID, mgfID, pSourceID); // set engines oaepParamSpec.setHashEngine(hashEngine); oaepParamSpec.setMGFEngine(mgfEngine);
RSAOaepParameters
,
MaskGenerationAlgorithm
,
MGF1
,
MGF1ParameterSpec
,
RSACipher
,
AlgorithmID
,
OCTET_STRING
Field Summary | |
static AlgorithmID |
DEFAULT_HASH_ALGORITHM
Default hash algorithm (SHA-1). |
static AlgorithmID |
DEFAULT_MASK_GEN_ALGORITHM
Default mask generation algorithm (MGF1 with SHA1 as hash algorithm) |
Fields inherited from class iaik.pkcs.pkcs1.RSAOaepPSourceParameterSpec |
DEFAULT_PSOURCE_ALGORITHM, pSourceAlgorithm_ |
Constructor Summary | |
RSAOaepParameterSpec()
Creates default RSAES-OAEP parameters. |
|
RSAOaepParameterSpec(AlgorithmID hashAlgorithm,
AlgorithmID maskGenAlgorithm,
AlgorithmID pSourceAlgorithm)
Creates a RSAOaepParameterSpec for the given hash algorithm, mask generation function, and pSource algorithm. |
Method Summary | |
Object |
clone()
Returns a clone of this Object. |
AlgorithmID |
getHashAlgorithm()
Returns the hash algorihtm. |
MessageDigest |
getHashEngine()
Gets the JCA MessageDigest engine used for data hashing. |
AlgorithmID |
getMaskGenAlgorithm()
Gets the mask generation algorithm. |
MaskGenerationAlgorithm |
getMGFEngine()
Gets the MaskGenerationAlgorithm engine. |
void |
setHashEngine(MessageDigest hashEngine)
Sets the JCA MessageDigest engine to be used for data hashing. |
void |
setMGFEngine(MaskGenerationAlgorithm mgfEngine)
Sets the MaskGenerationAlgorithm engine to be used. |
String |
toString()
Returns a string representation of this RSAOaepParameterSpec. |
Methods inherited from class iaik.pkcs.pkcs1.RSAOaepPSourceParameterSpec |
getDefault, getLabel, getPSourceAlgorithm, setLabel |
Methods inherited from class iaik.pkcs.pkcs1.PKCS1AlgorithmParameterSpec |
getSecureRandom, setSecureRandom |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final AlgorithmID DEFAULT_HASH_ALGORITHM
public static final AlgorithmID DEFAULT_MASK_GEN_ALGORITHM
Constructor Detail |
public RSAOaepParameterSpec()
By default OAEP uses SHA-1 as hash function, MGF1 (with SHA-1 as hash function parameter) as mask generation algorithm, and id-pSpecified as PSourceAlgorithm (with an empty OCTET STRING as parameter), see (see PKCS#1v2.1:
RSASES-OAEP-params :: = SEQUENCE { hashAlgorithm [0] HashAlgorithm DEFAULT sha1, maskGenerationAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1, pSourceAlgorithm [2] PSourceAlgorithm DEFAULT pSpecifiedEmpty, } HashAlgorithm ::= AlgorithmIdentifer { {OAEP-PSSDigestAlgorithms} } MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} } PSourceAlgorithm ::= AlgorithmIdentifier { {PKCS1PSourceAlgorithms} }
public RSAOaepParameterSpec(AlgorithmID hashAlgorithm, AlgorithmID maskGenAlgorithm, AlgorithmID pSourceAlgorithm)
hashAlgorithm
- the hash algorithm to be usedIllegalArgumentException
- if hashAlgorithm or maskGenAlgorithm or pSourceAlgorithm are nullMethod Detail |
public AlgorithmID getHashAlgorithm()
public AlgorithmID getMaskGenAlgorithm()
public void setHashEngine(MessageDigest hashEngine)
This method may be used to set a JCA MessageDigest engine to be used for
doing the any required hashing operations. If not set by this method, getHashEngine
will try to create a MessageDigest engine from
the hash algorithm id.
hashEngine
- the JCA MessageDigest engine to be usedpublic MessageDigest getHashEngine() throws NoSuchAlgorithmException
If method setHashEngine
has been used to set a
MessageDigest engine, this engine is returned; otherwise it is tried
to create a MessageDigest engine from the hash algorithm id.
public void setMGFEngine(MaskGenerationAlgorithm mgfEngine)
This method may be used to set a MaskGenerationAlgorithm engine. If not set
by this method, getMGFEngine
will try to create a MaskGenerationAlgorithm
engine from the mask generation algorithm id.
mgfEngine
- the MaskGenerationAlgorithm engine to be usedpublic MaskGenerationAlgorithm getMGFEngine() throws NoSuchAlgorithmException
If method setMGFEngine
has been used to set a
MGF engine, this engine is returned; otherwise it is tried
to create a MGF engine from the Mask generation algorithm id.
public Object clone()
clone
in class Object
public String toString()
toString
in class RSAOaepPSourceParameterSpec
|
This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |