package defpackage;

import java.security.GeneralSecurityException;
import java.security.InvalidKeyException;
import java.security.Provider;
import java.util.Arrays;
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 C5555 implements InterfaceC2556 {

    /* renamed from: ˏᵙ, reason: contains not printable characters */
    public final Provider f20836;

    /* renamed from: ᵥᵯˎ, reason: contains not printable characters */
    public final byte[] f20837;

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

    public C5555(byte[] bArr, byte[] bArr2, Provider provider) throws GeneralSecurityException {
        if (!AbstractC2990.m7330(1)) {
            C0910.m3048("Can not use ChaCha20Poly1305 in FIPS-mode.");
            throw null;
        }
        if (bArr.length != 32) {
            throw new InvalidKeyException("The key length in bytes must be 32.");
        }
        this.f20837 = bArr;
        this.f20838 = bArr2;
        this.f20836 = provider;
    }

    @Override // defpackage.InterfaceC2556
    /* renamed from: ᵥᵯˎ */
    public final byte[] mo2411(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        if (bArr == null) {
            C1260.m3813("plaintext is null");
            return null;
        }
        byte[] bArrM11138 = AbstractC5513.m11138(24);
        SecretKeySpec secretKeySpec = new SecretKeySpec(AbstractC2052.m5634(this.f20837, bArrM11138), "ChaCha20");
        byte[] bArr3 = new byte[12];
        System.arraycopy(bArrM11138, 16, bArr3, 4, 8);
        IvParameterSpec ivParameterSpec = new IvParameterSpec(bArr3);
        byte[] bArr4 = C4461.f16647;
        Cipher cipher = Cipher.getInstance("ChaCha20-Poly1305", this.f20836);
        cipher.init(1, secretKeySpec, ivParameterSpec);
        if (bArr2 != null && bArr2.length != 0) {
            cipher.updateAAD(bArr2);
        }
        int outputSize = cipher.getOutputSize(bArr.length);
        byte[] bArr5 = this.f20838;
        if (outputSize > 2147483623 - bArr5.length) {
            C0910.m3048("plaintext too long");
            return null;
        }
        byte[] bArrCopyOf = Arrays.copyOf(bArr5, bArr5.length + 24 + outputSize);
        System.arraycopy(bArrM11138, 0, bArrCopyOf, bArr5.length, 24);
        if (cipher.doFinal(bArr, 0, bArr.length, bArrCopyOf, bArr5.length + 24) == outputSize) {
            return bArrCopyOf;
        }
        C0910.m3048("not enough data written");
        return null;
    }

    @Override // defpackage.InterfaceC2556
    /* renamed from: ᵴᵳ */
    public final byte[] mo2412(byte[] bArr, byte[] bArr2) throws GeneralSecurityException {
        if (bArr == null) {
            C1260.m3813("ciphertext is null");
            return null;
        }
        int length = bArr.length;
        byte[] bArr3 = this.f20838;
        if (length < bArr3.length + 40) {
            C0910.m3048("ciphertext too short");
            return null;
        }
        if (!AbstractC1067.m3457(bArr3, bArr)) {
            C0910.m3048("Decryption failed (OutputPrefix mismatch).");
            return null;
        }
        byte[] bArr4 = new byte[24];
        System.arraycopy(bArr, bArr3.length, bArr4, 0, 24);
        SecretKeySpec secretKeySpec = new SecretKeySpec(AbstractC2052.m5634(this.f20837, bArr4), "ChaCha20");
        byte[] bArr5 = new byte[12];
        System.arraycopy(bArr4, 16, bArr5, 4, 8);
        IvParameterSpec ivParameterSpec = new IvParameterSpec(bArr5);
        byte[] bArr6 = C4461.f16647;
        Cipher cipher = Cipher.getInstance("ChaCha20-Poly1305", this.f20836);
        cipher.init(2, secretKeySpec, ivParameterSpec);
        if (bArr2 != null && bArr2.length != 0) {
            cipher.updateAAD(bArr2);
        }
        return cipher.doFinal(bArr, bArr3.length + 24, (bArr.length - bArr3.length) - 24);
    }
}
