Activates (initialises) this provider instance.
Activates (initialises) this provider instance.
Activates (initialises) this provider instance.
Our underlying keypair instance.
Adds a designated
Entry
to this keyring.
What happens if there is already an entry with the same alias?
Adds an entry to this envelope.
Adds a designated
Entry
to this keyring.
What happens if there is already an entry with the same alias?
Adds the designated
Transformer
and signals that it should operate
in post-processing mode; i.e. it should apply its internal transformation
algorithm on the input data stream,
after it passes that stream to
the next element in the
chain.
Adds the designated
Transformer
and signals that it should operate
in pre-processing mode; i.e. it should apply its internal transformation
algorithm on the input data stream,
before it passes that stream to
the next element in the
chain.
Adjust the parity for a raw key array.
Transform a key so it will be parity adjusted.
AES is synonymous to Rijndael for 128-bit block size only.
The implementation of the AES Service Provider Interface
(SPI) adapter.
Returns an Enumeration
of all aliases (instances of
String
) in this keyring.
Returns an Enumeration
of all aliases (instances of
String
) in this keyring.
The ANONYMOUS client-side mechanism.
The ANONYMOUS server-side mechanism.
An ANONYMOUS-specific utility class.
Anubis is a 128-bit block cipher that accepts a variable-length key.
Trivial 0-arguments constructor.
The implementation of the Anubis Service Provider Interface
(SPI) adapter.
Adds to the end of the current chain, a designated
Stage
.
RC4 is a stream cipher developed by Ron Rivest.
Default 0-arguments constructor.
The attributes property name for the key bytes.
(Apparently) RC4 keystream PRNG.
The size of the internal S-box.
Implementation of the Service Provider Interface (SPI)
for the ARCFOUR keystream generator.
Default 0-arguments constructor.
The Service Provider Interface (SPI) for the ARCFOUR
stream cipher.
An
Assembly
is a construction consisting of a chain of
Transformer
elements; each wired in pre- or post- transformation
mode.
Trivial constructor that sets the chain to a
LoopbackTransformer
.
Computes the mac over this envelope's data.
The provider for authentication information.
The concrete SASL authentication information provider factory.
The authorisation identity.
The authorisation identity.
The list of server's available security options.
Most of this implementation is from Robert Harder's public domain Base64
code (version 1.4.1 available from <http://iharder.net/xmlizable>).
A basic abstract class to facilitate implementing symmetric key block
ciphers.
Trivial constructor for use by concrete subclasses.
A base abstract class to facilitate hash implementations.
Trivial constructor for use by concrete subclasses.
A base abstract class to facilitate implementations of concrete key
agreement protocol handlers.
A base abstract class to facilitate MAC (Message Authentication
Code) implementations.
Trivial constructor for use by concrete subclasses.
Trivial constructor for use by concrete subclasses.
A basic abstract class to facilitate implementing block cipher modes of
operations.
Trivial constructor for use by concrete subclasses.
An abstract class to facilitate implementing padding algorithms.
Trivial constructor for use by concrete subclasses.
An abstract class to facilitate implementing PRNG algorithms.
Trivial constructor for use by concrete subclasses.
A base abstract class to facilitate implementations of concrete
Signatures.
Signals the start of a new message to process with this UST
.
Signals the start of a new message to process with this UST
with a designated value.
Signals the start of a new message to process with this UST
with a designated value.
A binary data entry is a primitive entry that simply contains some amount
of arbitrary binary data and an optional content type.
Creates a new binary data entry.
Property name of ICM's block index length.
DES operates on 64 bit blocks.
Triple-DES only operates on 64 bit blocks.
An implementation of algorithm parameters for the GNU Crypto block
ciphers.
Block cipher parameters in GNU Crypto are the cipher's name, its block
and key sizes, and an optional initialization vector.
Create a new parameter specification.
Create a new parameter specification with no IV.
The length of blocks we are processing.
The hash (inner) block size in bytes.
The block size, in bytes, for this instance.
The cipher's block size, in bytes.
The curently set block-size for this instance.
Returns the algorithm's (inner) block size in bytes.
Returns an java.util.Iterator
over the supported block sizes.
Returns an Iterator
over the supported block sizes.
Returns the Set
of supported block sizes for this
Cascade
that are common to all of its chained stages.
Returns an Iterator
over the supported block sizes.
Returns an java.util.Iterator
over the supported block sizes.
Returns an Iterator
over the supported block sizes.
Returns an java.util.Iterator
over the supported block sizes.
Returns an java.util.Iterator
over the supported block sizes.
Returns the Set
of supported block sizes for this
Stage
.
Returns an java.util.Iterator
over the supported block sizes.
Returns an Iterator
over the supported block sizes.
Returns an java.util.Iterator
over the supported block sizes.
Returns the Set
of supported block sizes for this
Stage
.
Returns an java.util.Iterator
over the supported block sizes.
Blowfish is a 16-round, 64-bit Feistel cipher designed by Bruce
Schneier.
The implementation of the Blowfish Service Provider Interface
(SPI) adapter.
A temporary buffer to serve random bytes.
Returns a string of 2 hexadecimal digits (most significant digit first)
corresponding to the lowest 8 bits of n
.
Records a mapping between a session identifier and the Security Context
of the designated SRP server mechanism instance.
Records a mapping between a client's unique identifier and its security
context.
A Factory class that returns CALG (Confidentiality Algorithm) instances
that operate as described in the draft-burdis-cat-sasl-srp-08.
The designated CALG block cipher should be used in OFB (Output Feedback
Block) mode in the ISO variant, as described in
The Handbook of Applied
Cryptography, algorithm 7.20.
Let
k
be the block size of the chosen symmetric key block
cipher algorithm; e.g. for AES this is
128
bits or
16
octets.
A Cascade Cipher is the concatenation of two or more block ciphers
each with independent keys.
A Cascade Stage in a Cascade Cipher.
CAST5 is also known as CAST-128.
An implmenetation of the CAST5
(a.k.a.
Trivial 0-arguments constructor.
The implementation of the CAST5
(a.k.a.
CBC - class gnu.crypto.mode.
CBC The Cipher Block Chaining mode.
Package-private constructor for the factory class.
Cipher block chaining mode (NIST).
An immutable class representing a trusted certificate entry.
Creates a new certificate entry.
A primitive entry that contains a path of X.509 certificates.
CFB - class gnu.crypto.mode.
CFB The cipher feedback mode.
Package-private constructor for the factory class.
Cipher feedback mode (NIST).
Channel binding data to use with this mechanism instance.
Channel binding data to use with this mechanism instance.
A convenience method that returns, as a boolean, the library global
configuration property indicating if the implementations of symmetric
key block ciphers check, or not, for possible/potential weak and semi-weak
keys that may be produced in the course of generating round encryption
and/or decryption keys.
The client's chosen security options.
The underlying block cipher implementation.
Property name of underlying block cipher for this ICM generator.
The name of the underlying symmetric key block cipher algorithm.
CIPHER - static field in class gnu.crypto.exp.ust.
UST Property name of the keystream underlying cipher.
Property name of the block size in which to operate a block cipher.
The implementation of a generic
Cipher
Adapter class to
wrap GNU Crypto cipher instances.
This class defines the
Service Provider Interface (
SPI) for
the
Cipher
class, which provides the functionality of symmetric-key
block ciphers, such as the AES.
This base class defines all of the abstract methods in
CipherSpi
,
but does not define the (non-abstract) key wrapping functions that extended
the base cipher SPI, and these methods thus immediately throw an
UnsupportedOperationException
.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The block size, in bytes, to operate the underlying block cipher in.
A Factory to instantiate symmetric block cipher instances.
The underlying block cipher specification.
A tool to exercise a block cipher in order to measure its performance in
terms of encrypted/decrypted bytes per second.
Removes all properties from this object.
The client's evidence: M1.
The client's public ephemeral exponent: A.
The implementation of SaslClientFactory
.
A base class to facilitate implementing SASL client-side mechanisms.
The client-side implementation of the SRP security context store.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone of this instance.
Returns a clone copy of this instance.
Returns a clone of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone of this instance.
Returns a clone copy of this instance.
Creates a copy of this properties object.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Returns a clone copy of this instance.
Whether the exchange has concluded or not.
Whether authentication phase is completed (true) or not (false).
Whether authentication phase is completed (true) or not (false).
Property name of the confidentiality protection flag.
Available Cipher algorithms for confidentiality protection.
Used by mechanisms that offer a security services layer, this checked
exception is thrown to indicate that a violation has occured during the
processing of a confidentiality protection filter.
Constructs a new instance of ConfidentialityException
with no
detail message.
Constructs a new instance of ConfidentialityException
with
the specified detail message.
Constructs a new instance of ConfidentialityException
with a
detailed message and a root exception.
Name of the SHELL field in the plain password file.
The envelope that contains this one (if any).
Checks if a user with a designated name is known to this provider.
Checks if a user with a designated name is known to this provider.
Checks if a user with a designated name is known to this provider.
Tests whether or not this keyring contains the given alias.
Tests if this envelope contains a primitive entry with the
given alias.
Tests whether or not this keyring contains the given alias.
Tests if this keyring contains a certificate entry with the specified
alias
.
Tests if this keyring contains a certificate entry with the specified
alias
.
Checks if this keyring contains a certificate path with the given
alias
.
Checks if the current configuration file contains the <N, g> pair
for the designated index
.
Tests if this envelope contains the given entry.
Tests if this object contains a given property name.
Tests if this keyring contains a private key entry with the given
alias
.
Checks if this keyring contains a public key with the given
alias
.
Tests if this object contains a given property value.
Simple wrapper class around the session keys.
Default 0-arguments constructor.
Number of bytes processed so far.
The CRAM-MD5 mechanism authentication information provider implementation.
The CRAM-MD5 SASL client-side mechanism.
A list of properties common to CRAM-MD5 classes.
The CRAM-MD5 SASL server-side mechanism.
A package-private CRAM-MD5-specific utility class.
CTR - class gnu.crypto.mode.
CTR The implementation of the Counter Mode.
The algorithm steps are formally described as follows:
CTR Encryption: O[j] = E(K)(T[j]); for j = 1, 2...n;
C[j] = P[j] ^ O[j]; for j = 1, 2...n.
Trivial package-private constructor for use by the Factory class.
The current block size, in bytes.
Returns the currently set block size for the chain.
Returns the currently set block size for this instance.
Returns the currently set block size for the stage.
Returns the currently set block size for the stage.
Returns the block-size of this Transformer
.
The session key for this instance.
Separate the encoded message
EM
into an octet string
PS
consisting of nonzero octets and a message
M
as:
EM = 0x00 || 0x02 || PS || 0x00 || M.
The decoding operation EMSA-PSS-Decode recovers the message hash from
an encoded message EM
and compares it to the hash of
M
.
Decodes Base64 content in byte array format and returns the decoded byte
array.
Decodes a set of properties from the given input stream.
Decodes data from Base64 notation.
Decodes an instance of an external private key into its native Java
representation.
Decodes an instance of an external private key into its native Java
representation.
Decodes an instance of an external private key into its native Java
representation.
Decodes an instance of an external private key into its native Java
representation.
Decodes an instance of an external private key into its native Java
representation.
Decodes an instance of an external public key into its native Java
representation.
Decodes an instance of an external public key into its native Java
representation.
Decodes an instance of an external public key into its native Java
representation.
Decodes an instance of an external public key into its native Java
representation.
Decodes an instance of an external public key into its native Java
representation.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
An implementation of the RSADP
algorithm.
Decrypts exactly one block of ciphertext.
Decrypts exactly one block of ciphertext.
Constant indicating the instance is being used for decryption.
Default value for confidentiality protection security service.
Default value for integrity protection security service.
Default mandatory security service required.
Default password file (used by the server) pathname.
Default fully qualified pathname of the PLAIN password file.
Default fully qualified pathname of the SRP password file.
Default value for replay detection security service.
The default block size, in bytes.
Returns the default value, in bytes, of the mode's block size.
Returns the default value, in bytes, of the algorithm's block size.
Generic decoding method, which simply decodes the properties field
and reads the payload field.
The default key size, in bytes.
Returns the default value, in bytes, of the underlying block cipher
key size.
Returns the default value, in bytes, of the algorithm's key size.
A
Transformer
Adapter allowing inclusion of a DEFLATE compression
algorithm in an
Assembly
chain.
Trivial protected constructor.
Returns a designated number of bytes suitable for use in the SASL SRP
mechanism.
DES - class gnu.crypto.cipher.
DES The Data Encryption Standard.
DES() - constructor for class gnu.crypto.cipher.
DES Default 0-argument constructor.
TripleDES is also known as DESede.
The implementation of the DES Service Provider Interface
(SPI) adapter.
Property name of an optional DHGenParameterSpec
instance to use
for this generator.
An object that implements the
IKeyPairCodec
operations for the
Raw format to use with Diffie-Hellman keypairs.
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 Zp*
(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 message (1) and computes the shared key as K = (g^x)^y mod
p.
- A receives message (2) and computes the shared key as K = (g^y)^x mod
p.
RFC-2631 describes a
Static-Static Mode of operations with
Diffie-Hellman keypairs as follows:
"In Static-Static mode, both the sender and the recipient have a
static (and certified) key pair.
This implementation is the receiver's part of the basic version of the
Diffie-Hellman key agreement exchange (B in [HAC]).
This implementation is the sender's part of the basic version of the
Diffie-Hellman key agreement exchange (A in [HAC]).
Completes the MAC by performing final operations such as
padding and resetting the instance.
Completes the message digest by performing final operations such as
padding and resetting the instance.
Completes the MAC by performing final operations such as
padding and resetting the instance.
Convenience method to return the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
Similar to the same method with no arguments, but uses the designated
random number generator to compute needed keying material.
Convenience method to return the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
Name of the DIR field in the plain password file.
Name of the DIR field in the plain password file.
An enumeration type for wiring
Stage
instances into
Cascade
Cipher chains, as well as for operating a
Cascade
in a
given direction.
The possible values for this type are two:
- FORWARD: equivalent to
IMode.ENCRYPTION
, and
its inverse value
- REVERSED: equivalent to
IMode.DECRYPTION
.
Sets the connected field to false and instantiates a new
underlying mechanism client object.
Process the Clear part of the message.
Encrypts or decrypts, depending on the mode already set, a designated
array of bytes and returns the result.
Encrypts or decrypts, depending on the mode already set, a designated
array of bytes and returns the result.
Process the Opaque part of the message.
A convenience method that returns, as a boolean, the library global
configuration property indicating if RSA decryption (RSADP primitive),
does, or not, blinding against timing attacks.
DSA is synonymous to DSS.
DSA is synonymous to DSS.
Property name of an optional DSAParameterSpec
instance to use for
this generator's p
, q
, and g
values.
A base asbtract class for both public and private DSS (Digital Signature
Standard) keys.
Trivial protected constructor.
A key-pair generator for asymetric keys to use in conjunction with the DSS
(Digital Signature Standard).
References:
Digital Signature
Standard (DSS), Federal Information Processing Standards Publication 186.
The implementation of a
java.security.KeyPairGenerator
adapter class
to wrap gnu.crypto DSS keypair generator instances.
In case the client does not explicitly initialize the KeyPairGenerator (via
a call to an
initialize()
method), the GNU Crypto provider
uses a default
modulus size (keysize) of 1024 bits.
An object that implements the
IKeyPairCodec
operations for the
Raw format to use with DSS keypairs.
An object that embodies a DSS (Digital Signature Standard) private key.
An object that embodies a DSS (Digital Signature Standard) public key.
The implementation of
Service Provider Interface (
SPI) adapter
for the DSS (Digital Signature Standard) signature scheme, encoded and/or
decoded in RAW format.
The DSS (Digital Signature Standard) algorithm makes use of the following
parameters:
- p: A prime modulus, where
2L-1 < p < 2L
for 512 <= L <= 1024
and L
a
multiple of 64
.
- q: A prime divisor of
p - 1
, where 2159
< q < 2160
.
- g: Where
g = h(p-1)/q mod p
, where
h
is any integer with 1 < h < p - 1
such
that h (p-1)/q mod p > 1
(g
has order
q mod p
).
- x: A randomly or pseudorandomly generated integer with
0 < x
< q
.
- y:
y = gx mod p
.
- k: A randomly or pseudorandomly generated integer with
0 < k
< q
.
The integers
p
,
q
, and
g
can be
public and can be common to a group of users.
Trivial 0-arguments constructor.
An object that implements the
ISignatureCodec
operations for the
Raw format to use with DSS signatures.
Returns a hexadecimal dump of the trimmed bytes of a BigInteger
.
Returns the context of the designated hash as a string.
Dumps a byte array as a string, in a format that is easy to read for
debugging.
ECB - class gnu.crypto.mode.
ECB The implementation of the Electronic Codebook mode.
The Electronic Codebook (ECB) mode is a confidentiality mode that is
defined as follows:
- ECB Encryption: Cj = CIPHK(Pj) for j = 1...n
- ECB Decryption: Pj = CIPH-1K(Cj) for j = 1...n
In ECB encryption, the forward cipher function is applied directly, and
independently, to each block of the plaintext.
Trivial package-private constructor for use by the Factory class.
Electronic CodeBook mode.
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.
This implementation is the receiver's part of the ElGamal key agreement
exchange (B in [HAC]).
This implementation is the sender's part of the ElGamal key agreement
exchange (A in [HAC]).
An implementation of the EME-PKCS1-V1.5 encoding and decoding methods.
EME-PKCS1-V1.5 is parameterised by the entity
k
which is the
byte count of an RSA public shared modulus.
References:
- Public-Key Cryptography
Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.1.
Jakob Jonsson and Burt Kaliski.
EME-PKCS1-v1_5 padding as described in section 7.2 in RFC-3447.
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:
- Public-Key Cryptography
Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.1.
Jakob Jonsson and Burt Kaliski.
An implementation of the EMSA-PSS encoding/decoding scheme.
EMSA-PSS coincides with EMSA4 in IEEE P1363a D5 except that EMSA-PSS acts
on octet strings and not on bit strings.
Returns the encoded form of the current buffer including the 4-byte
length header.
Encodes a byte array into Base64 notation.
Generates an octet string PS
of length k - mLen -
3
consisting of pseudo-randomly generated nonzero octets.
Similar to
encode(byte[])
method, except that the source of
randomness to use for obtaining the padding bytes (an instance of
IRandom
) is given as a parameter.
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).
The encoding operation EMSA-PSS-Encode computes the hash of a message
M
using a hash function and maps the result to an encoded
message EM
of a specified length using a mask generation
function.
Encodes a byte array into Base64 notation.
This method is called when this entry needs to be written to an
output stream.
Encodes this set of properties to the given output stream.
Encodes this entry, protected by a password.
Encodes this entry, protected by a password.
Encodes this entry, protected by a password.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
This method is called of subclasses when the payload data needs to be
created.
Returns the encoded form of the designated Diffie-Hellman private key
according to the
Raw format supported by this library.
The
Raw format for a DH private key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_DH_PRIVATE_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter q
,
- 4-byte count of following bytes representing the DH parameter
p
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter p
,
- 4-byte count of following bytes representing the DH parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter g
,
- 4-byte count of following bytes representing the DH parameter
x
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter x
,
Returns the encoded form of the designated DSS (Digital Signature
Standard) private key according to the
Raw format supported by
this library.
The
Raw format for a DSA private key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_DSS_PRIVATE_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DSA parameter
p
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
p
,
- 4-byte count of following bytes representing the DSA parameter
q
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
q
,
- 4-byte count of following bytes representing the DSA parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
g
,
- 4-byte count of following bytes representing the DSA parameter
x
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
x
,
Encodes an instance of a private key for storage or transmission purposes.
Returns the encoded form of the designated RSA private key according to
the
Raw format supported by this library.
The
Raw format for an RSA private key, in this implementation,
is a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_RSA_PRIVATE_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
p
(the first prime factor of the modulus) in internet
order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter p
,
- 4-byte count of following bytes representing the RSA parameter
q
(the second prime factor of the modulus) in internet
order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter q
,
- 4-byte count of following bytes representing the RSA parameter
e
(the public exponent) in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter e
,
- 4-byte count of following bytes representing the RSA parameter
d
(the private exponent) in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter d
,
Returns the encoded form of the designated SRP private key according to
the
Raw format supported by this library.
The
Raw format for an SRP private key, in this implementation,
is a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_SRP_PRIVATE_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the SRP parameter
N
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
N
,
- 4-byte count of following bytes representing the SRP parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
g
,
- 4-byte count of following bytes representing the SRP parameter
x
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
x
,
- one byte which indicates whether the SRP parameter
v
is included in this encoding (value 0x01
) or not
(value 0x00
).
- 4-byte count of following bytes representing the SRP parameter
v
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
v
,
Returns the encoded form of the designated Diffie-Hellman public key
according to the
Raw format supported by this library.
The
Raw format for a DH public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_DH_PUBLIC_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter q
,
- 4-byte count of following bytes representing the DH parameter
p
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter p
,
- 4-byte count of following bytes representing the DH parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter g
,
- 4-byte count of following bytes representing the DH parameter
y
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DH parameter y
,
Returns the encoded form of the designated DSS (Digital Signature
Standard) public key according to the
Raw format supported by
this library.
The
Raw format for a DSA public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_DSS_PUBLIC_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DSA parameter
p
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
p
,
- 4-byte count of following bytes representing the DSA parameter
q
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
q
,
- 4-byte count of following bytes representing the DSA parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
g
,
- 4-byte count of following bytes representing the DSA parameter
y
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSA parameter
y
,
Encodes an instance of a public key for storage or transmission purposes.
Returns the encoded form of the designated RSA public key according to
the
Raw format supported by this library.
The
Raw format for an RSA public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_RSA_PUBLIC_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
n
(the modulus) in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter n
,
- 4-byte count of following bytes representing the RSA parameter
e
(the public exponent) in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the RSA parameter e
.
Returns the encoded form of the designated SRP public key according to
the
Raw format supported by this library.
The
Raw format for an SRP public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_SRP_PUBLIC_KEY
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the SRP parameter
N
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
N
,
- 4-byte count of following bytes representing the SRP parameter
g
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
g
,
- 4-byte count of following bytes representing the SRP parameter
y
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the SRP parameter
y
,
Returns the encoded form of the designated DSS (Digital Signature
Standard) signature object according to the
Raw format supported by
this library.
The
Raw format for a DSA signature, in this implementation, is a
byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_DSS_SIGNATURE
,
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DSS parameter
r
in internet order,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSS parameter r
,
- 4-byte count of following bytes representing the DSS parameter
s
,
- n-bytes representation of a
BigInteger
obtained by invoking
the toByteArray()
method on the DSS parameter s
.
Returns the encoded form of the designated RSA-PSS signature object
according to the
Raw format supported by this library.
The
Raw format for an RSA-PSS signature, in this implementation,
is a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
Registry.MAGIC_RAW_RSA_PSS_SIGNATURE
, -
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA-PSS signature
bytes in internet order,
- the RSA-PSS signature bytes in internet order.
Encrypts exactly one block of plaintext.
The full encryption algorithm is given in the following four steps.
INPUT: plaintext m1...m64; key K = k1...k128.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
An implementation of the RSAEP
algorithm.
Encrypts exactly one block of plaintext.
Encrypts exactly one block of plaintext.
Constant indicating the instance is being used for encryption.
Signals the end of the message transformation.
Return these parameters encoded in ASN.1 (DER).
Ent - class gnu.crypto.tool.
Ent This is a Java implementation of
Ent (A Pseudorandom Number
Sequence Test Program) developed by
John
Walker) which applies various tests to sequences of bytes generated by
the GNU Crypto library pseudo-random number generator implementations.
It is useful for those evaluating pseudorandom number generators for
encryption and statistical sampling applications, compression algorithms, and
other applications where the various computed indices are of interest.
For a designated PRNG algorithm, this class computes the following
indices:
- Chi-square test: The chi-square test is the most commonly used
test for the randomness of data, and is extremely sensitive to errors in
pseudorandom sequence generators.
An immutable class representing a single entry in a keyring.
Default constructor for use by subclasses.
An envelope entry is a generic container for some number of primitive
and other envelope entries.
Default constructor for use by subclasses.
Returns true
if the designated object is an instance of
DSAKey
and has the same DSS (Digital Signature Standard) parameter
values as this one.
Returns true
if the designated object is an instance of
DSAPrivateKey
and has the same DSS (Digital Signature Standard)
parameter values as this one.
Returns true
if the designated object is an instance of
DSAPublicKey
and has the same DSS (Digital Signature Standard)
parameter values as this one.
Returns true
if the designated object is an instance of
DHKey
and has the same Diffie-Hellman parameter values as this
one.
Returns true
if the designated object is an instance of
RSAKey
and has the same RSA parameter values as this one.
Returns true
if the designated object is an instance of
this class and has the same RSA parameter values as this one.
Returns true
if the designated object is an instance of
this class and has the same RSA parameter values as this one.
Returns true
if the designated object is an instance of
SRPKey
and has the same SRP parameter values as this one.
Returns true
if the designated object is an instance of
SRPPrivateKey
and has the same SRP parameter values as this
one.
Returns true
if the designated object is an instance of
SRPPublicKey
and has the same SRP parameter values as this one.
Property name of the size in bits (Integer) of the private exponent (x).
g - field in class gnu.crypto.key.dss.
DSSKey g = h(p-1)/q mod p
, where h
is any
integer with 1 < h < p - 1
such that h
(p-1)/q mod p > 1
(g
has order q mod p
).
g - field in class gnu.crypto.key.dh.
GnuDHKey The generator g.
g - field in class gnu.crypto.key.srp6.
SRPKey The generator.
Name of the GECOS field in the plain password file.
Name of the GECOS field in the plain password file.
Generates a new keypair based on the attributes used to configure the
instance.
The algorithm used here is described in nessie-pss-B.pdf
document which is part of the RSA-PSS submission to NESSIE.
Generates a new keypair based on the attributes used to configure the
instance.
generateM1(BigInteger,BigInteger,String,byte[],BigInteger,BigInteger,byte[],String,String,byte[],byte[]) - method in class gnu.crypto.sasl.srp.
SRP generateM2(BigInteger,byte[],byte[],String,String,String,byte[],int,byte[],byte[],byte[]) - method in class gnu.crypto.sasl.srp.
SRP This method generates the DSS p
, q
, and
g
parameters only when L
(the modulus length)
is not one of the following: 512
, 768
and
1024
.
Property name of the generator (g) of an SRP key.
Returns a
List
of entries (instances of
Entry
) for the
given
alias
, or
null
if there no such entry
exists.
Gets all primitive entries that have the given alias.
Returns a
List
of entries (instances of
Entry
) for the
given
alias
, or
null
if there no such entry
exists.
Returns the value mapped by the given key, or null if there is no
such mapping.
Returns the algorithm name, if any.
Returns the standard algorithm name for this key.
Returns the alias of this primitive entry.
Returns the list of all aliases contained by this envelope,
separated by a semicolon (';').
Get the block size of the cipher these parameters are for.
Returns the cause of this throwable or null
if the cause
is nonexistent or unknown.
Returns this entry's certificate.
Returns a certificate that has the given alias
, or
null
if this keyring has no such entry.
Returns a certificate that has the given alias
, or
null
if this keyring has no such entry.
Returns the certificate path with the given alias
, or
null
if there is no such entry.
Returns a Set
of names of symmetric key block cipher algorithms
available from this Provider
.
A provider may operate in more than mode; e.g.
A provider may operate in more than mode; e.g.
A provider may operate in more than mode; e.g.
Returns the content type of this entry, or null
if this
property is not set.
Returns the creation date of this primitive entry.
Returns this object's data field.
Returns the encoded key, which is merely the byte array this class was
created with.
Returns the encoded form of this private key according to the
designated format.
Returns the encoded form of this public key according to the designated
format.
Returns the encoded form of this private key according to the
designated format.
Returns the encoded form of this public key according to the designated
format.
Returns the encoded form of this private key according to the
designated format.
Returns the encoded form of this public key according to the designated
format.
Returns the encoded form of this private key according to the
designated format.
Returns the encoded form of this public key according to the designated
format.
Returns a copy of all entries this envelope contains.
Decodes a SASL EOS from the current buffer.
Returns the string "RAW".
Returns null
since this implementation does not encode SRP
keys.
Returns the unique identifier (within this library) of the format used
to externalise public and private keys.
Returns the unique identifier (within this library) of the format used
to externalise public and private keys.
Returns the unique identifier (within this library) of the format used
to externalise public and private keys.
Returns the unique identifier (within this library) of the format used
to externalise public and private keys.
Returns the unique identifier (within this library) of the format used
to externalise public and private keys.
Returns an input stream that reads from this open connection.
Returns an instance of a message given its encoded contents, excluding
the message's header bytes.
Calls the method with the same name and three arguments as:
getInstance(raw, 0, raw.length)
.
Returns an instance of a SASL buffer given the buffer's encoded contents,
excluding the buffer's header bytes.
Calls the method with the same name and three arguments as:
getInstance(raw, 0, raw.length)
.
A Factory mehod that returns an instance of a KDF
based on
supplied seed data.
Returns an instance of a keypair codec given a byte array that is
assumed to contain a previously encoded key (public or private).
Returns an instance of a message given its encoded contents, excluding
the message's header bytes.
Returns an instance of a SASL buffer given the buffer's encoded
contents, excluding the buffer's header bytes.
Returns an instance of a keypair codec given a key.
Returns an implementation of a provider for a designated mechanism
capable of honouring
IAuthInfoProvider
requests.
Returns an instance of a SASL-SRP CALG implementation.
Returns an instance of a block cipher given its name.
Returns an instance of this object given a designated name of a hash
function.
Returns an instance of this object given a designated name of a hash
function.
Return an instance of a hash algorithm given its name.
Return an instance of a
HMAC algorithm given the name of its
underlying hash function, prefixed with the literal defined in
Registry.HMAC_NAME_PREFIX
.
Returns an instance of a SASL-SRP IALG implementation.
Returns an implementation of a provider for a designated mechanism
capable of honouring
IAuthInfoProvider
requests.
Returns an instance of a keypair codec given its name.
Returns an instance of a keypair generator given its name.
Returns an instance of a MAC algorithm given its name.
Returns an instance of a padding algorithm given its name.
Returns an instance of a padding algorithm given its name.
Returns an instance of a signature-with-appendix scheme given its name.
Returns an instance of a block cipher mode of operations given its name
and characteristics of the underlying block cipher.
Get the initialization vector for the cipher, or null
if there is no IV.
Returns this entry's key.
Returns a Set
of names of keypair generator implementations
available from this Provider
.
Get the key size of the cipher these parameters are for.
Return the key stream this specification was initialized with.
Returns the MAC this stream is updating.
Returns the MAC this stream is updating.
Returns a Set
of names of MAC algorithms available from
this Provider
.
Returns a Set
of names of message digest algorithms available
from this Provider
.
Decodes a SASL MPI from the current buffer.
Returns the public shared modulus.
Returns a Set
of symmetric key block cipher implementation
names supported by this Factory.
Returns a Set
of names of hash algorithms supported by this
Factory.
Returns a java.util.Set
of names of HMAC algorithms
supported by this Factory.
Returns a Set
of key agreement protocol names supported by this
Factory.
Returns a Set
of keypair codec names supported by this
Factory.
Returns a Set
of keypair generator names supported by this
Factory.
Returns a java.util.Set
of names of MAC algorithms
supported by this Factory.
Returns a java.util.Set
of names of mode supported by this
Factory.
Returns a java.util.Set
of names of padding algorithms
supported by this Factory.
Returns a Set
of names of padding algorithms supported by this
Factory.
Returns a Set
of signature-with-appendix scheme names supported
by this Factory.
Returns a legible new session identifier.
Return the nonce material.
Decodes a SASL OS from the current buffer.
Returns an output stream that writes to this connection.
Returns an instance of a key agreeent protocol handler, for party
A
in a two-party A..B
exchange, given the
canonical name of this protocol.
Returns an instance of a key agreeent protocol handler, for party
B
in a two-party A..B
exchange, given the
canonical name of this protocol.
Returns this entry's payload data, or null if
Return the prefix, or null
if no prefix was
specified.
Returns the private key with the given alias
.
Returns this entry's properties object.
Returns the string representation of the library global configuration
property with the designated key
.
A convenience method to return the authentication information provider
for a designated SASL mechnanism.
Returns the public exponent e
.
Returns the public key with the given alias
, or
null
if there is no such entry.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Constructs the result from the contents of the current context.
Returns the number of rounds for a given Rijndael's key and block
sizes.
Returns a Set
of names of SASL Client mechanisms available from
this Provider
.
Returns a Set
of names of SASL Server mechanisms available from
this Provider
.
Decodes a SASL scalar quantity, count
-octet long, from the
current buffer.
Returns a Set
of names of secure random implementations
available from this Provider
.
Returns the byte array containing the shared secret as generated by
this party.
Returns the byte array containing the shared secret as generated by
this party.
Returns a Set
of names of signature scheme implementations
available from this Provider
.
Return the tag length this specification was initialized with.
Decodes a SASL Text from the current buffer.
Returns the user's verifier as a BigInteger
.
Returns the private exponent of the key as a BigInteger
.
Returns the public exponent of the key as a BigInteger
.
Name of the GID field in the plain password file.
Name of the GID field in the plain password file.
Provides a high-level API for combining and using GNU Crypto cipher, mode,
and padding primitives.
Provides a basic API for using symetric-key block cipher algorithms.
Provides a basic API for using message digest algorithms.
Provides a basic API for algorithms to generate Public/Private keypairs,
and Key Agreement schemes.
Provides a basic API for managing private and public authentication credentials
stored in file objects.
Provides a basic API for using Message Authentication Code (MAC) algorithms.
Provides a basic API for using block cipher Modes of Operation.
Provides a basic API for using block cipher padding algorithms.
Provides a basic API for using cryptographically strong pseudo random number
generation algorithms.
Provides concrete implementations of some SASL (Simple Authentication and
Security Layer) mechanisms.
Provides a basic API for algorithms to use Public/Private keypairs in Digital
Signature schemes.
The name of our Provider.
The GNU Crypto implementation of the Java Cryptographic Extension (JCE)
Provider.
A base asbtract class for both public and private Diffie-Hellman keys.
Trivial protected constructor.
A base asbtract class for both public and private RSA keys.
Trivial protected constructor.
A secret key composed of a sequence of raw, unformatted octets.
Creates a new secret key from a portion of a byte array.
Creates a new secret key.
Callback handler to use with this mechanism instance.
Callback handler to use with this mechanism instance.
A Factory to instantiate message digest algorithm instances.
The hash (output) size in bytes.
Returns the output length in bytes of this message digest algorithm.
A tool to exercise a hash in order to measure its performance in terms of
number of bytes per second.
Trial division for the first 1000 small primes.
Returns
true
if at least one small prime, among the first
1000 ones, was found to divide the designated number.
The HAVAL message-digest algorithm is a variable output length,
with variable number of rounds.
Calls the constructor with two argument using
HAVAL_128_BIT
as
the value for the output size (i.e.
Calls the constructor with two arguments using the designated output
size, and
HAVAL_3_ROUND
for the value of number of rounds.
Constructs a Haval
instance with the designated output
size (in bytes).
The implementation of the HAVAL-based SecureRandom
Service Provider
Interface (
SPI) Adapter.
The implementation of the
HAVAL
Service Provider Interface
(
SPI) Adapter.
The implementation of the
HMAC (Keyed-Hash Message Authentication
Code).
HMAC can be used in combination with any iterated cryptographic
hash function.
Trivial constructor for use by concrete subclasses.
Name prefix of every HMAC implementation.
A Factory to instantiate Keyed-Hash Message Authentication Code
(HMAC) algorithm instances.
The implementation of the HMAC-HAVAL Service Provider Interface
(SPI) Adapter.
The implementation of the HMAC-MD2 Service Provider Interface
(SPI) adapter.
The implementation of the HMAC-MD4 Service Provider Interface
(SPI) adapter.
The implementation of the HMAC-MD5 Service Provider Interface
(SPI) adapter.
The implementation of the HMAC-RIPEMD-128 Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the HMAC-RIPEMD-160 Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the HMAC-SHA-160 Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the HMAC-SHA-256 Service Provider Interface
(SPI) adapter.
The implementation of the HMAC-SHA-384 Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the HMAC-SHA-512 Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the Tiger Service Provider Interface
(SPI) adapter.
Creates a new cipher adapter with the default block size.
Protected constructor to be called by subclasses.
The implementation of the HMAC-Whirlpool Service Provider Interface
(SPI) adapter.
Converts a multi-precision integer (MPI) s
into an
octet sequence of length k
.
A Factory class that returns IALG (Integrity Algorithm) instances that
operate as described in the draft-burdis-cat-sasl-srp-04 and later.
The visible methods of any authentication information provider.
The visible method of every authentication information provider factory.
The basic visible methods of any symmetric key block cipher.
A symmetric key block cipher is a function that maps n-bit plaintext
blocks to n-bit ciphertext blocks; n being the cipher's
block size.
Package-private interface exposing mandatory methods to be implemented by
concrete
BaseCipher
sub-classes.
ICM - class gnu.crypto.mode.
ICM An implementation of
David McGrew Integer Counter Mode (ICM) as an
IMode
.
ICM is a way to define a pseudorandom keystream generator using a block
cipher.
Trivial package-private constructor for use by the Factory class.
Integer Counter Mode (David McGrew).
PRNG based on David McGrew's Integer Counter Mode.
Counter Mode is a way to define a pseudorandom keystream generator using
a block cipher.
Trivial 0-arguments constructor.
An
Adapter class around
ICMGenerator
to allow using this
algorithm as a JCE
java.security.SecureRandom
.
The visible methods of an key agreement protocol participating party.
The visible methods of an object that knows how to encode and decode
cryptographic asymmetric keypairs.
The visible methods of every asymmetric keypair generator.
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.
A checked exception thrown to indicate that an operation that should be
invoked on a completed mechanism was invoked but the authentication phase of
that mechanism was not completed yet, or that an operation that should be
invoked on incomplete mechanisms was invoked but the authentication phase of
that mechanism was already completed.
Constructs a new instance of IllegalMechanismStateException
with no detail message.
Constructs a new instance of IllegalMechanismStateException
with the specified detail message.
Constructs a new instance of IllegalMechanismStateException
with the specified detail message, and cause.
The basic visible methods of any MAC (Message Authentication Code)
algorithm.
A
MAC provides a way to check the integrity of information
transmitted over, or stored in, an unreliable medium, based on a secret key.
The basic visible methods of any hash algorithm.
A hash (or message digest) algorithm produces its output by iterating a
basic compression function on blocks of data.
The basic visible methods of any block cipher mode.
Block ciphers encrypt plaintext in fixed size n-bit blocks.
The internal buffer stream containing the message's contents.
The internal buffer stream containing the buffer's contents.
An implementation of an incoming message for use with key agreement
protocols.
Constructs an incoming message given the message's encoded form,
including its header bytes.
Property name of the KDF index
value to use in this
instance.
Property name of a UST index_length.
Initialises the internal fields of this instance.
Initialises a SASL-SRP CALG implementation.
Initialises the padding scheme with a designated block size.
Initialises the padding scheme with a designated block size.
Initialises the Assembly
for operation with specific
characteristics.
Sets up the instance to operate with specific attributes.
Initialises the pseudo-random number generator scheme with the
appropriate attributes.
Initialises the chain for operation with specific characteristics.
Initialises the mechanism with designated attributes.
Initialises the algorithm with designated attributes.
Sets up the instance to operate with specific attributes.
Initialises the algorithm with designated attributes.
Initialises the pseudo-random number generator scheme with the
appropriate attributes.
Initialises the Transformer
for operation with specific
characteristics.
Initialises the mechanism with designated attributes.
Initialises the stage for operation with specific characteristics.
Initialises the Transformer
for operation with specific
characteristics.
Initialises the algorithm with designated attributes.
Initialising a
UMAC instance consists of defining values for
the following parameters:
- Key Material: as the value of the attribute entry keyed by
UMac32
.
Initialise this instance with the designated set of attributes.
The possible attributes for a
UST
are:
CONFIDENTIALITY
: a java.lang.Boolean
that
indicates if Confidentiality Protection service is to be activated for
messages processed with this instance.
INTEGRITY
: a java.lang.Boolean
that indicates if
Integrity Protection service is to be activated for messages processed
with this instance.
KEYSTREAM
: a java.lang.String
that indicates the
algorithm name of the underlying keystream generators used with this
instance.
Whether the instance is initialised or not.
Indicate if this instance has already been initialised or not.
Constructs a SASL buffer given the buffer's encoded form, including its
header bytes.
Inserts a
Stage
into the current chain, at the specified index
(zero-based) position.
Returns the classloader Singleton.
Returns the classloader Singleton.
Returns an instance of this object that uses the designated message
digest algorithm as its digest function.
Property name of the integrity protection flag.
Available HMAC algorithms for integrity protection.
Used by mechanisms that offer a security services layer, this checked
exception is thrown to indicate that a violation has occured during the
processing of an integrity protection filter, including replay
detection.
Constructs a new instance of IntegrityException
with no
detail message.
Constructs a new instance of IntegrityException
with the
specified detail message.
Constructs a new instance of IntegrityException
with a
detailed message and a root exception.
Removes all information related to the designated session ID.
Removes the mapping between the designated SRP client unique identifier
and the its session security context (and other timing information).
The basic visible methods of any padding algorithm.
Padding algorithms serve to
pad and
unpad byte arrays usually
as the last step in an
encryption or respectively a
decryption
operation.
ipad - field in class gnu.crypto.mac.
HMac Trivial interface to group Password-based encryption property names.
An interface to private, or "personal", keyrings, which contain private
credentials.
An interface for keyrings that contain trusted (by the owner) public
credentials (incl. certificates).
The basic visible methods of any pseudo-random number generator.
The [HAC] defines a PRNG (as implemented in this library) as follows:
- "5.6 Definition: A pseudorandom bit generator (PRBG) is said to pass
the next-bit test if there is no polynomial-time algorithm which,
on input of the first
L
bits of an output sequence S
,
can predict the (L+1)
st bit of S
with a
probability significantly grater than 1/2
."
- "5.8 Definition: A PRBG that passes the next-bit test
(possibly under some plausible but unproved mathematical assumption such
as the intractability of factoring integers) is called a
cryptographically secure pseudorandom bit generator (CSPRBG)."
IMPLEMENTATION NOTE: Although all the concrete classes in this
package implement the
Cloneable
interface, it is important to note
here that such an operation, for those algorithms that use an underlting
symmetric key block cipher,
DOES NOT clone any session key material
that may have been used in initialising the source PRNG (the instance to be
cloned).
The optional
IRandom
instance to use.
Returns true
if the Time-To_live period has not elapsed.
Returns a boolean flag indicating if the designated session is still
alive or not.
Returns a boolean flag indicating if the designated client's session is
still alive or not.
Returns true
if the party in the key agreement protocol
exchange has completed its part of the exchange.
Returns true
if the party in the key agreement protocol
exchange has completed its part of the exchange.
Returns true
if the communications link with the end-point
has been established; false
otherwise.
The visible methods of every signature-with-appendix scheme.
The Handbook of Applied Cryptography (HAC), by A.
The visible methods of an object that knows how to encode and decode
cryptographic signatures.
Gets the masked state of this object.
Test if a byte array, which must be at least 8 bytes long, is parity
adjusted.
Tests if a byte array has already been parity adjusted.
Test if the designated byte array represents a possibly weak key.
Returns true
if this Transformer
was wired in
post-processing mode; false
otherwise.
Returns true
if this Transformer
was wired in
pre-processing mode; false
otherwise.
This implementation does not rely solely on the Miller-Rabin strong
probabilistic primality test to claim the primality of the designated
number.
A convenience method that returns, as a boolean, the library global
configuration property indicating if the default Pseudo Random Number
Generator produces, or not, the same bit stream when instantiated.
Test if a key is a semi-weak key.
Test if a key is a weak key.
Property name for the iteration count in a PBE algorithm.
The iteration count for password-based KDFs.
The initialisation vector value.
The initialization vector.
IV - static field in class gnu.crypto.mode.
IMode Property name of the initialisation vector to use, if required, with
this instance.
KDF - class gnu.crypto.sasl.srp.
KDF The SASL-SRP KDF implementation, which is also used, depending on how it
was instantiated, as a secure Pseudo Random Number Generator.
Property name of the user-supplied key material.
Property name of the UST user-supplied key material.
DES uses 56 bits of a 64 bit parity-adjusted key.
Triple-DES uses 168 bits of a parity-adjusted 192 bit key.
A generic exception indicating that an unexpected condition has been detected
during the setup and/or processing of a key agreement protocol exchange.
Constructs a new instance of KeyAgreementException
.
Constructs a new instance of KeyAgreementException
with a
detailed message.
Constructs a new instance of KeyAgreementException
with a
detailed message and a root exception.
A Factory class to generate key agreement protocol handlers.
A Factory class to instantiate key encoder/decoder instances.
The implementation of a generic
java.security.KeyPairGenerator
adapter class to wrap gnu.crypto keypair generator instances.
This class defines the
Service Provider Interface (
SPI) for the
java.security.KeyPairGenerator
class, which is used to generate pairs
of public and private keys.
All the abstract methods in the
java.security.KeyPairGeneratorSpi
class are implemented by this class and all its sub-classes.
In case the client does not explicitly initialize the KeyPairGenerator (via
a call to an
initialize()
method), the GNU Crypto provider
supplies (and document) default values to be used.
Trivial protected constructor.
A Factory to instantiate asymmetric keypair generators.
The top-level keyring data.
Property name for the source of data to load the keyring from.
Property name for the data sink to store the keyring to.
Property name for the keyring's top-level password, used to
authenticate and/or transform the store itself.
The cipher's key size, in bytes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an Iterator
over the supported underlying block cipher
key sizes.
Returns an Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Returns an java.util.Iterator
over the supported key sizes.
Property name of the keystream generator type to use.
Khazad is a 64-bit (legacy-level) block cipher that accepts a 128-bit key.
Trivial 0-arguments constructor.
The implementation of the Khazad Service Provider Interface
(SPI) adapter.
Initial value of S-box 1.
First hash stage of the UHash32 algorithm.
Trivial 0-arguments constructor.
Second hash stage of the UHash32 algorithm.
5.4 L2-HASH-32: Second-layer hash.
- Input:
K string of length 24 bytes.
M string of length less than 2^64 bytes.
- Returns:
Y, string of length 16 bytes.
Third hash stage of the UHash32 algorithm.
Convenience method that calls the method with same name and three
arguments using a 0-long byte array.
Convenience method that calls the same method with three arguments.
Convenience method that calls the same method with three arguments.
Convenience method that calls the method with same name and three
arguments, using a byte array of length 1
whose contents are
the designated byte.
Convenience method that calls the method with same name and three
arguments, using a byte array of length 1
whose contents are
the designated byte.
Convenience method that calls the method with same name and three
arguments.
Convenience method that calls the same method with three arguments.
Processes a designated number of bytes from a given byte array and
signals, at the same time, that this is the last push operation for
this Assembly
.
Processes a designated number of bytes from a given byte array and
signals, at the same time, that this is the last push operation on
this Transformer
.
The length of the message contents, according to its 4-byte header.
The length of the buffer, according to its header.
Returns the length (in bytes) of this SASL SRP Integrity Algorithm.
Tests if the number of bytes read has reached the limit.
A checked exception that indicates that a pseudo random number generated has
reached its theoretical limit in generating random bytes.
Loads a keyring into memory.
What happens to the current contents of this keyring?
Loads a keyring into memory.
What happens to the current contents of this keyring?
Returns a collection of information about a designated user.
Returns a collection of information about a designated user.
Returns a collection of information about a designated user.
Returns the triplet: verifier, salt and configuration file index, of a
designated user, and a designated message digest algorithm name, as an
array of strings.
Returns a pair of strings representing the pair of N
and
g
MPIs for the designated index
.
Trivial protected constructor.
Property name of the user-supplied key material.
The implementation of a generic
javax.crypto.Mac
adapter class
to wrap GNU Crypto MAC instances.
This class defines the
Service Provider Interface (
SPI) for
the
javax.crypto.Mac
class, which provides the functionality of a
message authentication code algorithm, such as the
Hashed Message
Authentication Code (
HMAC) algorithms.
Creates a new Mac instance for the given name.
A Factory that instantiates instances of every supported Message
Authentication Code algorithms, including all HMAC algorithms.
A filtering input stream that computes a MAC (message authentication code)
over all data read from the stream.
Creates a new MacInputStream.
The HMac (PRF) algorithm name.
A filtering output stream that computes a MAC (message authentication
code) over all data written to the stream.
Creates a new MacOutputStream
.
Returns the output length in bytes of this MAC algorithm.
Returns the output length in bytes of this MAC algorithm.
Accepts 0, 1 or 2 arguments.
Accepts 0, 1 or 2 arguments.
The main entry point for this tool.
Usage:
gnu.crypto.tool.NistKat (options) cipher [key-size]
Where:
cipher
The canonical name of the cipher algorithm.
The main entry point for the tool.
Usage:
gnu.crypto.tool.NistKat (options) cipher [key-size]
Where:
cipher
The canonical name of the cipher algorithm.
Simple test client that connects to the test server over SASL connections.
A simple test server that handles SASL connections.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a designated
block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a
designated block size.
Expands a user-supplied key material into a session key for a designated
block size.
String for no mandatory security service.
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.
Default constructor for use by subclasses.
The underlying message digest instance for this signature scheme.
MD2 - class gnu.crypto.hash.
MD2 An implementation of the MD2 message digest algorithm.
MD2 is not widely used.
MD2() - constructor for class gnu.crypto.hash.
MD2 Creates a new MD2 digest ready for use.
The implementation of the MD2-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the MD2 Service Provider Interface
(SPI) adapter.
Trivial 0-arguments constructor.
MD4 - class gnu.crypto.hash.
MD4 An implementation of Ron Rivest's MD4 message digest algorithm.
MD4 was the precursor to the stronger
MD5
algorithm, and while not considered cryptograpically secure itself, MD4 is
in use in various applications.
MD4() - constructor for class gnu.crypto.hash.
MD4 Public constructor.
The implementation of the MD4-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the MD4 Service Provider Interface
(SPI) adapter.
Trivial 0-arguments constructor.
MD5 - class gnu.crypto.hash.
MD5 The MD5 message-digest algorithm takes as input a message of arbitrary
length and produces as output a 128-bit "fingerprint" or "message digest" of
the input.
MD5() - constructor for class gnu.crypto.hash.
MD5 Trivial 0-arguments constructor.
The implementation of the MD5-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the MD5
Service Provider Interface (
SPI)
adapter.
Property name of underlying hash algorithm for this generator.
Name of the UID field in the plain password file.
PRNG based on a designated hash function.
A simple pseudo-random number generator that relies on a hash algorithm,
that (a) starts its operation by hashing a seed
, and then (b)
continuously re-hashing its output.
Trivial 0-arguments constructor.
The implementation of a generic
java.security.MessageDigest
adapter
class to wrap gnu.crypto hash instances.
This class defines the
Service Provider Interface (
SPI) for the
java.security.MessageDigest
class, which provides the functionality
of a message digest algorithm, such as MD5 or SHA.
Trivial protected constructor.
Minimum bitlength of the SRP public modulus.
Property name of the block size in which to operate this mode.
The block size, in bytes, in which to operate the mode instance.
A Factory to instantiate block cipher modes of operations.
An
IMode
Stage
in a
Cascade
Cipher chain.
Such a stage wraps an implementation of a Block Cipher Mode of Operation
(
IMode
) to allow inclusion of such an instance in a cascade of block
ciphers.
Property name of the length (Integer) of the modulus (p) of a DSS key.
Property name of the length (Integer) of the modulus of an RSA key.
Property name of the length (Integer) of the modulus (N) of an SRP key.
N - field in class gnu.crypto.key.srp6.
SRPKey The public, Germaine prime, shared modulus.
Indices of (N, g) parameter values for SRP (.conf) password database.
The canonical name prefix of the cipher.
The canonical name prefix of the hash.
The canonical name of the protocol.
The canonical name prefix of the MAC.
The canonical name prefix of this mode.
The canonical name prefix of the padding algorithm.
The canonical name prefix of the PRNG algorithm.
Returns the canonical name of the key agreement protocol.
Returns the canonical name of this instance.
Returns the canonical name of this instance.
Returns the canonical name of the key agreement protocol.
Returns the canonical name of this keypair generator.
Returns the canonical name of this algorithm.
Returns the canonical name of this algorithm.
Returns the canonical name of this instance.
Returns the canonical name of this signature scheme.
Returns the canonical name of this keypair generator.
Returns the canonical name of this keypair generator.
The index into buffer of where the next byte will come from.
A utility class to generate NESSIE test vectors for a designated cipher
algorithm and optionally a key size (in bits).
NOTE: The
set4 test vectors set will be generated iff the
global system environment variable named "TORTURE" is set.
A utility class to generate NESSIE test vectors for a designated hash
algorithm.
NOTE: The
test3 test vector will be generated iff the global
system environment variable named "TORTURE" is set.
Returns a new instance of the SRP message digest algorithm --which is
SHA-160 by default, but could be anything else provided the proper
conditions as specified in the SRP specifications.
Returns the next 8 bits of random data generated from this instance.
Returns the next 8 bits of random data generated from this instance.
Completely fills the designated buffer
with random data
generated by the underlying singleton.
Fills the designated byte array, starting from byte at index
offset
, for a maximum of length
bytes with the
output of this generator instance.
Fills the designated byte array, starting from byte at index
offset
, for a maximum of length
bytes with the
output of this generator instance.
Fills the designated buffer
, starting from byte at
position offset
with, at most, length
bytes of
random data generated by the underlying singleton.
Fills the designated byte array with random data.
Fills the designated byte array with random data.
For a designated symmetric block cipher algorithm, this command generates
and exercises Known Answer Tests data for either, or both, Variable Key and
Variable Text suites.
NistKat's output file format is in conformance with the layout described
in Section 3 of NIST's document "Description of Known Answer Tests and Monte
Carlo Tests for Advanced Encryption Standard (AES) Candidate Algorithm
Submissions" dated January 7, 1998.
References:
- Known
Answer Test (KAT) and Monte Carlo Test (MCT) Information
For a designated symmetric block cipher algorithm, this command generates
and exercises Monte Carlo Tests data for both Encryption and Decryption in
Electronic Codebook (ECB) and Cipher Block Chaining (CBC) modes.
NistMCT's output file format is in conformance with the layout described
in Section 4 of NIST's document "Description of Known Answer Tests and Monte
Carlo Tests for Advanced Encryption Standard (AES) Candidate Algorithm
Submissions" dated January 7, 1998.
References:
- Known
Answer Test (KAT) and Monte Carlo Test (MCT) Information
Property name of the user-supplied Nonce.
A checked exception thrown to indicate that a designated SASL mechanism
implementation was not found.
Constructs a NoSuchMechanismException
with the specified
detail message.
A checked exception thrown to indicate that a designated user is unknown to
the authentication layer.
Constructs a NoSuchUserException
with no detail message.
Constructs a NoSuchUserException
with the specified detail
message.
The implementation of a Null block cipher.
This cipher does not alter its input at all, claims to process block sizes
128-, 192- and 256-bit long, and key sizes from 64- to 512-bit in 8-bit
increments.
Trivial 0-arguments constructor.
The implementation of the Null cipher Service Provider Interface
(SPI) adapter.
p - field in class gnu.crypto.key.dss.
DSSKey A prime modulus, where 2L-1 < p < 2L
for 512 <= L <= 1024
and L
a multiple of
64
.
p - field in class gnu.crypto.key.dh.
GnuDHKey The public prime p.
Returns the byte sequence that should be appended to the designated input.
Returns the byte sequence that should be appended to the designated input.
Returns the byte sequence that should be appended to the designated input.
Returns the byte array to use as padding before completing a hash
operation.
Generates an array of padding bytes.
Returns the byte array to use as padding before completing a hash
operation.
Returns the byte array to use as padding before completing a hash
operation.
Returns the byte array to use as padding before completing a hash
operation.
Returns the byte array to use as padding before completing a hash
operation.
Returns the byte array to use as padding before completing a hash
operation.
A Factory to instantiate padding schemes.
Java port of Colin Plumb primality test (Euler Criterion)
implementation for a base of 2 --from bnlib-1.1 release, function
primeTest() in prime.c. this is his comments; (bn is our w).
"Now, check that bn is prime.
Checks Fermat's Little Theorem for base b; i.e.
Passivates (releases) this provider instance.
Passivates (releases) this provider instance.
Passivates (releases) this provider instance.
Applies the Miller-Rabin strong probabilistic primality test.
The HAC (Handbook of Applied Cryptography), Alfred Menezes & al.
Property name for the password in a PBE algorithm.
Name of the SRP password database property --a reference to
PasswordFile
object.
Name of the password file (used by the server) property.
Name of PLAIN password file property.
Name of the main SRP password file pathname property.
The user's password verifier.
An entry authenticated with a password-based MAC.
An envelope that is encrypted with a password-derived key.
The CRAM-MD5 password file representation.
A representation of a Plain password file.
The implementation of SRP password files.
For SRP, there are three (3) files:
- The password configuration file: tpasswd.conf.
An implementation of the key derivation function KDF2 from PKCS #5:
Password-Based Cryptography (PBE).
Creates a new PBKDF2 object.
PRNG based on PBKDF2 from PKCS #5 v.2.
A padding algorithm implementation of the EME-PKCS1-V1.5 encoding/decoding
algorithm as described in section 7.2 of RFC-3447.
Trivial package-private constructor for use by the Factory class.
The implementation of the PKCS7 padding algorithm.
This algorithm is described for 8-byte blocks in [RFC-1423] and extended to
block sizes of up to 256 bytes in [PKCS-7].
References:
RFC-1423: Privacy
Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and
Identifiers.
IETF.
Trivial package-private constructor for use by the
Factory class.
The PLAIN mechanism authentication information provider implementation.
The PLAIN SASL client-side mechanism.
The PLAIN SASL server-side mechanism.
pool - static field in class gnu.crypto.tool.
SaslS Possible weak keys (parity adjusted) --produce 4 instead of 16 subkeys.
Adds to the begining of the current chain, a designated
Stage
.
A collection of prime number related utilities used in this library.
The prime numbers used in UMAC are:
+-----+--------------------+---------------------------------------+
| x | prime(x) [Decimal] | prime(x) [Hexadecimal] |
+-----+--------------------+---------------------------------------+
| 19 | 2^19 - 1 | 0x0007FFFF |
| 32 | 2^32 - 5 | 0xFFFFFFFB |
| 36 | 2^36 - 5 | 0x0000000F FFFFFFFB |
| 64 | 2^64 - 59 | 0xFFFFFFFF FFFFFFC5 |
| 128 | 2^128 - 159 | 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFF61 |
+-----+--------------------+---------------------------------------+
Property name of the size in bits (Integer) of the public prime (p).
A primitive entry is an entry that contains a single cryptographic entity.
Default constructor for use by subclasses.
Prints this exception's stack trace to System.err
.
Prints this exception's stack trace to System.err
.
Prints this exception's stack trace to a print stream.
Prints this exception's stack trace to a print stream.
Prints this exception's stack trace to a print writer.
Prints this exception's stack trace to a print writer.
The private key to use when generating signatures (signing).
An immutable class representing a private or secret key entry.
A useful Singleton hash-based (SHA) pseudo-random number generator used
throughout this library.
A Factory to instantiate pseudo random number generators.
Processes an incoming message at one end, generating a message that
will be processed by the other party(ies).
Processes an incoming message at one end, generating a message that
will be processed by the other party(ies).
Properties of qualities desired for this mechanism.
This entry's property set.
A global object containing build-specific properties that affect the
behaviour of the generated binaries from this library.
A set of (name => value)
pairs used in keyring entries.
Properties of qualities desired for this mechanism.
Creates a new properties object.
Name of protocol using this mechanism.
Name of protocol using this mechanism.
The public key to use when verifying signatures.
Adds a new property to this object.
Adds a certificate in this keyring, with the given
alias
.
What happens if there is already a certificate entry with this alias?
Adds a certificate in this keyring, with the given
alias
.
What happens if there is already a certificate entry with this alias?
Sets a certificate path entry.
Adds a private key to this keyring.
Constant identifying the Raw encoding format.
Constant identifying the Raw encoding format.
We use "rc4" as an alias for "arcfour".
Reads the next byte of data from the input stream.
Reads up to len
bytes of data from the underlying
source input stream into an array of bytes.
Decodes an MPI from the current message's contents.
A placeholder for names and literals used throughout this
library.
Removes the specified entry.
Removes an entry with the designated alias
from this
keyring.
Removes all primitive entries that have the specified alias.
Removes an entry with the designated alias
from this
keyring.
Removes a key and its value from this object.
Resets the Assembly
for re-initialisation and use with other
characteristics.
Resets this instance for re-use with another set of attributes.
Resets this keyring, clearing all sensitive data.
Resets the scheme instance for re-initialisation and use with other
characteristics.
Resets the chain for re-initialisation and use with other characteristics.
Resets the mechanism instance for re-initialisation and use with other
characteristics.
Resets the algorithm instance for re-initialisation and use with other
characteristics.
Resets this instance for re-use with another set of attributes.
Resets this keyring, clearing all sensitive data.
Resets the algorithm instance for re-initialisation and use with other
characteristics.
Resets the current context of this instance clearing any eventually cached
intermediary values.
Resets the scheme instance for re-initialisation and use with other
characteristics.
Resets the Transformer
for re-initialisation and use with
other characteristics.
Resets the mechanism instance for re-initialisation and use with other
characteristics.
Resets the stage for re-initialisation and use with other characteristics.
Resets the Transformer
for re-initialisation and use with
other characteristics.
Resets the algorithm instance for re-initialisation and use with other
characteristics.
Reset this instance and prepare for processing a new message.
Resets the instance for future re-use.
Resets the instance for future re-use.
Resets the instance for future re-use.
Resets the instance for future re-use.
Resets the instance for future re-use.
Resets the instance for future re-use.
Resets the instance for future re-use.
Updates the mapping between the designated session identifier and the
designated server's SASL Security Context.
Returns an SRP client's security context record mapped by that client's
unique identifier.
Rijndael --pronounced Reindaal-- is the AES.
Trivial 0-arguments constructor.
The implementation of the Rijndael Service Provider Interface
(SPI) adapter.
RIPEMD-128 is a 128-bit message digest.
References:
-
RIPEMD160: A Strengthened Version of RIPEMD.
Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Trivial 0-arguments constructor.
The implementation of the RIPEMD128-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the RIPEMD-128
Service Provider Interface
(
SPI) adapter.
RIPEMD-160 is a 160-bit message digest.
References:
-
RIPEMD160: A Strengthened Version of RIPEMD.
Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Trivial 0-arguments constructor.
The implementation of the RIPEMD160-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the RIPEMD-160
Service Provider Interface
(
SPI) adapter.
RIPEMD-128 is synonymous to RIPEMD128.
RIPEMD-160 is synonymous to RIPEMD160.
The optional SecureRandom
instance to use.
RSA - class gnu.crypto.sig.rsa.
RSA Property name of an optional RSAKeyGenParameterSpec
instance to
use for this generator's n
, and e
values.
The implementation of a
java.security.KeyPairGenerator
adapter class
to wrap gnu.crypto RSA keypair generator instances.
In case the client does not explicitly initialize the KeyPairGenerator (via
a call to an
initialize()
method), the GNU Crypto provider
uses a default
modulus size (keysize) of 1024 bits.
An object that implements the
IKeyPairCodec
interface for the
Raw format to use with RSA keypairs.
Default 0-arguments constructor.
Constructs an instance of this object using the designated message
digest algorithm as its underlying hash function.
The implementation of
Service Provider Interface (
SPI) adapter
for the RSA-PSS signature scheme, encoded and/or decoded in RAW format.
The RSA-PSS signature scheme is a public-key encryption scheme combining
the RSA algorithm with the Probabilistic Signature Scheme (PSS) encoding
method.
The inventors of RSA are Ronald L.
Default 0-arguments constructor.
Constructs an instance of this object using the designated message
digest algorithm as its underlying hash function, and having 0-octet
salt.
Constructs an instance of this object using the designated message
digest algorithm as its underlying hash function.
An object that implements the
ISignatureCodec
operations for the
Raw format to use with RSA-PSS signatures.
SALT - static field in class gnu.crypto.prng.
IPBE Property name for the salt in a PBE algorithm.
Name of the GECOS field in the plain password file.
Name of authentication information provider packages.
The size limit, in bytes, of a SASL Buffer.
The size limit, in bytes, of a SASL EOS (Extended Octet Sequence) element.
The size limit, in bytes, of a SASL OS (Octet Sequence) element.
Name of password property.
The size limit, in bytes, of both a SASL MPI (Multi-Precision Integer)
element and a SASL Text element.
Name of username property.
A basic client-side test class to exercise SASL mechanisms.
The
main()
method accepts two arguments: the first is the
number of threads, and the second is the port number on which the (local)
server is listening.
A sample client-side protocol driver.
A checked exception, thrown when an exception occurs while decoding a SASL
buffer and/or a SASL data element from/to a buffer.
Constructs a SaslEncodingException
with no detail message.
Constructs a SaslEncodingException
with the specified detail
message.
An input stream that uses either a SaslClient
or a SaslServer
to process the data through these entities' security layer filter(s).
An output stream that uses either a SaslClient
or a SaslServer
to process the data through these entities' security layer filter(s).
A basic server-side test class to exercise SASL mechanisms that exchange
their response/challenge in SASL Buffers.
Utility methods for SASL-related classes.
The canonical name of this signature scheme.
The implementation of a generic
java.security.SecureRandom
adapter
class to wrap gnu.crypto prng instances based on Message Digest algorithms.
This class defines the
Service Provider Interface (
SPI) for
the
java.security.SecureRandom
class, which provides the
functionality of a cryptographically strong pseudo-random number generator.
All the abstract methods in the
SecureRandomSpi
class are
implemented by this class and all its sub-classes.
Trivial protected constructor.
A package-private placeholder for an SRP security context.
SecurityContext(String,byte[],byte[],byte[],byte[],boolean,int,int,gnu.crypto.sasl.srp.IALG,gnu.crypto.sasl.srp.IALG,gnu.crypto.sasl.srp.CALG,gnu.crypto.sasl.srp.CALG) - constructor for class gnu.crypto.sasl.srp.
SecurityContext Property name of seed material.
Property name of ICM's segment index.
Property name of ICM's segment index length.
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A basic symmetric pad/unpad test.
Conducts a simple correctness test that consists of basic symmetric
encryption / decryption test(s) for all supported block and key sizes of
underlying block cipher(s) wrapped by Mode leafs.
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A basic symmetric pad/unpad test.
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
Conducts a simple correctness test that consists of basic symmetric
encryption / decryption test(s) for all supported block and key sizes of
underlying block cipher(s) wrapped by Mode leafs.
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
A correctness test that consists of basic symmetric encryption /
decryption test(s) for all supported block and key sizes, as well as one
(1) variable key Known Answer Test (KAT).
Conducts a simple correctness test that consists of basic symmetric
encryption / decryption test(s) for all supported block and key sizes of
underlying block cipher(s) wrapped by Mode leafs.
Semi-weak keys (parity adjusted): Some pairs of keys encrypt plain text
to identical cipher text.
Serpent is a 32-round substitution-permutation network block cipher,
operating on 128-bit blocks and accepting keys of 128, 192, and 256 bits in
length.
Trivial zero-argument constructor.
The implementation of the Serpent Service Provider Interface
(SPI) adapter.
Server does not need to, or cannot, authenticate to the client.
Server must authenticate to the client.
The server's evidence: M2.
The server's public ephemeral exponent: B.
The implementation of the SaslServerFactory
.
A base class to facilitate implementing SASL server-side mechanisms.
Name of server to authenticate to.
Name of server to authenticate to.
The server-side implementation of the SRP security context store.
A convenience method to set the global property for checking for weak
and semi-weak cipher keys.
A convenience method to set the global property fo adding a blinding
operation when executing the RSA decryption primitive.
Encodes a SASL EOS to the current buffer.
Sets the MAC this stream is updating, which must have already been
initialized.
Sets the MAC this stream is updating, which must have already been
initialized.
Sets the masked state to the specified value.
Sets the operational mode of this Transformer
.
Encodes a SASL MPI to the current buffer.
Encodes a SASL OS to the current buffer.
Sets the value of a designated library global configuration property,
to a string representation of what should be a legal value.
A convenience method to set the global property for reproducibility of
the default PRNG bit stream output.
Encodes a SASL scalar quantity, count
-octet long, to the
current buffer.
Encodes a SASL Text to the current buffer.
The initialisation phase of the concrete mode implementation.
If any additional checks or resource setup must be done by the
subclass, then this is the hook for it.
The initialisation phase of the concrete mode implementation.
The initialisation phase of the concrete mode implementation.
If any additional checks or resource setup must be done by the
subclass, then this is the hook for it.
Configures this instance.
[Re]-initialises this instance for use with a given set of attributes.
Configures this instance.
[Re]-initialises this instance for use with a given set of attributes.
Initialises this instance for signature generation.
Initialises this instance for signature verification.
The Secure Hash Algorithm (SHA-1) is required for use with the Digital
Signature Algorithm (DSA) as specified in the Digital Signature Standard
(DSS) and whenever a secure hash algorithm is required for federal
applications.
Trivial 0-arguments constructor.
The implementation of the SHA1-based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the SHA-1 (160-bit)
Service Provider Interface
(
SPI) adapter.
SHA1 is synonymous to SHA-160.
Trivial 0-arguments constructor.
The implementation of the SHA-256 based SecureRandom Service Provider
Interface (SPI) adapter.
The implementation of the SHA-2-1 (256-bit) Service Provider Interface
(SPI) adapter.
Trivial 0-arguments constructor.
The implementation of the SHA-384 based SecureRandom Service Provider
Interface (SPI) adapter.
The implementation of the SHA-2-2 (384-bit) Service Provider Interface
(SPI) adapter.
Trivial 0-arguments constructor.
The implementation of the SHA-512 based SecureRandom Service Provider
Interface (SPI) adapter.
The implementation of the SHA-2-3 (512-bit) Service Provider Interface
(SPI) adapter.
SHA-1 is synonymous to SHA-160.
SHA is synonymous to SHA-160.
Property name of the modulus (N) of an SRP key.
The public shared modulus: n.
Name of the SHELL field in the plain password file.
Name of the SHELL field in the plain password file.
Terminates a signature generation phase by digesting and processing the
context of the underlying message digest algorithm instance.
An implementation of the
RSASP method: Assuming that the
designated RSA private key is a valid one, this method computes a
signature representative for a designated
message
representative signed by the holder of the designated RSA private
key.
The implementation of a generic
java.security.Signature
adapter class
to wrap gnu.crypto signature instances.
This class defines the
Service Provider Interface (
SPI) for the
java.security.Signature
class, which provides the functionality of a
digital signature algorithm.
Trivial protected constructor.
A Factory to instantiate signature-with-appendix handlers.
Property name of the signer's private key.
A simple CallbackHandler
for test purposes.
Returns the number of entries in this keyring.
Returns the current number of stages in this chain.
Returns the number of entries in this keyring.
Property name of an optional SecureRandom
instance to use.
Property name of an optional SecureRandom
instance to use.
Property name of an optional
java.security.SecureRandom
,
java.util.Random
, or
IRandom
instance to
use.
Property name of an optional SecureRandom
instance to use.
Property name of an optional SecureRandom
instance to use.
Trivial 0-arguments constructor.
The implementation of the Square Service Provider Interface
(SPI) adapter.
SRP - class gnu.crypto.sasl.srp.
SRP A Factory class that returns SRP Singletons that know all SRP-related
mathematical computations and protocol-related operations for both the
client- and server-sides.
The implementation of the Host in the SRP-6 key agreement protocol.
Reference:
- SRP Protocol Design
Thomas J.
The Secure Remote Password (SRP) key agreement protocol, also known as
SRP-6, is designed by Thomas J.
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.
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.
Available hash algorithms for all SRP calculations.
Name of SRP confidentiality protection property.
The name of the default message digest algorithm to use when no name is
explicitely given.
The property name of the message digest algorithm name to use in a given
SRP incarnation.
Name of underlying hash algorithm for use with all SRP calculations.
Name of SRP integrity protection property.
Name of SRP mandatory service property.
Name of SRP replay detection property.
Utilities for use with SRP-6 based methods and protocols.
Reference:
- SRP Protocol Design
Thomas J.
The SRP mechanism authentication information provider implementation.
The SASL-SRP client-side mechanism.
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.
Public constructor for use from outside this package.
Public constructor for use from outside this package.
Public constructor for use from outside this package.
A list of key names designating the values exchanged between the server
and client in an SRP communication authentication phase.
The SASL-SRP server-side mechanism.
A
Stage in a Cascade Cipher.
Each stage may be either an implementation of a Block Cipher Mode of
Operation (
IMode
) or another Cascade Cipher (
Cascade
).
The ordered list of Stage UIDs to their attribute maps.
The map of Stages chained in this cascade.
Returns an Iterator
over the stages contained in this instance.
The state indicator of this instance.
The state of the authentication automaton.
STATE - static field in class gnu.crypto.mode.
IMode Property name of the state in which to operate this mode.
The state of the authentication automaton.
The current step index of the protocol exchange.
Stores the contents of this keyring to persistent storage as specified
by the designated attributes
.
Stores the contents of this keyring to persistent storage as specified
by the designated attributes
.
A simple timing-related object for use by SRP re-use code.
Property name of the authentication tag length in bytes.
TBC - class gnu.crypto.pad.
TBC The implementation of the Trailing Bit Complement (TBC) padding algorithm.
In this mode, "...the data string is padded at the trailing end with the
complement of the trailing bit of the unpadded message: if the trailing bit
is
1, then
0 bits are appended, and if the trailing bit is
0, then
1 bits are appended.
TBC() - constructor for class gnu.crypto.pad.
TBC Trivial package-private constructor for use by the
Factory class.
Trailing Bit Complement padding scheme.
The termination phase of the concrete mode implementation.
The termination phase of the concrete mode implementation.
The termination phase of the concrete mode implementation.
The Tiger message digest.
Trivial 0-arguments constructor.
The implementation of the Tiger based SecureRandom
Service Provider
Interface (
SPI) adapter.
The implementation of the Tiger Service Provider Interface
(SPI) adapter.
Trivial 0-arguments constructor.
TMMH is a universal hash function suitable for message
authentication in the Wegman-Carter paradigm, as in the Stream Cipher
Security Transform.
The Truncated Multi-Modular Hash Function -v1 (David McGrew).
Trivial 0-arguments constructor.
The implementation of the TMMH16 Service Provider Interface
(SPI) adapter.
This class represents the algorithm parameters for the Truncated
Multi-Modular Hash function for use with JCE-derived instances of
TMMH16
.
Create a new parameter specification with no prefix.
Create a new parameter specification.
Converts a designated byte array to a Base-64 representation, with the
exceptions that (a) leading 0-byte(s) are ignored, and (b) the character
'.' (dot) shall be used instead of "+' (plus).
Used by SASL password file manipulation primitives.
Returns the encoded form of the current message including the 4-byte
length header.
Returns a byte array from a string of hexadecimal digits.
Returns a byte array from a string of hexadecimal digits, interpreting
them as a large big-endian integer and returning it as a large
little-endian integer.
Returns a string of hexadecimal digits from a byte array.
Returns a string of hexadecimal digits from a byte array, starting at
offset
and consisting of length
bytes.
Returns the string representation of this exception.
Returns the string representation of this exception.
Returns a string of hexadecimal digits from a byte array.
Returns a string of hexadecimal digits from a byte array, starting at
offset
and consisting of length
bytes.
Returns a string of 8 hexadecimal digits (most significant digit first)
corresponding to the unsigned integer n
.
Returns a string of hexadecimal digits from an integer array.
Returns a string of 16 hexadecimal digits (most significant digit first)
corresponding to the unsigned long n
.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes.
The block digest transformation per se.
Adds BLOCK_LENGTH
bytes to the running digest.
The block digest transformation per se.
The block digest transformation per se.
The block digest transformation per se.
The block digest transformation per se.
The block digest transformation per se.
A Transformer
is an abstract representation of a two-way
transformation that can be chained together with other instances of
this type.
Trivial protected constructor.
Treats the input as the MSB representation of a number, and discards
leading zero elements.
Triple-DES, 3DES, or DESede is a combined cipher that uses
three iterations of the Data Encryption Standard cipher to improve
the security (at the cost of speed) of plain DES.
Default 0-arguments constructor.
The implementation of the Triple-DES Service Provider Interface
(SPI) adapter.
Property name of the desired truncated output size in bytes.
The length of the truncated output in bytes.
TWO - static field in class gnu.crypto.mac.
UHash32 Converts two octets into the number that they represent.
Converts two octets into the number that they represent.
Twofish is a balanced 128-bit Feistel cipher, consisting of 16 rounds.
Trivial 0-arguments constructor.
The implementation of the Twofish Service Provider Interface
(SPI) adapter.
type - field in class gnu.crypto.keyring.
Entry This entry's type identifier.
UHASH is a keyed hash function, which takes as input a string of
arbitrary length, and produces as output a string of fixed length (such as 8
bytes).
Message Authentication Code using Universal Hashing (Ted Krovetz).
Trivial 0-arguments constructor.
The implementation of the UHash-32 Service Provider Interface
(SPI) adapter.
Name of the UID field in the plain password file.
Name of the UID field in the plain password file.
The implementation of the
UMAC (Universal Message Authentication
Code).
The
UMAC algorithms described are
parameterized.
Trivial 0-arguments constructor.
This class represents the parameters for the UMAC-32 message
authentication code algorithm.
Create a new parameter instance.
The implementation of the UMAC-32 Service Provider Interface
(SPI) adapter.
PRNG based on UMAC's Key Derivation Function.
KDFs (Key Derivation Functions) are used to stretch user-supplied
key material to specific size(s) required by high level cryptographic
primitives.
Trivial 0-arguments constructor.
An
Adapter class around
UMacGenerator
to allow using this
algorithm as a JCE
java.security.SecureRandom
.
Reference to the underlying hash algorithm instance.
Returns the number of bytes to discard from a designated input buffer.
Returns the number of bytes to discard from a designated input buffer.
Returns the number of bytes to discard from a designated input buffer.
Convenience method that calls the method with same name and three
arguments, using a byte array of length 1
whose contents are
the designated byte.
Continues a MAC operation using the input byte.
Continues a message digest operation using the input byte.
Digests one byte of a message for signing or verification purposes.
Convenience method that calls the method with same name and three
arguments, using a byte array of length 1
whose contents are
the designated byte.
Continues a MAC operation using the input byte.
Similar to the same method with one argument, but uses the designated
random number generator to compute needed keying material.
Convenience method that calls the method with same name and three
arguments.
Convenience method that calls the same method with three arguments.
Processes a designated number of bytes from a given byte array.
Continues a MAC operation, by filling the buffer, processing
data in the algorithm's MAC_SIZE-bit block(s), updating the context and
count, and buffering the remaining bytes in buffer for the next
operation.
Continues a message digest operation, by filling the buffer, processing
data in the algorithm's HASH_SIZE-bit block(s), updating the context and
count, and buffering the remaining bytes in buffer for the next
operation.
Digests a sequence of bytes from a message for signing or verification
purposes.
Processes a designated number of bytes from a given byte array.
Processes a designated number of bytes from a given byte array.
Continues a MAC operation, by filling the buffer, processing
data in the algorithm's MAC_SIZE-bit block(s), updating the context and
count, and buffering the remaining bytes in buffer for the next
operation.
Similar to the same method with three arguments, but uses the
designated random number generator to compute needed keying material.
Updates the credentials of a designated user.
Updates the credentials of a designated user.
Updates the credentials of a designated user.
Property name of the Boolean indicating wether or not to use defaults.
Property name of the Boolean indicating wether or not to use defaults.
The client's authorization ID.
Property name of the user's verifier (v) for a Server SRP key.
Name of the GID field in the plain password file.
A checked exception thrown to indicate that a designated user is already
known to the the authentication layer.
Constructs a UserAlreadyExistsException
with no detail
message.
Constructs a UserAlreadyExistsException
with the specified
detail message.
UST - class gnu.crypto.exp.ust.
UST The Universal Security Transform (UST) is a cryptographic transform for
providing confidentiality, message authentication, and replay protection.
A collection of utility methods used throughout this project.