SparkFun Cryptographic Co-Processor Breakout - ATECC608A (Qwiic)
The SparkFun ATECC608A Cryptographic Co-processor Breakout allows you to add strong security to your IoT node, edge device, or embedded system. This includes asymmetric authentication, symmetric AES-128 encryption/decryption, and much more. As stated above, the ATECC608A has limited Arduino support and the complete datasheet is under NDA with Microchip.
This breakout board includes two Qwiic ports for plug and play functionality. Utilizing our handy Qwiic system, no soldering is required to connect it to the rest of your system. However, we still have broken out 0.1"-spaced pins in case you prefer to use a breadboard. The ATECC608A chip is capable of many cryptographic processes, including, but not limited to:
- Creating and securely storing unique asymmetric key pairs based on Elliptic Curve Cryptography (FIPS186-3).
- AES-128: Encrypt/Decrypt, Galois Field Multiply for GCM
- Creating and verifying 64-byte digital signatures (from 32-bytes of message data).
- Creating a shared secret key on a public channel via Elliptic Curve Diffie-Hellman Algorithm.
- SHA-256 & HMAC Hash including off-chip context save/restore
- Internal high quality FIPS random number generator.
Embedded in the chip is a 10Kb EEPROM array that can be used for storing keys, certificates, data, consumption logging, and security configurations. Access to the sections of memory can then be restricted and the configuration locked to prevent changes. Each ATECC608A Breakout ships with a guaranteed unique 72-bit serial number and includes several security features to prevent physical attacks on the device itself, or logical attacks on the data transmitted between the device.
A summary datasheet for the ATECC608A is available here. The full datasheet is under NDA with Microchip. You will need to contact them for access to the entire datasheet. Meanwhile, the ArduinoATECCX08 Library currently only supports the ATECC608A with SAMD21 Arduino boards.
We do have much more support for the ATECC508A version of this chip. Please check out our ATECC508A Hookup Guide and Arduino Library (which includes six examples). This will get you familiar with the basics of elliptic curve cryptography and signing/verifying data with the ATECC508A version of the chip.
🔒 Note: The ATECC608A can be only configured once before it is PERMANENTLY locked. It is advisable that users purchase multiple boards in order to use other configurations and explore the advanced functions of the ATECC608A.
Additionally, this board IS capable of encrypting and decrypting data. However, to access these additional features, you will need to contact Microchip and sign an NDA contract to obtain the complete datasheet.
It is recommended that an SparkFun RedBoard Turbo - SAMD21 Development Board is used with this product due to the buffer size required on the I2C bus.
The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
Features:
- Operating Voltage: 2.0V-5.5V (Default on Qwiic System: 3.3V)
- Active Current Draw (for ATECC608A): 16 mA
- Sleep Current (for ATECC608A): <150 nA
- Guaranteed Unique 72-bit Serial Number
- 10 Kb EEPROM Memory for Keys, Certificates, and Data
- Storage for up to 16 Keys
- 256-bit Key Length
- Internal High-Quality FIPS Random Number Generator (RNG)
- Configurable I2C Address (7-bit): 0x60 (Default)
Documents:
- Schematic
- Eagle Files
- Board Dimensions
- Datasheet Summary (ATECC608A)
- CryptoAuthLib - Microchip CryptoAuthentication Library (includes Python support)
- Microchip ATECC608A Product Page
- ArduinoECCX08 Arduino Library
- Github Hardware Repo
Note: The datasheet listed on this page is not the complete document, which is under NDA with Microchip.