Dorian 0d073fa89e Add comprehensive installation and setup documentation
- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
2026-01-27 17:18:21 +00:00

37 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.aes256gcm = void 0;
var utils_1 = require("@noble/ciphers/utils");
var crypto_1 = require("crypto");
var consts_1 = require("../consts");
// make `node:crypto`'s aes compatible with `@noble/ciphers`
function aes256gcm(key, nonce, AAD) {
var encrypt = function (plainText) {
var cipher = (0, crypto_1.createCipheriv)("aes-256-gcm", key, nonce);
if (AAD) {
cipher.setAAD(AAD);
}
var updated = cipher.update(plainText);
var finalized = cipher.final();
return (0, utils_1.concatBytes)(updated, finalized, cipher.getAuthTag());
};
var decrypt = function (cipherText) {
var encrypted = cipherText.subarray(0, cipherText.length - consts_1.AEAD_TAG_LENGTH);
var tag = cipherText.subarray(-consts_1.AEAD_TAG_LENGTH);
var decipher = (0, crypto_1.createDecipheriv)("aes-256-gcm", key, nonce);
if (AAD) {
decipher.setAAD(AAD);
}
decipher.setAuthTag(tag);
var updated = decipher.update(encrypted);
var finalized = decipher.final();
return (0, utils_1.concatBytes)(updated, finalized);
};
return {
tagLength: consts_1.AEAD_TAG_LENGTH,
encrypt: encrypt,
decrypt: decrypt,
};
}
exports.aes256gcm = aes256gcm;