at-cryptoauth 0.3.0

Driver for ATECC608 Crypto Authentication secure elements
Documentation
# ATECCx08 CryptoAuth

- [Datasheet]https://atecc608a.github.io/ATECC608A.pdf
- [Datasheet (TNG-TLS)]http://ww1.microchip.com/downloads/en/DeviceDoc/ATECC608A-TNGTLS-CryptoAuthentication-Data-Sheet-DS40002112B.pdf
- [X.509 Certificate]http://ww1.microchip.com/downloads/en/AppNotes/Atmel-8974-CryptoAuth-ATECC-Compressed-Certificate-Definition-ApplicationNote.pdf

## Existing works

The chip vendor open-sources CryptoAuthLib, the official driver library. It is
firmly coupled with the Harmony framework and well suited for SAM families.

Rusty_CryptoAuthLib is an implementation in Rust that maintains API
compatibility with the CryptoAuthlib.

## Limitations

This driver only supports ATECC608 over an I2C bus and on its host side,
STM32-L4 family or RaspberryPi. As a matter of fact, tests have been running
only on these combinations.

By design, the driver does not conform to the vendor’s authentic library
implementation. Instead, it provides with just a tiny subset of APIs, which is
necessary and sufficient for implementing traits proposed by Rust Crypto.

Prior to finalize the device, a user has to plan how to deploy or generate keys
and which API operates on them. The driver imposes a fixed usage model called
TNG-TLS. At the cost of the users’ degree of freedom, the limited scope helps
them provision the device.