> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

The Cryptography endpoints manage the cryptographic keys that underpin Legal Identities, smart contracts, vault links, and other signing operations on the Neuron platform.

Before you can apply for a Legal Identity or sign a contract, you must:

1. Call [Get algorithms](/neuron-api/api-reference/cryptography/get-algorithms) to discover which algorithms are available on the broker.
2. Call [Create key](/neuron-api/api-reference/cryptography/create-key) to generate a key pair using one of those algorithms.
3. Use the resulting `keyId` in identity applications, contract signing, and vault link creation.

## Endpoints

| Endpoint                                                                | Description                                                                                                                   |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Get algorithms](/neuron-api/api-reference/cryptography/get-algorithms) | List all cryptographic algorithms supported by the broker, including security strength, PQC status, and a score for ordering. |
| [Create key](/neuron-api/api-reference/cryptography/create-key)         | Create a new cryptographic key pair on the server, protected by a key password. Returns the key's creation timestamp.         |
| [Get public key](/neuron-api/api-reference/cryptography/get-public-key) | Retrieve the server's public key, or the public key of a specific account key. Use this to verify server-issued signatures.   |

## Algorithm properties

Each algorithm returned by [Get algorithms](/neuron-api/api-reference/cryptography/get-algorithms) includes:

| Field                     | Description                                                                                          |
| ------------------------- | ---------------------------------------------------------------------------------------------------- |
| `localName` / `namespace` | Unique algorithm identifier used in [Create key](/neuron-api/api-reference/cryptography/create-key). |
| `securityStrength`        | Security strength in bits.                                                                           |
| `safe`                    | Whether the curve is considered safe per [safecurves.cr.yp.to](https://safecurves.cr.yp.to/).        |
| `slow`                    | Whether the algorithm is computationally intensive.                                                  |
| `pqc`                     | Whether the algorithm is Post-Quantum Cryptography (PQC).                                            |
| `score`                   | Relative score — use with `securityStrength` to rank algorithms.                                     |

## Key storage and security

* Keys are stored **encrypted on the server**, protected by the key password.
* The key password is never stored — instead, a signature derived from it is used to reconstruct the encryption key.
* All operations that use a key require `keySignature` (signed with the key password) and `requestSignature` (signed with the account password).
* Reusing a `nonce` will result in an error.

## Related

* [Legal identities](/neuron-api/api-reference/legal-identities/overview) — keys are required to apply for and sign identity applications.
* [Contracts](/neuron-api/api-reference/contracts/overview) — keys are required to sign smart contracts.
* [Storage](/neuron-api/api-reference/storage/overview) — keys are used to sign vault link creation requests.
