Tenemos una tabla de base de datos de entradas de registro cifradas, cada entrada cifrada contiene información sobre el usuario que creó la entrada. La entrada se cifra con la clave de cifrado del usuario en particular.
Los usuarios pueden iniciar sesión en la GUI web e ingresar su clave de descifrado para obtener y descifrar las entradas del registro sus del servidor, sin exponer otras entradas. El problema es que no hay manera de identificar al usuario antes de descifrarlo (esto es un requisito). Además, el usuario o un atacante que tenga acceso al servidor que posee la clave de descifrado del usuario no debe poder descifrar las entradas del registro de otros usuarios.
El segundo requisito es el rendimiento. Hay cientos de miles de filas, por lo que descifrar todas las filas por prueba y error no parece viable.
¿Hay algún esquema existente para resolver este dilema del huevo y la gallina?