example.pba (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
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
}
}
}
|