A secure, encrypted wireless communication protocol for embedded systems. Built for STM32F103 + NRF24L01+ with AES encryption and intelligent networking.
S17 is a secure tactical data link system providing encrypted wireless communication between embedded devices. It features time-slotted access, frequency hopping, and military-grade security for applications requiring reliable, secure communications.
your_project/
├── S17/ # This library (as submodule)
├── hermes/ # NOC device (master)
├── homa/ # Tactical node (slave)
├── belfhym/ # Tactical node (slave)
└── shared_libs/ # Common utilities
-
Add as submodule:
git submodule add <repo> S17
-
Include in Makefile:
include S17/Makefile -
Create configuration (
S17_config.h):#define S17_DEVICE_ID S17_NOC_HERMES #define S17_DEVICE_ROLE S17_TIMING_MASTER #define S17_NETWORK_KEY {0x4A, 0x75, /* ... */}
-
Initialize in main:
s17_init(&config); s17_start();
s17_init()- Initialize with device configurations17_start()- Begin secure communicationss17_send()- Send encrypted message to devices17_broadcast()- Broadcast to all devices
S17 implements a multi-layer security architecture:
Encryption: AES-128 with CTR mode for all messages
Authentication: Message authentication codes prevent tampering
Replay Protection: Sequence numbers prevent replay attacks
Key Management: Hierarchical key system (RMK → NMK → TEK)
Perfect Forward Secrecy: Session keys rotate every 15 minutes
All communications are encrypted by default - no insecure modes available.
NOC (Network Operations Controller): Master device controlling network timing and key distribution TN (Tactical Node): Field devices receiving commands and sending telemetry
Time-divided access prevents collisions:
- Slot 0: NOC beacon and commands
- Slot 1-2: Node telemetry slots
- Slot 3: Shared/emergency slot
Frequency hopping across 5 channels provides anti-jamming capability.