You’ll be glad to know that in the latest patch r2.1.1-p02 we have added support for Microchip’s ATECCX08A cryptographic secure elements. At the moment ATECC508A is supported, but ATECC608A will soon be available.

Since the ATECC508A is ideal for IoT node security (among many things), we are sure that you will want to find out what the rest of its features are.

Handle complex cryptographic functions easily

This support is significant for IoT developers everywhere because it allows handling complex cryptographic functions directly on the hardware side, using simple Python code, with reduced power consumption, firmware dimension and computation time.

An easy way to provision secure elements to the field is also provided thanks to the integration with the Zerynth Toolchain in the new “provisioning” group command. More info here.

Technical Details

Microchip ATECCx08A crypto elements family provides a series of HW accelerated cryptographic functions, most notably ECDH (508A/608A only) and ECDSA.

The ATECC508A crypto element is the first crypto device to integrate ECDH (Elliptic Curve Diffie–Hellman) key agreement, which makes it easy to add confidentiality (encryption/decryption) to digital systems including Internet of Things (IoT) nodes used in home automation, industrial networking, accessory and consumable authentication, medical, mobile and other applications.

Specifications

Operating Voltage Range: from 2.0 V to 5.5 V

Operating Temperature Range: from -40 °C to 85 °C

Interface Type: Single Wire; I2C

Operating Current Typical: 1 mA

Zerynth ATECCx08A Module features

This Zerynth module exports classes for Microchip ATECCx08A chip family and some utility functions.

Secondly, an interface to allow the use of chip-related functionalities from other Zerynth hybrid C/Python libraries is made available.

Take a look at the related documentation to see all the other features and the definitions of the class and methods of the library.

Start from ready-made examples

We’ve prepared two examples that you can “clone” in just a few clicks and let you getting started with the cryptochip in no time, using simple Python code. More info about how to clone a Zerynth example here.

The first example is called “ping” and is the simplest example to be tried for starting with the Zerynth ATECCx08A library and the ATECC508A crypto element.

The code reads the Revision bytes of the chip, checking if they are the expected ones.

Take a look at the code: