INNER CODE UNIT · TypeScript
deriveKey
backbone-hq/minibone · src/core.ts:79
async function deriveKey(key: Uint8Array, outputLength: number): Promise<Uint8Array> {
const keyMaterial = await crypto.subtle.importKey('raw', key, KEY_DERIVATION_ALGORITHM, false, ['deriveBits'])
const derivedBits = await crypto.subtle.deriveBits(
{
...KEY_DERIVATION_ALGORITHM,
...HASH_ALGORITHM,
info: new Uint8Array(),
salt: new Uint8Array()
},
keyMaterial,
outputLength * 8
)
return new Uint8Array(derivedBits)
}
export async function deriveMatryoshkaKeys(masterKey: Uint8Array, outputLengths: number[]): Promise<Uint8Array[]> {