Topic: ECC timing performance is variable?

Hi,

I am playing around with the ECC implementation in wolfssl-2.7.0


I have stripped down the code to what is required for ECC and have ported it to a Cortex-M0.
I am using Keil ARM-MDK and its simulator for development.

What I find is that the time it takes to do a multiplication (ecc_mulmod()) varies according with Key K input for the same  G.
i.e
Timefor(K1 * G) != Timefor(K2 * G)

I have got time varying from 400ms to 5sec

I think this is expected(?)
If so how to find out the worst case time?
Also how to estimate worst case stack and heap requirement?

Regards

Share

Re: ECC timing performance is variable?

Hi,

I think this is expected(?)
If so how to find out the worst case time?

Yes, this is expected.  The longer the ECC key size, the longer the ecc_mulmod() function will take to complete.  wolfSSL embedded SSL supports up to 521-bit ECC keys.

Also how to estimate worst case stack and heap requirement?

We don't currently have a measurement of ECC memory usage on hand when used individually.  We do have a resource usage document which shows ECC memory usage when used with SSL/TLS.  I will send this over in a Private Message.

Best Regards,
Chris