package defpackage;

import java.security.GeneralSecurityException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
import java.util.Arrays;
import javax.crypto.AEADBadTagException;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

/* renamed from: ᵼᵟ, reason: contains not printable characters */
/* loaded from: classes3.dex */
public final class C5279 implements InterfaceC4799 {

    /* renamed from: ˏᵙ, reason: contains not printable characters */
    public final byte[] f19762;

    /* renamed from: ᵥᵯˎ, reason: contains not printable characters */
    public final InterfaceC5287 f19763;

    /* renamed from: ᵴᵳ, reason: contains not printable characters */
    public final byte[] f19764;

    /* renamed from: ᵻᵢﹳᵰ, reason: contains not printable characters */
    public static final byte[] f19761 = new byte[16];

    /* renamed from: ˇʼʤˎ, reason: contains not printable characters */
    public static final byte[] f19759 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};

    /* renamed from: ˏˋٴ, reason: contains not printable characters */
    public static final C1907 f19760 = new C1907(4);

    public C5279(byte[] bArr, C4542 c4542) throws GeneralSecurityException {
        if (!AbstractC2990.m7330(1)) {
            C0910.m3048("Can not use AES-SIV in FIPS-mode.");
            throw null;
        }
        if (bArr.length != 32 && bArr.length != 64) {
            throw new InvalidKeyException(AbstractC4486.m9545(new StringBuilder("invalid key size: "), bArr.length, " bytes; key must have 32 or 64 bytes"));
        }
        byte[] bArrCopyOfRange = Arrays.copyOfRange(bArr, 0, bArr.length / 2);
        this.f19764 = Arrays.copyOfRange(bArr, bArr.length / 2, bArr.length);
        this.f19763 = ᵱᵞᵪ.ᵹᵝᵶ(C0770.m2857(C5169.m10668(bArrCopyOfRange.length), new ᵿʤˑᵦ(21, C4542.m9654(bArrCopyOfRange))));
        this.f19762 = c4542.m9655();
    }

    /* renamed from: ᵻᵢﹳᵰ, reason: contains not printable characters */
    public static void m10936(int i) throws GeneralSecurityException {
        if (i > 126) {
            throw new GeneralSecurityException(AbstractC3915.m8596(i, "Too many associated datas: ", " > 126"));
        }
    }

    /* renamed from: ˏᵙ, reason: contains not printable characters */
    public final byte[] m10937(byte[]... bArr) {
        byte[] bArrCopyOf;
        int length = bArr.length;
        InterfaceC5287 interfaceC5287 = this.f19763;
        if (length == 0) {
            return interfaceC5287.mo5875(16, f19759);
        }
        byte[] bArrMo5875 = interfaceC5287.mo5875(16, f19761);
        for (int i = 0; i < bArr.length - 1; i++) {
            byte[] bArr2 = bArr[i];
            if (bArr2 == null) {
                bArr2 = new byte[0];
            }
            bArrMo5875 = ˉᵜˆ.ᵮᵠـˌ(AbstractC0494.m2143(bArrMo5875), interfaceC5287.mo5875(16, bArr2));
        }
        byte[] bArr3 = bArr[bArr.length - 1];
        if (bArr3.length >= 16) {
            if (bArr3.length < bArrMo5875.length) {
                ᵹˉᵞ.ˌᵜᵹᵩ("xorEnd requires a.length >= b.length");
                return null;
            }
            int length2 = bArr3.length - bArrMo5875.length;
            bArrCopyOf = Arrays.copyOf(bArr3, bArr3.length);
            for (int i2 = 0; i2 < bArrMo5875.length; i2++) {
                int i3 = length2 + i2;
                bArrCopyOf[i3] = (byte) (bArrCopyOf[i3] ^ bArrMo5875[i2]);
            }
        } else {
            if (bArr3.length >= 16) {
                ᵹˉᵞ.ˌᵜᵹᵩ("x must be smaller than a block.");
                return null;
            }
            byte[] bArrCopyOf2 = Arrays.copyOf(bArr3, 16);
            bArrCopyOf2[bArr3.length] = Byte.MIN_VALUE;
            bArrCopyOf = ˉᵜˆ.ᵮᵠـˌ(bArrCopyOf2, AbstractC0494.m2143(bArrMo5875));
        }
        return interfaceC5287.mo5875(16, bArrCopyOf);
    }

    @Override // defpackage.InterfaceC4799
    /* renamed from: ᵥᵯˎ */
    public final byte[] mo4280(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        byte[][] bArr3 = {bArr2};
        m10936(1);
        int length = bArr.length;
        byte[] bArr4 = this.f19762;
        if (length > 2147483631 - bArr4.length) {
            C0910.m3048("plaintext too long");
            return null;
        }
        Cipher cipher = (Cipher) f19760.get();
        byte[][] bArr5 = (byte[][]) Arrays.copyOf(bArr3, 2);
        bArr5[1] = bArr;
        byte[] bArrM10937 = m10937(bArr5);
        byte[] bArr6 = (byte[]) bArrM10937.clone();
        bArr6[8] = (byte) (bArr6[8] & Byte.MAX_VALUE);
        bArr6[12] = (byte) (bArr6[12] & Byte.MAX_VALUE);
        cipher.init(1, new SecretKeySpec(this.f19764, "AES"), new IvParameterSpec(bArr6));
        byte[] bArrCopyOf = Arrays.copyOf(bArr4, bArr4.length + bArrM10937.length + bArr.length);
        System.arraycopy(bArrM10937, 0, bArrCopyOf, bArr4.length, bArrM10937.length);
        if (cipher.doFinal(bArr, 0, bArr.length, bArrCopyOf, bArr4.length + bArrM10937.length) == bArr.length) {
            return bArrCopyOf;
        }
        C0910.m3048("not enough data written");
        return null;
    }

    @Override // defpackage.InterfaceC4799
    /* renamed from: ᵴᵳ */
    public final byte[] mo4281(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        byte[][] bArr3 = {bArr2};
        m10936(1);
        int length = bArr.length;
        byte[] bArr4 = this.f19762;
        if (length < bArr4.length + 16) {
            C0910.m3048("Ciphertext too short.");
            return null;
        }
        if (!AbstractC1067.m3457(bArr4, bArr)) {
            C0910.m3048("Decryption failed (OutputPrefix mismatch).");
            return null;
        }
        Cipher cipher = (Cipher) f19760.get();
        byte[] bArrCopyOfRange = Arrays.copyOfRange(bArr, bArr4.length, bArr4.length + 16);
        byte[] bArr5 = (byte[]) bArrCopyOfRange.clone();
        bArr5[8] = (byte) (bArr5[8] & Byte.MAX_VALUE);
        bArr5[12] = (byte) (bArr5[12] & Byte.MAX_VALUE);
        cipher.init(2, new SecretKeySpec(this.f19764, "AES"), new IvParameterSpec(bArr5));
        int length2 = bArr4.length + 16;
        int length3 = bArr.length - length2;
        byte[] bArrDoFinal = cipher.doFinal(bArr, length2, length3);
        if (length3 == 0 && bArrDoFinal == null && "The Android Project".equals(System.getProperty("java.vendor"))) {
            bArrDoFinal = new byte[0];
        }
        byte[][] bArr6 = (byte[][]) Arrays.copyOf(bArr3, 2);
        bArr6[1] = bArrDoFinal;
        if (MessageDigest.isEqual(bArrCopyOfRange, m10937(bArr6))) {
            return bArrDoFinal;
        }
        throw new AEADBadTagException("Integrity check failed.");
    }
}
