Crypto Shield Hookup Guide

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

Pages
Contributors: jbdatko, CaseyTheRobot
Favorited Favorite 0

Atmel ATECC108

alt text

The ATECC108 performs the Elliptic Curve Digital Signature Algorithm (ECDSA) on the chip. This is an authentication chip, like the ATSHA204. The goal of an authentication device is to assert the integrity and identity of a communicating party. The ATECC108 uses asymmetric cryptography, which means there is a public and private key. In short, this allows you to distribute public keys and keep individual private keys secret. This is unlike the ATSHA204 where each device needs a copy of the same secret key.

Software

You have three options for software with this Chip.

  1. Use Atmel's AVR library with Atmel Studio.
  2. Use the Cryptotronix Arduino library (a Work In Progress)
  3. Use the Cryptotronix Linux user-space driver

Atmel AVR Library

While the datasheet is under a NDA, Atmel provides an AVR based library to interface with this chip.

Arduino library

The Arduino library will use the EC108 to sign messages, but you must personalize the chip using the Linux driver first. The code is in development and pull requests are welcome.

Using the ATECC108 under Linux

There is a Cryptotronix Linux driver, with examples, available on GitHub. This blog post walks through using the software and describes the current status.

Like the ATSHA204, this chip must go through a personalization process that is irreversible. The above software driver picks reasonable default settings which should be sufficient for the majority of use-cases.

The Linux driver is the easiest option to use currently.