eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Программирование —› Подскажите по шифрованию
Посл.ответ Сообщение

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 3 мая 2016 19:08 New!
Цитата · Личное сообщение · #1

Крякаю программу. Есть в коде два блока ключей или чего-то типа этого по 128 байт.
Также есть блок данных, которы зашифровывается, или наоборот расшифровывается с помощью этих двух блоков. И в коде присутствуют ссылки на дебаг где написаны коды ошибок и пути с сорцам типа: \bn\bn_exp.c
я так понял - это openssl

Я подозреваю что это что-то типа rsa...

подскажите как проверить?

Я знаю какой должен быть результат.

То есть есть исходный вариант и результат и также два блока ключей.
Все эти 4 блока по 128 байт.

Ранг: 566.0 (!)
Статус: Модератор

Создано: 3 мая 2016 20:49 New!
Цитата · Личное сообщение · #2

Проверить можно если ты разберешь алгоритм и напишешь свой тест-кейс под эти данные.
Без бинаря на кофе здесь гадать вряд ли кто-то будет.

Ранг: 49.2 (посетитель)
Статус: Участник

Создано: 4 мая 2016 05:42 New!
Цитата · Личное сообщение · #3

c0deh1der пишет:
подскажите как проверить?
Я знаю какой должен быть результат.
То есть есть исходный вариант и результат и также два блока ключей.

Раз всё есть, то посчитать (исходный_вариант ^ E) mod N и сравнить с результатом. Совпадёт - значит RSA, нет - копать дальше.

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 4 мая 2016 12:11 · Поправил: 4 мая 2016 16:17 c0deh1der New!
Цитата · Личное сообщение · #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 минут
все всем спасибо разобрался )) ключик работает))

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 9 мая 2016 14:26 New!
Цитата · Личное сообщение · #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)

Можно ли как-то назад данные конвертнуть?

Мне нужно расшифровать, изменить данные и обратно зашифровать.

Ранг: 49.2 (посетитель)
Статус: Участник

Создано: 9 мая 2016 15:17 New!
Цитата · Личное сообщение · #6

c0deh1der пишет:
Можно ли как-то назад данные конвертнуть?

Можно, если есть приватная экспонента.

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 9 мая 2016 15:42 New!
Цитата · Личное сообщение · #7

А какой функцией зашифровывать? Или той же самой, только другие данные ей кормить?

Добавлено спустя 17 минут
Получается, если я могу расшифровать, то зашифровать то уже в любом случае можно, так как расшифровывается закрытым ключем? Или может быть наоборот?

Ранг: 384.5 (мудрец)
Статус: Участник

Создано: 9 мая 2016 19:22 New!
Цитата · Личное сообщение · #8

c0deh1der пишет: Или может быть наоборот

аха

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 10 мая 2016 13:49 New!
Цитата · Личное сообщение · #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

Ведь решаемо! ))) Или я не прав?

Я так понимаю, проблема, когда неизвестны исходные данные, результат и ключ.
А когда неизвестна только экспонента, то это реально!

Поправьте.

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 10 мая 2016 15:00 · Поправил: 10 мая 2016 15:22 VodoleY New!
Цитата · Личное сообщение · #10

c0deh1der это называется факторизация
рса512 вполне себе факторизируется.. 1024 .. несколько месяцев.. на очень мощьных машинах. если правильно помню
MSIEV есть такая тулза. если интересно.. скачай засунь туда свои данные

Добавлено спустя 20 минут
вообще я рекомендую тебе почитать ВиКи.. вобщем задача факторизации.. из разряда неопределнных.. не доказанно что нет решения.. и вобщемто если найдеш решение могли бы дать нобеля(ток нобеля в области матемитики не дают.. потому что математик вздрючил жену нобеля.. отменили)

| Сообщение посчитали полезным: daFix, mushr00m


Ранг: 30.2 (посетитель)
Статус: Участник

Создано: 10 мая 2016 16:11 New!
Цитата · Личное сообщение · #11

VodoleY пишет:
нобеля в области матемитики не дают


Может к лучшему? Есть из чего выбрать.

Филдсовская премия
Абелевская премия

Не будет лишней — Премия Тьюринга.

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 10 мая 2016 18:05 New!
Цитата · Личное сообщение · #12

Да, перечитал уже.... и вики и вс остальное...
Возник вопрос, кто знает услуги по распределенным вычислениям, какие компании предлагают, какие цены на мощности?

Ранг: 49.2 (посетитель)
Статус: Участник

Создано: 10 мая 2016 18:32 New!
Цитата · Личное сообщение · #13

c0deh1der, прочитайте ещё это, что ли.

| Сообщение посчитали полезным: c0deh1der


Ранг: 12.8 (новичок)
Статус: Участник

Создано: 10 мая 2016 19:37 New!
Цитата · Личное сообщение · #14

Prober, Спасибо!
У меня просто вопрос крутится в голове:
если есть два ключа, есть сообщение, то конечно трудно или почти невозможно узнать ключ, так как неизвестно также и что в зашифрованном сообщении.
Но ведь в данном случае известны все переменные кроме одной, и при этом тоже задача оказалась очень трудно-решаемой....
Неужели настолько крепок алгоритм? ))

Добавлено спустя 5 минут
Prober пишет:
c0deh1der, прочитайте ещё это, что ли.

ссылка реально интересная )) чет я ее не увидел в поиске

Ранг: 239.2 (наставник)
Статус: Участник

Создано: 10 мая 2016 19:47 New!
Цитата · Личное сообщение · #15

Все всегда зависит от алгоритма и его реализации. Можно повесить на дверь 50 плохих замков, которые вылетают от удара с ноги, а можно повесить один, который выдерживает прямое попадание ядерной ракетой.

| Сообщение посчитали полезным: BiteMoon


Ранг: 566.0 (!)
Статус: Модератор

Создано: 11 мая 2016 09:16 New!
Цитата · Личное сообщение · #16

c0deh1der
Есть целый класс подобных проблем. На некоторых из них строится ассиметричная криптография.
Добро пожаловать в новый мир

Ранг: 12.8 (новичок)
Статус: Участник

Создано: 11 мая 2016 20:14 New!
Цитата · Личное сообщение · #17

Все разобралсся спасибо! Атака Виннера рулит!)
 eXeL@B —› Программирование —› Подскажите по шифрованию

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS