Microcontroller-based Encryption Module for Secure Internet Client-Server Chatting
Nikita Kuropatkin, Miloš Drutarovský · 2025
This article focuses on the implementation of a communication protocol with optional steganography support for an embedded platform, resulting in a secure encryption module. We use algorithms based on the Bernstein elliptic curve Curve25519, such as Elligator 2, which enables steganographic key exchange in our system. Additionally, we incorporate other modern cryptographic primitives, including the ChaCha20 symmetric stream cipher and the Poly1305 MAC generation function. By properly combining these cryptographic components, we achieve main security principles such as data integrity, confidentiality, forward secrecy, and steganographic key exchange in our solution. We present our approach to applying and optimizing these cryptographic blocks for the Wiznet W5100S-EVB-Pico evaluation board. We use XDRBG, a novel cryptographically secure pseudorandom number generator, seeded with entropy sources from the board for random number generation. Fur-thermore, we present the speed of the cryptographic blocks used in the protocol to confirm their suitability for the platform.