[Resource Topic] 2023/781: $\mathsf{Skye}$: A Fast KDF based on Expanding PRF and its Application to Signal

Welcome to the resource topic for 2023/781

\mathsf{Skye}: A Fast KDF based on Expanding PRF and its Application to Signal

Authors: Amit Singh Bhati, Antonin Dufka, Elena Andreeva, Arnab Roy, Bart Preneel


A Key Derivation Function KDF generates a uniform and highly random key-stream from weakly random key material. KDFs are broadly used in various security protocols such as digital signatures and key exchange protocols. HKDF is the most deployed KDF in practice. It is based on the \textit{extract-then-expand} paradigm and is presently used, among others, in the Signal Protocol for end-to-end encrypted messaging.

HKDF was proposed as a generic KDF for general input sources and thus is not optimized for source-specific use cases such as key derivation from Diffie-Hellman (DH) sources (i.e. DH shared secrets as key material). Furthermore, the sequential HKDF design is unnecessarily slower on some general-purpose platforms that benefit from parallelization.

In this work, we propose a novel, efficient and secure KDF called \mathsf{Skye}. \mathsf{Skye} follows the \textit{extract-then-expand} paradigm and consists of two algorithms: efficient deterministic \textit{randomness extractor} and \textit{expansion} functions. Instantiating our extractor for dedicated source-specific (e.g. DH sources) inputs allows us to achieve a significant efficiency speed-up over HKDF at the same security level. We provide concrete security analysis of \mathsf{Skye} and both its algorithms in the standard model.

We provide a software performance comparison of $\mathsf{Skye}$ with the AES-based expanding PRF $\mathsf{ButterKnife}$ and HKDF with SHA-256 (as used in Signal). Our results show that in isolation $\mathsf{Skye}$ performs from 4x to 47x faster than HKDF, depending on the platform instruction support. We further demonstrate that with such a performance gain, when $\mathsf{Skye}$ is integrated within the current Signal implementation, we can achieve significant overall improvements ranging from $38\%$ to $64\%$ relative speedup in unidirectional messaging. Even in bidirectional messaging, that includes DH computation with dominating computational cost, $\mathsf{Skye}$ still contributes to $12-36\%$ relative speedup when just 10 messages are sent and received at once.

ePrint: https://eprint.iacr.org/2023/781

See all topics related to this paper.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.

For more information, see the rules for Resource Topics .