Cryptix 3.1.3 / 3.2.0 README file


Contents:

1. General
1.1 What release should I use?
1.2 What JDK's is Cryptix V3 compatible with?
1.3 Does Cryptix V3 work in applets?
1.4 Does Cryptix V3 work in IDE's like JBuilder, Visual Cafe etc?
1.5 Is Cryptix V3 JCE 1.2 compatible?
1.6 How do I install the Cryptix provider statically?
1.7 How do I install the Cryptix provider dynamically?
1.8 How do I upgrade from Cryptix 3.0.x or 3.1.x to 3.2.x?
1.9 Help! something doesn't work, where can I get help?
1.10 I think I have found a bug, what should I do?
1.11 Can you notify me when a new release is out?
1.12 What are the future plans for Cryptix V3?
1.13 How can I help Cryptix?
1.14 Who is the current maintainer of Cryptix V3?

2. PGP
2.1 Can I use PGP 2.6.x ?
2.2 Can I use PGP 5.x / 6.x / 7.x ?

3. Cryptoplumbing
3.1 Help, I'm lost. Can you give me some examples?
3.2 I need to use RSA, do I need to be careful?
3.3 Can I use Elgamal encryption?
3.4 Can I use the AES (Rijndael)?



1.1 What release should I use?
==============================

There are two versions of Cryptix V3: version 3.1.3 and version 3.2.0.
The main difference between those two is that version 3.2.0 supports JDK 1.3,
but is not fully backwards compatible with older versions, while version 3.1.3
is backwards compatible, but does not work with JDK 1.3.

New users should almost always choose version 3.2.0.

Old users can choose for version 3.1.3 if they do not want to change their
source, but if they do want to have the latest bugfixes. If an old user wants
JDK 1.3 compatibility however, version 3.2.0 is the way to go.



1.2 What JDK's is Cryptix V3 compatible with?
=============================================

            Cryptix 3.0.x   Cryptix 3.1.x   Cryptix 3.2.x
JDK 1.0.x       maybe?          no              no
JDK 1.1.x       yes             yes             yes
JDK 1.2.x       no              yes             yes
JDK 1.3.x       no              no              yes



1.3 Does Cryptix V3 work in applets?
====================================

Probably not, due to the absence of many java.security classes.
If you do want to use crypto in your applets, the easiest way to do this is
probably to take the source files of the algorithms you need and hack them so
that they can be used standalone.



1.4 Does Cryptix V3 work in IDE's like JBuilder, Visual Cafe etc?
=================================================================

In theory yes. You should be able to import either the source files or the jar
in your IDE. Note that you have a bigger chance to get this to work with 
Cryptix 3.2.0 due to the absence of java.security classes.



1.5 Is Cryptix V3 JCE 1.2 compatible?
=====================================

No. Cryptix V3 is based on the never released JDK 1.1 specification. While
both JCE versions are very similar, one of the most important differences is
the location of the cryptographic class files. In JCE 1.2 these are in the
javax.crypto package, while in JCE 1.1 they are in the java.security package.



1.6 How do I install the Cryptix provider statically?
=====================================================

There are two ways to do this: statically in your JDK or dynamically in your
program.

For a static install you need to edit a file called 'java.security', which
is locate somewhere in $JAVAHOME/lib/security or $JAVAHOME/jre/lib/security.
In that file, search for a line like this:

    security.provider.1=sun.security.provider.Sun
    
Then add the cryptix provider by adding this line:

    security.provider.2=cryptix.provider.Cryptix

For convenience, we've provided a java program that will do this for you. 
Use the following command for this:

    java cryptix.provider.Install



1.7 How do I install the Cryptix provider dynamically?
======================================================

Include this line in your application:

    java.security.Security.addProvider(new cryptix.provider.Cryptix());



1.8 How do I upgrade from Cryptix 3.0.x or 3.1.x to 3.2.x?
==========================================================

To upgrade your application from an old version of Cryptix to Cryptix 3.2.0
you should change some import statements from java.security.* to 
xjava.security.*   For example:

    import java.security.Cipher;

