mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-06-19 19:33:38 +08:00
Update sm4.c
Prevent sm4_cbc_decrypt_blocks in == out
This commit is contained in:
@@ -768,7 +768,7 @@ endif()
|
|||||||
#
|
#
|
||||||
set(CPACK_PACKAGE_NAME "GmSSL")
|
set(CPACK_PACKAGE_NAME "GmSSL")
|
||||||
set(CPACK_PACKAGE_VENDOR "GmSSL develop team")
|
set(CPACK_PACKAGE_VENDOR "GmSSL develop team")
|
||||||
set(CPACK_PACKAGE_VERSION "3.2.0-dev.1033")
|
set(CPACK_PACKAGE_VERSION "3.2.0-dev.1034")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/README.md)
|
set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/README.md)
|
||||||
set(CPACK_NSIS_MODIFY_PATH ON)
|
set(CPACK_NSIS_MODIFY_PATH ON)
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ extern "C" {
|
|||||||
|
|
||||||
// Also update CPACK_PACKAGE_VERSION in CMakeLists.txt
|
// Also update CPACK_PACKAGE_VERSION in CMakeLists.txt
|
||||||
#define GMSSL_VERSION_NUM 30200
|
#define GMSSL_VERSION_NUM 30200
|
||||||
#define GMSSL_VERSION_STR "GmSSL 3.2.0-dev.1033"
|
#define GMSSL_VERSION_STR "GmSSL 3.2.0-dev.1034"
|
||||||
|
|
||||||
int gmssl_version_num(void);
|
int gmssl_version_num(void);
|
||||||
const char *gmssl_version_str(void);
|
const char *gmssl_version_str(void);
|
||||||
|
|||||||
@@ -191,14 +191,16 @@ void sm4_cbc_decrypt_blocks(const SM4_KEY *key, uint8_t iv[16],
|
|||||||
const uint8_t *in, size_t nblocks, uint8_t *out)
|
const uint8_t *in, size_t nblocks, uint8_t *out)
|
||||||
{
|
{
|
||||||
const uint8_t *piv = iv;
|
const uint8_t *piv = iv;
|
||||||
|
uint8_t next_iv[16];
|
||||||
|
|
||||||
while (nblocks--) {
|
while (nblocks--) {
|
||||||
size_t i;
|
size_t i;
|
||||||
|
memcpy(next_iv, in, 16);
|
||||||
sm4_encrypt(key, in, out);
|
sm4_encrypt(key, in, out);
|
||||||
for (i = 0; i < 16; i++) {
|
for (i = 0; i < 16; i++) {
|
||||||
out[i] ^= piv[i];
|
out[i] ^= piv[i];
|
||||||
}
|
}
|
||||||
piv = in;
|
piv = next_iv;
|
||||||
in += 16;
|
in += 16;
|
||||||
out += 16;
|
out += 16;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user