Skip to content
Snippets Groups Projects
CryptoComponent.java 737 B
Newer Older
package net.sf.briar.api.crypto;

import java.security.KeyPair;
import java.security.SecureRandom;
import java.security.Signature;

import javax.crypto.Cipher;

public interface CryptoComponent {

	ErasableKey deriveTagKey(byte[] secret, boolean initiator);
	ErasableKey deriveFrameKey(byte[] secret, boolean initiator);

	ErasableKey deriveMacKey(byte[] secret, boolean initiator);

akwizgran's avatar
akwizgran committed
	byte[] deriveNextSecret(byte[] secret, int index, long connection);
	KeyPair generateKeyPair();

	KeyParser getKeyParser();

	ErasableKey generateTestKey();
	MessageDigest getMessageDigest();

	Cipher getTagCipher();

	Cipher getFrameCipher();
	Signature getSignature();