whatisgithub

What is go-slh-dsa?

trailofbits/go-slh-dsa — explained in plain English

Analysis updated 2026-07-25 · repo last pushed 2026-07-10

11GoAudience · developerComplexity · 2/5ActiveSetup · easy

In one sentence

A Go library for SLH-DSA, a new federal digital signature standard designed to resist attacks from quantum computers. Developers use it to generate keys, sign messages, and verify signatures in systems that need long-term security.

Mindmap

mindmap
  root((repo))
    What it does
      Post quantum signatures
      Generate key pairs
      Sign and verify messages
    Tech stack
      Go language
      FIPS 205 standard
      Fuzz and mutation testing
    Use cases
      Cryptocurrency security
      Software update pipelines
      Government compliance
    Audience
      Go developers
      Security engineers
      Forward thinking projects

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add post-quantum digital signatures to a new cryptocurrency or blockchain project.

USE CASE 2

Secure a software update pipeline so updates remain verifiable even against future quantum computers.

USE CASE 3

Build systems that comply with new federal cryptography standards requiring quantum-resistant signatures.

What is it built with?

GoSLH-DSAFIPS 205

How does it compare?

trailofbits/go-slh-dsaadguardteam/go-webextcandratama/tamagosh
Stars111111
LanguageGoGoGo
Last pushed2026-07-102026-06-25
MaintenanceActiveMaintained
Setup difficultyeasymoderateeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

No external infrastructure or API keys required, it is a pure Go library you import directly.

So what is it?

This Go library implements a new digital signature standard called SLH-DSA, also known as FIPS 205. Digital signatures are the cryptographic tools that let software verify who created a piece of data and confirm it hasn't been tampered with. This particular algorithm is a big deal because it's designed to resist attacks from quantum computers, which threaten the encryption methods we currently rely on every day. In practical terms, a developer uses this library to generate public and private key pairs, sign messages, and verify those signatures. You start by choosing a security parameter, then generate a key pair. The private key creates a signature for a message, and anyone with the corresponding public key can check that the signature is valid. The library handles converting keys and signatures into plain bytes so they can be saved to a file or sent over a network, and it can load them back up when needed. This tool is aimed at Go developers building systems that need to be secure against future quantum threats. For example, a startup building a new cryptocurrency, a company securing long-term software update pipelines, or a government contractor complying with new federal cryptography standards would need exactly this kind of functionality. Because data encrypted today could theoretically be stored and decrypted later by quantum computers, forward-thinking projects are already adopting these post-quantum standards. The implementation takes quality seriously. The creators run both fuzz tests and mutation testing to ensure the code is robust and free of hidden flaws. This matters because cryptographic code is notoriously difficult to get right, a subtle mistake can completely undermine the security of the entire system, so this rigorous testing approach is a strong indicator of a trustworthy foundation.

Copy-paste prompts

Prompt 1
Using the trailofbits/go-slh-dsa library, write Go code that generates an SLH-DSA key pair, signs a message string, and then verifies the signature against the public key.
Prompt 2
Help me serialize SLH-DSA keys and signatures to bytes using go-slh-dsa so I can save them to files and load them back later for verification.
Prompt 3
Show me how to choose the right security parameter in go-slh-dsa for a system that needs to protect data for the next 20 years against quantum computer attacks.
Prompt 4
Write a Go function that accepts a public key and a message, uses go-slh-dsa to verify a signature, and returns a boolean indicating whether the signature is valid.

Frequently asked questions

What is go-slh-dsa?

A Go library for SLH-DSA, a new federal digital signature standard designed to resist attacks from quantum computers. Developers use it to generate keys, sign messages, and verify signatures in systems that need long-term security.

What language is go-slh-dsa written in?

Mainly Go. The stack also includes Go, SLH-DSA, FIPS 205.

Is go-slh-dsa actively maintained?

Active — commit in last 30 days (last push 2026-07-10).

How hard is go-slh-dsa to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is go-slh-dsa for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.