SIDH Library is a fast and portable software library that implements state-of-the-art supersingular isogeny cryptographic schemes. The chosen parameters aim to provide security against attackers running a large-scale quantum computer, and security against classical algorithms.
I wonder why SECRETKEY_A_BYTES = (OALICE_BITS + 7) / 8 but SECRETKEY_B_BYTES = (OBOB_BITS + 6) / 8. What's more, ORDER_B_ENCODED_BYTES is defined as SECRETKEY_B_BYTES + 1 in P610_internal.h but in other Pxxx_internal.h ORDER_B_ENCODED_BYTES is just SECRETKEY_B_BYTES. According to my understanding, SECRETKEY_B_BYTES should be defined as (OBOB_BITS + 7) / 8 so that the ORDER_B_ENCODED_BYTES in P610_internal.h does not need to be especially defined.
These macros are defined in P610_internal.h
I wonder why
SECRETKEY_A_BYTES = (OALICE_BITS + 7) / 8
butSECRETKEY_B_BYTES = (OBOB_BITS + 6) / 8
. What's more,ORDER_B_ENCODED_BYTES
is defined asSECRETKEY_B_BYTES + 1
in P610_internal.h but in other Pxxx_internal.hORDER_B_ENCODED_BYTES
is justSECRETKEY_B_BYTES
. According to my understanding,SECRETKEY_B_BYTES
should be defined as(OBOB_BITS + 7) / 8
so that theORDER_B_ENCODED_BYTES
in P610_internal.h does not need to be especially defined.