OP25 DES-OFB decryption support

noamlivne

Member
Joined
Sep 7, 2012
Messages
203
Thank you.
I found the way to record the IQ files from FMP24 and I will ask the friend to do so in the near future.
In the meantime here are the raw .wav recordings from DSDPlus:
The keys are like
0101010101010101
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,466
Location
Talbot Co, MD
I've just pushed a fairly big refactor of the op25 crypt code to separate the ADP and DES implementations as well as to make it easier to add new protocols. It was able to play back the capture files I have from earlier ADP & DES work, so I don't think I broke anything...
op25_crypt_algs:: is the factory class that farms out the real work to the individual algorithms
op25_crypt_alg:: is the virtual base class of each algorithm handler
op25_crypt_adp:: and op25_crypt_des:: are the two distinct algorithms that are currently supported
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,323
Location
Lafayette County, FL
Great, now that it is so easy to add algorithms with the refactoring, you have to start at the top of the list and work your way down, adding each one individually, and no skipping either, so that means the next cipher is Accordion 1.3. Who is volunteering to add Accordion 1.3?

const value_string ALGIDS[] = {
/* Type I */
{ 0x00, "ACCORDION 1.3" },
{ 0x01, "BATON (Auto Even)" },
{ 0x02, "FIREFLY Type 1" },
{ 0x03, "MAYFLY Type 1" },
{ 0x04, "SAVILLE" },
{ 0x05, "Motorola Assigned - PADSTONE" },
{ 0x41, "BATON (Auto Odd)" },
/* Type III */
{ 0x80, "Unencrypted" },
{ 0x81, "DES-OFB, 56 bit key" },
{ 0x83, "3 key Triple DES, 168 bit key" },
{ 0x84, "AES-256-OFB" },
{ 0x85, "AES-128-ECB"},
{ 0x88, "AES-CBC"},
{ 0x89, "AES-128-OFB"},
/* Motorola proprietary - some of these have been observed over the air,
some have been taken from firmware dumps on various devices, others
have come from the TIA's FTP website while it was still public,
from document "ALGID Guide 2015-04-15.pdf", and others have been
have been worked out with a little bit of "guesswork" ;) */
{ 0x9F, "Motorola DES-XL 56-bit key" },
{ 0xA0, "Motorola DVI-XL" },
{ 0xA1, "Motorola DVP-XL" },
{ 0xA2, "Motorola DVI-XL-SPFL"},
{ 0xA3, "Motorola HAYSTACK" },
{ 0xA4, "Motorola Assigned - Unknown" },
{ 0xA5, "Motorola Assigned - Unknown" },
{ 0xA6, "Motorola Assigned - Unknown" },
{ 0xA7, "Motorola Assigned - Unknown" },
{ 0xA8, "Motorola Assigned - Unknown" },
{ 0xA9, "Motorola Assigned - Unknown" },
{ 0xAA, "Motorola ADP (40 bit RC4)" },
{ 0xAB, "Motorola CFX-256" },
{ 0xAC, "Motorola GOST 28147-89 (RFC 5830)" },
{ 0xAD, "Motorola Assigned - LOCALIZED" },
{ 0xAE, "Motorola Assigned - Unknown" },
{ 0xAF, "Motorola AES+" },
{ 0xB0, "Motorola DVP"},
{ 0xD0, "Motorola LOCAL_BR"}
};
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,466
Location
Talbot Co, MD
Great, now that it is so easy to add algorithms with the refactoring, you have to start at the top of the list and work your way down, adding each one individually, and no skipping either, so that means the next cipher is Accordion 1.3. Who is volunteering to add Accordion 1.3?
Lol, sure!
I was considering AES-256 but first I'd need some known-key captures so that I can test whether it works.
 
Top