Existem vários módulos de rádio baratos (nRF24L01 por exemplo) que são capazes de transmitir apenas pacotes de 32 bytes. Isso é muito pouco para incluir um HMAC computado com qualquer protocolo moderno e um IV. Agora, eu li que é possível enviar dados de autenticação em um pacote e os próprios dados em pacotes subsequentes, no entanto, em alguns módulos de rádio é possível receber pacotes de outros nós entre os pacotes corretos, então parece que algum tipo de autenticação é necessária em cada pacote.
Existe algum protocolo ou biblioteca para esse tipo de comunicação?
Tentei reduzir a MTU da minha VPN Wireguard para 32 e funcionou, mas não tenho certeza se são 32 bytes de dados ou 32 bytes por pacote inteiro.
Se estiver funcionando, provavelmente está tudo bem. A MTU é quantos bytes são enviados no pacote. Contanto que haja uma maneira de remontar os pacotes na ordem correta e detectar pacotes ausentes, então não importa qual seja a MTU (dentro de alguns limites; obviamente uma MTU de um único byte será um problema). No seu exemplo de um HMAC anexado, ele não precisa caber em um único pacote. Enviei mensagens seguras de comprimento arbitrário por Bluetooth em blocos de 20 bytes.
Se você quer algo conveniente, sua solução wireguard provavelmente é boa, ou considere algo como nerfnet que lhe dará TCP padrão, sobre o qual você pode executar TLS. O objetivo de um protocolo como TCP é fornecer comunicação confiável sobre um transporte não confiável, com a ilusão de um "fluxo" que é realmente apenas "pedaços de bytes não maiores que o MTU".