becomes:

    import xjava.security.Cipher;
    


1.9 Help! something doesn't work, where can I get help?
=======================================================

Subscribe to the cryptix-users group and post your question there:

    http://lists.cryptix.org/mailman/listinfo/cryptix-users

Additionally, see the support page on the Cryptix website:

    http://www.cryptix.org/support.html



1.10 I think I have found a bug, what should I do?
=================================================

The preferred method is to post it on the cryptix-users list:

    http://lists.cryptix.org/mailman/listinfo/cryptix-users



1.11 Can you notify me when a new release is out?
================================================

Subscribe yourself to one of the cryptix mailing lists:

    http://lists.cryptix.org/mailman/listinfo/cryptix-announce
    http://lists.cryptix.org/mailman/listinfo/cryptix-users

You can also regularly check the Cryptix website for updates:

   http://www.cryptix.org



1.12 What are the future plans for Cryptix V3?
==============================================

Cryptix V3 is in so called 'maintainance mode', which basically means that 
bugs are fixed, but no new features are implemented. The Cryptix Development
Team is working very hard on a new JCE 1.2 compatible library: Cryptix JCE.

After a final release of Cryptix JCE, this product will be deprecated. Of course
we still will support it for a reasonable period of time to allow everyone
enough time to upgrade.



1.13 How can I help Cryptix?
============================

If you want to help Cryptix by becoming a developer, please join the 
cryptix-team mailing list and post your intentions there:

    http://lists.cryptix.org/mailman/listinfo/cryptix-team/

Alternatively you can contact a maintainer of the product you are interested
in trough private mail (we still encourage you to join the cryptix-team list
however).

Of course, The Cryptix Foundation Limited also accepts donations. See the
website for contact details.



1.14 Who is the current maintainer of Cryptix V3?
=================================================

Edwin Woudt <edwin@cryptix.org>
Note that all cryptix developers are volunteers, so therefore you should not
mail support questions to a developer directly (you'll have a fair chance that
your e-mail won't even be answered). Please use the cryptix-users list if you
have any problems using Cryptix V3 (see question 1.7).



2.1 Can I use PGP 2.6.x ?
=========================

Yes. Just download the PGP plugin and include the extra pgp jar file in your
application. You can create PGP 2.6.x compatible messages. Examples can be
found in the src/cryptix/examples/pgp directory.



2.2 Can I use PGP 5.x / 6.x / 7.x ?
===================================

No. The Cryptix V3 PGP plugin does not support the newer data formats and
algorithms in these PGP versions. Some interaction is possible if you use RSA
only keys, but it's not guaranteed to work.

More specific: the PGP plugin for Cryptix V3 is compatible with RFC 1991, but
not with RFC 2440 (OpenPGP).

You may want to check out the current status on the Cryptix OpenPGP project,
which is compatible with these newer PGP versions.



3.1 Help, I'm lost. Can you give me some examples?
==================================================

If you don't know anything about crypto, we strongly urge you to read a good
book on cryptography before starting. Using crypto is harder than it looks on
first sight and it is very hard to get it right (and thus secure). In almost
any case a program is broken, it is because crypto has been used in the wrong
way, instead of the fact that the crypto itself is insecure.

If you do know something about cryptography, you can find some examples in the
tests (src/cryptix/test). There is also a special example application called
'Ordo' available at:

    http://cvs.cryptix.org/~edwin/ordo/



3.2 I need to use RSA, do I need to be careful?
===============================================

Yes. Please see the RSA faq on the Cryptix website.



3.3 Can I use ElGamal encryption?
=================================

No. ElGamal encryption is not supported (signatures are supported). This will
not be fixed, so if ElGamal is essential, consider using Cryptix JCE:

    http://www.cryptix.org/products/jce/
    
    

3.4 Can I use the AES (Rijndael)?
=================================

Yes. Starting with Cryptix 3.1.3 and Cryptix 3.2.0 is available under both
"Rijndael" and "AES" as a normal Cipher.
