diff --git a/proto-docs/refs.md b/proto-docs/refs.md index e9e46d9..3ce5f0e 100644 --- a/proto-docs/refs.md +++ b/proto-docs/refs.md @@ -148,6 +148,7 @@ Signature of something in NeoFS. | ----- | ---- | ----- | ----------- | | key | [bytes](#bytes) | | Public key used for signing | | sign | [bytes](#bytes) | | Signature | +| scheme | [SignatureScheme](#neo.fs.v2.refs.SignatureScheme) | | Scheme contains digital signature scheme identifier. | @@ -194,6 +195,19 @@ Checksum algorithm type. | SHA256 | 2 | SHA-256 | + + + +### SignatureScheme +Signature scheme describes digital signing scheme used for (key, signature) pair. + +| Name | Number | Description | +| ---- | ------ | ----------- | +| UNSPECIFIED | 0 | Unknown. The default interpretation depends on a particular structure type. | +| ECDSA_SHA512 | 1 | ECDSA with SHA-512 hashing (FIPS 186-3). | +| ECDSA_RFC6979_SHA256 | 2 | Deterministic ECDSA with SHA-256 hashing (RFC 6979) | + + diff --git a/refs/types.proto b/refs/types.proto index 9675026..908a76c 100644 --- a/refs/types.proto +++ b/refs/types.proto @@ -105,6 +105,18 @@ message Signature { bytes key = 1 [json_name = "key"]; // Signature bytes sign = 2 [json_name = "signature"]; + // Scheme contains digital signature scheme identifier. + SignatureScheme scheme = 3 [json_name = "scheme"]; +} + +// Signature scheme describes digital signing scheme used for (key, signature) pair. +enum SignatureScheme { + // Unknown. The default interpretation depends on a particular structure type. + UNSPECIFIED = 0; + // ECDSA with SHA-512 hashing (FIPS 186-3). + ECDSA_SHA512 = 1; + // Deterministic ECDSA with SHA-256 hashing (RFC 6979) + ECDSA_RFC6979_SHA256 = 2; } // Checksum algorithm type.