mirror of
https://github.com/corda/corda.git
synced 2024-12-21 05:53:23 +00:00
4a9ff84fc7
Basic crypto API to support 5 signature schemes and MetaData-ed signatures. Supported schemes: (1) RSA_SHA256, (2) ECDSA_SECP256K1_SHA256, (3) ECDSA_SECP256R1_SHA256, (4) EDDSA_ED25519_SHA512, (5) SPHINCS-256_SHA512. To sign a transaction, a signer should create a MetaData wrapper that contains transaction's merkle root and some extra information, such as signer's public key, timestamp and visibleInputs. Actually, MetaData is utilised to support a practical partial, blind and extra-data attached signature model. When a MetaData object is signed, the signer sends a TransactionSignature object that contains the signed output and the corresponding MetaData object. Remarks: This is an temporary solution for signature algorithmic agility. Further development is required for a robust and extensible Crypto Manager/Provider PKI that will support certificate creation, key generation, signing/verifying, deterministic key derivation, encoding formats, SGX/HSM support, identity and key management, versioning, revocation, asynchronicity, metadata, partial sig. policies etc. |
||
---|---|---|
.. | ||
src | ||
build.gradle |