Crystals Kyber Flutter — JS

Miguel Angel
3 min readJul 22, 2022

This is not an explanation of the kyber algorithm, it is an example of its implementation and tuning notes for NIST stage 3.

On this occasion, I want to share with you the security mechanism that I am using for our flutter application, it is a crypto wallet. And the approach that I wanted in this project is to have security at the level of a hard wallet, the way to achieve this is by guaranteeing highly encrypted, secure communication and with the generation of dynamic keys every N time. Just when I was looking for symmetric encryption algorithms, I read the NIST news, where you announce the algorithms for the post-quantum era. (https://www.nist.gov/news-events/news/2022/07/nist-announces-first-four-quantum-resistant-cryptographic-algorithms)

The idea of this is to achieve a highly dynamic communication in terms of generating encryption keys, that is, even using post quantum algorithms, I want to generate a dynamism that provides an extra layer of security. Crystal Kybers helps us to generate a secret key on the client and server without the need to share the same keys.

Kyber is a key encapsulation method (KEM) designed to be resistant to cryptanalytic attacks with future powerful quantum computers. It is used to establish a shared secret between two communicating parties without an (IND-CCA2) attacker in the transmission system being able to decrypt it. This asymmetric cryptosystem uses a variant of the presumably NP-hard lattice problemof learning with errors as its basic trapdoor function. It won the NIST

--

--