/** * Zero padding strategy. */ export const ZeroPadding = { pad(data, blockSize) { const _data = data; // Shortcut const blockSizeBytes = blockSize * 4; // Pad _data.clamp(); _data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); }, unpad(data) { const _data = data; // Shortcut const dataWords = _data.words; // Unpad for (let i = _data.sigBytes - 1; i >= 0; i -= 1) { if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { _data.sigBytes = i + 1; break; } } }, };