package defpackage;

import java.security.GeneralSecurityException;
import java.security.InvalidAlgorithmParameterException;
import java.util.Arrays;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

/* JADX INFO: renamed from: ᵨᵯˊᵽ, reason: contains not printable characters */
/* JADX INFO: loaded from: classes3.dex */
public final class C3770 implements InterfaceC2925 {

    /* JADX INFO: renamed from: ᵨᵼⁱ, reason: contains not printable characters */
    public static final C0140 f14343 = new C0140(9);

    /* JADX INFO: renamed from: ˌᴵ, reason: contains not printable characters */
    public final SecretKeySpec f14344;

    /* JADX INFO: renamed from: ᵔᵖᵹᵫ, reason: contains not printable characters */
    public final byte[] f14345;

    /* JADX INFO: renamed from: ᵜᵪʾ, reason: contains not printable characters */
    public final byte[] f14346;

    public C3770(byte[] bArr) throws GeneralSecurityException {
        AbstractC1792.m4941(bArr.length);
        SecretKeySpec secretKeySpec = new SecretKeySpec(bArr, "AES");
        this.f14344 = secretKeySpec;
        if (!AbstractC2704.m6538(1)) {
            C1685.m4558("Can not use AES-CMAC in FIPS-mode.");
            throw null;
        }
        Cipher cipher = (Cipher) f14343.get();
        cipher.init(1, secretKeySpec);
        byte[] bArr2 = ᵷᵸˁ.ᵵᵽ(cipher.doFinal(new byte[16]));
        this.f14346 = bArr2;
        this.f14345 = ᵷᵸˁ.ᵵᵽ(bArr2);
    }

    @Override // defpackage.InterfaceC2925
    /* JADX INFO: renamed from: ᵨᵣ */
    public final byte[] mo4740(int i, byte[] bArr) throws GeneralSecurityException {
        byte[] bArr2;
        if (i > 16) {
            throw new InvalidAlgorithmParameterException("outputLength too large, max is 16 bytes");
        }
        if (!AbstractC2704.m6538(1)) {
            C1685.m4558("Can not use AES-CMAC in FIPS-mode.");
            return null;
        }
        Cipher cipher = (Cipher) f14343.get();
        cipher.init(1, this.f14344);
        int length = bArr.length;
        int i2 = length == 0 ? 1 : ((length - 1) / 16) + 1;
        if (i2 * 16 == bArr.length) {
            bArr2 = ᵷˆᵣ.ˉᵲ((i2 - 1) * 16, 16, bArr, this.f14346);
        } else {
            byte[] bArrCopyOfRange = Arrays.copyOfRange(bArr, (i2 - 1) * 16, bArr.length);
            if (bArrCopyOfRange.length >= 16) {
                ᵕᵩʽᵲ.ᵮᵣᵗˈ("x must be smaller than a block.");
                return null;
            }
            byte[] bArrCopyOf = Arrays.copyOf(bArrCopyOfRange, 16);
            bArrCopyOf[bArrCopyOfRange.length] = -128;
            bArr2 = ᵷˆᵣ.ˏːˆ(bArrCopyOf, this.f14345);
        }
        byte[] bArr3 = new byte[16];
        byte[] bArr4 = new byte[16];
        for (int i3 = 0; i3 < i2 - 1; i3++) {
            int i4 = i3 * 16;
            for (int i5 = 0; i5 < 16; i5++) {
                bArr4[i5] = (byte) (bArr3[i5] ^ bArr[i5 + i4]);
            }
            if (cipher.doFinal(bArr4, 0, 16, bArr3) != 16) {
                ᵕᵩʽᵲ.ᵪᵹᵥᵻ("Cipher didn't write full block");
                return null;
            }
        }
        for (int i6 = 0; i6 < 16; i6++) {
            bArr4[i6] = (byte) (bArr3[i6] ^ bArr2[i6]);
        }
        if (cipher.doFinal(bArr4, 0, 16, bArr3) == 16) {
            return 16 == i ? bArr3 : Arrays.copyOf(bArr3, i);
        }
        ᵕᵩʽᵲ.ᵪᵹᵥᵻ("Cipher didn't write full block");
        return null;
    }
}
