On 05.07.2017 13:54, Marcel Holtmann wrote:
This patch set introduces Microchip / Atmel ECC driver.
The first patch adds some helpers that will be used by fallbacks to
kpp software implementations.
The second patch adds ECDH support for the ATECC508A (I2C)
cryptographic engine. The I2C interface is designed to operate
at a maximum clock speed of 1MHz.
The device features hardware acceleration for the NIST standard
P256 prime curve and supports the complete key life cycle from
private key generation to ECDH key agreement.
Random private key generation is supported internally within
the device to ensure that the private key can never be known
outside of the device. If the user wants to use its own private
keys, the driver will fallback to the ecdh software implementation.
can we get this testing with the Bluetooth SMP code? I would really like to see
this being offloaded to hardware. For Bluetooth SMP we never really need the
private key either. The end result is an symmetric 128-bit key for AES. And we
throw the generated key pairs away.
With the limitation of private is not available to Linux directly, we should
make sure that KPP users that don’t require the private key are working
properly and can utilize the offload.
The driver was tested with testmgr, the offload worked.
I've extended recently the ecdh software implementation with
ecc privkey generation support. I also added a kpp test in
testmgr to prove that it works correctly (see ).
I will take a look at Bluetooth SMP code.