Elliptic Curve Cryptography on 8bit AVR

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I started looking into doing cryptography, in particular digital signatures, on an 8bit AVR. I came to realize that 2048RSA or 256ECDSA is too slow for this. Originally I looked at an ARM but since this is overkill (except for the ECDSA part then) and generally consumes more power I'd rather stay with AVR 8bit. So I started looking for solutions and came across the ATECC108A (http://www.atmel.com/devices/ATECC108A.aspx). I have the following questions:

1) Why doesn't this seem to be widely used? Is it because crypto on 8bit MCU's is uncommon or are there other/better solutions?

2) I can't find this product available anywhere and the delays seems to be very long (until July). it seems that it's a new device. Does anyone have any alternatives that they can recommend?

It would be great if someone has more info on this, thanks!

Last Edited: Wed. Mar 11, 2015 - 08:39 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

MuTeD wrote:
... and generally consumes more power ...
For mA/clock some 32 bit MCUs are better than some AVR though the RF AVR (a 1.8V core AVR) approach.

MuTeD wrote:
... I'd rather stay with AVR 8bit.
Some advantages for AVR; XMEGA improve on mA/clock.

MuTeD wrote:
Is it because crypto on 8bit MCU's is uncommon ...
Some XMEGA have an AES crypto engine.

RF AVR have crypto in the transceiver but don't know if the AVR application can access the crypto streams.

There's an AVR app not for an AES bootloader.

MuTeD wrote:
... or are there other/better solutions?
Are Atmel's SHA authentication products acceptable in-lieu of the ECC parts?

MuTeD wrote:
2) I can't find this product available anywhere and the delays seems to be very long (until July). it seems that it's a new device.
ATECC108 Is a part of the new Arduino Wi-Fi shield.

A guess is a supply delay (respin, or, waiting for a slot in a fab) or a supply allocation (Arduino versus others).


AVR231 : AES Bootloader

http://www.atmel.com/images/doc2589.pdf

Atmel Corporation

Arduino and Atmel Launch Secure Wi-Fi Connectivity for All Arduino Platforms; Enables Unlimited Possibilities for Smart, Connected IoT Devices

Somerville, MA and San Jose, CA, September 19, 2014

http://www.atmel.com/about/news/release.aspx?reference=tcm:26-63341

...

It also includes the ATECC108 device, from the Crypto Authentication family, which allows users to easily incorporate hardware authentication capability in their design.

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The AVR will mostly be in power down or power save mode so the difference in power consumption should hopefully not be that much. Unfortunately SHA won't really work, I guess I'll just need to wait till I can buy one. Thanks for the info!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

A likely advantage of an ASIC like ATECC108 is reduced power consumption.

An alternative to an ASIC is an FPGA or a DSP; some of those have very low idle and/or sleep power.

ASIC ECC - Atmel likely has competitors due to demand.

ECC is in some FPGA IP libraries; ECC, and other crypto, is also in open FPGA libraries.

Not as integrated as on a MCU but may reduce the risk (failure due to lack of part sourcing; lack of stock; one distributor).

If want to stay with AVR there are AVR cores for FPGA and possibly an AVR with an AVR core.

OpenCores

Projects :: OpenCores

http://opencores.org/projects

logo

The Papilio DUO and the new shields are finally here!

Posted on February 25, 2015 by

http://www.gadgetfactory.net/2015/02/the-papilio-duo-and-the-new-shields-are-finally-here/

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

MuTeD wrote:
...

So I started looking for solutions and came across the ATECC108A (http://www.atmel.com/devices/ATECC108A.aspx). I have the following questions:

1) Why doesn't this seem to be widely used? Is it because crypto on 8bit MCU's is uncommon or are there other/better solutions?

Another use of ATECC108 is in the Atmel WINC1500 starter kit; a number of distributors have this in-stock in an amounts from some to fair.

Atmel Corporation

Home > Products > Wireless Connectivity > Wi-Fi > SmartConnect

ATWINC1500-XSTK

http://www.atmel.com/tools/ATWINC1500-XSTK.aspx

...

  • ATECC108 CryptoAuthentication device connected to host MCU

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That's great! I'll get one of this to experiment with. Thanks a lot for your help!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello guys, right now I am working with ATECC108 but I can't find any complete datasheet to it, explaining all configuration zone fields. I am using ACES to figure out how it works and using ATSHA204 to help, but some fields present on ATECC108 aren't on ATSHA204 so I can't figure out what is going on there nor why some values are used by the example library. So, is there any complete datasheet for ATECC108 in the same way ATSHA204 and ATAES132 has?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

...

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow, I didn't see this little text in the datasheet! Sorry for that and thanks theusch. Just under NDA, I understand.

 

Another question: I bought a AT88CK490 evaluation kit few days ago and I am trying to communicate with ATECC108A present on this kit through the I2C external connectors. I am not using a AVR microcontroller, I changed all hardware dependent code (i2c driver) in the library and tested with other microcontrollers, but every time I try to send something to the kit through I2C bus I receive the "arbitration lost" status code, trying to figure out the problem I saw that the 5-pins external connector are connected directly to the USB controller and not to the crypto modules. Are there anyway to bypass the USB controller or send messages through something like I2C -> USB controller -> ATECC108 and receive the response back? I didn't understand the purpose of these 5 pins if they aren't connected to the crypto modules.

 

Schematic: http://www.atmel.com/Images/Atme... page 11 and 12.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or is it completely possible and I am doing something completely wrong? I am using an ARM Cortex-M3 as master, I2C in fast mode (400kHz) and "0xC0 | R/W" as slave address to reach ATECC108.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MuTeD wrote:

So I started looking for solutions and came across the ATECC108A

2) I can't find this product available anywhere and the delays seems to be very long (until July).

It seems to be available at DigiKey:

 

Another question, though, is why is only the datasheet summary available?

(Answered by theusch in post#8)

 

 

Last Edited: Fri. Jun 12, 2015 - 09:49 PM