CipherHUB Cryptography Toolkit README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the CipherHUB Cryptography Toolkit listing page.

CipherHUB MCP Server

MCP License Tools Blog

Production-grade cryptography toolkit exposing 55 cryptographic operations via MCP (Model Context Protocol). Built and operated by Yang X. CHEN — the engineering decisions behind this service are written up on the blog at cipherhub.cloud.

Overview

CipherHUB enables AI agents to perform cryptographic operations without implementing algorithms themselves. It covers:

  • Classical Algorithms: AES (CBC/GCM/CTR/XTS), ChaCha20-Poly1305, RSA, ECC (SECP256R1/384R1/521R1, X25519, Ed25519), SHA-2 family, SHAKE
  • Chinese National Standards (国密): SM2, SM3, SM4, ZUC-128, SM9 identity-based cryptography (GM/T 0044)
  • Post-Quantum Cryptography: ML-KEM (FIPS 203), ML-DSA (FIPS 204), X25519+ML-KEM-768 Hybrid KEX
  • Certificates & Structured Crypto Messages: X.509 parsing and verification, CMS SignedData and EnvelopedData (RFC 5652), COSE_Sign1 (RFC 9052), CBOR (RFC 8949), ASN.1/DER dissection
  • Interoperability, verified against three independent stacks: AWS KMS (70/70), Tencent Cloud KMS (39/39), OpenSSL 3.6 (148/154 — 6 skipped, 0 failed)

Quick Start

MCP Endpoint

Code
https://tools.cipherhub.cloud/cipherhub/mcp

Protocol

  • Type: Streamable HTTP (MCP protocol revision 2025-03-26)
  • Format: JSON-RPC 2.0
  • Stateless: No session, no handshake, no API key — every request is a standalone POST
  • Deployed version: 1.11.0

Example: Call a Tool

Terminal
curl -X POST https://tools.cipherhub.cloud/cipherhub/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "hash_sum",
      "arguments": {
        "plain_in_hex": "48656c6c6f",
        "required_hash_modes": ["Sha384"]
      }
    },
    "id": 1
  }'

The tool payload is a JSON string inside result.content[0].text:

config.json
{
  "code": "success",
  "Results": {
    "Sha384": {
      "hash_sum_in_hex": "3519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc",
      "hash_length": 48
    }
  }
}

Note the conventions: binary input and output travel as hex strings (*_in_hex fields), and algorithm names use TitleCase enum values (Sha384, Sm3) — SHA-384 is rejected by the schema.

More runnable examples: examples/curl_examples.sh and examples/quickstart.py (Python stdlib only).

Tools

Hash & MAC

ToolDescription
hash_sumBatch digests: SHA-1/224/256/384/512, SM3, SHAKE128/256
hmac_sumHMAC over the same hash family (SHAKE excluded)

Key Derivation

ToolDescription
key_derivationHKDF (RFC 5869), SM3-KDF (GB/T 32918), PBKDF2-SM3 (RFC 8018)

Random & Utility

ToolDescription
helloConnectivity check; echoes client_msg back
generate_random_dataCSPRNG bytes (1–128 per call)
data_paddingPKCS#7 pad / unpad

Symmetric Encryption

ToolDescription
block_cipherAES-128/256-CBC, SM4-CBC
stream_cipherAEAD: AES-256-GCM, ChaCha20-Poly1305, SM4-GCM
ctr_cipherAES-256-CTR, SM4-CTR counter mode
xts_cipherAES-XTS (IEEE 1619 / NIST SP 800-38E)
zuc_cipherZUC-128 stream cipher (3GPP, 4G/5G mobile communications)

RSA

ToolDescription
generate_rsaGenerate RSA key pair (2048/3072/4096 bits)
rsa_encryption / rsa_decryptionRSA public-key encryption, private-key decryption
rsa_sign / rsa_verifyRSA signatures

ECC

ToolDescription
generate_eccGenerate ECC key pair (SECP256R1/384R1/521R1, X25519, Ed25519)
ecc_key_exchangeECDH + HKDF key agreement
ecc_key_sign / ecc_key_verifyECDSA (SECP*) and EdDSA (ED25519) signatures

SM2 — Chinese National Standard Curve

