pad-iso97971.js 513 B

1234567891011121314151617181920212223242526272829
  1. import {
  2. WordArray,
  3. } from './core.js';
  4. import {
  5. ZeroPadding,
  6. } from './pad-zeropadding.js';
  7. /**
  8. * ISO/IEC 9797-1 Padding Method 2.
  9. */
  10. export const Iso97971 = {
  11. pad(data, blockSize) {
  12. // Add 0x80 byte
  13. data.concat(WordArray.create([0x80000000], 1));
  14. // Zero pad the rest
  15. ZeroPadding.pad(data, blockSize);
  16. },
  17. unpad(data) {
  18. const _data = data;
  19. // Remove zero padding
  20. ZeroPadding.unpad(_data);
  21. // Remove one more byte -- the 0x80 byte
  22. _data.sigBytes -= 1;
  23. },
  24. };