Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Вниз

RSA шифр   Найти похожие ветки 

 
Кто б сомневался ©   (2010-01-03 05:18) [0]

Напомню идею:
Два ключа. Публичный и закрытый.
Публичным ключем шифруются данные.
Закрытым ключем они расшифровываются.

Если имеется закрытый ключ + шифрованные данные (публичным ключем), но не известен публичный ключ, за какое срок примерно возможно вычислить публичный ключ на современной машине?
Кто знает ответьте пожалуйста.


 
Кто б сомневался ©   (2010-01-03 05:19) [1]

Примерно - час, сутки, месяц - в таком плане.


 
Кто б сомневался ©   (2010-01-03 05:25) [2]

Т.е. в википедии написано что если есть публичный ключ, то вычислить закрытый ключ практически невозможно.

А вопрос в том, что если наоборот, - есть закрытый ключ, и данный шифрованные публичным ключем. Возможно ли найти публичный ключ?


 
Германн ©   (2010-01-03 05:25) [3]


> Кто б сомневался ©   (03.01.10 05:18)  

Тебя Петей зовут? Или как?


 
Тестировщик3   (2010-01-03 08:23) [4]


> Кто б сомневался ©   (03.01.10 05:25) [2]
> Т.е. в википедии написано что если есть публичный ключ,
> то вычислить закрытый ключ практически невозможно.

на этом принципе еще как-то держимся сегодня, может быть устоим завтра, но думать об этом надо уже сейчас.


 
Тестировщик3   (2010-01-03 10:03) [5]

Скажется всего - скопировать, вот от сюда, сюда - ничего не изменится. Каждый будет стоять на своем. И при этом это не ключ и далеко не первичный, тем более RSA его не назовешь.


 
palva ©   (2010-01-03 11:27) [6]

Закрытый и открытый ключи симметричны к друг другу и отличаются тем, что один из них известен, другой нет. Так что задача вычисления открытого ключа по известному закрытому такая же сложная.


 
Anatoly Podgoretsky ©   (2010-01-03 13:23) [7]

> Кто б сомневался  (03.01.2010 05:18:00)  [0]

Нафига тебе публичный ключ, в некоторых случаях даже вычислять ничего не надо, поскольку он может быть в публичном репозитории


 
Anatoly Podgoretsky ©   (2010-01-03 13:25) [8]

> palva  (03.01.2010 11:27:06)  [6]

Боюсь ошибитися, но вроде бы закрый ключ содержит и открытый, вроде надо для процесса.


 
@!!ex ©   (2010-01-03 14:14) [9]

> [6] palva ©   (03.01.10 11:27)
> вычисления открытого ключа по известному закрытому такая
> же сложная.

Насколько я знаю - не такая же.
Открытый ключ значительно меньше по длине(во всяком случае те, с которыми я имел дело)


 
palva ©   (2010-01-03 15:12) [10]

Ну я ответил теоретически, в соответствии с описанием RSA. Практические системы имеют много надстроек над RSA. Например, секретный ключ в том смысле как он понимается программой pgp содержит еще секретную фразу, которую нужно указывать при каждой расшифровке, кроме того там есть симметричный ключ.

То есть когда надо расшифровать, то нужно ввести фразу, она будет хеширована, получен ключ, при помощи этого ключа расшифрован ключ RSA, при помощи алгоритма RSA расшифрованы первые байты сообщения, которые содержат симметричный ключ, которым уже симметричным алгоритмом расшифровывается основная часть сообщения.

Кроме того в pgp секретный ключ содержит еще сгенерированный обычный симметричный ключ, чтобы можно было обходиться без RSA это "сам зашифровал, сам расшифровал". Естественно, что если под секретным ключом понимается всё это хозяйство, то его никаким образом нельзя узнать по известному открытому ключу, сколько ни считай.


 
palva ©   (2010-01-03 15:20) [11]

Хотя я неправ, как раз в pgp секретной фразы секретный ключ не содержит. Наверно там есть что-то, что позволяет безопасным образом определять правильность фразы.


 
korneley ©   (2010-01-03 15:58) [12]


> Если имеется закрытый ключ + шифрованные данные

Блииин.... Всё же давно пройдено. Стойкость крипто впрямую зависит от длинны ключа. И содержания (ну, там, цифры, буквы + спец. символы, а буковки в разных регистрах) Ясно, что, бёстдник не канает. Нес па? По долгу службы вскрывал ХэПешный пароль брутфорсом, правда с некоей инсайдерской информацией. Три дня на Core 2 Duo E8500.


 
@!!ex ©   (2010-01-03 16:45) [13]

