31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
# Elliptic Curve Signature Sign
|
|
|
|
Generates a digital signature using an EC private key.
|
|
|
|
Source library: `cryptography`
|
|
|
|
## Overview
|
|
|
|
This node signs a message using an ECDSA private key. ECDSA (Elliptic Curve Digital Signature Algorithm) is a widely used standard for digital signatures. The resulting signature can be verified by anyone holding the corresponding public key.
|
|
|
|
## Parameters
|
|
|
|
- **private_key**: The EC private key object (`KEYOBJ`), obtained from another node.
|
|
- **data**: The message to sign, as a `BYTESLIKE` object.
|
|
- **signature_algorithm**: The hash algorithm to use for signing. Options include:
|
|
- **SHA224**, **SHA256**, **SHA384**, **SHA512**, **SHA512_224**, **SHA512_256**
|
|
- **BLAKE2b**, **BLAKE2s**
|
|
- **SHA3_224**, **SHA3_256**, **SHA3_384**, **SHA3_512**
|
|
- **SHA1**, **MD5**, **SM3**
|
|
- **prehashed**: (Optional) A `BOOLEAN` that, when `True`, indicates the data has already been hashed. Use this when the input is a pre-computed hash rather than raw data.
|
|
|
|
## Outputs
|
|
|
|
- **signature**: The generated signature as a `BYTESLIKE` object.
|
|
|
|
## Security Considerations
|
|
|
|
- [**MD5**](https://en.wikipedia.org/wiki/MD5#Overview_of_security_issues) and [**SHA1**](https://www.nist.gov/news-events/news/2022/12/nist-retires-sha-1-cryptographic-algorithm) are broken and should not be used for new signings that requires security.
|
|
- ECDSA signatures are probabilistic — the same key and message produce different signatures each time due to a random nonce. This randomness is essential for security; a deterministic nonce (as in RFC 6979) is not used here, but can be provided later on.
|
|
- Ensure the private key is kept secure. A leaked private key allows anyone to forge signatures.
|