PORTAL VII · pSIONIUM 1.0

pSIONIUM

Post-quantum encryption for the files you keep, and a scanner that shows where quantum computers will break your cryptography.

One command-line tool built on NIST’s new standards, ML-KEM and ML-DSA. Free and open source under Apache-2.0.

$curl -fsSL https://raw.githubusercontent.com/Chandu00756/psionium/main/install.sh | sh

macOS and Linux. Windows and manual downloads are on the releases page.

psion 1.0.0
$ psion keygen -o me.key
Created identity me.key (pq-hybrid-768, passphrase protected)
psionpk:AAExT6SGmPfE7i8sn5hqr5Lqlm81TPYkwPMlxPp_lStw…
$ psion encrypt -r psionpk:… --sign-with me.key quarterly.xlsx
Encrypted for 1 recipient, signed: quarterly.xlsx.psen
$ psion decrypt -i colleague.key --signed-by psionvk:… quarterly.xlsx.psen
Decrypted quarterly.xlsx
Signature: valid, from expected sender 1cc2edf4247141067c37d028dfd10267
$ psion scan ./my-app
Summary: 1 quantum-vulnerable, 0 weak, 0 to review, 0 already post-quantum
RSA 1 finding app.py:2 key = rsa.newkeys(2048)

The clock has already started

RSA and elliptic curves protect almost everything today, and a large quantum computer breaks both.

Harvest now, decrypt later

Encrypted data recorded today can be decrypted once a large quantum computer exists. Anything that must stay secret for years is already exposed.

The standards are final

NIST published ML-KEM (FIPS 203) and ML-DSA (FIPS 204) in August 2024: the algorithms governments, browsers and clouds are moving to.

RSA and ECC have an end date

NIST's transition plan deprecates RSA and elliptic-curve cryptography after 2030 and disallows them after 2035.

Encrypt & sign

psion encrypt · psion decrypt

Protect files and backups for exactly the people who need them, and prove they came from you.

  • Hybrid X25519 + ML-KEM-768: secure while either one holds
  • ML-KEM-1024 and ML-DSA-87 for CNSA 2.0 environments
  • ML-DSA signatures prove who sent a file
  • Keys protected by an Argon2id passphrase by default
  • Many recipients per file; any size, streamed in a few MB of memory
  • Outputs written atomically: a failure leaves nothing behind

Quantum-readiness scan

psion scan

Find every place your software still depends on cryptography that quantum computers break, and plan the migration.

  • Source code and configuration in 40+ languages and formats
  • Dependency manifests: npm, Python, Go, Cargo, Maven, Gradle
  • Certificates, SSH keys and private keys (contents never reported)
  • Live TLS servers: is post-quantum X25519MLKEM768 supported?
  • Text, Markdown, JSON and CycloneDX 1.6 CBOM reports
  • --fail-on to block quantum-vulnerable code in CI

Two suites, only standard algorithms

The default hybrid suite keeps today’s proven X25519 alongside ML-KEM. The CNSA suite uses only algorithms in NSA’s CNSA 2.0.

Purposepq-hybrid-768 defaultcnsa-1024
Key establishmentX25519 + ML-KEM-768ML-KEM-1024
SignaturesML-DSA-65ML-DSA-87
Data encryptionAES-256-GCMAES-256-GCM
Key derivationHKDF-SHA-384HKDF-SHA-384
Header integrityHMAC-SHA-384HMAC-SHA-384

Inside a .psen file

Every byte is authenticated: the header by an HMAC, each chunk by AES-GCM, and a signed file as a whole by ML-DSA. Change anything and decryption stops.

Header
suite · chunk size · flags · salt
26 B
Recipients
key id · KEM ciphertext · wrapped key
1,184 B each
Signer
ML-DSA verifying key
signed files
MAC
HMAC-SHA-384
48 B
Payload
AES-256-GCM chunks
+16 B per 64 KiB
Signature
ML-DSA over the whole file
signed files

Sizes for the default suite and chunk size. The byte-level layout is in the format specification.

Verified, not just claimed

Security tools earn trust with evidence anyone can check.

Open specification

The .psen v2 format is documented byte by byte, with committed test vectors that every release must keep decrypting.

Two implementations

A second implementation, written in Go from the specification alone, reads psion’s files and writes files psion reads. CI checks both directions.

Millions of corruptions

Damaged files must never decrypt and never crash the tool: 2.4 million random mutations, none accepted.

Standard building blocks

Primitives from AWS-LC, Amazon’s production cryptography library, and Argon2id from RustCrypto. No home-made algorithms, no unsafe code.

Tested where it ships

Linux, macOS and Windows in CI, a dependency audit on every change, checksums and build provenance for every release.

Honest about limits

A published threat model says what pSIONIUM protects against and what it does not, from compromised machines to metadata.

Independent review pending. pSIONIUM’s format and code have not yet been audited by an outside cryptography firm. Until that review is published, don’t rely on pSIONIUM alone for data you cannot afford to lose.

Start in a minute

Builds for macOS (Apple silicon and Intel), Linux (x86-64 and ARM64, static for any distribution) and Windows, each with a SHA-256 checksum.

# your identity: share the printed public key
psion keygen -o ~/.psion/me.key

# encrypt and sign for a colleague
psion encrypt -r psionpk:… --sign-with ~/.psion/me.key report.pdf

# where is our crypto quantum-vulnerable?
psion scan . --format cbom -o crypto-bom.json