wirenboard/atecc-util

Ephemeral ECDH

Open

#11 opened on Mar 9, 2021

 (1 comment) (0 reactions) (0 assignees)C (20 forks)auto 404
enhancementgood first issue

Repository metrics

Stars
 (50 stars)
PR merge metrics
 (PR metrics pending)

Description

I tried to calculate a shared secret using ephemeral ECDH exchange using slot 0xFFFF/65535 (TempKey). The communication is between a client with atecc608a chip and a host with a temporary ECC key generated with Python.

A working sample code can be found here: https://github.com/rrottmann/atecc-ecdh-python/blob/master/ecdh_device.py

Now I try to do the same with atecc-util. I can generate the public key for the TempKey slot but cannot calculate the shared secret:

$ ./atecc -b1 -c "ecc-gen 65535 tmpecc.pub"
$ xxd tmpecc.pub
#00000000: 2df2 ff52 d5db 7edd 147a 6da7 fd5b 45c3  -..R..~..zm..[E.
#00000010: 506e f9ac 57a4 6a35 6713 b082 2bc4 e57a  Pn..W.j5g...+..z
#00000020: 029d 7cf5 51b4 3940 22ff 4c1b 3800 4edc  ..|.Q.9@".L.8.N.
#00000030: 7336 b384 efc5 b332 ef06 a9f0 3e4e 7f99  s6.....2....>N..
$ ./atecc -b1 -c "ecdh 65535 tmpecc.pub ecdh.secret"
#Command atcab_ecdh is failed with status 0xf4

Any idea why this fails? Should TempKey work with atecc-util?

Contributor guide