Skip to main content

Transport Layer

Draft

This section is under construction.

TLS Requirements

  • Version: MUST be TLS 1.3
  • Cipher Suite: TLS_CHACHA20_POLY1305_SHA256
  • ALPN: "smp/1"
  • Server Certificate: Ed25519 or Ed448 self-signed
  • Verification: Fingerprint-based (SHA-256 of certificate)

Block Format

All SMP transmissions use a fixed block size of 16,384 bytes (16 KB).

  • Padding character: 0x23 ('#')
  • Content is length-prefixed, then padded to fill the block
  • This prevents traffic analysis based on message size

Version Negotiation

After TLS handshake, server and client exchange version information:

  1. Server sends ServerHello with supported version range
  2. Client sends ClientHello with supported version range and session ID
  3. Both sides select the highest mutually supported version