Crypto1 is a proprietary encryption algorithm (stream cipher) and authentication protocol created by NXP Semiconductors for its MIFARE Classic RFID contactless smart cards launched in 1994. Such cards have been used in many notable systems, including Oyster card, CharlieCard and OV-chipkaart.

Crypto1
NXP Crypto1
General
DesignersPhilips/NXP
First publishedOctober 6, 2008
Cipher detail
Key sizes48 bits
Security claims48 bits
StructureNLFSR, LFSR
Best public cryptanalysis
Garcia, Flavio D.; Peter van Rossum; Roel Verdult; Ronny Wichers Schreur (2009-03-17). "Wirelessly Pickpocketing a Mifare Classic Card" claim that the cipher can be broken "in seconds".

By 2009, cryptographic research had reverse engineered the cipher and a variety of attacks were published that effectively broke the security.[1][2][3][4][5]

NXP responded by issuing "hardened" (but still backwards compatible) cards, the MIFARE Classic EV1. However, in 2015 a new attack rendered the cards insecure,[6][7] and NXP now recommends migrating away from MIFARE Classic.[8]

Technical description

edit

Crypto1 is a stream cipher very similar in its structure to its successor, Hitag2. Crypto1 consists of

The usual operation of Crypto1 and Hitag2 ciphers uses nonlinear feedback only during the initialization/authentication stage, switching to operation as a LFSR with a nonlinear output filter (filter generator) for the rest of the communications.

See also

edit

References

edit
  1. ^ de Koning Gans, Gerhard; J.-H. Hoepman; F.D. Garcia (2008-03-15). "A Practical Attack on the MIFARE Classic" (PDF). 8th Smart Card Research and Advanced Application Workshop (CARDIS 2008), LNCS, Springer. Archived from the original (PDF) on 2022-04-22. Retrieved 2020-07-19.
  2. ^ Courtois, Nicolas T.; Karsten Nohl; Sean O'Neil (2008-04-14). "Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards". Cryptology ePrint Archive.
  3. ^ Nohl, Karsten; David Evans; Starbug Starbug; Henryk Plötz (2008-07-31). "Reverse-engineering a cryptographic RFID tag". SS'08 Proceedings of the 17th Conference on Security Symposium. USENIX: 185–193.
  4. ^ Garcia, Flavio D.; Gerhard de Koning Gans; Ruben Muijrers; Peter van Rossum, Roel Verdult; Ronny Wichers Schreur; Bart Jacobs (2008-10-04). "Dismantling MIFARE Classic" (PDF). 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, Springer. Archived from the original (PDF) on 2021-02-23. Retrieved 2020-07-19.
  5. ^ Garcia, Flavio D.; Peter van Rossum; Roel Verdult; Ronny Wichers Schreur (2009-03-17). "Wirelessly Pickpocketing a Mifare Classic Card" (PDF). 30th IEEE Symposium on Security and Privacy (S&P 2009), IEEE. Archived from the original (PDF) on 2022-01-02. Retrieved 2020-07-19.
  6. ^ Meijer, Carlo; Verdult, Roel (2015-10-12). "Ciphertext-only Cryptanalysis on Hardened Mifare Classic Cards". Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. CCS '15. Denver, Colorado, USA: Association for Computing Machinery. pp. 18–30. doi:10.1145/2810103.2813641. hdl:2066/151451. ISBN 978-1-4503-3832-5. S2CID 4412174.
  7. ^ Meijer; Verdult. "Ciphertext-only Cryptanalysis on Hardened Mifare Classic" (PDF). R. Verdult's page at Institute for Computing and Information Sciences, Radboud University. Archived (PDF) from the original on 2021-04-29.
  8. ^ Grüll, Johannes (October 12, 2015). "Security Statement on Crypto1 Implementations". www.mifare.net. Retrieved 2021-04-29.
edit