> [12] korneley ©   (03.01.10 15:58)
> содержания

RSA? Содержание? ничего не путаешь?
Если что, оба ключа в RSA - это число. всегда.


 
Rouse_ ©   (2010-01-03 17:20) [14]

RSA с длиной ключа 256 раскладывали на простые за 40 с копейками дней используя кластер. Сейчас ключ размером в 768 байт считается достаточно надежным, но я предпочитаю пользоваться ключами от 1024 и выше.


 
boriskb ©   (2010-01-03 19:50) [15]

> [14] Rouse_ ©   (03.01.10 17:20)
>... я предпочитаю пользоваться
> ключами от 1024 и выше.

Если не секрет, что шифруется?
Для каких целей?


 
Кто б сомневался ©   (2010-01-03 20:41) [16]

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

Так вот, идея - шифрую "публичным" ключем у себя (ну он конечно не будет публичный - это если придерживатся терминологии асс. шифров) ID матери.
Далее юзер вбивает эти кракозябры и прога расшифровывает другим ключем (по терминологии "закрытым"), который у нее вшит в exe, этот id и уже проверяет у себя.
Я просто думал, раз в RSA задумано так [0], то если сделать наоборот [2], то взломать ее будет легче - ведь на это алгоритм не рассчитан.


 
Медвежонок Пятачок ©   (2010-01-03 21:24) [17]

Публичным шифруются не данные (это медленно и накладно).
Данные шифруются сессионным ключом, который каждый раз генерируется заново.
А вот сам сессионный ключ уже шифруется с использованием публичного ключа.


 
Кто б сомневался ©   (2010-01-03 21:36) [18]


> Медвежонок Пятачок ©   (03.01.10 21:24) [17]


Я честно говоря не понял.
В моем случае я думал так:
Данные ID (хэш или еще в каком то виде) идут на сайт.
Сайт их шифрует на основе своего ключа (первый ключ) - и результат отдает юзеру.
Юзер вводить результат, и программа вшитым ключем (второй ключ) расшифровывает данные.
Разве не так работает RSA?


 
Медвежонок Пятачок ©   (2010-01-03 22:03) [19]

Юзер вводить результат, и программа вшитым ключем (второй ключ) расшифровывает данные.

А что потом? Дело в том, что из этой схемы можно смело убрать сайт.
В том смысле, что юзер может легко сделать так, что "сайт" будет другим и он отдаст те данные, которые нужны пользователю.


 
Кто б сомневался ©   (2010-01-03 22:33) [20]


> В том смысле, что юзер может легко сделать так, что "сайт"
> будет другим и он отдаст те данные, которые нужны пользователю.
>


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


 
Styx   (2010-01-03 22:40) [21]

Ломалки для большинства программ с подобным алгоритмом основаны на замене вшитого в программу ключа на свой... ну и...


 
Дмитрий С ©   (2010-01-03 23:27) [22]


> Кто б сомневался ©   (03.01.10 21:36) [18]

Примерно по такому принципу подписываются сертификаты:
Известными данными можно проверить, действительно ли сертификат подписан тем или иным центром или нет, а подписать другой сертификат нельзя.

Так же и у тебя. Но как уже сказали твой ключ в программе могут просто подменить.


 
Медвежонок Пятачок ©   (2010-01-04 00:20) [23]

Вы что то путаете.
Ведь для генерации зашифрованного кода нужен тот ключ что на сайте.


Это ты что-то путаешь.
Твой сайт при желании легко исключается из цепочки и заменяется своим.
Поэтому совершенно неважно что на нем шифруется и каким именно ключом.
Поддельный "сайт" на локалхосте отдаст любой нужный контент приложению.
Вообще любой.
Поэтому неважно где у тебя этот сайт и насколько хитро он там что-то шифрует.


 
Anatoly Podgoretsky ©   (2010-01-04 00:58) [24]

> Медвежонок Пятачок  (04.01.2010 00:20:23)  [23]

А может и сайт вообще не нужен, можно полностью изменить.


 
Кто б сомневался ©   (2010-01-04 01:23) [25]


> Это ты что-то путаешь.
> Твой сайт при желании легко исключается из цепочки и заменяется
> своим.
> Поэтому совершенно неважно что на нем шифруется и каким
> именно ключом.
> Поддельный "сайт" на локалхосте отдаст любой нужный контент
> приложению.
> Вообще любой.


