Сейчас на форуме: Rio, tyns777, zombi-vadim (+7 невидимых) |
![]() |
eXeL@B —› Программирование —› возможно ли это обратить? |
Посл.ответ | Сообщение |
|
Создано: 20 августа 2014 22:29 · Личное сообщение · #1 доброго времени суток всем! наткнулся я на какое-то шифрование, опознать не удалось. алгоритм расшифровки рипнул и переписал (в аттаче), всё работает, но теперь мне нужно зашифровать данные по этому же алгоритму. с математикой не особо дружу, поэтому с составлением обратного уравнения возникли проблемы. насколько я понял, ключ в состоянии после расшифровки и будет являться ключом шифрования, а последовательность для наложения ключа нужно просто развернуть в обратную сторону (изменить порядок битов). но всё-таки результаты не совпадают... или это вообще какой-то общеизвестный алгоритм, просто я в танке? подскажите, как его развернуть? ![]() ![]() |
|
Создано: 21 августа 2014 00:21 · Личное сообщение · #2 |
|
Создано: 21 августа 2014 07:26 · Личное сообщение · #3 r_e пишет: Похоже, что Transform => data1 * data2 mod key Дальше разберешься? uint decKey[] = { 0x5207F766,0x01802B20,0xD521BAA7,0x413DF910, 0x98A2CFB5,0x0BCE3D29,0x7822AC4A,0x43EDC1F8, 0x181313F1,0x0A3681CD,0x7CA1D69C,0xE1731780, 0x8B4894D9,0x08431C6E,0x731496AF,0xF3C86456, 0x14DB3E5F,0xF4A5E921,0x6B87751A,0xCF19E5A0, 0x61F748D1,0x3DD28192,0xD71154E3,0x609781CB, 0x5E94F797,0x1308C784,0x581D3FEF,0x71E457EF, 0x35A9BC10,0x32E719F4,0x7F14530F,0x1A137F29 }; RSA 1024? ![]() ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 21 августа 2014 08:58 · Поправил: UniSoft · Личное сообщение · #4 -=AkaBOSS=- -=AkaBOSS=- пишет: ключ в состоянии после расшифровки и будет являться ключом шифрования, Это RSA-1024 (асимметричное шифрование), т.е. ключи разные... хотя выбрана странная экспонента 0xF04D71 (то, что вы обозвали decSeq), а decKey является модулем, хотя он должно быть нечетным, а судя по исходнику, что-то не клеится... (может просто неверно восстановили код). ![]() |
|
Создано: 21 августа 2014 11:55 · Поправил: -=AkaBOSS=- · Личное сообщение · #5 нда, за всей этой кучей операций так сути и не разглядел( UniSoft пишет: хотя выбрана странная экспонента мой косяк. я выложил сокращенный вариант исходника, без функций расчёта контрольной суммы и начальной перестановки, так как посчитал, что они к делу не относятся, но забыл, что ключ и эта экспонента там тоже изменяются. так что ключ и экспонента при реальной расшифровке другие, всё правильно если это рса, тогда, насколько я понимаю, у меня на руках закрытый ключ, и чтобы зашифровать данные, мне недостаточно будет факторизировать 1024-битный N, но надо еще и вычислить открытую экспоненту E. я прав? /ADD факторизация не рулит - я столько не проживу. видимо, придётся генерировать свои ключи и подменять ![]() |
|
Создано: 21 августа 2014 12:12 · Поправил: DimitarSerg · Личное сообщение · #6 -=AkaBOSS=- пишет: если это рса, тогда, насколько я понимаю, у меня на руках закрытый ключ, и чтобы зашифровать данные, мне недостаточно будет факторизировать 1024-битный N, но надо еще и вычислить открытую экспоненту E. я прав? У тебя на руках открытый ключ. Е вычислять не надо, она уже должна быть вместе с N. пара: E,N - открытый D,N - закрытый Тоже ночью поглядывал с мыслями о рса1024, но как не крутил decKey - не похоже оно на N, как и decSeq на E, но раз они меняются, то видимо ты дал какие-то промежуточные значения. Возможно, если бы были даны правильные значение, то можно было задетектить рса даже без анализа кода ![]() ----- ds ![]() |
|
Создано: 21 августа 2014 12:39 · Личное сообщение · #7 DimitarSerg пишет: то можно было задетектить рса даже без анализа кода рса.. детектится на калькуляторе больших чисел ![]() ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 21 августа 2014 13:12 · Личное сообщение · #8 |
|
Создано: 21 августа 2014 13:15 · Личное сообщение · #9 DimitarSerg из википедии Code:
у меня есть зашифрованное сообщение, а значит, для расшифровки используется всё-таки закрытый ключ. DimitarSerg пишет: Возможно, если бы были даны правильные значение, то можно было задетектить рса даже без анализа кода нет, экспонента не 0x10001 ![]() но число простое. ![]() |
|
Создано: 21 августа 2014 13:20 · Личное сообщение · #10 -=AkaBOSS=- пишет: у меня есть зашифрованное сообщение, а значит, для расшифровки используется всё-таки закрытый ключ. я вас удивлю.. НО зашифровывать.. можно и паблик и приват экспонентой ![]() ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 21 августа 2014 13:24 · Поправил: DimitarSerg · Личное сообщение · #11 VodoleY пишет: рса.. детектится на калькуляторе больших чисел)) я в последнее время.. как только подозрения на рса имею.. сразу закидываю данные в калькулятор.. чтоб не тратить время на анализ кода.. ибо много раз уже обжигался на этом Да-да, сам давно так делаю ![]() -=AkaBOSS=- Это всё относительно, неважно от того, что ты назовешь это расшифровкой или зашифровкой. -=AkaBOSS=- пишет: у меня есть зашифрованное сообщение, а значит, для расшифровки используется всё-таки закрытый ключ. Я бы сказал наоборот, но опять же от того что ты и как назовешь проблема остается такой же. -=AkaBOSS=- пишет: нет, экспонента не 0x10001 так бы я и сам догадался Я не по E обычно вижу, если есть подозрение на рса, то большое число закидываешь напр. RsaTool, жмешь факториацию и за минуту тебе не выдает какого-то множителя - вероятность того, что это N - почти 100% ----- ds ![]() |
|
Создано: 21 августа 2014 13:45 · Личное сообщение · #12 VodoleY, DimitarSerg да, я уже понял, что приватная экспонента по размеру была бы тоже явно не три байта. но суть проблемы не меняется - хотел красивое решение без патчей сделать, а получил такой облом. теперь придётся свои ключи вшивать. и то хорошо, что теперь хоть понимаю, с чем имею дело. большое спасибо всем, кто уделил внимание моему вопросу! тему закрываю ![]() |
![]() |
eXeL@B —› Программирование —› возможно ли это обратить? |
Эта тема закрыта. Ответы больше не принимаются. |