17 lines
475 B
Python
17 lines
475 B
Python
# built-in dependencies
|
|
from typing import Tuple, Union
|
|
from abc import ABC, abstractmethod
|
|
|
|
class Signature(ABC):
|
|
@abstractmethod
|
|
def generate_keys(self, key_size: int) -> dict:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def sign(self, message: int) -> Union[Tuple[Tuple[int, int], int], Tuple[int, int], int]:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def verify(self, message: int, signature: Union[Tuple[Tuple[int, int], int], Tuple[int, int], int]) -> bool:
|
|
pass
|