// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.crypto.paddings;

import org.bouncycastle.crypto.InvalidCipherTextException;
import java.security.SecureRandom;

public class ZeroBytePadding implements BlockCipherPadding
{
    @Override
    public void init(final SecureRandom secureRandom) throws IllegalArgumentException {
    }
    
    @Override
    public String getPaddingName() {
        return "ZeroByte";
    }
    
    @Override
    public int addPadding(final byte[] array, int i) {
        final int n = array.length - i;
        while (i < array.length) {
            array[i] = 0;
            ++i;
        }
        return n;
    }
    
    @Override
    public int padCount(final byte[] array) throws InvalidCipherTextException {
        int n = 0;
        int n2 = -1;
        int length = array.length;
        while (--length >= 0) {
            n2 &= ((array[length] & 0xFF) ^ 0x0) - 1 >> 31;
            n -= n2;
        }
        return n;
    }
}
