ecc_is_pubkey_valid_partial(9)
π ecc_is_pubkey_valid_partial β like, the partial public key validation era
okay so bestie, welcome to the ecc_is_pubkey_valid_partial(9) page β that's the function name, and you found it in the Kernel API Manual, which is exactly where it lives β¨
β¨ NAME β¨
ecc_is_pubkey_valid_partial β Partial public key validation. that's it, that's the whole vibe check π
π¦ SYNOPSIS π¦
int ecc_is_pubkey_valid_partial (const struct ecc_curve *curve , struct
ecc_point *pk );
literally just two args and it returns an int, no cap π
πΈ ARGUMENTS πΈ
curveβ elliptic curve domain parameters. yes, THE curve. the main character of the whole elliptic situation πpkβ public key as a point. it's giving "coordinates, but make it a struct" π
π DESCRIPTION π
so what does it actually do? it validates the public key according to SP800-56A section 5.6.2.3.4, the ECC Partial Public-Key Validation Routine π§
like, it's the routine from the spec, doing the routine things from the spec. periodt β
π NOTE π
okay bestie, important: there is no check that the public key is in the correct elliptic curve subgroup. so don't come for this function when it doesn't catch that β it literally says right here that it doesn't π
like, this is the partial validation. the name is not a decoration, iykyk π
π₯ RETURN π₯
0β if validation is successful. slay, we love a zero πΈ-EINVALβ if validation is failed. it's giving "nope, try again" π
π SEE ALSO π
kernel file ./include/crypto/internal/ecc.h, plus the whole friend group:
ecc_swap_digits(9)ecc_digits_from_bytes(9)ecc_is_key_valid(9)ecc_gen_privkey(9)ecc_make_pub_key(9)crypto_ecdh_shared_secret(9)ecc_is_pubkey_valid_full(9)vli_is_zero(9)vli_cmp(9)vli_sub(9)vli_from_be64(9)vli_from_le64(9)vli_mod_inv(9)vli_mod_mult_slow(9)vli_num_bits(9)ecc_alloc_point(9)ecc_free_point(9)ecc_point_is_zero(9)ecc_point_mult_shamir(9)
and that's the page, bestie π«Ά this little icon dropped from ./include/crypto/internal β yes that's the source path β and it's dated October 2026, so it's freshhh. go validate those public keys (partially!) πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms