1
clrmame Discussion / [REQUEST] Support a Cryptographic Secure Checksum Algorithm
« on: 26 October 2017, 01:36 »
Currently, clrmamepro only supports CRC32, MD5, and SHA-1 checksums in its DATfiles. CRC32 is obviously bad for file integrity due to how easy collisions are. MD5 collisions have been known to be possible since 2005 (see http://www.mscs.dal.ca/~selinger/md5collision/.) So, SHA-1 would be our only hope for a cryptographically secure checksum to use in clrmamepro DATs, if we want to make sure that a corrupt DATed file is detected... if an SHA-1 collision hadn't already been found. Whoops. (see http://shattered.io/)
Because all three of the checksum functions supported in clrmamepro have the possibility of hash collisions, I believe a new secure checksum function should be implemented so DAT creators can take advantage of it for preserving files. I would like to request that support for the SHA-2 (SHA-256, and SHA-512) and SHA-3 (SHA3-256, and SHA3-512) families of functions be added to clrmamepro. This will bring its checksum support up to speed with current cryptographic knowledge and increase the ability of DAT'd romsets to be preserved.
Because all three of the checksum functions supported in clrmamepro have the possibility of hash collisions, I believe a new secure checksum function should be implemented so DAT creators can take advantage of it for preserving files. I would like to request that support for the SHA-2 (SHA-256, and SHA-512) and SHA-3 (SHA3-256, and SHA3-512) families of functions be added to clrmamepro. This will bring its checksum support up to speed with current cryptographic knowledge and increase the ability of DAT'd romsets to be preserved.