diff --git a/test/signature.test.ts b/test/signature.test.ts index 5cfb1fe..89c316e 100644 --- a/test/signature.test.ts +++ b/test/signature.test.ts @@ -1,4 +1,4 @@ -import {test, expect} from 'bun:test' +import {test, expect, describe} from 'bun:test' import {signature} from '../index' import {derive_keypair, gen_keypair, sign, verify} from "../src/signature"; @@ -53,3 +53,43 @@ test('tampered signature', async () => { expect(verification).toBe(false) }) + +describe('Derive array', () => { + test('Case derive key and use it', async () => { + const data = new Uint8Array([1]) + const kp = await derive_keypair(data) + + const message = new Uint8Array(12) + const sig = await sign(message, kp[0]) + const verif = await verify(message, kp[1], sig) + + expect(verif).toBeTrue() + }) + + test('Same derive, same key', async () => { + const data = new Uint8Array([1,2,3]) + + const k1 = await derive_keypair(data) + const k2 = await derive_keypair(data) + + const message = new Uint8Array(12) + const sig = await sign(message, k1[0]) + const verif = await verify(message, k2[1], sig) + + expect(verif).toBeTrue() + }) + + test('Different input, different key', async () => { + const d1 = new Uint8Array([1,2,3]) + const d2 = new Uint8Array([3,2,1]) + + const k1 = await derive_keypair(d1) + const k2 = await derive_keypair(d2) + + const message = new Uint8Array(12) + const sig = await sign(message, k1[0]) + const verif = await verify(message, k2[1], sig) + + expect(verif).toBeFalse() + }) +})