-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename mlkem-c-aarch64 to mlkem-native #105
Comments
I don't see any technical issues with a repo change, indeed github adds a redirect to the old name, so even forks should continue working. We'd need to rename in UI & also update our access management tools. We can discuss the name change today. I agree with your premise around lack of x86-64 support being an impediment broadly for pqcp. We have mlkem-c-generic that isn't yet onboard, though I still think there may be a place for a 'reference' implementation, alongside a more optimized/curated version which you have here? |
Thank you @planetf1 for your reply. Let's discuss in the next TSC meeting.
I am no longer sure about that. We have kept mlkem-native very close to the reference implementation already, plus started added CBMC proofs for the C code. I feel mlkem-native could (should?) become the replacement of the reference implementation in PQCP. This way we could focus our energy on that repository, and also reduce customer confusion as to what repository to pick. |
Note that mlkem-c-aarch64/mlkem-native does have C code for all the functions implemented in assembly, so it is possible to turn off assembly and use it for any platform. |
Thanks @hanno-becker @mkannwischer, that's great news. This proposal moves forward several issues - having a native C implementation, ensuring more commonality between implementation, having an implementation available for liboqs to use as well as being aligned with the goal of having higher assurance implementations. A good topic for discussion on Thursday, but it sounds an excellent solution to me |
(cc @planetf1) In the 24-10-24 TSC meeting, we agreed that mlkem-c-generic should discontinue and for mlkem-c-aarch64 to take its place, while also offering backends for optimized implementations on specific architectures. The question of naming, however, was not settled. The current candidate for the renaming remains mlkem-native, but we'd be happy about any other suggestions. Any ideas? |
@hanno-becker I think it's one of the best .. Possibly: mlkem-generic, mlkem-base, mlkem-universal, mlkem-standard Just to throw some ideas out there that I don't think are as good: mlkem-default, mklem-basic, mlkem-essential, mlkem-real, mlkem-primary, mlkem-pluggable, mlkem-simple, mlkem-inclusive I think we have to drop the '-c-' (as you did) since it's also going to contain assembler, so I see why you went with the suggestion you did. |
mlkem-ref is another option emphasizing proximity to the official Kyber ref implementation -- maybe this repo will take on that role over time. |
|
I don't like app - that term is too overloaded. Maybe related: Does anyone know where the name |
@mkannwischer Obviously need to be careful with any trademarks.. a few thoughts (that stick to using normal words and only have a loose association) mlkem-saber |
I overall remain in favour of |
Thanks @planetf1 for the suggestions! I agree with @hanno-becker - |
@planetf1 Do we need another discussion in the TSC, or can @mkannwischer and I go ahead with this? |
agreed in TSC meeting 2024-11-07 that we will rename the repo to mlkem-native |
@hanno-becker and I would like to broaden the scope of MLKEM-C-AArch64 from Arm-focused to application-core focused, notably including support for x86_64. We believe that lack of support for x86_64 is an adoption barrier, as it forces consuming repositories to maintain two copies of largely but not entirely matching C code. In contrast, having a single C base as close as possible to mlkem-c-generic, and a common C<->ASM/Native interface that's implemented by AArch64 and x86_64 backends (and whatever comes in the future), will be easier to work with.
Obviosuly, we do need a new name, and we'd like to propose mlkem-native (as-in "native code", capturing both ASM and intrinsics). Let us know if there are other suggestions.
We do not quite know what the process of a repository name change is, but by posting it here, we wanted to give everyone the opportunity to comment and we'll raise it during the next TSC meeting.
The text was updated successfully, but these errors were encountered: