Free the mouse Replay FileVerification
Home | Changes | Index | Search | Go
Starting with GaeaSoftware 4.3, Replay has instituted a system of public-key file signatures to prevent unauthorized tampering. Both the RomImage and ptv.bin contain the signature verification code and the keys (the ROM only includes one of the two shown below; if it contains a second one, I haven't found it yet). Presumably the ROM checks ptv.bin's signature, ptv.bin checks all the other software modules' signatures, and the various modules check their data files' signatures; that hasn't actually been verified yet).

Each software module, panel file and wizard file name now has an associated name.g2 file. These are 152 byte files; the first 16 bytes are an md5checksum of the file itself; the rest is an elgamal signature of the md5sum using the 'version 3' implementation from the beecrypt library (XXX add a link to the library's homepage). The signature is the elgamal 'r' variable followed by the elgamal 's' variable; each is preceeded by a word giving the length of the variable (in 32-bit words), which is currently always 0x10 for the .g2 files.

There's also a ptv.bin.g file which appears to be the same format, but signed with a 24 words key rather than a 16 byte.

The ptv.bin implementation includes both a 16 word key and a 24 word key; this 24 word key isn't the one used to sign the ptv.bin.g file, though (or I've made some mistake!). It's not yet clear what the 24 word key is for.

-- ToddLarason - 05 Jun 2002


Your post will appear before this form in chronological order (newest at bottom)

Attachment: Action: Size: Date: Who: Comment:
eg-verify.c action 12045 05 Jun 2002 - 11:11 ToddLarason Sample code for verifying the file signatures

Topic FileVerification . { Edit | Attach | Ref-By | Printable | Diffs | r1.4 | > | r1.3 | > | r1.2 | More }
Revision r1.4 - 14 Jul 2003 - 18:54 GMT - TWikiGuest

Copyright © 2001 by the contributing authors. All material on this collaboration tool is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback.