Сейчас на форуме: jinoweb (+5 невидимых) |
eXeL@B —› Программирование —› Подскажите по шифрованию |
Посл.ответ | Сообщение |
|
Создано: 03 мая 2016 19:08 · Личное сообщение · #1 Крякаю программу. Есть в коде два блока ключей или чего-то типа этого по 128 байт. Также есть блок данных, которы зашифровывается, или наоборот расшифровывается с помощью этих двух блоков. И в коде присутствуют ссылки на дебаг где написаны коды ошибок и пути с сорцам типа: \bn\bn_exp.c я так понял - это openssl Я подозреваю что это что-то типа rsa... подскажите как проверить? Я знаю какой должен быть результат. То есть есть исходный вариант и результат и также два блока ключей. Все эти 4 блока по 128 байт. |
|
Создано: 03 мая 2016 20:49 · Личное сообщение · #2 |
|
Создано: 04 мая 2016 05:42 · Личное сообщение · #3 |
|
Создано: 04 мая 2016 12:11 · Поправил: c0deh1der · Личное сообщение · #4 Спасибо за инфу. Подскажите, кто в openssl силен вот к примеру хочу щас загнать эти данные в функцию: int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx) лежит она в файле bn_exp.c есть у меня: _BYTE input_data[128]; _BYTE block1[128]; // думаю это p _BYTE block2[128]; // думаю это m как инициализировать? BIGNUM a = BN_NEW(); a->d = (unsigned int)&input_data[0]; BN_mod_exp(rr, a, p, m, ctx); и что в ctx ? Добавлено спустя 4 часа 6 минут все всем спасибо разобрался )) ключик работает)) |
|
Создано: 09 мая 2016 14:26 · Личное сообщение · #5 Еще один вопрос: если мы расшифровываем данные из блока а[128] в блок b[128] c помошью функции: int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont) Можно ли как-то назад данные конвертнуть? Мне нужно расшифровать, изменить данные и обратно зашифровать. |
|
Создано: 09 мая 2016 15:17 · Личное сообщение · #6 |
|
Создано: 09 мая 2016 15:42 · Личное сообщение · #7 |
|
Создано: 09 мая 2016 19:22 · Личное сообщение · #8 |
|
Создано: 10 мая 2016 13:49 · Личное сообщение · #9 Хм... покурил rsa... Получается что: a - незашифрованное входящее число r - зашифрованный результат e - открытый ключ(неизвестен) d - закрытый ключ(известен) n - произведение простых чисел(известно) пусть будет a = 3 d = 3 n = 33 тогда для зашифровки нужно сделать вычисление: r = (a^e) mod n r = (3^e) % 33 = 9 проверим, расшифровав обратно: r = (9^3) % 33 = 3 Все сходится, остается найти 'e' значит нужно решить уравнение: (3^e) % 33 = 9 Ведь решаемо! ))) Или я не прав? Я так понимаю, проблема, когда неизвестны исходные данные, результат и ключ. А когда неизвестна только экспонента, то это реально! Поправьте. |
|
Создано: 10 мая 2016 15:00 · Поправил: VodoleY · Личное сообщение · #10 c0deh1der это называется факторизация рса512 вполне себе факторизируется.. 1024 .. несколько месяцев.. на очень мощьных машинах. если правильно помню MSIEV есть такая тулза. если интересно.. скачай засунь туда свои данные Добавлено спустя 20 минут вообще я рекомендую тебе почитать ВиКи.. вобщем задача факторизации.. из разряда неопределнных.. не доказанно что нет решения.. и вобщемто если найдеш решение могли бы дать нобеля(ток нобеля в области матемитики не дают.. потому что математик вздрючил жену нобеля.. отменили) ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... | Сообщение посчитали полезным: daFix, mushr00m |
|
Создано: 10 мая 2016 16:11 · Личное сообщение · #11 |
|
Создано: 10 мая 2016 18:05 · Личное сообщение · #12 |
|
Создано: 10 мая 2016 18:32 · Личное сообщение · #13 |
|
Создано: 10 мая 2016 19:37 · Личное сообщение · #14 Prober, Спасибо! У меня просто вопрос крутится в голове: если есть два ключа, есть сообщение, то конечно трудно или почти невозможно узнать ключ, так как неизвестно также и что в зашифрованном сообщении. Но ведь в данном случае известны все переменные кроме одной, и при этом тоже задача оказалась очень трудно-решаемой.... Неужели настолько крепок алгоритм? )) Добавлено спустя 5 минут Prober пишет: c0deh1der, прочитайте ещё это, что ли. ссылка реально интересная )) чет я ее не увидел в поиске |
|
Создано: 10 мая 2016 19:47 · Личное сообщение · #15 Все всегда зависит от алгоритма и его реализации. Можно повесить на дверь 50 плохих замков, которые вылетают от удара с ноги, а можно повесить один, который выдерживает прямое попадание ядерной ракетой. | Сообщение посчитали полезным: BiteMoon |
|
Создано: 11 мая 2016 09:16 · Личное сообщение · #16 |
|
Создано: 11 мая 2016 20:14 · Личное сообщение · #17 |
eXeL@B —› Программирование —› Подскажите по шифрованию |