Arcium LogoArcium TS SDK Docs

RescueCipher

The Rescue cipher in Counter (CTR) mode, with a fixed block size m = 5. See: https://tosc.iacr.org/index.php/ToSC/article/view/8695/8287

Constructors

Constructor

new RescueCipher(sharedSecret): RescueCipher

Constructs a RescueCipher instance using a shared secret. The key is derived using HKDF-RescuePrime and used to initialize the RescueDesc.

Parameters

ParameterTypeDescription
sharedSecretUint8ArrayThe shared secret to derive the cipher key from.

Returns

RescueCipher

Properties

PropertyType
descRescueDesc

Methods

decrypt()

decrypt(ciphertext, nonce): bigint[]

Deserializes and decrypts the ciphertext vector in Counter (CTR) mode.

Parameters

ParameterTypeDescription
ciphertextnumber[][]The array of arrays of numbers (each 32 bytes) to decrypt.
nonceUint8ArrayA 16-byte nonce for CTR mode.

Returns

bigint[]

The decrypted plaintext as an array of bigints.


decrypt_raw()

decrypt_raw(ciphertext, nonce): bigint[]

Decrypts the ciphertext vector in Counter (CTR) mode (raw, expects bigints).

Parameters

ParameterTypeDescription
ciphertextbigint[]The array of ciphertext bigints to decrypt.
nonceUint8ArrayA 16-byte nonce for CTR mode.

Returns

bigint[]

The decrypted plaintext as an array of bigints.

Throws

Error if the nonce is not 16 bytes long.


encrypt()

encrypt(plaintext, nonce): number[][]

Encrypts the plaintext vector in Counter (CTR) mode and serializes each block.

Parameters

ParameterTypeDescription
plaintextbigint[]The array of plaintext bigints to encrypt.
nonceUint8ArrayA 16-byte nonce for CTR mode.

Returns

number[][]

The ciphertext as an array of arrays of numbers (each 32 bytes).


encrypt_raw()

encrypt_raw(plaintext, nonce): bigint[]

Encrypts the plaintext vector in Counter (CTR) mode (raw, returns bigints).

Parameters

ParameterTypeDescription
plaintextbigint[]The array of plaintext bigints to encrypt.
nonceUint8ArrayA 16-byte nonce for CTR mode.

Returns

bigint[]

The ciphertext as an array of bigints.

Throws

Error if the nonce is not 16 bytes long.