how is imageUniqueID generated?

Started by Archive, May 12, 2010, 08:54:44 AM

Previous topic - Next topic

Archive

[Originally posted by mstenner on 2010-01-12 07:20:09.197385-08]

I realize this is slightly off-topic, but y'all seem like the experts on this.

I need to figure out how the imageUniqueID is generated for Canon cameras.  It seems like the first 4 bytes or so change "rapidly" and the rest change slowly or not at all.  I'd appreciate any information or pointers to other places to look or ask.

I saw the comment in the code which includes the parenthetical "encrypted" and also a reference to "JD".  Is JD a person or a document?  Does "encrypted" really mean encrypted?  Or more like hashed?

Thanks for any help.

-Michael

Archive

[Originally posted by exiftool on 2010-01-12 08:23:32.794518-08]

Hi Michael,

JD = Jens Duttke.  He did some investigating which suggests that
the first 6 bytes of Canon's ImageUniqueID is composed of an
encrypted sequence number and date/time.  Encrypted here means
that the binary values have probably been xor-ed with some random
key (which we haven't yet figured out).  Jens also theorized that
the remaining 10 bytes could be the encrypted camera serial number,
which would make sense but this is just a guess.

- Phil