circe mtu 1472 version 1 { header { u8[64] tunnel_id } open_tunnel sha512 { clear { u8[32] ecdh_fragment u8[1184] mlkem_pubkey } } ack_open (u8[32] key) sha512 { ! poly1305 (fragment_id key frag_remaining) clear { u8[32] ecdh_fragment u8[1088] mlkem_encaps } chacha20 (0 key) { u8[64] identity u8[2420] signature } } identify (u8[32] key) sha512 { ! poly1305 (fragment_id key frag_remaining) chacha20 (0 key) { u8[64] identity u8[2420] signature } } data (u8[32] key) { ! poly1305 (fragment_id key frag_remaining) clear { u64 sequence_number } chacha20 (sequence_number key) { u8 n_random_bytes u8[] payload u8[n_random_bytes] padding } } close_tunnel (u8[32] key) { ! poly1305 (fragment_id key frag_remaining) clear { u64 sequence_number } chacha20 (sequence_number key) { u8[64] identity u8[2420] signature } } path_challenge (u8[32] key) { ! poly1305 (fragment_id key frag_remaining) clear { u64 sequence_number } chacha20 (sequence_number key) { u8[64] identity u8[2420] signature } } }