UNPKG

ts-mls

Version:

[![CI](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml/badge.svg)](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/ts-mls.svg)](https://badge.fury.io/js/ts-mls) [![Coverage Status](https://co

16 lines 742 B
import { encodeVarLenData } from "../codec/variableLength.js"; import { encodeUint16, encodeUint32 } from "../codec/number.js"; export function expandWithLabel(secret, label, context, length, kdf) { return kdf.expand(secret, new Uint8Array([ ...encodeUint16(length), ...encodeVarLenData(new TextEncoder().encode(`MLS 1.0 ${label}`)), ...encodeVarLenData(context), ]), length); } export async function deriveSecret(secret, label, kdf) { return expandWithLabel(secret, label, new Uint8Array(), kdf.size, kdf); } export async function deriveTreeSecret(secret, label, generation, length, kdf) { return expandWithLabel(secret, label, encodeUint32(generation), length, kdf); } //# sourceMappingURL=kdf.js.map