[PATCH] cipher: Add Classic McEliece mceliece6688128f.

Simon Josefsson simon at josefsson.org
Wed Apr 17 11:57:43 CEST 2024


NIIBE Yutaka <gniibe at fsij.org> writes:

> Hello,
>
> Let us apply the patch of Classic McEliece mceliece6688128f.

Thank you.

> (Personally, I need to do this before adding more curves to ECC KEM.)
>
> On Tue, 30 Jan 2024 10:20 +0100, Simon Josefsson wrote:
>> This patch adds Classic McEliece mceliece6688128f based on the public
>> domain libmceliece code.  What do you think?
>
> On Tue, 30 Jan 2024 16:48 +0100, Werner Koch wrote:
>> Seems people want that.
>
> Indeed.  It's good to have different one other than lattice based.
>
>> - I think the name is too long, we should find an abbreviation.
>> - C++ comments neeed to be remoced
>> - __attribute__ need to be removed or replaced by GGPRT macros.
>> - Probably other cleanups.
>
> Let me do these changes after the first push of the patch.
>
> Is there any good shorter name, or an abbreviation?  Libgcrypt tries to
> support building by older C compilers (< C99) for older systems.  Older
> compiler needs shorter name.

Classic McEliece is abbreviated 'CM' in its specification document, so
s/MCELIECE6688128/CM6688128/g' is one approach.

Are pre-C99 compilers supported for real, or is this merely an obsolete
desired feature?  Do you have any example of a pre-C99 compiler that can
build libgcrypt?  I recall trying to get libgcrypt to build with tcc
long time ago and failed.

I think the names aren't unreasonable long, and if someone wants support
a pre-C99 compiler that can be achieved with a conditional #define
GCRY_KEM_MCELIECE6688128F GCRY_KEM_CM6688128F', couldn't it?  But maybe
not worry about it until there is a known real use-case.

/Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 255 bytes
Desc: not available
URL: <https://lists.gnupg.org/pipermail/gcrypt-devel/attachments/20240417/0c759b4e/attachment.sig>


More information about the Gcrypt-devel mailing list