diff --git a/algo/algo.go b/algo/algo.go new file mode 100644 index 0000000..2d317d2 --- /dev/null +++ b/algo/algo.go @@ -0,0 +1,20 @@ +package algo + +import "errors" + +var ( + ErrInvalidSignature = errors.New("signature is not valid") +) + +// KeyType название криптографического алгоритма +type KeyType string + +// AlgorithmType название алгоритма хеширования +type AlgorithmType string + +type Algorithm interface { + Sign(payload []byte) ([]byte, error) // Sign подписывает данные + Verify(payload, signature []byte) error // Verify проверяет подпись + Key() KeyType // Key возвращает название криптографического алгоритма + Algo() AlgorithmType // Algo возвращает название алгоритма хеширования +}