Guía de desarrollo

Local Navigation

Claves

La criptografía de clave asimétrica utiliza dos claves: una clave pública para cifrar y comprobar la entrada y otra privada para descifrar los datos. La criptografía de clave simétrica utiliza una única clave tanto para el cifrado como para el descifrado.

En la RIM Cryptographic APIlas claves se crean mediante subinterfaces de la interfaz net.rim.device.api.crypto.Key. A continuación, se incluyen algunas de las subinterfaces de la interfaz Key:

  • PublicKey: Las claves públicas se utilizan en la criptografía de clave asimétrica. Se utilizan normalmente en operaciones como el cifrado y la verificación. Puede revelar los contenidos de esta clave a cualquier persona.

  • PrivateKey: Las claves privadas se utilizan en la criptografía de clave asimétrica. Se utilizan normalmente en operaciones como el descifrado y la firma. Debe proteger los contenidos de esta clave.

  • SymmetricKey: Las claves simétricas se utilizan en la criptografía de clave simétrica. Se utilizan tanto para el cifrado como para el descifrado. Debe proteger los contenidos de esta clave.

Ejemplo de código: crear una clave simétrica

El siguiente ejemplo de código muestra cómo crear un objeto de clave de DES simétrica que contenga una clave de DES generada de forma aleatoria. La clase DESKey se encuentra en la interfaz SymmetricKey.

DESKey unknownKey = new DESKey();

Ejemplo de código: crear una clave pública y otra privada

El siguiente ejemplo de código crea un par de claves: una clave pública y otra privada. Utiliza el valor predeterminado para el exponente público, "e". El valor elegido para "e" constituye un equilibrio entre eficacia y seguridad.

// Create an RSA key pair.
RSAKeyPair rsaKeyPair = new RSAKeyPair( rsaCryptoSystem );
// Get the private and public keys that were just created.
RSAPublicKey rsaPublicKey = rsaKeyPair.getRSAPublicKey();
RSAPrivateKey rsaPrivateKey = rsaKeyPair.getRSAPrivateKey();

El ejemplo siguiente crea claves asimétricas. No obstante, tiene la opción de especificar los valores para "e" y "n".

// Create an RSA key pair with a modulus 1024 bits in length and values e and n.
RSACryptoSystem rsaCryptoSystem = new RSACryptoSystem(1024);
RSAPublicKey rsaPublicKey = new RSAPublicKey( rsaCryptoSystem, e, n );
Tema siguiente: Almacén de claves

¿Le ha resultado útil esta información? Envíenos sus comentarios.