128-bit file hash at the end of Icom's icf file?
Feb 9, 2018 16:40:04 GMT -8
Post by n7tae on Feb 9, 2018 16:40:04 GMT -8
I am interested in building an open-source program to allow you to program your Icom D-Star radio. This is mostly for me, because I don't like to use Windows in my radio room, but others might also find it useful. However, I have run into a problem.
I would like for my program to be able to read and write Icom *.icf configuration files. That way, someone using my program doesn't need a programming cable, s/he would just need a Micro-SD card.
On inspection, the icf file seems pretty simple. It is ASCII based and starts with a simple header made up of a number that represents the radio model, followed by a few comments beginning with "#", After that comes the radio configuration data hexadecimal-encoded and then written out in 74 character lines. Each line represents 32 bytes of radio configuration data. Each line is made up from the 32-bit hexadecimal address of the first byte of the data represented in that line, followed by a space (0X20), followed by the 32 bytes of the configuration data (64 hex characters).
Here's where it gets hard. At the end of every Icom *.icf configuration file, there is a 32-character hexadecimal number (128-bits). It is written as a comment. Here is one from my ID-51A+ radio:
#CD=DE55F5030F9A97AB2203C81D6CF2C35E
This appears to be a cryptographic file hash and not a simple checksum. 128-bits suggest that it might be a secure file hash in the MD family. I have checked MD2, MD4 and MD5 using a number of different methods but I can't seem to properly calculate the number.
Does anybody have ANY INFORMATION at all about how this "CD" number is generated?
BTW, I have asked Icom America. A Tech was very polite and responded that he has "no information" about the hash. He said he would forward my request to Japan, but had little hope of an answer.
73
Tom N7TAE
I would like for my program to be able to read and write Icom *.icf configuration files. That way, someone using my program doesn't need a programming cable, s/he would just need a Micro-SD card.
On inspection, the icf file seems pretty simple. It is ASCII based and starts with a simple header made up of a number that represents the radio model, followed by a few comments beginning with "#", After that comes the radio configuration data hexadecimal-encoded and then written out in 74 character lines. Each line represents 32 bytes of radio configuration data. Each line is made up from the 32-bit hexadecimal address of the first byte of the data represented in that line, followed by a space (0X20), followed by the 32 bytes of the configuration data (64 hex characters).
Here's where it gets hard. At the end of every Icom *.icf configuration file, there is a 32-character hexadecimal number (128-bits). It is written as a comment. Here is one from my ID-51A+ radio:
#CD=DE55F5030F9A97AB2203C81D6CF2C35E
This appears to be a cryptographic file hash and not a simple checksum. 128-bits suggest that it might be a secure file hash in the MD family. I have checked MD2, MD4 and MD5 using a number of different methods but I can't seem to properly calculate the number.
Does anybody have ANY INFORMATION at all about how this "CD" number is generated?
BTW, I have asked Icom America. A Tech was very polite and responded that he has "no information" about the hash. He said he would forward my request to Japan, but had little hope of an answer.
73
Tom N7TAE