On Wed, Apr 16, 2025 at 10:15 AM Bellebaum, Thomas <
thomas.belleb...@aisec.fraunhofer.de> wrote:

> > That’s easy to answer: “many of our members have very
> hardware-constrained PoS devices.” Is that okay?
>
> Some context:
>
> Kyber requires several KB of RAM space according to [1], figure 1:
>
> KG = KeyGen, E=Encaps, D=Decaps, H=Heap, S=Stack
>
> Alg       | KG(H) | KG(S) | E(H)  | E(S)  | D(H)  | D(S)
> ----------+-------+-------+-------+-------+-------+------
> Kyber1024 |13,480 |16,488 |10,736 |19,024 |10,768 |20,304
> Kyber512  |11,176 | 7,208 | 7,632 | 9,072 | 7,664 | 9,856
> Kyber768  |12,328 |11,304 | 9,104 |13,680 | 9,136 |14,784
>

This is misleading. There are many implementations of Kyber that require
much less memory. See eg [1] from 2019 where Kyber-512 only requires 2736
bytes.

By the way, for key agreement, between keygen and decapsulation, a client
only needs to keep around the private key seed (64 bytes).


> For comparison, [2] is an implementation of Curve25519 using no heap space.
> On an ATmega128, it uses 462 bytes of stack space for a curve
> multiplication.
>
> While these numbers are not comparable as is (C25519 does not include the
> KEM-Hash, Architectures are different, I am unconvinced that Kyber was
> fully optimized for this in [1]), the difference is striking enough to ask
> a follow up:
>
> Are there concrete devices/scenarios supporting ML-KEM + an application,
> but not ML-KEM + X25519 + an application, especially since the memory
> necessary to store two X25519 keys and a DH-KEM session key during the
> ML-KEM computations is 3*32 bytes?
>
> -- TBB
>

Best,

 Bas

[1] https://cryptojedi.org/papers/nttm4-20190513.pdf
_______________________________________________
TLS mailing list -- tls@ietf.org
To unsubscribe send an email to tls-le...@ietf.org

Reply via email to