Commit graph

9 commits

Author SHA1 Message Date
Evgenii Stratonikov
225b24f7f4 Allow to use hash in Sign*/Verify*
Sometimes having a whole buffer in memory isn't desired.
New interface allows us to provide hashes instead.
2021-03-23 13:11:42 +03:00
Evgeniy Kulikov
e9d1b1884c Refactoring for go1.15+
- use elliptic.MarshalCompressed
- use elliptic.UnmarshalCompressed
- for older go versions use old methods
- update dependencies
  - github.com/mr-tron/base58 v1.2.0
  - github.com/pkg/errors v0.9.1
  - github.com/stretchr/testify v1.7.0

Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2021-02-12 15:29:16 +03:00
alexvanin
f5ad619450 Fix point encoding for short X coordinate
Public keys can have X coordinate value shorter than 32 byte.
In this case `encodePoint()` should return 32 byte value with
leading zeros.

This commit also adds unit test for public key with 31 byte
X coordinate value.
2019-11-17 21:08:58 +03:00
Evgeniy Kulikov
5bcaeeca4e
Merge pull request #7 from nspcc-dev/NEOFS_CRYPTO-4_Use_sha512_instead_of_sha256
Use SHA512 instead of SHA256
2019-11-12 16:42:33 +03:00
Evgeniy Kulikov
943bb90aec
Use SHA512 instead of SHA256
Fix issue #4
2019-11-12 16:00:27 +03:00
Evgeniy Kulikov
fc6fd40f5e
Change func Verify signature
- Before `func Verify*(pub *ecdsa.PublicKey, sig, msg []byte) error`
- After `func Verify*(pub *ecdsa.PublicKey, msg, sig []byte) error`
- Update tests and replace `hash` with `sign` for signatures

Fix issue #5
2019-11-12 15:52:13 +03:00
alexvanin
8fa65a0afc Use consistent parameter names for Sign and Verify functions
It may be misleading when verify function takes signature as a hash
parameter. This commit suggested to use rfc6979 original naming
for the parameters:
- `msg` as the message to sign,
- `sig` as the signature of message.
All hashing operations are encapsulated inside of the Sign
and Verify functions.

Also there are comment fixes and re-usage of `hashBytes()` in rfc6979.
2019-11-12 14:52:23 +03:00
Evgeniy Kulikov
e60428333c
Refactor decompress Y point 2019-10-23 14:05:04 +03:00
Evgeniy Kulikov
c21ef9ef81
initial 2019-10-22 17:40:05 +03:00