Files
zeekay 975898ac1d jasmin: lib + slh-dsa + threshold sources for N1-analog byte-equality
Jasmin scaffolding for the Magnetar high-assurance track, mirroring
Pulsar's structure but specialized to SLH-DSA-SHAKE-192s. Surface area:

lib/ — shared protocol primitives:
  magnetar_params.jinc    — Shamir prime, seed size, quorum cap,
                            wire-format constants
  lagrange_gf257.jinc     — byte-wise Lagrange coefficient computation
                            over GF(257); constant-time over (public)
                            eval-point set
  transcript.jinc         — cSHAKE256 absorption primitives with the
                            MAGNETAR-*-V1 customisation tags
  seed.jinc               — pack_bytesum_be: byteSum vector → big-
                            endian byte string for the
                            MAGNETAR-SEED-SHARE-V1 mix

threshold/ — protocol-layer .jazz files:
  round1.jazz             — per-party Round-1 commit (mask derive,
                            share mask, D_i digest)
  round2.jazz             — per-party Round-2 reveal (mask || masked)
  combine.jazz            — aggregator: commit re-derive, Lagrange
                            reconstruct, mix-to-seed, SLH-DSA dispatch

slh-dsa/ — single-party reference (libjade-SLH-DSA when upstream
            lands; today routes through cloudflare/circl). README +
            fetch.sh skeleton.

Structural simplification: ~600 LOC vs Pulsar's ~1500 LOC. The
elimination comes from byte-wise Z_257 arithmetic (no Montgomery,
no NTT, no polynomial vectors), no rejection-loop kappa state, and
the monolithic SLH-DSA signature output (no FIPS 204 §3.5.5
c_tilde/z/h decomposition).

The .jazz files type-check under jasminc -until_typing and target
jasmin-ct clean. The CI gate scripts/checks/jasmin.sh is skip-
friendly if jasminc is not on PATH.
2026-05-19 08:39:06 -07:00

16 lines
613 B
Bash
Executable File

#!/usr/bin/env bash
# Magnetar — fetch libjade SLH-DSA sources (stub).
#
# When libjade lands SLH-DSA Jasmin sources upstream, this script
# pins the upstream commit and pulls the subtree into this directory.
# At the time of submission (May 2026), libjade-SLH-DSA is not yet
# upstream; this script prints a notice and exits 0.
set -euo pipefail
echo "==> Magnetar slh-dsa fetch"
echo " [notice] libjade-SLH-DSA is not yet upstream as of 2026-05."
echo " See README.md in this directory for the closure plan."
echo " Production routes through cloudflare/circl/sign/slhdsa."
exit 0