7-Zip now can unpack files encoded with Base64 encoding (b64 filename extension).
7-Zip now can use new x86/x64 hardware instructions for SHA-1 and SHA-256, supported
by AMD Ryzen and latest Intel CPUs: Ice Lake and Goldmont.
It increases
the speed of SHA-1/SHA-256 hash value calculation,
the speed of encryption/decryption in zip AES,
the speed of key derivation for encryption/decryption in 7z/zip/rar archives.
The speed of zip AES encryption and 7z/zip/rar AES decryption was increased with
the following improvements:
7-Zip now can use new x86/x64 VAES (AVX Vector AES) instructions, supported by
Intel Ice Lake CPU.
The existing code of x86/x64 AES-NI was improved also.
There is 2% speed optimization in 7-Zip benchmark's decompression.
Some bugs were fixed.
The source code of new version and another additional packages will be released later after some testing period.
7-Zip testing
That new 7-Zip version contains some new code for AES and SHA.
And we need some testing and benchmarking of that new code on different processors and systems.
Please test 7-Zip benchmark from command line as described below and attach the log file with results here in forum's thread.
Close all working programs (including browser) before benchmark running.
And call the following command:
7zb-mm=*-mmt=*-bt>c:\1\log.txt
you must specify some path for log file in your real folder instead of the path c:\1\log.txt.
The benchmark can work about 10 minutes.
If your Windows is x64 (64-bit), you also can run benchmark for both versions: main x64 version of 7-Zip and x86 (32-bit) version too. You can unpack 7z1901.exe installer file to some folder with 7-Zip. Then you can run same command from that folder for 32-bit results:
7zb-mm=*-mmt=*-bt>c:\1\log32.txt
Benchmark description
The benchmark tests different methods of compression, encryption and hashing in 3 modes:
1) 1 thread - single thread mode
2) N/2 threads - that (N/2) can be equal to number of cores, if CPU supports 2 threads per core
3) N threads - all CPU threads.
Compression and encryption methods show results in 2 lines:
line 1 - encoding
line 2 - decoding
The description of some lines:
AES256CBC:1 - software AES
AES256CBC:2 - hardware AES-NI supported by most modern CPUs
AES256CBC:3 - hardware VAES (Vector AES) supported only by new Intel Ice Lake
SHA256:1 - software SHA-256
SHA256:2 - hardware SHA-256 supported by AMD Ryzen, Intel Goldmont / Ice Lake
SHA1:1 - software SHA-1
SHA1:2 - hardware SHA-1 supported by AMD Ryzen, Intel Goldmont / Ice Lake
🎉
12
Last edit: Igor Pavlov 2019-09-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hardware AES starts from i5, i3 doesn't have this, but i3 is also considered as modern. Most cryptographic software allows users to disable hardware encryption, as there is no evidence of its correct (and backdoor-free) implementation.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for tests.
There is some unexpected thing.
AMD FX and Intel Sandy Bridge/Ivy Bridge processors can't fully load AES block in AES256CBC:2 decoding in single-thread load. And these processors shows full AES speed only when 2 threads work on same module/core.
But another more recent processors show almost full AES speed even for one threads:
1 byte per cycle for Intel
1.8 bytes per cycle for AMD Ryzen
Last edit: Igor Pavlov 2019-09-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry, but you are clueless what you are talking about.
There is a difference between cryptographic hashing and hashing to confirm file integrity.
Many linux projects offer even md5 besides sha1 and sha256 to confirm that a downloaded ISO is unchanged.
Now using sha1 to hash password, that is bad, yes. But no one is doing that here right?
Calm down please.
PS: why do you put whitespaces in front of exclamation and question marks?
👍
5
👎
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
7-Zip uses SHA-1 in many places of code.
Some of them don't not need full security.
And we can't change standards and formats that use SHA-1: ZIP/RAR/WIM/XAR.
👍
3
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
AES-NI and VAES is not secure also, because you don't access to source code of processor architecture. For this reason, cryptographic software has the option to use internal implementation and not use AES-NI completely.
👍
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for ryzen test!
There was a bug with SHA detection in x64 version 19.01 alpha. I have fixed it in 19.02 alpha. Now SHA tests must work in both x64 and x86 versions of 7-Zip 19.02.
Last edit: Igor Pavlov 2019-09-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for Ryzen test!
I've fixed SHA test for x64 in new 19.02 alpha.
Now it must work.
7 GB/s for single-thread AES-256 decoding is good speed for all Ryzens. It's about 2 bytes per cycle.
Only Ice Lake with AVX AES must be faster.
SHA-1/SHA-256 speed also looks correct - about 2 cycles per byte, as expected.
And there are stange things with frequency in your results:
x64: CPU Freq: 4093
x86: CPU Freq: 3955
Do you know the reason of that difference ?
7-Zip calculates the frequency in simple instruction chains. So it can show lower frequency, if there is another working thread in same core that consumes some core resources.
Last edit: Igor Pavlov 2019-09-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
7-Zip 19.02 alpha was released.
7-Zip for 64-bit Windows x64:
https://7-zip.org/a/7z1902-x64.exe
7-Zip for 32-bit Windows:
https://7-zip.org/a/7z1902.exe
What's new after 7-Zip 19.00:
by AMD Ryzen and latest Intel CPUs: Ice Lake and Goldmont.
It increases
the following improvements:
Intel Ice Lake CPU.
The source code of new version and another additional packages will be released later after some testing period.
7-Zip testing
That new 7-Zip version contains some new code for AES and SHA.
And we need some testing and benchmarking of that new code on different processors and systems.
Please test 7-Zip benchmark from command line as described below and attach the log file with results here in forum's thread.
Close all working programs (including browser) before benchmark running.
And call the following command:
you must specify some path for log file in your real folder instead of the path
c:\1\log.txt
.The benchmark can work about 10 minutes.
If your Windows is x64 (64-bit), you also can run benchmark for both versions: main x64 version of 7-Zip and x86 (32-bit) version too. You can unpack 7z1901.exe installer file to some folder with 7-Zip. Then you can run same command from that folder for 32-bit results:
Benchmark description
The benchmark tests different methods of compression, encryption and hashing in 3 modes:
1) 1 thread - single thread mode
2) N/2 threads - that (N/2) can be equal to number of cores, if CPU supports 2 threads per core
3) N threads - all CPU threads.
Compression and encryption methods show results in 2 lines:
line 1 - encoding
line 2 - decoding
The description of some lines:
AES256CBC:1 - software AES
AES256CBC:2 - hardware AES-NI supported by most modern CPUs
AES256CBC:3 - hardware VAES (Vector AES) supported only by new Intel Ice Lake
SHA256:1 - software SHA-256
SHA256:2 - hardware SHA-256 supported by AMD Ryzen, Intel Goldmont / Ice Lake
SHA1:1 - software SHA-1
SHA1:2 - hardware SHA-1 supported by AMD Ryzen, Intel Goldmont / Ice Lake
Last edit: Igor Pavlov 2019-09-05
Last edit: Gwen Hope 2019-09-09
Hardware AES starts from i5, i3 doesn't have this, but i3 is also considered as modern. Most cryptographic software allows users to disable hardware encryption, as there is no evidence of its correct (and backdoor-free) implementation.
i3 starting from Haswell support AES-NI.
Very old i3. Very good HT-Usage.
SMT test for single-module
AMD FX-8150
Please run also for FX-8150:
AMD FX-8150 stmC test log
Thanks for tests.
There is some unexpected thing.
AMD FX and Intel Sandy Bridge/Ivy Bridge processors can't fully load AES block in AES256CBC:2 decoding in single-thread load. And these processors shows full AES speed only when 2 threads work on same module/core.
But another more recent processors show almost full AES speed even for one threads:
1 byte per cycle for Intel
1.8 bytes per cycle for AMD Ryzen
Last edit: Igor Pavlov 2019-09-09
AMD Phenom x4
Windows 10 x64 version 1909
8 Gig Ram
Samsung SSD 860 Pro 256Gig
Last edit: Sylvain St-Amand 2020-01-06
SHA1 no secure !! can't you add streebog 512 ? SHA 3 512 (keccak)? skein 512 ?
Sorry, but you are clueless what you are talking about.
There is a difference between cryptographic hashing and hashing to confirm file integrity.
Many linux projects offer even md5 besides sha1 and sha256 to confirm that a downloaded ISO is unchanged.
Now using sha1 to hash password, that is bad, yes. But no one is doing that here right?
Calm down please.
PS: why do you put whitespaces in front of exclamation and question marks?
ZIP (Winzip AES) and RAR4 use SHA-1 for key derivation from text pasword. But probably it's not big problem for security.
in Francia mettono lo spazio, Saltarè.
Alì
in Francia mettono lo spazio, Saltarè.
Alì
in Francia mettono lo spazio, Saltarè.
Alì
7-Zip uses SHA-1 in many places of code.
Some of them don't not need full security.
And we can't change standards and formats that use SHA-1: ZIP/RAR/WIM/XAR.
AES-NI and VAES is not secure also, because you don't access to source code of processor architecture. For this reason, cryptographic software has the option to use internal implementation and not use AES-NI completely.
benchmark
Thanks for ryzen test!
There was a bug with SHA detection in x64 version 19.01 alpha. I have fixed it in 19.02 alpha. Now SHA tests must work in both x64 and x86 versions of 7-Zip 19.02.
Last edit: Igor Pavlov 2019-09-05
Thank you for .ESD file association!
Hope it helps, Igor!
My benchmark result with AMD Ryzen 5 2600X!
Thanks for Ryzen test!
I've fixed SHA test for x64 in new 19.02 alpha.
Now it must work.
7 GB/s for single-thread AES-256 decoding is good speed for all Ryzens. It's about 2 bytes per cycle.
Only Ice Lake with AVX AES must be faster.
SHA-1/SHA-256 speed also looks correct - about 2 cycles per byte, as expected.
And there are stange things with frequency in your results:
x64: CPU Freq: 4093
x86: CPU Freq: 3955
Do you know the reason of that difference ?
7-Zip calculates the frequency in simple instruction chains. So it can show lower frequency, if there is another working thread in same core that consumes some core resources.
Last edit: Igor Pavlov 2019-09-05