Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

cryptix.jce.* (239)cryptix.message.* (36)cryptix.openpgp.* (205)cryptix.pki.* (19)
cryptix.sasl.* (79)cryptix.test.* (2)

Package Samples:

cryptix.jce.test
cryptix.jce.provider.parameters
cryptix.jce.provider.md
cryptix.jce.provider.mac
cryptix.jce.provider.keyfactory
cryptix.jce.provider.key
cryptix.jce.provider.elgamal
cryptix.jce.provider.dsa
cryptix.jce.provider.cipher
cryptix.jce.provider.asn
cryptix.jce.provider
cryptix.jce.examples
cryptix.jce
cryptix.jce.provider.dh
cryptix.jce.provider.pbe
cryptix.jce.provider.pk
cryptix.jce.provider.random
cryptix.jce.provider.rsa
cryptix.jce.provider.util
cryptix.jce.util

Classes:

CALG: A Factory class that returns CALG (Confidentiality Algorithm) instances that operate as described in the draft-burdis-cat-sasl-srp-04. Specifically the following description, from the specs, is relevant: The designated CALG block cipher should be used in OFB (Output Feedback Block) mode in the ISO variant, as described in [16], algorithm 7.20. Let k be the block size of the chosen symmetric cipher algorithm; e.g. for AES this is 128 bits or 16 octets. The OFB mode used shall be of length/size k. It is recommended that Block ciphers operating in OFB mode be used with an Initial Vector (the mode's ...
CAST5: CAST5 (a.k.a. CAST-128) in Java, as per RFC 2144. The author, Carlisle Adams (the CA in CAST, ST standing for Stafford Tavares) describes CAST5 as: "...a DES-like Substitution-Permutation Network (SPN) cryptosystem which appears to have good resistance to differential cryptanalysis, linear cryptanalysis, and related-key cryptanalysis. This cipher also possesses a number of other desirable cryptographic properties, including avalanche, Strict Avalanche Criterion (SAC), Bit Independence Criterion (BIC), no complementation property, and an absence of weak and semi-weak keys." CAST5 is a symmetric ...
ModeOpenpgpCFB: This mode implements the special CFB mode used by the OpenPGP standard (RFC 2440) Due to the design of the JCE, it is not completely the OpenPGP CFB mode though. OpenPGP specifies that blocksize+2 bytes need to be prefixed to the encrypted data, consisting of blocksize bytes of random data and then repeating the last two bytes of this random data to make it possible to check whether we're decrypting with the right key. Now the question is, where should this data be added and thus also where should this check be done. Inside this mode object would be the obvious choice, such that applications need ...
Blowfish: This class implements the Blowfish algorithm (standard, 16 round version). Blowfish is a symmetric block cipher, with a 64-bit blocksize and a variable key length (between 40 and 448 bits inclusive, in 8-bit increments). References: Bruce Schneier, "Section 14.3 Blowfish," Applied Cryptography, 2nd edition, John Wiley & Sons, 1996 Bruce Schneier, Description of a New Variable-Length Key, 64-Bit Cipher (Blowfish) , Fast Software Encryption Cambridge Security Workshop Proceedings, Springer-Verlag, 1004, pp 191-204. http://www.counterpane.com/blowfish.html The implementation is heavily optimized ...
PasswordFile: The Cryptix implementation of the SRP password files. For SRP, there are three (3) files: The password configuration file: tpasswd.conf. It contains the pairs indexed by a number for each pair used for a user. By default, this file's pathname is constructed from the base password file pathname by prepending it with the ".conf" suffix. The base password file: tpasswd. It contains the related password entries for all the users with values computed using SRP's default message digest algorithm: SHA-1 (with 160-bit output block size). The extended password file: tpasswd2. Its name is ALWAYS constructed ...
PGPMPI: Read and write BigIntegers in a PGP compatible format. From RFC 2440 : 3.2. Multi-Precision Integers Multi-Precision Integers (also called MPIs) are unsigned integers used to hold large integers such as the ones used in cryptographic calculations. An MPI consists of two pieces: a two-octet scalar that is the length of the MPI in bits followed by a string of octets that contain the actual integer. These octets form a big-endian number; a big-endian number can be made into an MPI by prefixing it with the appropriate length. Examples: (all numbers are in hexadecimal) The string of octets [00 01 01] ...
DES: DES is a block cipher with an 8 byte block size. The key length is 8 bytes, but only 56 bits are used as the parity bit in each byte is ignored. This algorithm has been seriously analysed over the last 30 years, and no significant weaknesses have been reported. Its only known flaw is that the key length of 56 bits makes it relatively easy to brute-force it. To overcome this near-fatal flaw, it is recommended that DES be used in Triple DES mode. The JCA algorithm name for the recommended form of Triple DES is "DES-EDE3". DES was invented by IBM and first released in 1976. The algorithm is freely ...
RC2: RC2 TM The source code (C version) from which this port was done, and (most of) the programming notes, are by P. Gutmann (pgut01@cs.auckland.ac.nz) -- as obtained from Usenet. Eric Young (eay@mincom.oz.au) implementation, also based on Gutmann's work, and included in Eric's colossal SSL library ver 0.6.6 14 Jan 1997, was also used for the initial key data and the computation of the session key schedule. Code to tailor the session key for a specified length in bits is included in this Java implementation but is crippled (commented out). The current code behaves as if the session key is fixed at ...
BlockCipher: A fully constructed Cipher instance looks like this: +------------------------------------------+ | CipherSpi (API methods) | | | | +--------------------------------------+ | | | Padding | | | | | | | | +----------------------------------+ | | | | | Mode | | | | | | | | | | | | +------------------------------+ | | | | | | | CipherSpi | | | | | | | | (blockcipher implementation) | | | | | | | | | | | | | | | +------------------------------+ | | | | | | | | | | | +----------------------------------+ | | | | | | | +--------------------------------------+ | | | +----------------------------------- ...
Mode: A fully constructed Cipher instance looks like this: +------------------------------------------+ | CipherSpi (API methods) | | | | +--------------------------------------+ | | | Padding | | | | | | | | +----------------------------------+ | | | | | Mode | | | | | | | | | | | | +------------------------------+ | | | | | | | CipherSpi | | | | | | | | (blockcipher implementation) | | | | | | | | | | | | | | | +------------------------------+ | | | | | | | | | | | +----------------------------------+ | | | | | | | +--------------------------------------+ | | | +----------------------------------- ...
Padding: A fully constructed Cipher instance looks like this: +------------------------------------------+ | CipherSpi (API methods) | | | | +--------------------------------------+ | | | Padding | | | | | | | | +----------------------------------+ | | | | | Mode | | | | | | | | | | | | +------------------------------+ | | | | | | | CipherSpi | | | | | | | | (blockcipher implementation) | | | | | | | | | | | | | | | +------------------------------+ | | | | | | | | | | | +----------------------------------+ | | | | | | | +--------------------------------------+ | | | +----------------------------------- ...
PGPMarkerPacket: The marker packet. RFC 2440 says: 5.8. Marker Packet (Obsolete Literal Packet) (Tag 10) An experimental version of PGP used this packet as the Literal packet, but no released version of PGP generated Literal packets with this tag. With PGP 5.x, this packet has been re-assigned and is reserved for use as the Marker packet. The body of this packet consists of: - The three octets 0x50, 0x47, 0x50 (which spell "PGP" in UTF-8). Such a packet MUST be ignored when received. It may be placed at the beginning of a message that uses features not available in PGP 2.6.x in order to cause that version to report ...
TripleDES: This class implements Triple DES EDE encryption with three independent keys. DES-EDE3 acts as a block cipher with an 8 byte block size. The encoded form of the Triple DES key should be a 24-byte array, consisting of three 8-byte single DES keys in order - K1, K2 and K3. Encryption and decryption are done as follows: C = E K3 (D K2 (E K1 (P))) P = D K1 (E K2 (D K3 (C))) The alternating encryption and decryption was designed by IBM to enable compatibility with single DES, when all three keys are equal (although it is now rare for Triple DES to be used in that way). When DES-EDE3 is used with the ...
SaslClientSocketFactory: A SaslClientSocketFactory instance is used by the RMI runtime in order to obtain client sockets for RMI calls. A remote object can be associated with a SaslClientSocketFactory when it is created/exported via the constructors or exportObject() methods of java.rmi.server.UnicastRemoteObject and java.rmi.activation.Activatable . A RMIClientSocketFactory instance associated with a remote object will be downloaded to clients when the remote object's reference is transmitted in an RMI call. This SaslClientSocketFactory will be used to create connections to the remote object for remote method calls. A ...
PGPLengthDataOutputStream: Generic outputstream to write PGP formatted packet data that contains length information This class basically has two modes, one where the length of the written data is (partly) known in advance and one when the length is not known. In the first mode all data will be written to the underlying outputstream immediately, which allows for full streaming. In the second mode all output will be buffered until the close method is called, where all data is then written in one big chunk to the outputstream. If the subclass wants, it can support writing data in chunks. This is particularly useful when in ...
KeyBundle: A KeyBundle is a collection of keys, principals and certificates, which all logically belong together. Here are a few suggestions on how to implement this class for existing public key structures: X.509 - an X.509 KeyBundle consists of just one certificate, together with the publickey and principal as returned by the getSubjectDN() method on X509Certificate. OpenPGP - an OpenPGP KeyBundle consists of one 'PGP key', which means: - one key object, the signing key. - one or more principal objects, which correspond to UserID's in OpenPGP (potentially also PhotoID objects). - one or more certificates, ...
Twofish: Twofish is an AES candidate algorithm. It is a balanced 128-bit Feistel cipher, consisting of 16 rounds. In each round, a 64-bit S-box value is computed from 64 bits of the block, and this value is xored into the other half of the block. The two half-blocks are then exchanged, and the next round begins. Before the first round, all input bits are xored with key- dependent "whitening" subkeys, and after the final round the output bits are xored with other key-dependent whitening subkeys; these subkeys are not used anywhere else in the algorithm. Twofish was submitted by Bruce Schneier, Doug Whiting, ...
SaslServerSocketFactory: A SaslServerSocketFactory instance is used by the RMI runtime in order to obtain server sockets for RMI calls. A remote object can be associated with an SaslServerSocketFactory when it is created/exported via the constructors or exportObject() methods of java.rmi.server.UnicastRemoteObject and java.rmi.activation.Activatable . A SaslServerSocketFactory instance associated with a remote object is used to obtain the ServerSocket used to accept incoming calls from clients. A SaslServerSocketFactory instance can also be associated with a remote object registry so that clients can use custom socket ...
RC4: This class implements the RC4 TM stream cipher. The source code (C version) from which this port was done, is the one posted to the sci.crypt, alt.security, comp.security.misc, and alt.privacy newsgroups on Wed, 14 Sep 1994 06:35:31 GMT by "David Sterndark" <sterndark@netcom.com> (Message-ID: <sternCvKL4B.Hyy@netcom.com>) RC4 (TM) was designed by Ron Rivest, and was previously a trade secret of RSA Data Security, Inc. The algorithm is now in the public domain. The name "RC4" is a trademark of RSA Data Security, Inc. References: Bruce Schneier, "Section 17.1 RC4," Applied Cryptography, ...
PGPAlgorithmFactory: Factory for public key, string-to-key, compression, hash and cipher algorithms. In a normal PGP application, the programmer probably does not have to deal with this class that much. The only thing he or she has to do is initialize it with the default values and just use the get methods to translate an algorithm ID into an implementation for that algorithm. The default implementation provides values for all algorithms that are mentioned in RFC2440. It's real strength however is it's ability to register additional algorithms. For example, once the AES has been chosen (and the maintainer is a bit ...
Serpent: A bit-slice implementation in Java of the Serpent cipher. Serpent is a 128-bit 32-round block cipher with variable key lengths, including 128-, 192- and 256-bit keys conjectured to be at least as secure as three-key triple-DES. Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a candidate algorithm for the NIST AES Quest. References: Serpent: A New Block Cipher Proposal. This paper was published in the proceedings of the "Fast Software Encryption Workshop No. 5" held in Paris in March 1998. LNCS, Springer Verlag. Reference implementation of the standard Serpent cipher written ...
PGPKeyServer: A generic, client interface to a key server. A key server allows for keys to be retrieved by some identifying value. PGPKeyServer keyserver = new Hkp("keyserver.pgp.com", 80); try { Collection keys = keyserver.fetchById("user@cryptix.org"); if (keys.size() > 0) { for(Iterator i = keys.iterator(); i.hasNext(); ) { KeyBundleMessage msg = (KeyBundleMessage) i.next(); KeyBundle key = msg.getKeyBundle(); // do something with the key } } } catch(KeyServerIOException e) { // handle server down or other low level problem. } catch(MessageException e) { // handle key server message format error. }
Square: The Square algorithm. Square is a cipher algorithm developed by Joan Daemen and Vincent Rijmen References: The Square home page has up-to-date comments, implementations, and certification data. J. Daemen, L.R. Knudsen, V. Rijmen, " The block cipher Square ," Fast Software Encryption , LNCS 1267, E. Biham, Ed., Springer-Verlag, 1997, pp. 149-165.
PGPBase64: This class provides methods for encoding and decoding data in MIME base64 format. The input to the encode methods is always a byte array. Strictly speaking the output represents a sequence of characters, but since these characters are from a subset of both the Unicode and ASCII character repertoires, it is possible to express the output either as a String or as a byte array. References: RFC 2045, Multipurpose Internet Mail Extensions (MIME) Part One, Format of Internet Message Bodies , "Section 6.8 Base64 Content-Transfer-Encoding," http://www.imc.org/rfc2045
RSAAlgorithm: A class that calculates the RSA algorithm. A single method is used for encryption, decryption, signing and verification: for encryption and verification, the public exponent, e , should be given. for decryption and signing, the private exponent, d , should be given. The purpose of having this as a separate class is to avoid duplication between the RSA Cipher and Signature implementations. References: Donald E. Knuth, The Art of Computer Programming , ISBN 0-201-03822-6 (v.2) pages 270-274. ANS X9.31, Appendix B .

Home | Contact Us | Privacy Policy | Terms of Service