package des; import xjava.security.*; import java.math.*; import sun.security.krb5.internal.crypto.e; import cryptix.util.core.*; import cryptix.provider.key.*; class DesUsandoCrypto { public static void main (String[] args) { String originalMessage = "0A0B0C0D0E0F1011121314151617180101010101010101010203040506070809"; String secretKey = "C63BE7713812A419"; try{ // Adiciona o provedor de segurança Cryptix dinamicamente: java.security.Security.addProvider(new cryptix.provider.Cryptix()); // Converte uma string para uma chave do DES e mostra/imprime o resultado: RawSecretKey privKey = new RawSecretKey ("DES", Hex.fromString(secretKey)); RawKey rkey = (RawKey) privKey; byte[] yval = rkey.getEncoded(); BigInteger bkey = new BigInteger(yval); String desc = cryptix.util.core.BI.dumpString(bkey); System.out.println("The Encryption Key =" + desc); // Utiliza a chave do DES para criptografar uma string Cipher des = Cipher.getInstance("DES","Cryptix"); des.initEncrypt(privKey); byte[] ciphertxt = des.crypt(Hex.fromString(originalMessage)); System.out.println("Original Message =" + originalMessage); System.out.println(""); // Imprime o comprimento e a representação do ciphertext int tamanho = ciphertxt.length; System.out.println("Encrypted lenght = " + tamanho); BigInteger ciph = new BigInteger(ciphertxt); byte[] encrypted = cryptix.util.core.BI.getMagnitude(ciph); desc = cryptix.util.core.Hex.toString(encrypted); System.out.println("Encrypted Message =" + desc); // System.out.println("Encrypted Message =" + encrypted.toString()); // Descriptografa ciphertext des.initDecrypt(privKey); byte[] ciphertext = des.crypt(ciphertxt); tamanho= ciphertext.length; System.out.println(""); System.out.println("Decrypted lenght =" + tamanho); // Imprime a representação do ciphertext decriptografado ciph = new BigInteger(ciphertext); byte[] decrypted = cryptix.util.core.BI.getMagnitude(ciph); desc = cryptix.util.core.Hex.toString(decrypted); System.out.println("Decrypted message =" + desc); } catch (Exception e) { System.out.println("Caught exception" +e.toString()); } } }