---
title: "Référence d'API — @nodefony/security — crypto"
source: docs/api/security/crypto.md
url: https://nodefony.github.io/nodefony-core/docs/api/security/crypto/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/security`](../) › crypto

> Générée depuis les déclarations de types publiées de `@nodefony/security` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/security`

`import { … } from "@nodefony/security"` — 5 symboles.

### Fonctions (4)

#### `decryptSecret`

```ts
function decryptSecret(blob: string, key: Buffer): Buffer
```

Déchiffre un blob produit par `encryptSecret`. Lève si le format/version est invalide, le blob tronqué, ou le tag GCM non valide (altération OU mauvaise clé — GCM ne distingue pas les deux, par construction).

#### `deriveKey`

```ts
function deriveKey(material: string | Buffer, derivation: IKeyDerivation): Buffer
```

Dérive une clé AES-256 (32 octets) d'un matériel de clé applicatif via HKDF-SHA256 (RFC 5869). Accepte toute longueur/forme (passphrase, hex, base64) sans jamais l'utiliser brute comme clé AES. **Déterministe** : tous les pods d'un cluster dérivent la même clé du même secret de config + même domaine (secret lisible cross-pod). Domaines distincts (`info` différent) → clés indépendantes.

#### `encryptSecret`

```ts
function encryptSecret(plain: Buffer, key: Buffer): string
```

Chiffre un secret en clair → blob opaque versionné (IV aléatoire à chaque appel).

#### `generateEphemeralKey`

```ts
function generateEphemeralKey(): Buffer
```

Génère une clé éphémère 32 octets (dev sans clé configurée — non persistée).

### Interfaces (1)

#### `IKeyDerivation`

```ts
interface IKeyDerivation
```

Contexte de dérivation HKDF — distingue les domaines cryptographiques.

- `readonly salt: string | Buffer` — Sel HKDF (RFC 5869 §3.1) — constante par domaine.
- `readonly info: string | Buffer` — Info HKDF (RFC 5869 §3.2) — lie la sous-clé à son usage (séparation de domaine).

---

[← Toutes les références d'API](../../)
