# BUK Signature verifier

## SignatureVerifier Contract

The `SignatureVerifier` contract is a Solidity smart contract designed to verify the signature of hashed messages using the ECDSA cryptographic algorithm. It provides a utility to ensure the authenticity of messages within the Buk Protocol.

### Overview

The contract is designed with the following key component:

* **Signature Verification**: Uses the ECDSA library from OpenZeppelin to verify the signature of hashed messages.

### Features

* **ECDSA Verification**: Provides a function to verify the signature of a hashed message using the ECDSA cryptographic algorithm.

### Functions

#### Public and External Functions:

* **generateAndVerify:** Generates a hash from the given parameters and verifies the signature of the hash using ECDSA.
* **verify**: Verifies the signature of a hashed message and returns the address of the signer.

### Interface: ISignatureVerifier

The contract also defines an interface `ISignatureVerifier` which outlines the expected structure and functions for the SignatureVerifier contract. The interface includes:

* **Functions**: Functions like **`verify`** and **`generateAndVerify`**

### License

This project is licensed under the MIT License.
