Leggevo l'articolo di Wikipedia sui codici di sicurezza delle carte (CSC, CVD, CVV, CVC, V-code, SPC, CID, CV2, CVN2, CAcronym2, ecc. E una certa affermazione ha attirato la mia attenzione (sottolineatura mia):
The CSC for each card (form 1 and 2) is generated by the card issuer when the card is issued. It is calculated by encrypting the bank card number and expiration date (two fields printed on the card) with encryption keys known only to the card issuer, and decimalising the result.
La descrizione assomiglia molto ad un HMAC usando solo le informazioni pubbliche come input principale - ma in ogni caso, dato il numero di numeri di carte di credito compromessi (con i codici di sicurezza delle carte) esistenti, sicuramente deve essere possibile derivare la chiave di crittografia dell'emittente ormai? (Ha importanza se è una crittografia simmetrica o asimmetrica?)
Se è vero, allora sono sorpreso che il sistema sia progettato in quel modo invece di generare una chiave segreta o un numero univoco, per carta , da cui deriva il CSC invece di un'istituzione. chiave - che la mia domanda presuppone può essere derivata dal gran numero di valori di output data la conoscenza di tutti gli input in chiaro) - perché la mia attuale comprensione della crittografia mi dice che la chiave segreta può essere derivata con input cleartext abbastanza noto (dettagli della carta compromessa) e output di testo cifrato (codici CSC compromessi).