# 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.