# `./fio-stl/154 p384.h`

2 public symbols.

### Functions

#### `fio_ecdsa_p384_verify`

```c
int fio_ecdsa_p384_verify(const uint8_t *sig, size_t sig_len, const uint8_t *msg_hash, const uint8_t *pubkey, size_t pubkey_len)
```

Verifies an ECDSA P-384 signature.

**Parameters:**
- `sig` - DER-encoded signature (SEQUENCE { r INTEGER, s INTEGER })
- `sig_len` - Length of signature in bytes
- `msg_hash` - SHA-384 hash of the message (48 bytes)
- `pubkey` - Uncompressed public key (97 bytes: 0x04 || x || y)
- `pubkey_len` - Length of public key (must be 97)

**Returns:**
- 0 on success (valid signature), -1 on failure (invalid signature)

_Symbol type:_ `function`

#### `fio_ecdsa_p384_verify_raw`

```c
int fio_ecdsa_p384_verify_raw(const uint8_t r[48], const uint8_t s[48], const uint8_t msg_hash[48], const uint8_t pubkey_x[48], const uint8_t pubkey_y[48])
```

Verifies an ECDSA P-384 signature with raw r,s values.

**Parameters:**
- `r` - The r component of the signature (48 bytes, big-endian)
- `s` - The s component of the signature (48 bytes, big-endian)
- `msg_hash` - SHA-384 hash of the message (48 bytes)
- `pubkey_x` - X coordinate of public key (48 bytes, big-endian)
- `pubkey_y` - Y coordinate of public key (48 bytes, big-endian)

**Returns:**
- 0 on success (valid signature), -1 on failure (invalid signature)

_Symbol type:_ `function`

-----------------------------------------------------
