/* See LICENSE for licensing and NOTICE for copyright. */ package org.cryptacular.spec; /** * Specification for a cryptographic primitive, e.g. block cipher, message digest, etc. * * @param <T> Type of specification. * * @author Middleware Services */ public interface Spec<T> { /** @return Cryptographic algorithm name. */ String getAlgorithm(); /** * Creates a new instance of the cryptographic primitive described by this specification. * * @return New instance of cryptographic primitive. */ T newInstance(); }