Hi,
I link libgcrypt to calculate the sha256 checksum of router firmware. the code snippets of calcuate sha256 checksum looks like this: uint8_t digest[32]; void *handle; char buf[40960]; sha256_init(&handle) do { ret = read(fd, buf, sizeof(buf)); if (ret < 0) return -ERR_READ; if (ret > 0) sha256_update(handle, buf, ret); } while (ret > 0); sha256_final(handle, digest); Caculate the sha256 of a 6MB file need 3 secoands: # TIME=%e time ./fwtool check ipq4018.bin 3.23 but If i use the sha256sum command provided by busybox, only need 0.4s: # TIME=%e time sha256sum ipq4018.bin 1b4807030b82f07815b7c34d3d32aa06b29081c15b8eb2a2284a5069b962c137 ipq4018.bin 0.43 the libgcrypt build configure in IPQ4018 (ARM cortext A7 soc): conf := --disable-doc --enable-neon-support \ --with-libgpg-error-prefix=$(APP_BUILD)/libgpg-error/ \ --enable-digests="md5 rmd160 sha1 sha256 sha512 blake2" \ --enable-ciphers="arcfour des aes cast5 chacha20" \ --enable-pubkey-ciphers="rsa dsa ecc" \ CFLAGS="-Wno-switch" Is this a problem ? the busybox code seems no hardware support. why libgcrypt is slower so much than busybox. Thanks very much.
_______________________________________________ Gnupg-users mailing list Gnupg-users@gnupg.org http://lists.gnupg.org/mailman/listinfo/gnupg-users