ToolDescription
generate_sm2Generate SM2 (SM2P256V1) key pair
sm2_encryption / sm2_decryptionSM2 public-key encryption
sm2_sign / sm2_verifySM2 signatures
sm2_private_key_structure_parseASN.1 view of an encrypted SM2 private key
sm2_public_key_to_hexPEM public key → raw uncompressed point (04‖X‖Y)

SM9 — Identity-Based Cryptography (GM/T 0044)

ToolDescription
generate_sm9Generate KGC master key pair (Sign or Enc)
sm9_extract_keyKGC issues a user private key for an identity
sm9_encryption / sm9_decryptionEncrypt to an identity, decrypt with user key
sm9_sign / sm9_verifyIdentity-based signatures

Post-Quantum Cryptography

ToolDescription
ml_kem_keygenML-KEM key generation (FIPS 203)
ml_kem_encap / ml_kem_decapML-KEM encapsulation / decapsulation
ml_dsa_keygenML-DSA key generation (FIPS 204)
ml_dsa_sign / ml_dsa_verifyML-DSA signatures
ml_dsa_compute_muStandalone 64-byte mu computation (FIPS 204 §6.2)
hybrid_kexX25519 + ML-KEM-768 hybrid key exchange walkthrough

X.509 Certificates

ToolDescription
cert_parseParse PEM certificates (X.509 and GM SM2 dual paths)
cert_verifyVerify an end-entity certificate against its CA

Structured Data

ToolDescription
cbor_encode / cbor_decodeJSON ↔ CBOR (RFC 8949), decode gives a per-field tree
asn1_parseTLV dissection of any ASN.1/BER bytes, with DER verdict (X.690)
der_encodeJSON node DSL → DER bytes (X.690)

COSE & CMS

ToolDescription
cose_sign1_sign / cose_sign1_verify / cose_sign1_parseCOSE_Sign1 build, verify, dissect (RFC 9052/9053)
cms_signed_sign / cms_signed_verifyCMS SignedData sign and verify (RFC 5652 §5)
cms_enveloped_encrypt / cms_enveloped_decrypt / cms_enveloped_parseCMS EnvelopedData / authEnvelopedData (RFC 5652 §6, RFC 5083)

Prompts

Six ready-made agent workflows served via prompts/list:

PromptPurpose
pqc_migration_assessmentAssess post-quantum migration readiness
algorithm_recommendationAlgorithm choices by use case
e2e_encryption_flowFull end-to-end encryption walkthrough
sign_verify_workflowGenerate key pair, sign, then verify
verify_key_pairCheck that a key pair matches (RSA, ECC, SM2)
hybrid_kex_demoX25519 + ML-KEM-768 hybrid exchange demo

Resources

URIDescription
cipherhub://algorithmsComplete algorithm catalog
cipherhub://tool-categoriesTool categorization
cipherhub://mcp-usage-guideComplete guide for AI agents using these MCP tools
cipherhub://interop/aws-kmsAWS KMS interoperability report (70/70 passed)
cipherhub://interop/tencent-kmsTencent Cloud KMS interoperability report (39/39 passed)
cipherhub://interop/openssl36OpenSSL 3.6 interoperability report (148/154 passed)
cipherhub://benchmark-reportPerformance benchmarks for all operations
cipherhub://channel-implementationSDK channel protocol reference implementation

Agent Skill

A ready-to-use Agent Skills package lives in skills/cipherhub-crypto/. It teaches any SKILL.md-compatible agent (Claude Code and others) when to reach for CipherHUB and how to call it — either by registering the MCP server or with plain HTTP. Install:

bash
cp -r skills/cipherhub-crypto ~/.claude/skills/

Client Configuration

Claude Code

Terminal
claude mcp add --scope user --transport http cipherhub https://tools.cipherhub.cloud/cipherhub/mcp

Claude Desktop

Add to your Claude Desktop config:

config.json
{
  "mcpServers": {
    "cipherhub": {
      "url": "https://tools.cipherhub.cloud/cipherhub/mcp"
    }
  }
}

Custom Client

Use any MCP-compatible client with the endpoint URL.

API Documentation

Web Interface

Interactive web UI available at: https://tools.cipherhub.cloud

Author

Yang X. CHEN

  • Blog: https://cipherhub.cloud — the engineering story behind this toolkit: algorithm choices, GmSSL integration, interoperability testing, and post-quantum migration notes
  • GitHub: @bowenerchen

License

MIT License