Estaba leyendo el artículo de Wikipedia sobre los códigos de seguridad de la Tarjeta (CSC, CVD, CVV, CVC, V-code, SPC, CID, CV2, CVN2, CAcronym2, etc.) y una cierta afirmación me llamó la atención (énfasis mío):
El emisor de la tarjeta genera el CSC para cada tarjeta (formulario 1 y 2) cuando se emite la tarjeta. Se calcula mediante el cifrado de número de tarjeta bancaria y fecha de caducidad (dos campos impresos en la tarjeta) con claves de cifrado conocidas solo por el emisor de la tarjeta y decimando el resultado.
La descripción se parece mucho a un HMAC que usa solo información ya pública como entrada principal, pero en cualquier caso, dada la gran cantidad de números de tarjetas de crédito comprometidas (con códigos de seguridad de la tarjeta) que existen, seguramente debe ser posible derive ¿la clave de cifrado del emisor ahora? (¿Importa si se trata de un cifrado simétrico o asimétrico?)
Si es verdadero, entonces me sorprende que el sistema esté diseñado así en lugar de generar una clave o número secreto único, por tarjeta , del cual se deriva el CSC en lugar de una institución. La clave, que mi pregunta presupone, puede derivarse de la gran cantidad de valores de salida, dado el conocimiento de todas las entradas de texto claro), porque mi comprensión actual de la criptografía me dice que la clave secreta puede derivarse si se cuenta con suficiente información de texto claro (datos de la tarjeta comprometida) y salida de texto cifrado (códigos CSC comprometidos).