1. Input/Output input: - a mle widget where a user can either type or cut 'n paste plaintext -TIME PERMITTING the ablitiy to download plaintext files lagre files - TIME PERMITTING the ability to enter plaintext in hex notation Output: - a mle widget where a user can read hex code output in dump format ( 20 characters of hex followed by 10 characters of ascii). - TIME PERMITTING a url which the user can upload the cipher text. 2. Libraries used: - The tool will be able to use different USER specified implementation class libraries, written both in Java and C, for the encryption and decryption phases. 3. There will be the ability to statically copy or, TIME PERMITTING, download, other java crypto class libraries We will start with the Sun JCE libraries and then, TIME PERMITTING, move onto the Bouncy Castle provider and then, TIME PERMITTING, the IALK provider. -TIME PERMITTING There will be the ability to download and implement ANSI C libraries with other, perhaps faster then java, crypto implementations and algorithms. 4. The keys generated for a user will only last for the duration of a session the user is responsible for cutting / pasting into their favorite editor and saving on their local machine the results of any keys generated. TIME PERMITING the keys generated will be saved in a database. 5. There will be two classes of users - regular users - TIME PERMITTING Admin users who can modify the xml files that do such things as control the Java Crypto class and the ANSI C Crypto libraries. 6. Recent release of java (1.4.2) will be used. 7. Will use the Oracle 9.2 OC4J servlet container on a Windows XP pro -TIME PERMITING the Tomcat J2EE servlet Container <Apache Jakarta Tomcat 5.5> r running on a Linux server. 8. Will support the latest IE browser 6.0.2 and - TIME PERMITING the latest Mozillia firefox browser ( 1.5) 9. CPU cycles for the JVM also seconds The current desktop implementation looks like this: Status: Sender Operation:Encryt ALGORITHM : DES IDEA MARS RC5 RC5 AES Serpent Triple Des TwoFish Operation: Public key Encrypt ALGORITHM : RSA/OAEP-MGFI/SHA1 RSA/PKCS1V15/SHA1 RSA/RAW/SHA1 Operation: Sign ALGORITHM :DSA/ 512 - 1024 RSA/PKCS1V15/MD2 RSA/PKCS1V15/MD5 RSA/PKCS1V15/SHA1 Operation: Hash Generate ALGORITHM: HAVAL MD2 MD4 MD5 PanamaHash RIPEMD160 SHA-1 SHA-256 SHA-384 SHA-512 TIGER Operation: Mac Generate ALGORITHM: MD5MAC HMAC Status: Receiver Operation: decrypt ALGORITHM: Symmetric KEY Block Cipher DES IDEA MARS RC5 RC6 AES SERPENT TRIPLE DES TWOFISH Operation: public key decrypt ALGORITHM: Asymmetric Cipher RSA/OAEP-MGF1/SHA-1 --pkcs1v5/No Hash---raw/ No hash Operation: verify ALGORITHM: DSA RSA ECRSA/PKCS1v!5/ad nauseum Operation: hash verify ALGORITHM: HAVAL MD2 MD4 MD5 PanamaHash RIPEMD160 SHA-1 SHA-256 SHA-384 SHA-512 TIGER Operation: Mac verify ALGORITHM: MD5MAC HMAC