Methods
decrypt(cipher, secretEncKey) → {Promise.<Buffer>}
Decrypt the given cipher text using the sender's public encryption key and the recipient's secret encryption key. Read more about authenticated encryption.
Parameters:
Name | Type | Description |
---|---|---|
cipher |
Buffer |
Encrypted data |
secretEncKey |
SecEncKey |
Recipient's secret encryption key |
- Source:
Example
// Assumes SAFEApp interface has been obtained
const asyncFn = async () => {
const cipher = 'plain text to be encrypted';
try {
const encKeyPair = await app.crypto.generateEncKeyPair();
const rawPubEncKey = Buffer.from(<sender's public encryption key>);
const pubEncKey = await app.crypto.pubEncKeyFromRaw(rawPubEncKey.buffer);
const secretEncKey = encKeyPair.secEncKey;
const decryptedData = await pubEncKey.decrypt(cipher, secretEncKey)
} catch(err) {
throw err;
}
};
encrypt(data, secretEncKey) → {Promise.<Buffer>}
Encrypt the input using recipient's public encryption key and sender's secret encryption key, such that each party can generate a shared secret key to verify the integrity of ciphers and to also decrypt them. Read more about authenticated encryption.
Parameters:
Name | Type | Description |
---|---|---|
data |
Buffer | String | |
secretEncKey |
SecEncKey |
Sender's secret encryption key |
- Source:
Throws:
Example
// Assumes SAFEApp interface has been obtained
const asyncFn = async () => {
const data = 'plain text to be encrypted';
try {
const encKeyPair = await app.crypto.generateEncKeyPair();
const rawPubEncKey = Buffer.from(<recipient's public encryption key>);
const pubEncKey = await app.crypto.pubEncKeyFromRaw(rawPubEncKey.buffer);
const secretEncKey = encKeyPair.secEncKey;
const encryptedBuffer = await pubEncKey.encrypt(data, secretEncKey)
} catch(err) {
throw err;
}
};
encryptSealed(data) → {Promise.<Buffer>}
Encrypt the input using recipient's public key. Only recipient will be able to decrypt data. Read more about sealed boxes.
Parameters:
Name | Type | Description |
---|---|---|
data |
String | Buffer |
- Source:
Example
// Assumes SAFEApp interface has been obtained
const asyncFn = async () => {
const stringOrBuffer = 'plain string to be encrypted';
try {
const rawPubEncKey = Buffer.from(<recipient's public encryption key>);
const pubEncKey = await app.crypto.pubEncKeyFromRaw(rawPubEncKey.buffer);
const encryptedData = await pubEncKey.encryptSealed(data);
} catch(err) {
throw err;
}
};
getRaw() → {Promise.<Buffer>}
Generate raw buffer of public encryption key
- Source:
Example
// Assumes SAFEApp interface has been obtained
const asyncFn = async () => {
try {
const encKeyPair = await app.crypto.generateEncKeyPair();
const pubEncKey = encKeyPair.pubEncKey;
const rawPubEncKey = await pubEncKey.getRaw();
} catch (err) {
throw err;
}
};