я понимаю, но для этого надо патчить программу, правильно ведь? Патчить второй ключ в exe на свой.
А моя цель - дабы не сделали кеиген, который подходил бы под непатченную прогу.
Далее сам сайт ничего не отдает программе, сайт отдает юзеру ключ (т.е. те данные которые шифруются первым ключем, который на сайте) который он потом вставляет в программу.


 
Rouse_ ©   (2010-01-04 01:43) [26]


> boriskb ©   (03.01.10 19:50) [15]
> Если не секрет, что шифруется?

Не буду оригинальным - шифруется блок данных. Или есть разница в том, чем являются сами данные?


 
Медвежонок Пятачок ©   (2010-01-04 03:38) [27]

я понимаю, но для этого надо патчить программу, правильно ведь? Патчить второй ключ в exe на свой.

Как раз таки нет.
Забудь про свой сайт вообще.
Нет его. Его просто выключили из твоей системы защиты. Причем ничего не патчуя вообще. ПО останется в девственной неприкосновенности.

А моя цель - дабы не сделали кеиген, который подходил бы под непатченную прогу.

Его сделают.
Причем "сайт" никак не осложнит эту задачу.
А возможно даже облегчит ее.


 
Германн ©   (2010-01-04 03:46) [28]


> Или есть разница в том, чем являются сами данные?
>

Есть!
Нездоровое любопытство. :)
Ну мало тут "хакеров" такого уровня! (Вне зависимости от смысла термина "хакер", который ты с АП как-то обсуждал тут).


 
Медвежонок Пятачок ©   (2010-01-04 03:48) [29]

чтобы было совсем понятно:
рассматривай ствой "сайт" как некую функцию защиты, которая что-то возвращает.

фунция может быть внутри exe. тогда потебуется патчить exe (требуются навыки пользования отладчиком дизассемблером и т.д.)

но у тебя функция вынесена наружу. причем всегда можно сделать так, что запрос к сайту пойдет не по указанному тобой адресу, а на нужный хакеру хост. После чего оттуда будет возвращен детерминированный результат.

Итого:
Никакого сайта нет, никакой защиты нет. На запрос возвращается результат, который полностью контролируется взломщиком. Никакого дизассемблера не требуется вообще.
Ты только облегчаешь задачу взлома, вынося защитный код за пределы exe.


 
Кто б сомневался ©   (2010-01-04 05:17) [30]


> Медвежонок Пятачок ©   (04.01.10 03:48) [29]
>
> чтобы было совсем понятно:
> рассматривай ствой "сайт" как некую функцию защиты, которая
> что-то возвращает.
>
> фунция может быть внутри exe. тогда потебуется патчить exe
> (требуются навыки пользования отладчиком дизассемблером
> и т.д.)
>
> но у тебя функция вынесена наружу. причем всегда можно сделать
> так, что запрос к сайту пойдет не по указанному тобой адресу,
>  а на нужный хакеру хост. После чего оттуда будет возвращен
> детерминированный результат.


Да ты не понял все таки.
Юзер жмет кнопку купить - генерится адресная строка для браузера (get) в которой лежат данные (апп. ID - хэш итп) ну и вызывается с браузером.
Сайт после оплаты шифрует те данные своим ключем и отдает юзеру (тот самый RSA).
Юзер копи - пастит это и вставляет в прогу.
Прога уже своим вторым ключем дешифрует их, и .проверяет оно или нет.

Как тут взломщик может что то сделать, не патча прогу, я не пойму.
А тем более кеиген для всех.


 
korneley ©   (2010-01-04 06:55) [31]

> @!!ex ©   (03.01.10 16:45) [13]
> RSA? Содержание? ничего не путаешь?

Не-а :) Байт он и есть байт... Смысл ему человеки дают.


 
Медвежонок Пятачок ©   (2010-01-04 15:17) [32]

Прога уже своим вторым ключем дешифрует их, и .проверяет оно или нет.

"Ипполит, ну какой же вы тупой...." (c)

Я верну твоей проге то что она хочет и после проверки она скажет что это оно. При этом твой сайт никак не будет участвовать в этом процессе.

Я уже не говорю, про то, что в конечном итоге у тебя все свелось к банальному детсадовскому ифзенэлзу "и .проверяет оно или нет."


 
Медвежонок Пятачок ©   (2010-01-04 15:28) [33]

Как тут взломщик может что то сделать, не патча прогу, я не пойму.

смотри, последний раз объясняю ход твоих мыслей:

ты размышляешь:
1. хакер может пропатчить exe
2. это плохо.
3. зато он не может пропатчить программный код, который работает на твоем сайте.
4 ты обрадовался и решил использовать это в своей системе защиты.
5. ты думаешь, что если программный код находится на сайте вне досягаемости хакера, то значит на запрос твоей программы всегда возвращается ответ, который контролируешь ты и только ты.

