EVP_CIPHER-SM4.pod 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. =pod
  2. =head1 NAME
  3. EVP_CIPHER-SM4 - The SM4 EVP_CIPHER implementations
  4. =head1 DESCRIPTION
  5. Support for SM4 symmetric encryption using the B<EVP_CIPHER> API.
  6. =head2 Algorithm Names
  7. The following algorithms are available in the default provider:
  8. =over 4
  9. =item "SM4-CBC:SM4"
  10. =item "SM4-ECB"
  11. =item "SM4-CTR"
  12. =item "SM4-OFB" or "SM4-OFB128"
  13. =item "SM4-CFB" or "SM4-CFB128"
  14. =item "SM4-GCM"
  15. =item "SM4-CCM"
  16. =item "SM4-XTS"
  17. =back
  18. =head2 Parameters
  19. This implementation supports the parameters described in
  20. L<EVP_EncryptInit(3)/PARAMETERS>.
  21. =head1 NOTES
  22. The SM4-XTS implementation allows streaming to be performed, but each
  23. L<EVP_EncryptUpdate(3)> or L<EVP_DecryptUpdate(3)> call requires each input
  24. to be a multiple of the blocksize. Only the final EVP_EncryptUpdate() or
  25. EVP_DecryptUpdate() call can optionally have an input that is not a multiple
  26. of the blocksize but is larger than one block. In that case ciphertext
  27. stealing (CTS) is used to fill the block.
  28. =head1 SEE ALSO
  29. L<provider-cipher(7)>, L<OSSL_PROVIDER-default(7)>
  30. =head1 COPYRIGHT
  31. Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
  32. Licensed under the Apache License 2.0 (the "License"). You may not use
  33. this file except in compliance with the License. You can obtain a copy
  34. in the file LICENSE in the source distribution or at
  35. L<https://www.openssl.org/source/license.html>.
  36. =cut