chipsalliance / caliptra-rtl

HW Design Collateral for Caliptra RoT IP
Apache License 2.0
66 stars 36 forks source link

[ECC] Report failure in signing if generated signature has s=0 #223

Closed mojtaba-bisheh closed 1 year ago

mojtaba-bisheh commented 1 year ago

Based on NIST FIPS 185-5 page 24, section 6.4.1, in ECC signing operation, if r = 0 or if s = 0, then output failure. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf Although the situation for r=0 has been highlighted in RFC6979, there is no statement for s=0 in that document. However, this failure (s=0) should also be added into design.

bharatpillilli commented 1 year ago

Hi Mojtaba - same questions as last one...why found now? how come other tests or FPV didnt catch?

mojtaba-bisheh commented 1 year ago

Hi Bharat, this issue came out from our today FPV meeting. The review of ECC FPV is not completed yet and that’s the reason they didn’t catch it before.

On Mon, Sep 25, 2023 at 6:34 PM bharatpillilli @.***> wrote:

Hi Mojtaba - same questions as last one...why found now? how come other tests or FPV didnt catch?

— Reply to this email directly, view it on GitHub https://github.com/chipsalliance/caliptra-rtl/issues/223#issuecomment-1734555275, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYKUSSKYFPUG7VFK4OXDF7DX4IBH7ANCNFSM6AAAAAA5GY4Q34 . You are receiving this because you were assigned.Message ID: @.***>

mojtaba-bisheh commented 1 year ago

The bug has been fixed internally as follows: assign s_output_outofrange = signing_process & (hw_s_we & (read_reg == 0));

mojtaba-bisheh commented 1 year ago

https://github.com/chipsalliance/caliptra-rtl/pull/240 sync fixed this.