Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: What algorithm creates the CRCs in EAC? (Read 2462 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

What algorithm creates the CRCs in EAC?

What algorithm is used in EAC to create the CRC test and copy sums?
Actually I thought it would be SFV, but surprise surprise... SFV gave me sums that are different from those made via EAC.

I read somewhere that the algorithm in EAC is very good (as soon as one bit changes, the CRC changes as well). It might be better than SFV (?) and anyhow faster than MD5.

SFV and MD5 are publicly available (everyone can create such sums). Does this also apply to EAC's 'mysterious' CRC algorithm? 

What algorithm creates the CRCs in EAC?

Reply #1
Make sure you didn't check the option that discards leading and trailing silences for CRC calculations. Set the offset to zero, to be sure.
Anyway, EAC must compute the CRC of the audio only, since in the test, no wav file is created, while after the extraction is done, you compute the CRc of the whole wav file, that is necessarily different. Convert your wavs to RAW audio before calculating CRCs.

What algorithm creates the CRCs in EAC?

Reply #2
I think CRC is not calculated on the fly, but after the WAV file is written. That's why I assume it takes some time to encode after the rip. Is that right? If so, that should be improved...
The object of mankind lies in its highest individuals.
One must have chaos in oneself to be able to give birth to a dancing star.

What algorithm creates the CRCs in EAC?

Reply #3
The CRC is calculated on the raw data only, just as Pio2001 said (it would be most logical).
Remember that the written .wav-file has a 44 byte header; so if you want to compare CRCs, it has the be done on the raw data.

CRC-32 is a 32 bit CRC (Cyclic Redundancy Check) used to detect bit/bursts-errors in transmissions (like ethernet and the TCP/IP-protocol).
It's really fast to compute (especially in hardware, can be done with no delay just as fast as the signal passes thru a couple of NAND gates).

EAC, ZIP, RAR, SFV and others all use the same method (or variants of it) to calculate their checksum. So there's no mysterious EAC-algorithm.

MD5 is a whole different, somewhat slower but many times "safer" algorithm. It's a "one-way" hash algorithm. It's used when you need more security; like in large lossless audio files (FLAC) and PAR/PAR2.

Personally I wouldn't trust CRC-32 for "large" files (say larger than 1 MB), because it wasn't really designed to detect errors in such large streams... or maybe I'm just a little bit paranoid 

 

What algorithm creates the CRCs in EAC?

Reply #4
Quote
Convert your wavs to RAW audio before calculating CRCs.

Quote
Remember that the written .wav-file has a 44 byte header

Thanks both of you. That must be the reason.