package org.araqne.storage.crypto;
import java.security.PrivateKey;
import java.security.PublicKey;
public interface LogCrypto {
BlockCipher newEncryptor(String cipher);
BlockCipher newDecryptor(String cipher);
MacBuilder newMacBuilder(String algorithm);
byte[] encrypt(byte[] b, PublicKey publicKey) throws LogCryptoException;
byte[] decrypt(byte[] b, PrivateKey privateKey) throws LogCryptoException;
byte[] encrypt(byte[] input, int limit, String cipher, byte[] cipherKey, byte[] iv) throws LogCryptoException;
byte[] decrypt(byte[] input, String cipher, byte[] cipherKey, byte[] iv) throws LogCryptoException;
byte[] digest(byte[] input, int limit, String digest, byte[] digestKey) throws LogCryptoException;
}