The SparkFun ATECC608A Cryptographic Co-processor Breakout allows you to add strong security to your IoT node, edge device, or embedded system. This includesasymmetricauthentication,symmetricAES-128 encryption/decryption, and much more. As stated below, 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 availablehere. The full datasheet is under NDA with Microchip. You will need to contact them for access to the entire datasheet. Meanwhile, theArduinoATECCX08 Librarycurrently only supports the ATECC608A with SAMD21 Arduino boards.
We do have much more support for theATECC508A version of this chip. Please check out ourATECC508A Hookup GuideandArduino 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.
Important Notes!
Note:The I2C address of the ATECC608A is 0x60 and is software-configurable to any address. A multiplexer/Mux is required to communicate to multiple ATECC608A sensors at the default address when on a single bus. If you need to use more than one ATECC608A sensor at the default address, consider using theQwiic Mux Breakout.
Note:The ATECC608A can be only configured once before it isPERMANENTLY 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 boardIScapable 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 aSparkFun RedBoard Turbo - SAMD21 Development Boardis used with this product due to the buffer size required on the I2C bus.
Product Restrictions: To access certain features of the ATECC608A, users will need to contact Microchip and sign an NDA contract to obtain the complete datasheet. Due to the required NDA - technical support, an Arduino library, and hookup guide are not provided for users on this product.
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)