Add BLAKE2 to checksum methods

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

Axis
Junior Member
Junior Member
Posts: 88
Joined: 2015-07-14, 18:53 UTC

Re: Add BLAKE2 to checksum methods

Post by *Axis »

ghisler(Author) wrote: 2021-04-19, 08:34 UTC So in conclusion, adding this will cause a lot of confusion and troubles. :(
Drop all of them: implement xxh3 only and you're done. IMHO TC needs at least one very fast hash algorithm.
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

ghisler(Author) wrote: 2021-04-19, 08:34 UTC I didn't invdestigate this for long because I found Blake2 very confusing:
- First there are many different variations: BLAKE2b, BLAKE2s, BLAKE2bp, or BLAKE2sp
- Second, it can create hashes between 1 and 64 bytes.
- Third, it's not clear which hash was used by b2sum, so the checker has to be told somehow, otherwise the result will be wrong.
- Fourth, it seems to be already obsolete, superseeded by BLAKE3.

So in conclusion, adding this will cause a lot of confusion and troubles. :(
Cristian
- FIrst, BLAKE2 - is a FAMILY just like SHA2/3 - so as you've mentioned it has different hash for every member:
BLAKE2b, BLAKE2s, BLAKE2bp, or BLAKE2sp. And yes if it were implemented there'd be options like f.e. SHA-224,
SHA-256 and so on.
- Second - b variant means big hash - 512 bit s means small - 256 bit. It can be variable but no one uses them like that.
BLAKE2b, BLAKE2bp - 512 bit,
BLAKE2s, BLAKE2sp - 256 bit
p means parallel and those variants uses multithreading.
- Third, you can change the output of - b2sum like this b2sum.exe -a blake2s (or blake2bp blake2sp) filename
default is blake2b
- Fourth, it's not obsolete it's just has different structure than BLAKE3.

But I personally prefer BLAKE3 for it's fast as ****
RapidCRC Unicode has already iplemented it. It's real working software with BLAKE3.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Add BLAKE2 to checksum methods

Post by *ghisler(Author) »

How do you recognize a hash file as being BLAKE2 or BLAKE3, and which method was used?
Author of Total Commander
https://www.ghisler.com
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

ghisler(Author) wrote: 2021-04-20, 09:58 UTC How do you recognize a hash file as being BLAKE2 or BLAKE3, and which method was used?
Only by extension just as SHA family. RapidCRC uses .blake2sp and .blake3 extensions.
But I saw some software once it was .blk2s (.blake2s method). I don't know if is standardized anyhow.

As for my personal opinion BLAKE3 would be better option. But the choice is yours.
Fla$her
Power Member
Power Member
Posts: 2244
Joined: 2020-01-18, 04:03 UTC

Re: Add BLAKE2 to checksum methods

Post by *Fla$her »

Axis wrote: 2021-04-19, 20:10 UTCDrop all of them: implement xxh3 only and you're done. IMHO TC needs at least one very fast hash algorithm.
Support.
Why bother with this BlakeNN, when the meaning is not in the names, but in the best possible speed. At the moment it's: XXHash, prvhash64s and Discohash.
Overquoting is evil! 👎
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

Why not both BLAKE3 and XXHash? The others are too exotic.
Fla$her
Power Member
Power Member
Posts: 2244
Joined: 2020-01-18, 04:03 UTC

Re: Add BLAKE2 to checksum methods

Post by *Fla$her »

Because the goal isn't ephemeral recognition or popularity, but the resulting speeds when working with file integrity (counting, checking, comparing, restoring names). prvhash64s seems to me a good choice, because it is the leader on eBACS and provides all the width variations.
Overquoting is evil! 👎
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Re: Add BLAKE2 to checksum methods

Post by *umbra »

This discussion is a good enough proof for me, that this needs to be implemented as an external tool/plugin, just like hi5 wrote before.
None of the mentioned algorithms is widespread and useful enough to clearly outclass the others. So none of them should make it into the TC itself, where it will have to be supported for all eternity.
Windows 7 Pro x64, Windows 10 Pro x64
Axis
Junior Member
Junior Member
Posts: 88
Joined: 2015-07-14, 18:53 UTC

Re: Add BLAKE2 to checksum methods

Post by *Axis »

umbra wrote: 2021-04-21, 08:17 UTC to be implemented as an external tool/plugin, just like hi5 wrote before.
I agree too with hi5's suggestion.
umbra wrote: 2021-04-21, 08:17 UTCNone of the mentioned algorithms is widespread and useful enough to clearly outclass the others.
Ehm, no, you're wrong, e.g.: xxh3 is way faster than crc32, md5, sha's (faster than system's RAM too).

And, go to the bottom of the web page https://cyan4973.github.io/xxHash/ (starting from "xxHash is used by").
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

2umbra
Take your time on this page https://www.blake2.net/ and you can see
the software already using it.
2Fla$her
Ok. If you haven't noticed the initial request was about BLAKE2 exactly. I just clarified - It's not the one algorithm, it's a family. I can't really understand - you've already got SHA as a family not the one thing but you say BLAKE2 family is confusing? I've just said my opinion about BLAKE3. It's not the topic for every algorithm in either your head nor mine even if I saw eBACS results. Because any other person would like to add KangarooTwelve or anything they want at the end of the day.
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Re: Add BLAKE2 to checksum methods

Post by *umbra »

2Axis
It's not just about the speed. lelik007's argument is slightly better - BLAKE is actually used somewhere.

But still. Where can I, an IT professional/developer, encounter such hashes? MD5/CRC/SHA are used for verification of downloaded files, git commit IDs, certificates, indexes, ... Many places, where I can actually see the hash and compare it with something. However, I have never encountered any of the hashes mentioned here. (or at least they didn't leave any impression)

They may be used internally by some software, but they are not the norm. If the SHA was missing in TC and I'd suggest adding it, would anyone argue that something else should be added instead? I think no. But here, I see "implement this", "no, implement that instead". So for me, none of them is important enough to have directly in TC. Only as a plugin, if ghisler decides to implement something like that.
<end of rant :)>
Windows 7 Pro x64, Windows 10 Pro x64
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Add BLAKE2 to checksum methods

Post by *Horst.Epp »

umbra wrote: 2021-04-21, 13:55 UTC 2Axis
It's not just about the speed. lelik007's argument is slightly better - BLAKE is actually used somewhere.

But still. Where can I, an IT professional/developer, encounter such hashes? MD5/CRC/SHA are used for verification of downloaded files, git commit IDs, certificates, indexes, ... Many places, where I can actually see the hash and compare it with something. However, I have never encountered any of the hashes mentioned here. (or at least they didn't leave any impression)

They may be used internally by some software, but they are not the norm. If the SHA was missing in TC and I'd suggest adding it, would anyone argue that something else should be added instead? I think no. But here, I see "implement this", "no, implement that instead". So for me, none of them is important enough to have directly in TC. Only as a plugin, if ghisler decides to implement something like that.
<end of rant :)>
I was on the way to say exactly the same.
Fully agree
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
Fla$her
Power Member
Power Member
Posts: 2244
Joined: 2020-01-18, 04:03 UTC

Re: Add BLAKE2 to checksum methods

Post by *Fla$her »

2lelik007
I don't support supplement for supplement's sake. There is no point in talking about an arbitrarily taken algorithm if it's not in the field of common interests. Creating a topic for each algorithm is pointless and will not lead definitely to a positive result. The end must justify the means. Maximum speed unites, just some not very common algorithm — no. About "family" I said: "provides all the width variations".

2umbra
Time passes, things change. These algorithms are fairly new. Always can be create a trend. Once no one knew the algorithms you listed. The same goes for the archive types. TC is it a bad popularizer? It is important that we can work with the files locally to be able to compare and restore them. It is not clear why you ignore this important fact.
umbra wrote:just like hi5 wrote before.
I think it's about implementing an addition to the counting dialog. This would be a good idea, provided that there is someone who is willing to take on one of the fastest algorithms I have listed.
Overquoting is evil! 👎
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

2umbra
2Fla$her
I agree. BLAKE2 isn't a very common thing. But I've been using BLAKE2sp for a long ago as a part of Winrar. And now I'm using BLAKE2sp and BLAKE3 in RapidCRC Unicode (GUI hashing software). XXHash and the others mentioned even less common. I totally agree let it be the whole batch (for not being native English speaker I don't know how to address them all and used literal translation from my language) and if Cristian implements them there finally be the ONLY well-known software having all 4 types at once. I don't know what to say about any other algorithms mentioned here but I only know them from eBACS and so on. And I've never seen them being implemented or used.
lelik007
Junior Member
Junior Member
Posts: 19
Joined: 2021-04-20, 06:37 UTC

Re: Add BLAKE2 to checksum methods

Post by *lelik007 »

Hello Cristian! I'm very grateful so you added BLAKE3 and I'd like to ask what exact code was used for BLAKEX64.DLL Rust or С,
I meant is it multithreaded (Rust code) or it's not (С code)?
Post Reply