| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Неизвестен алгоритъм http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=17374 |
Страница 1 от 1 |
| Автор: | Flash [ Чет Юни 04, 2020 9:57 pm ] | |||||||||
| Заглавие: | Неизвестен алгоритъм | |||||||||
Имам две устройства, които комуникират по '1-Wire Communication' помежду си и при свързване правят проверка на 'свой-чужд' по много хитър алгоритъм. Главното устройство изпраща 8 байта криптиран ключ към второстепенното, а то трябва да го декриптира и да върне правилен отговор(иначе комуникацията спира). Съкратено лога на общуването изглежда така:
където : 8000 е командата за въпрос, следва ключ 8 байта(90D9DBB1B0D251F5), а накрая има контролна сума(5D). 1206 е успешен отговор 8 байта(7A1281666722E882), плюс 8 байта криптиран ключ(456869FCD39380A8) - вече за проверка на 'свой-чужд' към главното устройство. Устройствата са с NEC микроконтролери и разполагам с дъмп и на двете. В какво се състои задачата - дъмпа ми от второстепенното устройство е стара ревизия и то работи само в диапазона от 8000 до 8006, а новите(с чиито дъмп не разполагам и няма как да направя, иначе не бих писал тук) работят в диапазон от 8007 до 800D, така че то трябва да се 'научи' да работи в новия диапазон. Сега за самата команда 80хх - вторият байт в нея указва с кой номер ключ да се дешифрира изпратения въпрос, и след поредица от логически операции в RAM паметта второстепенното устройство 'изчилсява' отговора и т.н. Лично за мен алгоритъмът е много сложен и затова пиша тук(надявам се да има специалисти). Ако някой прояви интерес и може да го направи - ще му дам всички документи и ще му платя за труда(в рамките на разумното). |
||||||||||
| Автор: | vesko_hard [ Чет Юни 04, 2020 10:46 pm ] |
| Заглавие: | Re: Неизвестен алгоритъм |
Какъв точно е процесора? |
|
| Автор: | Flash [ Чет Юни 04, 2020 11:10 pm ] | |||||||||
| Заглавие: | Re: Неизвестен алгоритъм | |||||||||
UPD78F0531 или UPD78F0534(78K0Kx2 серия) - главното устройство. UPD78F9202(78K0S/KU1+) - второстепенното. Прилагам и пълен лог:
В противен случай(грешни отговори) главното устройство прави 32 запитвания, спира да комуникира и изключва системата. |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|