Saltar al contenido principal

Vectores de prueba

qoresign-v1.json se genera a partir de la implementación en TypeScript (pnpm build && pnpm vectors) y lo comprueban las suites de pruebas de TypeScript, Rust, Go, Swift, Kotlin y Python. Un cambio en el archivo es un cambio en el formato de red: añade un archivo nuevo con una versión nueva en lugar de editar este.

Todas las claves se derivan del mnemónico de prueba público de BIP-39 (abandon ... about). Nunca envíes fondos a estas cuentas.

Campos​

CampoContenido
accountsclaves clásicas y direcciones de las cuentas secp256k1 (m/44'/118'/0'/0/0) y eth_secp256k1 (m/44'/60'/0'/0/0)
canonicalclaves públicas ML-DSA-87 canónicas por dirección (derivación de claves)
hd, hdRejectedderivación jerárquica en borrador: claves públicas por ruta y rutas que deben rechazarse (derivación de claves)
hybridTxun TxBody y un AuthInfo, número de cuenta y chain id, con los sign-bytes esperados, la firma ML-DSA-87, el cuerpo final, la firma secp256k1 y el TxRaw para los sign-bytes v2 y v1 (firma híbrida)
proofOfPossessionmensaje y firma de prueba de posesión (registro)
registerMessageMsgRegisterPQCKeyV2 codificado
messagefirma de mensajes arbitrarios: datos, sign-bytes ADR-36 y ML-DSA-87, firma (firma de mensajes)
siwqcampos del inicio de sesión, mensaje renderizado, sign-bytes ADR-36 y ML-DSA-87, firma y un instante en el que se verifica (Sign In With QoreChain)

Codificación​

Todas las cadenas de bytes están en hexadecimal en minúsculas. Las firmas ML-DSA-87 son deterministas (FIPS 204, rnd = 32 bytes cero); las firmas secp256k1 usan RFC 6979 y low-S.