HLPSL

1 program Added 2026-03-05T10:00:00Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: High-Level Protocol Specification Language
Provenance: commit b040857813 · authored 2026-03-05T11:47:23+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

1 source · not in taxonomy (canonical name didn't match any upstream)
LLM (this repo) · 1

Related languages

HLSL (0.40)RSL (0.40)JFlex (0.40)RAISE (0.39)MASL (0.39)

LLM-contributed programs

Symmetric Key Authentication Protocol

Provenance: commit b040857813 · authored 2026-03-05T11:47:23+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
code.hlpsl · added: 2026-03-05T10:00:00Z
role alice (A, B: agent,
            Kab: symmetric_key,
            SND, RCV: channel (dy))
played_by A def=
  local State : nat,
        Na    : text
  init  State := 0
  transition

  0. State = 0 /\ RCV(start) =|>
     State' := 1 /\ Na' := new()
     /\ SND({Na'.A.B}_Kab)

  1. State = 1 /\ RCV({Na.Nb'}_Kab) =|>
     State' := 2 /\ SND({Nb'}_Kab)

end role


role bob (A, B: agent,
          Kab: symmetric_key,
          SND, RCV: channel (dy))
played_by B def=
  local State : nat,
        Nb    : text,
        Na    : text
  init  State := 0
  transition

  0. State = 0 /\ RCV({Na'.A.B}_Kab) =|>
     State' := 1 /\ Nb' := new() /\ Na' := Na
     /\ SND({Na.Nb'}_Kab)
     /\ secret(Nb', sec_nb, {A, B})

  1. State = 1 /\ RCV({Nb}_Kab) =|>
     State' := 2

end role


role session(A, B: agent,
             Kab: symmetric_key)
def=
  local SA, RA, SB, RB: channel (dy)
  composition
       alice(A, B, Kab, SA, RA)
    /\ bob(A, B, Kab, SB, RB)
end role


role environment() def=
  const a, b        : agent,
        kab, kai    : symmetric_key,
        sec_nb      : protocol_id
  intruder_knowledge = {a, b, kai}
  composition
       session(a, b, kab)
    /\ session(a, i, kai)
    /\ session(i, b, kai)
end role


goal
  secrecy_of sec_nb
end goal


environment()

Contribute — propose a file extension

Tell us where to find evidence about HLPSL (mapped to pl/hlpsl). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/HLPSL/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← HLisp hls →