aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/crypto/cipher.vala
blob: 89282144a7a5a3f74b3189edc77b248cd198db98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Dino.Crypto {

public interface SymmetricCipher {
    public abstract void set_key(uint8[] key) throws Error;
    public abstract void set_iv(uint8[] iv) throws Error;
    public abstract void reset() throws Error;
}

public interface SymmetricCipherEncryption : SymmetricCipher, Object {
    public abstract int encrypt(uint8[] output, uint8[] input) throws Error;
    public abstract uint8[] get_tag(size_t taglen) throws Error;
}

public interface SymmetricCipherDecryption : SymmetricCipher, Object {
    public abstract int decrypt(uint8[] output, uint8[] input) throws Error;
    public abstract void check_tag(uint8[] tag) throws Error;
}

}