attributes.put(IMode.IV, iv);
attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION));
mode.init(attributes);
for (int i = 0; i + 16 <= source.length; i += 16) {
mode.update(source, i, ct, i);
}
try {
int unpad = padding.unpad(ct, 0, ct.length);
out = new byte[ct.length - unpad];