kokke / tiny-ECDH-c

Small portable Elliptic-Curve Diffie-Hellman in C
The Unlicense
254 stars 64 forks source link

K-163 is still too difficult for IoT devices #30

Closed china4sq closed 1 year ago

china4sq commented 1 year ago

K-163 is still too difficult for IoT devices. May I have simpler parameters, such as 20 bits, not 80 bits in K-163?

kokke commented 1 year ago

Hi @china4sq and thanks for your interest in the project.

May I have simpler parameters, such as 20 bits, not 80 bits in K-163?

Unfortunately that is not possible. The parameters of K-163 are not variable.

I benchmarked K-163 on an STM32 ARM Cortex-M3 some years ago. As far as I remember, it takes some 100 milliseconds.

What kind of hardware are you on?


such as 20 bits

I don't want to judge, but 20 bits of encryption is really not much!! From https://en.wikipedia.org/wiki/40-bit_encryption

A typical home computer in 2004 could brute-force a 40-bit key in a little under two weeks, testing a million keys per second

So commodity hardware from 2004 could enumerate all possible 20-bit keys in a second. You would be very vulnerable to offline-attacks if they are possible.

I know there is some hand-waving here, because of the conversion to symmetrical-equivalent entropy, but I think the point still stands.

I am closing this issue, since I've answered your first question. If you have further comments/questions, feel free to keep posting.