Crypto-1
General | |
---|---|
Designers | Philips/NXP |
First published | October 6, 2008 |
Cipher detail | |
Key sizes | 48 bits |
Security claims | 48 bits |
Structure | NLFSR, LFSR |
Best public cryptanalysis | |
Garcia, Flavio D.; Peter van Rossum; Roel Verdult; Ronny Wichers Schreur (2009-03-17). "Wirelessly Pickpocketing a Mifare Classic Card" |
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.
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 issueing "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[]
Crypto1 is a stream cipher very similar in its structure to its successor, Hitag2. Crypto1 consists of
- a 48-bit linear feedback shift register for the state of the cipher,
- a two-layer 20-to-1 nonlinear function used to generate the keystream, and
- a 16-bit LFSR which is used during the authentication phase as a pseudo random number generator
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[]
References[]
- ^ 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.
- ^
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. Cite journal requires
|journal=
(help) - ^ 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. pp. 185–193.
- ^ 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.
- ^ 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.
- ^ 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: 18–30. doi:10.1145/2810103.2813641. hdl:2066/151451. ISBN 978-1-4503-3832-5.
- ^ Meijer; Verdult. "Ciphertext-only Cryptanalysis on Hardened Mifare Classic" (PDF). R. Verdult's page at Institute for Computing and Information Sciences, Radboud University.
- ^ Grüll, Johannes (October 12, 2015). "Security Statement on Crypto1 Implementations". www.mifare.net. Retrieved 2021-04-29.
External links[]
- Radboud Universiteit Nijmegen press release PDF (in English)
- Details of Mifare reverse engineering by Henryk Plötz PDF (in German)
- Windows GUI Crypto1 tool, optimized for use with the Proxmark3
- Stream ciphers
- Cryptography stubs