Home >> All >> gnu >> javax >> crypto >> [ key Javadoc ] |

• | gnu.javax.crypto.key.dh.* (14) | • | gnu.javax.crypto.key.srp6.* (13) |

**•**

**gnu.javax.crypto.key**: Javadoc index of package gnu.javax.crypto.key.

**Package Samples:**

**•**gnu.javax.crypto.key.dh

**•**gnu.javax.crypto.key.srp6

**Classes:**

**•**ElGamalKeyAgreement: The ElGamal key agreement, also known as the half-certified Diffie-Hellman key agreement, is described in the Handbook of Applied Cryptography [HAC] as follows: A sends to B a single message allowing one-pass key agreement. A obtains an authentic copy of B's public key (p, g, yb), where yb = g**xb. A chooses a random integer x, 1 <= x <= p-2, and sends B the message g**x. A computes the shared secret key K as yb**x. B computes the same key K on receipt of the previous message as (g**x)**xb. RFC-2631 describes an Ephemeral-Static Mode of operations with Diffie-Hellman keypairs as follows: ...

**•**DiffieHellmanKeyAgreement: The basic version of the Diffie-Hellman key agreement is described in the Handbook of Applied Cryptography [HAC] as follows: An appropriate prime p and generator g of Z p * (2 <= g <= p-2) are selected and published. A and B each send the other one message over an open channel; as a result, they both can then compute a shared secret key K which they can use to protect their future communication. A chooses a random secret x, 1 <= x <= p-2, and sends B message (1) which is g^x mod p. B chooses a random secret y, 1 <= y <= p-2, and sends A message (2) which is g^y mod p. B receives ...

**•**SRP6KeyAgreement: The Secure Remote Password (SRP) key agreement protocol, also known as SRP-6, is designed by Thomas J. Wu (see references). The protocol, and its elements are described as follows: N A large safe prime (N = 2q+1, where q is prime) All arithmetic is done modulo N. g A generator modulo N s User's salt I Username p Cleartext Password H() One-way hash function ^ (Modular) Exponentiation u Random scrambling parameter a,b Secret ephemeral values A,B Public ephemeral values x Private key (derived from p and s) v Password verifier The host stores passwords using the following formula: x = H(s | H(I ":" ...

**•**SRP6SaslClient: A variation of the SRP-6 protocol as used in the SASL-SRP mechanism, for the User (client side). In this alternative, the exchange goes as follows: C -> S: I (identifies self) S -> C: N, g, s, B = 3v + g^b (sends salt, b = random number) C -> S: A = g^a (a = random number) All elements are computed the same way as in the standard version. Reference: Secure Remote Password Authentication Mechanism K. Burdis, R. Naffah. SRP Protocol Design Thomas J. Wu.

**•**SRP6SaslServer: A variation of the SRP-6 protocol as used in the SASL-SRP mechanism, for the Host (server side). In this alternative, the exchange goes as follows: C -> S: I (identifies self) S -> C: N, g, s, B = 3v + g^b (sends salt, b = random number) C -> S: A = g^a (a = random number) All elements are computed the same way as in the standard version. Reference: Secure Remote Password Authentication Mechanism K. Burdis, R. Naffah. SRP Protocol Design Thomas J. Wu.

**•**GnuDHKey: A base asbtract class for both public and private Diffie-Hellman keys. It encapsulates the two DH numbers: p , and g . According to the JDK, cryptographic Keys all have a format . The format used in this implementation is called Raw , and basically consists of the raw byte sequences of algorithm parameters. The exact order of the byte sequences and the implementation details are given in each of the relevant getEncoded() methods of each of the private and public keys. Reference: Diffie-Hellman Key Agreement Method Eric Rescorla.

**•**IKeyring: The top-level interface to a keyring: a file that is used to store and protect public and private cryptographic keys. A keyring is modelled as a mapping of one alias to one or more entries (optionally of different types). See also the sub-interfaces IPublicKeyring and IPrivateKeyring for special types of keyrings --the difference being in the type of entries they contain.

**•**SRPKey: An abstract representation of a base SRP ephemeral key. This object encapsulates the two numbers: N : A large safe prime (N = 2q+1, where q is prime). g : A generator modulo N. Note that in SRP, all arithmetic is done modulo N. Reference: SRP Protocol Design Thomas J. Wu.

**•**SRP6TLSClient: A variation of the SRP6 key agreement protocol, for the client-side as proposed in Using SRP for TLS Authentication . The only difference between it and the SASL variant is that the shared secret is the entity S and not H(S) .

**•**SRP6TLSServer: A variation of the SRP6 key agreement protocol, for the server-side as proposed in Using SRP for TLS Authentication . The only difference between it and the SASL variant is that the shared secret is the entity S and not H(S) .

**•**SRPKeyPairRawCodec: An object that implements the gnu.java.security.key.IKeyPairCodec operations for the Raw format to use with SRP keypairs. Reference: SRP Protocol Design Thomas J. Wu.

**•**GnuSecretKey: A secret key composed of a sequence of raw, unformatted octets. This class is analogous to the javax.crypto.spec.SecretKeySpec class, but is provided for platforms that do not or cannot contain that class.

**•**RFC2631: An implementation of the Diffie-Hellman parameter generation as defined in RFC-2631. Reference: Diffie-Hellman Key Agreement Method Eric Rescorla.

**•**GnuDHKeyPairGenerator: An implementation of a Diffie-Hellman keypair generator. Reference: Diffie-Hellman Key Agreement Method Eric Rescorla.

**•**IPrivateKeyring: An interface to private, or "personal", keyrings, which contain private credentials. The contract is that each such entry is known by a unique alias . What about public keys? and certificate-path?

**•**GnuDHPrivateKey: An implementation of the Diffie-Hellman private key. Reference: Diffie-Hellman Key Agreement Method Eric Rescorla.

**•**GnuDHPublicKey: An implementation of the Diffie-Hellman public key. Reference: Diffie-Hellman Key Agreement Method Eric Rescorla.

**•**SRP6Host: The implementation of the Host in the SRP-6 key agreement protocol. Reference: SRP Protocol Design Thomas J. Wu.

**•**DHKeyPairRawCodec: An object that implements the gnu.java.security.key.IKeyPairCodec operations for the Raw format to use with Diffie-Hellman keypairs.

**•**SRPAlgorithm: Utilities for use with SRP-6 based methods and protocols. Reference: SRP Protocol Design Thomas J. Wu.

**•**SRP6User: The implementation of the User in the SRP-6 protocol. Reference: SRP Protocol Design Thomas J. Wu.

**•**SRPPrivateKey: A representation of an SRP ephemeral private key. Reference: SRP Protocol Design Thomas J. Wu.

**•**SRPPublicKey: A representation of an SRP ephemeral public key. Reference: SRP Protocol Design Thomas J. Wu.

**•**Properties: A set of (name => value) pairs used in keyring entries. Keys and values are simple strings, with the key never being empty and always treated case-insensitively.

**•**MaskableEnvelopeEntry: An envelope entry that can be "masked" -- placed in a state where the envelope's contents cannot be accessed, due to the envelope not being fully decoded, for example.

Home | Contact Us | Privacy Policy | Terms of Service |