Aller au contenu principal

Vecteurs de test

qoresign-v1.json est généré à partir de l'implémentation TypeScript (pnpm build && pnpm vectors) et vérifié par les suites de tests TypeScript, Rust, Go, Swift, Kotlin et Python. Toute modification du fichier est une modification du format de transmission : ajoutez plutôt un nouveau fichier avec une nouvelle version au lieu de modifier celui-ci.

Chaque clé est dérivée de la phrase mnémonique de test BIP-39 publique (abandon ... about). N'envoyez jamais de fonds vers ces comptes.

Champs​

ChampContenu
accountsclés classiques et adresses pour les comptes secp256k1 (m/44'/118'/0'/0/0) et eth_secp256k1 (m/44'/60'/0'/0/0)
canonicalclés publiques ML-DSA-87 canoniques par adresse (dérivation de clés)
hd, hdRejectedbrouillon de dérivation hiérarchique : clés publiques par chemin, et chemins qui doivent être refusés (dérivation de clés)
hybridTxun TxBody et un AuthInfo, un numéro de compte et un identifiant de chaîne, avec les sign-bytes attendus, la signature ML-DSA-87, le corps final, la signature secp256k1 et le TxRaw pour les sign-bytes v2 et v1 (signature hybride)
proofOfPossessionmessage et signature de preuve de possession (enregistrement)
registerMessageMsgRegisterPQCKeyV2 encodé
messagesignature de messages arbitraires : données, sign-bytes ADR-36 et ML-DSA-87, signature (signature de messages)
siwqchamps de connexion, message rendu, sign-bytes ADR-36 et ML-DSA-87, signature, et un instant auquel elle est valide (Sign In With QoreChain)

Encodage​

Toutes les chaînes d'octets sont en hexadécimal minuscule. Les signatures ML-DSA-87 sont déterministes (FIPS 204, rnd = 32 octets à zéro) ; les signatures secp256k1 utilisent RFC 6979 et low-S.