Algorithms

One of the nice features of the provider architecture in the Security API is that it’s possible to use different cryptographic algorithms without having to rewrite your program. The SunJCE provider includes three cipher algorithms. Other providers include other algorithms; you can select one according to your needs and budget.

Table 7.1 lists cipher algorithms and the providers that support them. Table 7.2 gives details on the providers.

Table 7-1. Cipher Algorithms

Name

Provider(s)

DES

SunJCE, Cryptix, IAIK, JCP

DESede (triple DES)

SunJCE, Cryptix (DES-EDE3), IAIK (3DES), JCP

PBEWithMD5AndDES

SunJCE

RSA

Cryptix, IAIK, JSAFE

Blowfish

Cryptix

IDEA

Cryptix, IAIK, JCP

SPEED

Cryptix

RC2

IAIK, Cryptix

RC4

IAIK, Cryptix, JCP

CAST5

Cryptix

LOKI91

Cryptix

SAFER

Cryptix

Square

Cryptix

Table 7-2. Cipher Algorithm Providers

Name

Full name

Location

Free?

U.S. only?

SunJCE

Sun JCE Security Provider v1.0

http://java.sun.com/products/jdk/1.2/jce/

Yes

Yes

Cryptix

Cryptix for Java (3.0 or later)

http://www.systemics.com/software/cryptix-java/

Yes

No

IAIK

IAIK Security Provider

http://www.jce.iaik.tu-graz.ac.at/

No

No

JSAFE

RSA’s Java Crypto Toolkit

http://www.rsa.com/rsa/products/jsafe/

No

Yes

JCP

JCP Crypto Development Kit

http://www.jcp.co.uk/products/

No

No

Get Java Cryptography now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.