Difference between revisions of "Atmel Sam Cryptography with CryptoAuth-Xpro-B"
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
=== Implementation for ATECCx08A and ATSHA204A === | === Implementation for ATECCx08A and ATSHA204A === | ||
The [https://git.fh-campuswien.ac.at/c1710475053/atmel-sam-cryptography-with-cryptoauth-xpro-b implementation for ATECCx08A and ATSHA204A] is based on the [https://github.com/MicrochipTech/cryptoauthlib Cryptoauthlib]. | The [https://git.fh-campuswien.ac.at/c1710475053/atmel-sam-cryptography-with-cryptoauth-xpro-b implementation for ATECCx08A and ATSHA204A] is based on the [https://github.com/MicrochipTech/cryptoauthlib Cryptoauthlib].For ease of use of the ASF USART a custom abstraction layer got implemented. | ||
The example program Implements: | The example program Implements: | ||
* Showing the serial numbers of the chips | * Showing the serial numbers of the chips | ||
Line 27: | Line 26: | ||
* Generate a random number (only works with locked configuration Zone) | * Generate a random number (only works with locked configuration Zone) | ||
* Generate a keypair (only works with locked configuration Zone) | * Generate a keypair (only works with locked configuration Zone) | ||
Usage: | |||
* Connect your microcontroller to the EDGB USB port and upload the software | |||
* Open a terminal Program ([https://www.putty.org/ Putty], [https://ttssh2.osdn.jp/index.html.en TeraTerm]) | |||
* Terminal program configuration: | |||
Baud rate 115200 | |||
Data bits 8 | |||
Stop bits 1 | |||
Parity none | |||
* Press the restart button in the controller | |||
== Cryptographic algorithms == | == Cryptographic algorithms == |
Revision as of 07:20, 15 June 2019
Summary
This documentation describes the usage of security features for microcontrollers especially for the Atmel Sam R21 with the expansion board Atcryptoauth Xpro B.
Requirements
Description
The Cryptoauth expansion board contains four chips which gets connected via I2C Chips:
- ATSHA204A (SHA256)
- ATECC508A (Ellipticcurve P256, SHA256)
- ATECC608A (Ellipticcurve P256, SHA256, AES-GCM)
- ATAES132A (AES128)
Implementation for ATECCx08A and ATSHA204A
The implementation for ATECCx08A and ATSHA204A is based on the Cryptoauthlib.For ease of use of the ASF USART a custom abstraction layer got implemented.
The example program Implements:
- Showing the serial numbers of the chips
- Hashing a message
- Showing locked zones
- Locking zones
- Generate a random number (only works with locked configuration Zone)
- Generate a keypair (only works with locked configuration Zone)
Usage:
- Connect your microcontroller to the EDGB USB port and upload the software
- Open a terminal Program (Putty, TeraTerm)
- Terminal program configuration:
Baud rate 115200 Data bits 8 Stop bits 1 Parity none
- Press the restart button in the controller
Cryptographic algorithms
Comming Soon
Used Hardware
Courses
- A course where this documentation was used (2017, 2018)
- Another one (2018)
References
Implmentation:
- https://www.insidegadgets.com/2017/04/21/alarm-system-v3-part-3-using-the-atmel-cryptoauthentication-atsha204a/
- https://www.youtube.com/watch?v=TAOVKcN-pwY
- https://microchiptech.github.io/cryptoauthlib/html/index.html
Cryptographic algorithms:
- https://en.wikipedia.org/wiki/SHA-2
- http://www.iwar.org.uk/comsec/resources/cipher/sha256-384-512.pdf
- https://www.geeksforgeeks.org/implementation-diffie-hellman-algorithm/
- https://www.korelstar.de/informatik/aes.html
- https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Description_of_the_ciphers