For the complete documentation index, see llms.txt. This page is also available as Markdown.

Encrypt AES Key with RSA

Encrypt an AES Key with an RSA Public Key

The encryptAESKeyWithRSA performs asymmetric encryption using an RSA Public Key and the RSA-OAEP algorithm. The permissions are requested with the help of the Arweave Wallet (Window Object) in a browser environment if no wallet or use_wallet is passed. The node environment expects Arweave JWK to be passed.

Installation of ArConnect is suggested for successful use of this function in a browser environment.

Asymmetric encryption is optimal for the encryption of strings (such as the AES key received in the previous function).

Basic Syntax

The function is called as follows:

import { encryptAESKeyWithRSA } from 'arweavekit/encryption';

const encryptedAESKey = await encryptAESKeyWithRSA({params});

Input Parameters

The following params are available for this function and they must be passed in as an object:

  • key: string : The AES key used to encrypt data using the encryptDataWithAES function.

  • wallet: ArWallet(optional): A value of type JWKInterface or use_wallet can be passed. If use_wallet or nothing is passed to this param, it expects ArConnect to be installed to run the encryption successfully.

Example
// In a browser environment, use_wallet or nothing can be passed.
const wallet = "use_wallet"
// In a node environment, Arweave wallet JWK can be used.
const wallet = JSON.parse(fs.readFileSync('wallet.json').toString());

const encryptedAESKey = await encryptAESKeyWithRSA({
    key: string,
    wallet
});

This encrypts the provided AES Key using the RSA-OAEP algorithm.

Returned Data

The function call returns the following data:

  • encryptedKey: Uint8Array : The AES key encrypted using an RSA Public Key.

Last updated

Was this helpful?