ProxyCrypt is great encryption program (maybe best on Windows)... I have few suggestions for its developer...
1) Vector AES and hw sha2 support for further AES, SHA-256 acceleration on 10gen intel cpu... It can make aes much faster on modern cpu...
2) ThreeFish-1024 with Skein-1024 in Counter-in-Tweak can offer fast crypto with very big block size where counter is 64bits and 64bits tweak. ThreeFish very fast on 64bit cpu and can be even faster with AVX also it can be run in Counter in Tweak mode and work like a streem cipher... also as a candidate of Sha-3 it received a lot cryptoanalisis and have very big block size...
There are many implementations of AES, but if we want to speed up the one currently used by ProxyCrypt, we need vector instructions that allow to load data from indexed arrays. This implies... at least AVX-512. And I wonder if there are CPUs with AVX-512 and without AES-NI...
Besides, I don't have the hardware to test AVX-512.
We could also work from an implementation of AES that does not require indexed arrays. As these implementations are much slower, the final result would not be very interesting.
Hash algorithms are only used at password checking, and scrypt uses much more CPU than the hashes. So an accelerated hash is not very useful.
When I was thinking to remove Twofish, Threefish was my first choice. However, Threefish is practically unusable in 32-bit, because of severe performance issues (and a much bigger code). It uses bit rotations on 64-bit integers, and this is very difficult to do in 32-bit. To work around that with vector instructions, it would also require AVX-512.
There is also a "political" issue: Threefish was designed for a US competition, while SHACAL-2 was for an european one. For some users, having only US-validated algorithms is a problem.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Shacal2 is great, its also selected as one of NESSIE finalist but is also made from SHA2 and SHA2 is created in usa by NSA... same goes for Whirpool made on same principles as AES... in the end ProxyCrypt still have good list of ciphers and hashes.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Windows 10, from what I can see in Process Explorer, conhost.exe is a child process of cmd.exe. ProxyCrypt keeps no child process open.
Killing conhost.exe means closing the window. But killing conhost.exe does not terminate cmd.exe. So what exactly do you want?
If you explain what you are trying to do, this could give me ideas...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I would Kill conhost.exe to closing the window and mantain ProxyCrypt running in background and avoid to close the window manually or externally programmatically.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If the aim is to close the window, it may be better to work on the window itself, rather than killing conhost.exe, especially because its behavior changes with versions of Windows, and because before Windows 7, it does not even exist.
I'll see what I can do.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ProxyCrypt is great encryption program (maybe best on Windows)... I have few suggestions for its developer...
1) Vector AES and hw sha2 support for further AES, SHA-256 acceleration on 10gen intel cpu... It can make aes much faster on modern cpu...
2) ThreeFish-1024 with Skein-1024 in Counter-in-Tweak can offer fast crypto with very big block size where counter is 64bits and 64bits tweak. ThreeFish very fast on 64bit cpu and can be even faster with AVX also it can be run in Counter in Tweak mode and work like a streem cipher... also as a candidate of Sha-3 it received a lot cryptoanalisis and have very big block size...
There are many implementations of AES, but if we want to speed up the one currently used by ProxyCrypt, we need vector instructions that allow to load data from indexed arrays. This implies... at least AVX-512. And I wonder if there are CPUs with AVX-512 and without AES-NI...
Besides, I don't have the hardware to test AVX-512.
We could also work from an implementation of AES that does not require indexed arrays. As these implementations are much slower, the final result would not be very interesting.
Hash algorithms are only used at password checking, and scrypt uses much more CPU than the hashes. So an accelerated hash is not very useful.
When I was thinking to remove Twofish, Threefish was my first choice. However, Threefish is practically unusable in 32-bit, because of severe performance issues (and a much bigger code). It uses bit rotations on 64-bit integers, and this is very difficult to do in 32-bit. To work around that with vector instructions, it would also require AVX-512.
There is also a "political" issue: Threefish was designed for a US competition, while SHACAL-2 was for an european one. For some users, having only US-validated algorithms is a problem.
Shacal2 is great, its also selected as one of NESSIE finalist but is also made from SHA2 and SHA2 is created in usa by NSA... same goes for Whirpool made on same principles as AES... in the end ProxyCrypt still have good list of ciphers and hashes.
Do you can to add a option to close "conhost.exe" child process after password enter and passed few second to read "ok"?
On Windows 10, from what I can see in Process Explorer, conhost.exe is a child process of cmd.exe. ProxyCrypt keeps no child process open.
Killing conhost.exe means closing the window. But killing conhost.exe does not terminate cmd.exe. So what exactly do you want?
If you explain what you are trying to do, this could give me ideas...
I would Kill conhost.exe to closing the window and mantain ProxyCrypt running in background and avoid to close the window manually or externally programmatically.
If the aim is to close the window, it may be better to work on the window itself, rather than killing conhost.exe, especially because its behavior changes with versions of Windows, and because before Windows 7, it does not even exist.
I'll see what I can do.
-cw work fine: ty :-)