но это не так.
любой начинающий хакер перенаправит запрос браузера на свой веб-сервер, и тот веб сервер (хакерский) вернет данные, которые находятся полностью под контролем хакера, а не под твоим контролем.

Что получилось в итоге:

у тебя есть программный код, который хакер не в состоянии пропатчить, но результат выполнения этого кода полностью контролируется хакером и не контролируется тобой. Причем для этого совершенно не требуется патчить саму программу.

Ну дошло наконец?


 
Кто б сомневался ©   (2010-01-04 16:41) [34]


> то значит на запрос твоей программы всегда возвращается
> ответ, который контролируешь ты и только ты.


Да боже мой, прочитай внимательно - программе ничего не надо, ей ниче не возвращается и она ничего не запрашивает.

Ей нужен результат в виде кода, который который юзер вставит для активации в TEdit.
Все детали см. в [30]
еще раз повторю вопрос, для того чтобы хакеру сделать кеиген не патча прогу, ему нужно

Каким то макаром найти первый ключ на сайте, на основе которого шифруются данные. Либо вычислить этот ключ, на основе второго ключа и шифрованных данных (собсно поэтому я и задал этот топик).

Ты мне объясни на пальцах, как хакер это сделает не патча прогу - основываясь на [30]. Заметь все молчат, никто также не понимает тебя.


 
Кто б сомневался ©   (2010-01-04 16:46) [35]


> у тебя есть программный код, который хакер не в состоянии
> пропатчить, но результат выполнения этого кода полностью
> контролируется хакером и не контролируется тобой. Причем
> для этого совершенно не требуется патчить саму программу.
>


Смотри еще раз.
Хакер видит каким ключем (который в exe) распаковывается код введенный юзером и каким алгоритмом. Так?
Но для того чтобы этот код расшифровать, ему надо его сначала зашифровать. а для этого нужен первый ключ, который на сайте.
А ведь данные, которые шифруются ключами все время разные, это ID матери.


 
Кто б сомневался ©   (2010-01-04 16:48) [36]

Напомню еще раз, цель - дабы не сделали кеиген.


 
Кто б сомневался ©   (2010-01-04 16:55) [37]


> ты размышляешь:
> 1. хакер может пропатчить exe
> 2. это плохо.
> 3. зато он не может пропатчить программный код, который
> работает на твоем сайте.
> 4 ты обрадовался и решил использовать это в своей системе
> защиты.


Здесь ты опять не так понял.
> 1. хакер может пропатчить exe
> 2. это плохо.

Пох. Это наоборот хорошо, главное чтобы он не сделал кеиген.

> 3. зато он не может пропатчить программный код, который
> работает на твоем сайте.
Нет сайт генерит ключ, не для того чтобы была защита. А сразу после покупки. Кто ж еще должен генерить код как не сайт, я что-ли?


 
Кто б сомневался ©   (2010-01-04 17:07) [38]

Короче тут суть в том:

RSA:
Одним ключем (A) шифруем данные X.
Вторым ключем (B) их дешифруем.

Зная алгоритм дешифрования и ключ B - можно ли таким макаром зашифровать новые данные X и таким образом сделать кеген?
Я думаю, что не знаю ключа A нельзя зашифровать данные X. Или можно, в этом то и вопрос.


 
Кто б сомневался ©   (2010-01-04 17:11) [39]


> Зная алгоритм дешифрования и ключ B - можно ли таким макаром
> зашифровать новые данные X и таким образом сделать кеген?
>


ведь по идее для этого и сделан RSA - что это либо очень долго, либо невозможно. Понимаешь?
Короче я четко сформулировал вопрос в [38]. Сможешь ответить?


 
Anatoly Podgoretsky ©   (2010-01-04 17:54) [40]

> Кто б сомневался  (04.01.2010 16:41:34)  [34]

Шифрование откусят.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.006 c
15-1262295022
Юрий
2010-01-01 00:30
2010.03.28
С днем рождения ! 1 января 2010 пятница


2-1264024785
novichek
2010-01-21 00:59
2010.03.28
Dword в Record


15-1261853829
Кто б сомневался
2009-12-26 21:57
2010.03.28
Оплата и уведомление у ресселеров


15-1262726623
tmtlib
2010-01-06 00:23
2010.03.28
Компилятор в EXE на Delphi с исходниками.


4-1231708108
kalexi
2009-01-12 00:08
2010.03.28
PopupMenu из ресурса.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский