El primer tipo de llave que surge es el de las llaves simétricas. Este consiste en que haya una contraseña con la cual sea posible codificar y decodificar los mensajes comunicados entre dos o más partes. Esta contraseña, aplicada a una función junto con el mensaje original, produce una salida tan difícil de descifrar como sea posible. Para descifrarla, se aplica de nuevo la misma función, obteniendo el mensaje original.
Hay muchos algoritmos capaces de realizar cifrado basado en llaves simétricas. Para ejemplificar, utilizaremos el más sencillo de estos --y, por tanto, el más débil criptográficamente también: el XOR.
XOR (OR exclusivo) es como se denomina a una compuerta lógica que tiene el siguiente comportamiento:
0100 1101 1001 1110 0110 1011 0101 1110
y el mensaje que deseamos transmitir será:
1011 1001 1101 1000 0100 0000 1011 1101
Haciendo un XOR bit por bit entre ambas cadenas, nos da como resultado cifrado:
1111 0100 0100 0110 0010 1011 1110 0011
Y haciendo un segundo XOR sobre nuestra cadena resultado, nos da:
1011 1001 1101 1000 0100 0000 1011 1101
Cabe recalcar que el esquema XOR es sólo como demostración; no es considerado de ninguna manera un algoritmo fuerte de cifrado, como lo son DES, IDEA, Blowfish, 3DES, Twofish, RC2 y otros varios. Estos diferentes algoritmos, claro está, tienen diferentes grados de seguridad.
Al tener un esquema de llaves simétricas, cubrimos parcialmente nuestros requisitos:
La gran ventaja, sin embargo, de las llaves simétricas es su sencillez matemática. Las llaves utilizadas para cifrar y descifrar datos van desde 40 bits (64 para ser realmente consideradas seguras) hasta 256 bits.