Digamos que Bob quiere enviarle un mensaje a Alice. Esta comunicación requiere lograr confidencialidad, integridad, prueba de origen, no repudio. Por lo tanto podemos usar este texto cifrado:
ciphertext = KS [Mensaje, Comprimir (Bob_PR [H (M)])], Alice_PU [KS]
KS = clave de sesión H = Hashing PU = Clave pública PR = Clave privada
Sin embargo, ¿cómo podemos hacer esto cuando Bob quiere lograr confidencialidad e integridad cuando la información se almacena en una base de datos segura? ¿De quién es la clave para cifrar el msg? ¿Es solo una clave de sesión? ¿Necesitamos una clave de sesión? Una posible solución podría ser:
ciphertext = KS [Mensaje]
Siempre que KS se almacene junto con el texto cifrado en la base de datos. ¡PERO esto definitivamente no es seguro!
¿Qué es una mejor solución? ¿Cómo representamos esto en la notación?