Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: 0Tech/python-onlykey
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: trustcrypto/python-onlykey
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 23 files changed
  • 1 contributor

Commits on Apr 11, 2023

  1. Configuration menu
    Copy the full SHA
    ec2fe5d View commit details
    Browse the repository at this point in the history
  2. Update client.py

    onlykey committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    b5d20b7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9d5b40d View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2026

  1. feat: Add age-plugin-onlykey for post-quantum X-Wing KEM

    Adds age v1.3.0 plugin support for OnlyKey hardware tokens with
    X-Wing hybrid KEM (draft-connolly-cfrg-xwing-kem-09).
    
    New subpackage: onlykey/age_plugin/
    - cli.py      - Plugin entry point, Bech32 encoding, key management
    - protocol.py - age plugin state machine (C2SP spec, recipient-v1/identity-v1)
    - onlykey_hid.py - OnlyKeyPQ class wrapping OnlyKey client for PQ slots
    - xwing.py    - X-Wing combiner, HPKE key schedule (ChaCha20-Poly1305)
    - mlkem_py.py - ML-KEM-768 host-side encaps via kyber-py (FIPS 203)
    
    New console_scripts entry point: age-plugin-onlykey
    New extras_require[age]: cryptography, kyber-py
    
    Usage:
      pip install onlykey[age]
      age-plugin-onlykey --generate > onlykey-identity.txt
      age -r age1onlykey1<pk> -e secret.txt > secret.age
      age -d -i onlykey-identity.txt secret.age > secret.txt
    
    Private key never leaves the OnlyKey device.
    onlykey committed Mar 15, 2026
    Configuration menu
    Copy the full SHA
    d7750b2 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2026

  1. feat: Add ML-KEM-768 and X-Wing key types to client and CLI

    - Add MLKEM768(5) and XWING(6) to KeyTypeEnum
    - Add CURVE25519(4) to KeyTypeEnum (was missing)
    - Add 'm' (ML-KEM) and 'w' (X-Wing) type mappings in setkey()
    - Allow genkey with types 'm' and 'w' in both direct and interactive CLI
    
    Usage:
      onlykey-cli genkey ECC1 w d   # Generate X-Wing seed in ECC slot 1
      onlykey-cli genkey ECC2 m d   # Generate ML-KEM seed in ECC slot 2
    onlykey committed Mar 16, 2026
    Configuration menu
    Copy the full SHA
    c983cca View commit details
    Browse the repository at this point in the history
Loading