-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Motorola Basic Privacy compatibility. #50
Comments
Pushed the first AES hook in c18f6dd. This prints first the Enhanced Privacy key, and then the keystream. Only the first 59 bits of the keystream are used. |
Current patch produce during compile a lot of warnings. src/menu.c:34:15: warning: assignment makes pointer from integer without a cast |
The menu warnings are easy to clean up, but the wchar_t warnings are more complicated. We need to compile to use two-byte wchar_t values, as that's why Tytera uses in their firmware, but the default compiler toolchains for ARM seem to all use four bytes. We're being warned because while our code uses 2-byte wchars, the toolchain's libc still expects 4-byte wchars. Rather than warn us when the functions cross, it expects us to rebuild the whole toolchain, but that would cause trouble between those of us who don't enjoy compiler toolchains from scratch and whatever sick bastards do enjoy it. There's no good way to clean that up without requiring folks to rebuild their toolchain, so for now, we're sort of stuck with it. Sorry. |
Now that I have some Motorola radios, I'll finish this off. Expect updates in the next week or two. |
Any update if the MD380 will decode Basic Privacy ? |
It will, but only after I spend a weekend coding it. All hardware is available and all protocols are understood, just a matter of implementing the code. |
This is an SMS of the word "Test" from 3147092 to 99. The first recording is encrypted with Basic Privacy Key 1, while the second is cleartext. The encrypted data bytes are predictably the same for this key.
Here is the same SMS encrypted with Basic Privacy Key 2. Note that the header is identical to Key 1, but that the body differs. Also note that the null bytes retain their places, and aren't scrambled like the test bytes.
Here is "Hello hello" encrypted with BP1 from 3147092 to 99. First clear, then encrypted. Note how "Hello" becomes "Wzssp" and "hello" becomes "wzssp".
|
So text encryption for BP1 is XOR of the text with 0x1F, and encryption with BP2 is XOR with 0xE3. These bytes are conveniently exposed by XOR with a null byte on the third Data frame, so we don't need a lookup table to decrypt them. |
Given a key of 179 (0xB3), we get this pair for the "Hello hello" message:
Unlike B1 and B2, B179's XOR mask fills both bytes. The easiest place to find the mask is from the first line of Data, where |
Any update on this? |
It's a low priority, but I'll get around to it soon enough. |
Great. It would actually be incredible! |
IDK if this will help you make moto BP work with Tytera EP, but here are some of the outputs from Moto BP keys. Maybe you can see if you can match this to a Tytera: Moto BP key# / 16 bit key/ First BP voice frame: 1/ 1F00 / e701b69f93e080 |
11- b605 No need to scan through all 255 privacy codes. Did they ever release the AMBE2 USB frame dump code for the 380? You might be able to test that way? I took a look at the 380 a bit ago and as far as compatibility for this my results were mixed/below average on intelligibility. |
I'd be willing to offer a donation to get this working since some places around here are using it. Or even better I'd offer a donation to have someone add BP decryption into DSDPlus |
No but I am sure someone out there can add it in pretty quickly. I wish I had gone for CS instead of System Admin somedays. |
DSDPlus is a closed-source fork of DSD and only the maintainers of it can add functionality. |
is DSD open sourced tho ? |
DSD is open source, DSDPlus is not. I'm rather disappointed that DSDPlus took DSD and made it a closed-source proprietary product, but there's not much I can do about that. |
I would like to ask if anyone would put Moto BP key 77 in the format as "Cryptonomicon" |
Thanks for the answer, I'll have to buy a Motorola :-) |
Any chance some work can be done on this please? Not wanting a blatant hack solution, but just compatibility for BP on the md380 to Mototrbo BP would be a very cool feature. |
Hey guys... .thought I would throw help you out a little with this, would be nice to see BP working in the 380. 1 1F00 |
This comment has been minimized.
This comment has been minimized.
DMR plaintext voice frame is: Apply BP mask to pt and compare that to what the MD 380 EP outputs and look for a match. |
Great that some have posted the 256 privacy codes to help, but is there any plans to work on compatibility of BP for MD380 please? |
Motorola's Basic Privacy can be made compatible with the MD380 by hooking
aes_cipher()
to return a motorola keystream. Close this issue when we can make (poorly) encrypted calls between Motorola and Tytera radios.The text was updated successfully, but these errors were encountered: