← ClaudeAtlas

micro-ecc-integrationlisted

Use when integrating, porting, or debugging micro-ecc (uECC) ECDH, ECDSA, key generation, uECC_set_rng, signatures, curve selection, or key/signature byte formats on an MCU
easyzoom/aix-skills · ★ 26 · AI & Automation · score 77
Install: claude install-skill easyzoom/aix-skills
# micro-ecc Integration ## Overview Use this skill to integrate micro-ecc (kmackay/micro-ecc, header `uECC.h`) by treating randomness, key storage, curve choice, and test vectors as security-critical. ECC that compiles but never called `uECC_set_rng()` or uses mismatched key byte formats is not working. The core key generation, signing, verification, and ECDH functions return `1` on success and `0` on failure (`uECC_verify` returns `1` only for a valid signature); the size-query helpers instead return a byte count, and `uECC_compress`/`uECC_decompress` return `void`. ## When To Use Use this skill when: - The user wants ECDH (`uECC_shared_secret`), ECDSA (`uECC_sign`/`uECC_verify`), or key generation (`uECC_make_key`) on an MCU using micro-ecc. - The issue involves `uECC_make_key`/`uECC_sign` returning `0`, bad signatures, key mismatch, RNG, curve selection, endian/format mismatch, or slow scalar multiplication. - The project uses `uECC.h`, `uECC.c`, a `uECC_Curve`, or `uECC_set_rng`. Do not use this skill for full TLS stacks. Use `mbedtls-integration` for TLS. For AES/SHA/HMAC primitives, use `tinycrypt-integration`. ## First Questions Ask for: - Curve and operation: `uECC_secp160r1`, `uECC_secp192r1`, `uECC_secp224r1`, `uECC_secp256r1`, or `uECC_secp256k1`; and ECDH vs ECDSA. - Target MCU, compiler, and whether a hardware TRNG/crypto peripheral exists. - The RNG source wired into `uECC_set_rng()` and the key storage policy. - Public/private key byte format and endia