api

ecdh.ch

Declarations in ecdh.ch

1 declarationstls

Declarations

Public only
tls#
Publicnamespace
namespace tls
============================================================================
ecp_select_curve#
Publicfunction
func ecp_select_curve(c : int) : void
ecp_curve_id#
Publicfunction
func ecp_curve_id() : int
ecp_curve_gx#
Publicfunction
func ecp_curve_gx(gx : *Mpi) : void
ecp_curve_gy#
Publicfunction
func ecp_curve_gy(gy : *Mpi) : void
ecp_curve_b#
Publicfunction
func ecp_curve_b(b : *Mpi) : void
ECPPoint#
Publicstruct
struct ECPPoint { var X : Mpi var Y : Mpi var Z : Mpi }
─── Elliptic Curve Point ───────────────────────────────────────────────
ecp_point_init#
Publicfunction
func ecp_point_init(p : *ECPPoint) : void
ECDHContext#
Publicstruct
struct ECDHContext { var priv_key : Mpi var pub_key : ECPPoint var is_init : bool }
─── ECDH Key Pair ──────────────────────────────────────────────────────
ecdh_init#
Publicfunction
func ecdh_init(ctx : *ECDHContext) : void
ecp_curve_p#
Publicfunction
func ecp_curve_p(p : *Mpi) : void
─── Modular arithmetic helpers for P-256 ────────────────────────────
ecp_curve_n#
Publicfunction
func ecp_curve_n(p : *Mpi) : void
ecp_mod_p256#
function
func ecp_mod_p256(X : *Mpi) : int
Modulo P-256 prime: a mod p (for values < 2*p)
ecp_double_jac#
function
func ecp_double_jac(R : *ECPPoint, P : *ECPPoint) : int
─── Point Operations on P-256 ──────────────────────────────────────
ecp_add_jac#
Publicfunction
func ecp_add_jac(R : *ECPPoint, P : *ECPPoint, Q : *ECPPoint) : int
Point addition: R = P + Q (with Q in affine coordinates, Z=1)
ecp_mul#
Publicfunction
func ecp_mul(R : *ECPPoint, k : *Mpi, P : *ECPPoint) : int
─── Scalar Multiplication (Double-and-Add) ──────────────────────────
ecp_normalize_jac#
Publicfunction
func ecp_normalize_jac(P : *ECPPoint) : int
─── Point Normalization (Jacobian to Affine) ────────────────────────
ecdh_generate_keypair#
Publicfunction
func ecdh_generate_keypair(ctx : *ECDHContext, priv : *u8, priv_len : size_t, pub : *u8, pub_len : size_t) : int
─── ECDH Key Generation ─────────────────────────────────────────────
ecdh_compute_shared#
Publicfunction
func ecdh_compute_shared(ctx : *ECDHContext, peer_pub : *u8, peer_pub_len : size_t, shared : *u8, shared_len : size_t) : int
─── ECDH Shared Secret ─────────────────────────────────────────────