Open gmag11 opened 5 years ago
With core version higher than 2.5.0 (latest is 2.5.2) I get a Exception (3) boot loop when calling Curve25519::dh1(uint8_t k[32], uint8_t f[32]).
Curve25519::dh1(uint8_t k[32], uint8_t f[32])
I've traced the exact point and I've got to Curve25519::mulA24(limb_t *result, const limb_t *x).
Curve25519::mulA24(limb_t *result, const limb_t *x)
I've noticed that code uses BIGNUMBER_LIMB_16BITfor ESP8266 platform.
BIGNUMBER_LIMB_16BIT
If I change this line from #if defined(__AVR__) || defined(ESP8266) to #if defined(__AVR__)
#if defined(__AVR__) || defined(ESP8266)
#if defined(__AVR__)
so that it uses BIGNUMBER_LIMB_32BIT, the program runs fine.
BIGNUMBER_LIMB_32BIT
I've tested it with v0.2.0 and latest master.
I have the same problem. I think it is solved here: https://github.com/esp8266/Arduino/pull/6270
With core version higher than 2.5.0 (latest is 2.5.2) I get a Exception (3) boot loop when calling
Curve25519::dh1(uint8_t k[32], uint8_t f[32])
.I've traced the exact point and I've got to
Curve25519::mulA24(limb_t *result, const limb_t *x)
.I've noticed that code uses
BIGNUMBER_LIMB_16BIT
for ESP8266 platform.If I change this line from
#if defined(__AVR__) || defined(ESP8266)
to#if defined(__AVR__)
so that it uses
BIGNUMBER_LIMB_32BIT
, the program runs fine.I've tested it with v0.2.0 and latest master.