diff --git a/core/src/main/java/moe/kyokobot/koe/crypto/EncryptionMode.java b/core/src/main/java/moe/kyokobot/koe/crypto/EncryptionMode.java index 4a22a5b..09f9444 100644 --- a/core/src/main/java/moe/kyokobot/koe/crypto/EncryptionMode.java +++ b/core/src/main/java/moe/kyokobot/koe/crypto/EncryptionMode.java @@ -5,6 +5,8 @@ import java.util.List; public interface EncryptionMode { + int ZERO_BYTES_LENGTH = 32; // For XSalsa20Poly1305 + boolean box(ByteBuf opus, int start, ByteBuf output, byte[] secretKey); String getName(); diff --git a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305EncryptionMode.java b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305EncryptionMode.java index 2d62aec..ccd53d8 100644 --- a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305EncryptionMode.java +++ b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305EncryptionMode.java @@ -5,8 +5,8 @@ public class XSalsa20Poly1305EncryptionMode implements EncryptionMode { private final byte[] extendedNonce = new byte[24]; - private final byte[] m = new byte[984]; - private final byte[] c = new byte[984]; + private final byte[] m = new byte[1276 + ZERO_BYTES_LENGTH]; + private final byte[] c = new byte[1276 + ZERO_BYTES_LENGTH]; private final TweetNaclFastInstanced nacl = new TweetNaclFastInstanced(); @Override diff --git a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305LiteEncryptionMode.java b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305LiteEncryptionMode.java index 98b4395..6dfd0f1 100644 --- a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305LiteEncryptionMode.java +++ b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305LiteEncryptionMode.java @@ -5,8 +5,8 @@ public class XSalsa20Poly1305LiteEncryptionMode implements EncryptionMode { private final byte[] extendedNonce = new byte[24]; - private final byte[] m = new byte[984]; - private final byte[] c = new byte[984]; + private final byte[] m = new byte[1276 + ZERO_BYTES_LENGTH]; + private final byte[] c = new byte[1276 + ZERO_BYTES_LENGTH]; private final TweetNaclFastInstanced nacl = new TweetNaclFastInstanced(); private int seq = 0x80000000; diff --git a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305SuffixEncryptionMode.java b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305SuffixEncryptionMode.java index 6ad2925..db7fb95 100644 --- a/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305SuffixEncryptionMode.java +++ b/core/src/main/java/moe/kyokobot/koe/crypto/XSalsa20Poly1305SuffixEncryptionMode.java @@ -7,8 +7,8 @@ public class XSalsa20Poly1305SuffixEncryptionMode implements EncryptionMode { private final byte[] extendedNonce = new byte[24]; - private final byte[] m = new byte[984]; - private final byte[] c = new byte[984]; + private final byte[] m = new byte[1276 + ZERO_BYTES_LENGTH]; + private final byte[] c = new byte[1276 + ZERO_BYTES_LENGTH]; private final TweetNaclFastInstanced nacl = new TweetNaclFastInstanced(); @Override