Vettori di test
qoresign-v1.json
è generato dall'implementazione TypeScript (pnpm build && pnpm vectors) e
verificato dalle suite di test TypeScript, Rust, Go, Swift, Kotlin e Python. Una modifica
al file è una modifica al formato wire: aggiungi un nuovo file con una nuova
versione invece di modificare questo.
Ogni chiave è derivata dalla mnemonica di test pubblica BIP-39
(abandon ... about). Non inviare mai fondi a questi account.
Campi
| Campo | Contenuto |
|---|---|
accounts | chiavi classiche e indirizzi per gli account secp256k1 (m/44'/118'/0'/0/0) ed eth_secp256k1 (m/44'/60'/0'/0/0) |
canonical | chiavi pubbliche ML-DSA-87 canoniche per indirizzo (derivazione delle chiavi) |
hd, hdRejected | bozza di derivazione gerarchica: chiavi pubbliche per percorso e percorsi che devono essere rifiutati (derivazione delle chiavi) |
hybridTx | un TxBody e un AuthInfo, numero di account e chain id, con i sign-bytes attesi, la firma ML-DSA-87, il body finale, la firma secp256k1 e il TxRaw per i sign-bytes v2 e v1 (firma ibrida) |
proofOfPossession | messaggio e firma della prova di possesso (registrazione) |
registerMessage | MsgRegisterPQCKeyV2 codificato |
message | firma di messaggi arbitrari: dati, sign-bytes ADR-36 e ML-DSA-87, firma (firma di messaggi) |
siwq | campi del sign-in, messaggio renderizzato, sign-bytes ADR-36 e ML-DSA-87, firma e un istante in cui risulta valido (Sign In With QoreChain) |
Codifica
Tutte le sequenze di byte sono in esadecimale minuscolo. Le firme ML-DSA-87 sono
deterministiche (FIPS 204, rnd = 32 byte a zero); le firme secp256k1 usano
RFC 6979 e low-S.