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