# Supported Algorithms

Cryptix includes the following algorithms. See below for Notes and Colour Codes.

### Symmetric Ciphers

Name | Status | Conforms | Comments
Blowfish | Supported |  |
CAST5 | Supported | RFC-2144 |
DES | Supported |  |
DES-EDE3 | Supported | SSLeay 0.8.1 | This is 3-key Triple DES. No known conformance data, checked against SSLeay only, needs more comparisons
IDEA | Supported |  |
LOKI91 | Supported |  |
RC2 | Supported |  |
RC4 | Supported |  |
SAFER | Supported | De Moliner95 |
SPEED | Supported | Zheng97 |
Square | Supported | ? | source of test data unknown?

### Cipher Modes

Name | Status | Comments
ECB | Supported |
CBC | Supported |
CFB | Supported |
OFB | Supported |
PCBC | Supported |
CFB-PGP | Supported | Special CFB mode for PGP

### Padding Schemes

Name | Status | Comments
PKCS#5 | Supported |
PKCS#7 | Supported |
OneAndZeroes | Supported |

### Asymmetric (public-key) Ciphers

Name | Status | Comments
RSA | Supported |
ElGamal | Supported |

### Signature Schemes

MD | x | Algorithm | x | Padding
MD2 |  | RSA |  | PKCS#1
MD5 |  | ElGamal |  |
SHA-1 |  | RPK |  |
RIPEMD160 |  |  |  |
SHA-1 |  | DSAJCA |  | PKCS#1

This table indicates that a signature scheme of md/alg/PKCS#1 is possible, where md and alg are as listed above.

JCA The DSA signature algorithm is as provided with the JCA in Sun's JDK. As supplied, the scheme only provides SHA-1/DSA/PKCS#1

### Message Digests

Name | Status | Conforms | Comments
HAVAL | Supported | Zheng93 |
MD2 | Supported | RFC-1319 |
MD4 | Supported | RFC-1320 |
MD5 JCA | Supported | RFC-1321 | bug in update() method 3.0.3 and before
RIPEMD128 | Supported | Dobbertin96 |
RIPEMD160 | Supported | Dobbertin96 |
SHA-1JCA | Supported | FIPS 180-1 | bug in update() method 3.0.3 and before
SHA-0 | Supported | FIPS 180 | bug in update() method 3.0.3 and before algorithm deprecated by SHA-1

JCA MD5 and SHA-1 are also supplied with the JCA in Sun's JDK.

All message digests now include HMAC support, according to RFC-2104 and RFC-2202.

### Notes These notes apply:

- Not all algorithms are included in each release, see the README accompanying the individual releases for exclusions.

- Italics indicate that code is written but is not yet widely released.

- No box at all indicates that the research to fully verify the status or conformance is yet to be done.

- NOTE that the information here is not an endorsement of any algorithm.

### Colour Coding Scheme

Colour Code for Status

Heading Only | Good Tested. | Expected OK Not fully tested | Warning! Known Problems Take Care | Dead! Not Working.

These colours are indicative. See the code for precise information.

Colour Code for Conformance

Conforms against validated data | OK No formal data, but well accepted data used instead | Checked No data exists but checks against other implementations are OK. | Warning! Some data sets fail Take Care | Dead! All Data Fails

Conformance is stated strictly against authoritive data sets, most likely published by the author. Reference must be included.

With older algorithms, where no conformance data has ever been published, but widely accepted data exist, this is listed as OK.

Copyright © 1997-1999 Systemics Ltd
on behalf of the Cryptix Development Team.
All rights reserved.
Cryptix is a trademark of Systemics Ltd.