Ben MeadorsandThomas Göttgens fa031c95dc perf(crypto): stop heap-allocating a cipher object per packet (#11462)
* perf(crypto): stop heap-allocating a cipher object per packet

encryptAESCtr() constructed a fresh CTR<AES128/256> on the heap for
every call - once per encrypted transmit and once per channel decrypt
attempt on every received encrypted packet. On the platforms that use
this base implementation (STM32WL, RP2040, nRF54L15, portduino) that
is avoidable per-packet malloc/free churn on small heaps.

Reuse lazily-created singletons instead. Safe for the same reason the
function's static scratch buffer already is: every caller serializes
under cryptLock, and setKey/setIV reinitialize the cipher state each
call. Lazy heap pointers rather than static objects so ESP32/nRF52
(which override this method) never reserve the RAM.

* Improve comments in encryptAESCtr function

Refactor comments for clarity and conciseness in AES-CTR encryption implementation.

---------

Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
2026-08-13 09:27:05 +02:00
2021-10-09 17:15:12 +11:00
2026-08-06 14:05:07 +00:00
2024-09-24 15:24:08 -05:00
2026-08-11 14:56:11 +02:00
2026-07-01 19:01:27 -05:00
2026-01-29 10:06:58 -06:00
2024-11-28 06:26:51 -06:00
2024-09-04 15:33:28 -07:00
2026-07-28 11:09:40 +00:00
2026-01-29 10:06:58 -06:00
2026-01-29 10:06:58 -06:00
2026-08-13 09:26:45 +02:00
2026-07-01 19:01:27 -05:00
2025-01-13 12:24:05 +08:00
2026-01-29 10:06:58 -06:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt

S
Description
No description provided
Readme GPL-3.0
72 MiB
0 Stars 1 Watchers 0 Forks
2026-09-01 21:05:50 +08:00
Languages
C++ 72.5%
C 23.7%
Python 2%
Shell 1.2%
Batchfile 0.2%
Other 0.2%