#minipgp6 is now running in the "#OpenPGP interoperability test suite" at

https://sequoia-pgp.gitlab.io/openpgp-interoperability-test-suite/results.html

It's getting rather low "scores", but that is expected.
The test suite assumes that implementations support v4 artifacts, and minipgp6 intentionally doesn't. So it fails all tests that use these old formats - and that's ok.

When looking more closely at the v6 and PQC tests, interop between minipgp6 and everyone else is looking very good, though 🚀

OpenPGP interoperability test suite

After spending some time with the #minipgp6 encryption/decryption code over the last few days, I decided to finally have a look at the "age" tool (which I had thus far never tried).

I wrote up a comparison between the SOP CLI standard for file encryption, and the age tool:

https://openpgp.foo/posts/2026-06-file-encryption/

The text includes some benchmarks to compare msop and age.

#OpenPGP #age #encryption #PGP #RustLang

File encryption with SOP/OpenPGP (and age)

This article explores file encryption with Stateless OpenPGP (SOP) tools, and contrasts this use of SOP with the age tool. SOP is a CLI standard for (vendor-agnostic) OpenPGP tools. There are numerous independent implementations of SOP, based on a variety of OpenPGP implementations in different languages. The msop implementation of SOP # In this article, we’ll use the msop implementation of SOP. It is based on the very small minipgp6 Rust library. minipgp6 supports only a narrow modern set of algorithms, with v6 keys as specified in RFC 9580 and comes with native support for PQC.

OpenPGP.foo

I have just released #minipgp6 v0.0.2:

https://floss.social/@minipgp6/116682371081029066

minipgp6 is a very small and modular implementation of a modern subset of #OpenPGP

This snapshot reflects refactoring and prototyping I've done over the last weeks.

In particular, I've spent some time on the SEIPD encryption/decryption code, with the goal of making it easier to read and reason about.

As a side effect, the #msop encrypt and decrypt commands now run quite a bit faster than in the previous release.

A new snapshot release of #minipgp6 is now available as v0.0.2:

https://codeberg.org/minipgp6/minipgp6/src/tag/v0.0.2

minipgp6 is a very small implementation of a modern subset of #OpenPGP

Note that the v0.0.x series of minipgp6 releases serve strictly as prototypes.
Once prototyping is complete, the v0.1 series will be written from scratch.

#RFC9580 #RFC9980

minipgp6

A very lean implementation of modern OpenPGP

Codeberg.org

My current goal for #minipgp6 is to clarify the target shape for an eventual v0.1.0 release.

The v0.0.x series serves strictly as a prototype. This is why v0.0.1 lives in the separate "draft" git branch.

Once prototyping is complete, I will start implementing the v0.1 series from scratch, in the git "main" branch.

I just released a first draft version of #minipgp6

https://floss.social/@minipgp6/116500687374282691

minipgp6 is an intentionally small #OpenPGP library stack.
It implements v6 formats from https://www.rfc-editor.org/rfc/rfc9580 and #PQC composite key algorithms from https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/

The complete library stack in this release adds up to ~5k LOC.
It interoperates with all modern OpenPGP libraries: https://codeberg.org/minipgp6/minipgp6#interop

A SOP CLI tool based on minipgp6 can be installed as

$ cargo install minipgp6-sop

Many thanks to @nlnet

Initial draft release: #minipgp6 version 0.0.1 🔐🤏

https://codeberg.org/minipgp6/minipgp6/src/tag/v0.0.1

minipgp6 is a very small implementation of a modern subset of #OpenPGP.

minipgp6

A very lean implementation of modern OpenPGP

Codeberg.org

Initial draft release: #minipgp6 version 0.0.1 🔐🤏

https://codeberg.org/minipgp6/minipgp6/src/tag/v0.0.1

minipgp6 is a very small implementation of a modern subset of #OpenPGP.

minipgp6

A very lean implementation of modern OpenPGP

Codeberg.org

Update on #minipgp6

My draft implementation is almost feature complete, albeit still rough around some edges.

It supports traditional Ed25519/X25519 plus the two MTI PQC hybrids from draft-ietf-openpgp-pqc.

("OpenPGP component validity" semantics is still missing.)

The (very modular) stack of libraries currently weighs a total of ~4.2k LOC.

The SOP CLI tool implementation is 1.5k LOC.
A build of the SOP binary is 1.3 mbyte (with size-optimization settings for the compiler/linker)

#OpenPGP

In 2026, my main focus is the https://codeberg.org/minipgp6/ #OpenPGP stack.

#minipgp6 is a very small implementation of a minimal modern subset of OpenPGP, in #Rust.

The project aims to be both a comprehensive introduction to OpenPGP (for anyone who wants to approach the ecosystem from the shallow end) as well as practically useful software for contexts that don't require backward-compatibility with legacy formats.

(Many thanks to @nlnet for supporting this project!)

minipgp6

A very small implementation of a modern subset of OpenPGP 🔐🤏 Simple, secure, standards-based

Codeberg.org