package aalg.crypto;


/**
 * General interface for signers that creates electronic signatures of messages.
 * @author Ing. Petr Ležák
 */
public interface ISigner<K extends IPrivateKey> {
	/**
	 * Signs given message using given private key.
	 * @param message message to sign
	 * @param privateKey private key used for signing
	 * @return signature
	 */
	public ISignature sign (final byte[] message, final K privateKey);
}
