Encryption
ECDH key exchange, AES-GCM calldata encryption, and the Seismic encryption pipeline
Encryption Flow
1. Client generates an ephemeral secp256k1 keypair (or uses a provided one)
2. Client fetches the TEE public key from the node via seismic_getTeePublicKey
3. ECDH(client_sk, tee_pk) → shared secret
4. Shared secret → AES-256 key (via key derivation)
5. For each transaction:
a. Generate a random 12-byte nonce
b. Encode TxSeismicMetadata as Additional Authenticated Data (AAD)
c. AES-GCM encrypt(plaintext_calldata, nonce, aad) → ciphertext
d. Include encryptionPubkey + nonce in the transaction's SeismicTxExtras fieldsgetEncryption(networkPk, clientSk?)
getEncryption(networkPk, clientSk?)Import
Parameters
Parameter
Type
Required
Description
Returns
Property
Type
Description
Example
Encryption Actions
Action
Return Type
Description
Example
SeismicTxExtras
Field
Type
Description
AES-GCM with AEAD
Crypto Dependencies
Package
Purpose
See Also
Last updated

