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