package com.google.android.gms.internal.pal;

import java.security.GeneralSecurityException;
import java.util.Arrays;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

/* JADX INFO: loaded from: classes2.dex */
public final class wd implements a7 {

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    public static final com.google.android.gms.common.api.internal.x0 f21316e = new com.google.android.gms.common.api.internal.x0(13);

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    public static final com.google.android.gms.common.api.internal.x0 f21317f = new com.google.android.gms.common.api.internal.x0(14);

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public final byte[] f21318a;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public final byte[] f21319b;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public final SecretKeySpec f21320c;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    public final int f21321d;

    public wd(byte[] bArr, int i10) throws GeneralSecurityException {
        if (!q9.y(1)) {
            throw new GeneralSecurityException("Can not use AES-EAX in FIPS-mode.");
        }
        if (i10 != 12 && i10 != 16) {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        }
        this.f21321d = i10;
        je.a(bArr.length);
        SecretKeySpec secretKeySpec = new SecretKeySpec(bArr, "AES");
        this.f21320c = secretKeySpec;
        Cipher cipher = (Cipher) f21316e.get();
        cipher.init(1, secretKeySpec);
        byte[] bArrA = a(cipher.doFinal(new byte[16]));
        this.f21318a = bArrA;
        this.f21319b = a(bArrA);
    }

    public static byte[] a(byte[] bArr) {
        byte[] bArr2 = new byte[16];
        int i10 = 0;
        while (i10 < 15) {
            byte b10 = bArr[i10];
            int i11 = i10 + 1;
            bArr2[i10] = (byte) (((b10 + b10) ^ ((bArr[i11] & 255) >>> 7)) & 255);
            i10 = i11;
        }
        byte b11 = bArr[15];
        bArr2[15] = (byte) (((bArr[0] >> 7) & 135) ^ (b11 + b11));
        return bArr2;
    }

    public static byte[] c(byte[] bArr, byte[] bArr2) {
        int length = bArr.length;
        byte[] bArr3 = new byte[length];
        for (int i10 = 0; i10 < length; i10++) {
            bArr3[i10] = (byte) (bArr[i10] ^ bArr2[i10]);
        }
        return bArr3;
    }

    public final byte[] b(Cipher cipher, int i10, byte[] bArr, int i11, int i12) throws BadPaddingException, IllegalBlockSizeException {
        byte[] bArrCopyOf;
        int length;
        byte[] bArr2 = new byte[16];
        bArr2[15] = (byte) i10;
        byte[] bArr3 = this.f21318a;
        if (i12 == 0) {
            return cipher.doFinal(c(bArr2, bArr3));
        }
        byte[] bArrDoFinal = cipher.doFinal(bArr2);
        int i13 = 0;
        int i14 = 0;
        while (i12 - i14 > 16) {
            for (int i15 = 0; i15 < 16; i15++) {
                bArrDoFinal[i15] = (byte) (bArrDoFinal[i15] ^ bArr[(i11 + i14) + i15]);
            }
            bArrDoFinal = cipher.doFinal(bArrDoFinal);
            i14 += 16;
        }
        byte[] bArrCopyOfRange = Arrays.copyOfRange(bArr, i14 + i11, i11 + i12);
        if (bArrCopyOfRange.length == 16) {
            bArrCopyOf = c(bArrCopyOfRange, bArr3);
        } else {
            bArrCopyOf = Arrays.copyOf(this.f21319b, 16);
            while (true) {
                length = bArrCopyOfRange.length;
                if (i13 >= length) {
                    break;
                }
                bArrCopyOf[i13] = (byte) (bArrCopyOf[i13] ^ bArrCopyOfRange[i13]);
                i13++;
            }
            bArrCopyOf[length] = (byte) (bArrCopyOf[length] ^ 128);
        }
        return cipher.doFinal(c(bArrDoFinal, bArrCopyOf));
    }

    @Override // com.google.android.gms.internal.pal.a7
    public final byte[] zza(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        int length = bArr.length;
        int i10 = this.f21321d;
        if (length > 2147483631 - i10) {
            throw new GeneralSecurityException("plaintext too long");
        }
        int i11 = i10 + length;
        byte[] bArr3 = new byte[i11 + 16];
        byte[] bArrA = ie.a(i10);
        System.arraycopy(bArrA, 0, bArr3, 0, i10);
        Cipher cipher = (Cipher) f21316e.get();
        SecretKeySpec secretKeySpec = this.f21320c;
        cipher.init(1, secretKeySpec);
        byte[] bArrB = b(cipher, 0, bArrA, 0, bArrA.length);
        byte[] bArrB2 = b(cipher, 1, bArr2, 0, 0);
        Cipher cipher2 = (Cipher) f21317f.get();
        cipher2.init(1, secretKeySpec, new IvParameterSpec(bArrB));
        cipher2.doFinal(bArr, 0, length, bArr3, this.f21321d);
        byte[] bArrB3 = b(cipher, 2, bArr3, this.f21321d, length);
        for (int i12 = 0; i12 < 16; i12++) {
            bArr3[i11 + i12] = (byte) ((bArrB2[i12] ^ bArrB[i12]) ^ bArrB3[i12]);
        }
        return bArr3;
    }
}
