Skip to content

BIP-0085: Add ECC GPG Keys application 828366' (separate from RSA)#2

Merged
3rdIteration merged 1 commit into
BIP85-ExpandCurveTypesfrom
BIP85-ECC-separate-app
Jun 17, 2026
Merged

BIP-0085: Add ECC GPG Keys application 828366' (separate from RSA)#2
3rdIteration merged 1 commit into
BIP85-ExpandCurveTypesfrom
BIP85-ECC-separate-app

Conversation

@3rdIteration

Copy link
Copy Markdown
Owner

Summary

Adds ECC GPG Keys as a new, separate application 828366' for deterministic derivation of OpenPGP ECC keys. This preserves backward compatibility with existing RSA implementations (app 828365') while adding support for:

  • Curve25519 (Ed25519/X25519) — key_type 0
  • secp256k1 — key_type 1
  • NIST P-256/P-384/P-521 — key_type 2
  • Brainpool P-256/P-384/P-512 — key_type 3

Key decisions

  • Separate app number: ECC uses 828366' (sequential after RSA's 828365'), keeping RSA paths completely unchanged
  • key_type 0–3: Remapped from the unified scheme (1–4) since this is an ECC-only application
  • Scalar derivation: Direct HMAC truncation for curves ≤64 bytes; BIP85-DRNG only for NIST P-521
  • Timestamps: Fixed to Bitcoin genesis block time 2009-01-03 18:15:05 UTC (epoch 1231006505)

Changes

  • New ===ECC GPG Keys=== section in bip-0085.mediawiki with full specification, key type table, scalar derivation algorithm, primary/subkey scheme, and test vectors for all 8 curve configurations
  • Changelog updated: version 2.1.0 (additive, non-breaking)

Test vectors

All 8 ECC curves tested against the standard BIP85 master key with fresh fingerprints computed via OpenPGP v4 packet construction.

@3rdIteration 3rdIteration force-pushed the BIP85-ECC-separate-app branch from 0f02857 to 7c20e25 Compare June 17, 2026 15:04
@3rdIteration 3rdIteration merged commit 9dd0eee into BIP85-ExpandCurveTypes Jun 17, 2026
8 checks passed
@3rdIteration 3rdIteration deleted the BIP85-ECC-separate-app branch June 17, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant