aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/whispersystems/libaxolotl/groups/ratchet
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/whispersystems/libaxolotl/groups/ratchet')
-rw-r--r--src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderChainKey.java49
-rw-r--r--src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderMessageKey.java38
2 files changed, 0 insertions, 87 deletions
diff --git a/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderChainKey.java b/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderChainKey.java
deleted file mode 100644
index 71375923..00000000
--- a/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderChainKey.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.whispersystems.libaxolotl.groups.ratchet;
-
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-
-public class SenderChainKey {
-
- private static final byte[] MESSAGE_KEY_SEED = {0x01};
- private static final byte[] CHAIN_KEY_SEED = {0x02};
-
- private final int iteration;
- private final byte[] chainKey;
-
- public SenderChainKey(int iteration, byte[] chainKey) {
- this.iteration = iteration;
- this.chainKey = chainKey;
- }
-
- public int getIteration() {
- return iteration;
- }
-
- public SenderMessageKey getSenderMessageKey() {
- return new SenderMessageKey(iteration, getDerivative(MESSAGE_KEY_SEED, chainKey));
- }
-
- public SenderChainKey getNext() {
- return new SenderChainKey(iteration + 1, getDerivative(CHAIN_KEY_SEED, chainKey));
- }
-
- public byte[] getSeed() {
- return chainKey;
- }
-
- private byte[] getDerivative(byte[] seed, byte[] key) {
- try {
- Mac mac = Mac.getInstance("HmacSHA256");
- mac.init(new SecretKeySpec(key, "HmacSHA256"));
-
- return mac.doFinal(seed);
- } catch (NoSuchAlgorithmException | InvalidKeyException e) {
- throw new AssertionError(e);
- }
- }
-
-}
diff --git a/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderMessageKey.java b/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderMessageKey.java
deleted file mode 100644
index 8808a8e8..00000000
--- a/src/main/java/org/whispersystems/libaxolotl/groups/ratchet/SenderMessageKey.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.whispersystems.libaxolotl.groups.ratchet;
-
-import org.whispersystems.libaxolotl.kdf.HKDFv3;
-import org.whispersystems.libaxolotl.util.ByteUtil;
-
-public class SenderMessageKey {
-
- private final int iteration;
- private final byte[] iv;
- private final byte[] cipherKey;
- private final byte[] seed;
-
- public SenderMessageKey(int iteration, byte[] seed) {
- byte[] derivative = new HKDFv3().deriveSecrets(seed, "WhisperGroup".getBytes(), 48);
- byte[][] parts = ByteUtil.split(derivative, 16, 32);
-
- this.iteration = iteration;
- this.seed = seed;
- this.iv = parts[0];
- this.cipherKey = parts[1];
- }
-
- public int getIteration() {
- return iteration;
- }
-
- public byte[] getIv() {
- return iv;
- }
-
- public byte[] getCipherKey() {
- return cipherKey;
- }
-
- public byte[] getSeed() {
- return seed;
- }
-}