Encryption Algorithms |
Over the last few months the project has developed an
implementation of IDTrans which depends on two encryption
algorithms. Those are Rijndael (AES) and RSA. We may add
other algorithms as required, such as a signing
algorithm. The reason we currently use only two algorithms is simplicity. Adding further algorithms would make the system more complex, but not add anything to the security. Also included on this page is a Specification, now in draft number 2. This provides more detail about the specific implementation being used. This page also provides information about other algorithms under consideration. |
Why do we need encryption? |
Requirements |
Secure Email Specification |
The Secure Email Specification is the current incarnation of a description of the implementation we are currently working towards. It includes the use of Rijndael and RSA. |
AES - Rijndael |
In October 2000 the Advanced Encryption Standard was
announced in the US by the National Institute of
Standards and Technology. The winning encryption
algorithm was Rijndael. The Rijndael developers are
Belgian cryptographers Joan Daemen and Vincent Rijmen
(pronounced Rye'-mun) of Katholieke Universiteit Leuven. Rijndael does not have any patents against it or any of the optimized maths required to implement it. It stacks up well against other algorithms in performance, security and scaleability. It has implementations written in at least C, Java and Delphi, all of which are now public domain or shareware. |
Blowfish / Twofish |
Blowfish and Twofish are fast and it is not patented. It is also supported by Open Source libraries already, including Java, Delphi, C++, and C. It is not as old as some more well known systems however. Twofish is a more modern version of Blowfish. I have found free implementations of Blowfish in Java, C, C++, and Delphi. |
MD5 |
MD5 is one of the most common hash functions available. It is also very widly implemented in libraries, including Open Source Libraries. I have found implementations of MD5 in C, C++, Delphi and Java. |
ElGamel |
ElGamel is a Public Key Algorithm. It is not patented, which makes it attractive. It has been implemented in C++, Delphi and Java, but the Java code to this is still not stable. |
Elliptic Curve |
Elliptic Curve is a another Public Key Algorithm. Like Elgamel, it is not patented. There is an implementations available in C, C++, Delphi and Java. |
RSA |
RSA is currently the most popular form of public key cryptography. This algorithm was patented until September 2000 when it was released into the Public Domain. There are many implementations of RSA for most languages. |
Home |