diff --git a/lib/src/main/java/io/github/lonamiwebs/overgram/crypto/Authenticator.java b/lib/src/main/java/io/github/lonamiwebs/overgram/crypto/Authenticator.java index f1f2de0..c45b680 100644 --- a/lib/src/main/java/io/github/lonamiwebs/overgram/crypto/Authenticator.java +++ b/lib/src/main/java/io/github/lonamiwebs/overgram/crypto/Authenticator.java @@ -26,18 +26,16 @@ public class Authenticator { // Note that Java uses big endian, which is correct here final BigInteger pq = new BigInteger(resPq.pq()); final Pair pqPair = Utils.factorize(pq); - final BigInteger p = pqPair.getKey(); - final BigInteger q = pqPair.getValue(); // Once again, as big endian - final byte[] pBytes = p.toByteArray(); - final byte[] qBytes = q.toByteArray(); + final byte[] p = pqPair.getKey().toByteArray(); + final byte[] q = pqPair.getValue().toByteArray(); final BigInteger newNonce = new BigInteger(Utils.randomBytes(32)); final byte[] pqInnerData = new Types.PQInnerData() .pq(resPq.pq()) - .p(pBytes) - .q(qBytes) + .p(p) + .q(q) .nonce(resPq.nonce()) .serverNonce(resPq.serverNonce()) .newNonce(newNonce) @@ -61,8 +59,8 @@ public class Authenticator { new Functions.ReqDHParams() .nonce(resPq.nonce()) .serverNonce(resPq.serverNonce()) - .p(pBytes) - .q(qBytes) + .p(p) + .q(q) .publicKeyFingerprint(targetFingerprint) .encryptedData(cipherText) );