|
For the latest news and information visit The GNU Crypto project |
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||||
See:
Description
| Interface Summary | |
|---|---|
| IKeyAgreementParty | The visible methods of an key agreement protocol participating party. |
| IKeyPairCodec | The visible methods of an object that knows how to encode and decode cryptographic asymmetric keypairs. |
| IKeyPairGenerator | The visible methods of every asymmetric keypair generator. |
| Class Summary | |
|---|---|
| BaseKeyAgreementParty | A base abstract class to facilitate implementations of concrete key agreement protocol handlers. |
| GnuSecretKey | A secret key composed of a sequence of raw, unformatted octets. |
| IncomingMessage | An implementation of an incoming message for use with key agreement protocols. |
| KeyAgreementFactory | A Factory class to generate key agreement protocol handlers. |
| KeyPairCodecFactory | A Factory class to instantiate key encoder/decoder instances. |
| KeyPairGeneratorFactory | A Factory to instantiate asymmetric keypair generators. |
| OutgoingMessage | An implementation of outgoing messages for use with key agreement protocols. |
| Exception Summary | |
|---|---|
| KeyAgreementException | A generic exception indicating that an unexpected condition has been detected during the setup and/or processing of a key agreement protocol exchange. |
Provides a basic API for algorithms to generate Public/Private keypairs, and Key Agreement schemes.
The contents of this package hierarchy is organised as follows:
The four key-pair generation algorithms currently implemented in this library are:
gnu.crypto.key.dh,gnu.crypto.key.dss,gnu.crypto.key.rsa,gnu.crypto.key.srp6.The Key Agreement protocols currently implemented in this library are:
The following diagram shows the important classes participating in key-pair generation:

The next diagram shows the important classes participating in key agreements:

The next two diagrams show the sequences involved in generating a keypair, and establishing a key agreement protocol.


The following example shows the code that can be used to generate a key- pair:
import gnu.crypto.sig.rsa.RSA; import gnu.crypto.key.rsa.RSAKeyPairGenerator; import java.math.BigInteger; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; import java.util.Random; ... RSAKeyPairGenerator kpg = new RSAKeyPairGenerator(); HashMap map = new HashMap(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger n1 = ((RSAPublicKey) kp.getPublic()).getModulus(); BigInteger e = ((RSAPublicKey) kp.getPublic()).getPublicExponent(); BigInteger n2 = ((RSAPrivateKey) kp.getPrivate()).getModulus(); BigInteger d = ((RSAPrivateKey) kp.getPrivate()).getPrivateExponent(); BigInteger p = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeP(); BigInteger q = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeQ(); BigInteger dP = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeExponentP(); BigInteger dQ = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeExponentQ(); BigInteger qInv = ((RSAPrivateCrtKey) kp.getPrivate()).getCrtCoefficient();
|
For the latest news and information visit The GNU Crypto project |
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||||