motofan logo
2 страниц V < 1 2        
> 

Обсуждение Алгоритмов Дешифрации Ключа, Нужны свежие идеи - нельзя долго копать

thelife
сообщение 4.11.2007, 23:45


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 30.9.2006
Из: Сыктывкар, Ухта
Пользователь №: 101 289
Модель телефона: KRZR K1
Прошивка: R452F_08R

Рейтинг: 0



Да, ещё... Я так и не нашел ответа на вопрос, РСА в телефоне проверяется аппаратно или всё-же софтово?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
yakk
сообщение 5.11.2007, 6:53



*****

Группа: Разработчики
Сообщений: 336
Регистрация: 6.7.2006
Из: Днепропетровск
Пользователь №: 90 408
Модель телефона: milestone
Финалист Конкурса 2010


Настроение:
не нужен..



Рейтинг: 904



Цитата(thelife @ 5.11.2007, 1:45) *

Да, ещё... Я так и не нашел ответа на вопрос, РСА в телефоне проверяется аппаратно или всё-же софтово?

Прошивка хэшируется аппаратно..
link
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
thelife
сообщение 9.11.2007, 0:25


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 30.9.2006
Из: Сыктывкар, Ухта
Пользователь №: 101 289
Модель телефона: KRZR K1
Прошивка: R452F_08R

Рейтинг: 0



Короче, у меня друг- математический гений. Учится в МФТИ. Я ему объяснил на пальцах, что нам надо сделать, он обещал это число
(118231459419164465146903145000504004550246621944818177154184
385570418203227342890989001195794615098058960295395911275125
671973149509899365571370903245904526653782569107413713350676
232517817181096197654912904839291926811339932095007870787885
454476302964474574702429307332034331743839073902303658693917
468638573)
разложить на простые за неделю. Он сильно не разъяснил методику, но обещал сделать. Если всё ок, то потом здесь выложить сомножетели или в какой другой теме? Что нам дадут 2 числа? Как с их помощью подписывать прошивки? Сам то я в математике бот полный. Объясните на примере.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 9.11.2007, 7:18


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(thelife @ Сегодня, 2:25)

Если всё ок, то потом здесь выложить сомножетели или в какой другой теме? Что нам дадут 2 числа? Как с их помощью подписывать прошивки? Сам то я в математике бот полный. Объясните на примере.
*


выкладывай в эту, два числа дадут свободу, подпишут ими люди знающие.
Без выкладки чисел просьба не писать в форум попусту
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Premial
сообщение 30.11.2007, 18:19


Ветеран
*****

Группа: Пользователи
Сообщений: 320
Регистрация: 24.4.2006
Пользователь №: 80 350
Модель телефона: E398
Прошивка: сток

Рейтинг: 289



Вот очень хорошая статья с обьяснением принципа rsa и способам её взлома.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
hobbit19
сообщение 4.12.2007, 13:26


квант истории
******

Группа: Пользователи
Сообщений: 1 043
Регистрация: 1.4.2005
Из: Рязань
Пользователь №: 39 980
Модель телефона: (M)oTorola
Прошивка: testing/unstable
Победитель конкурса 2008

Рейтинг: 739.5



Цитата
разложить на простые за неделю. Он сильно не разъяснил методику, но обещал сделать.


ну ждемс )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 4.12.2007, 13:32


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



thelife,
ну софтово. и что, с этого сильно легче стало? ))
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
santilo
сообщение 19.7.2009, 8:45


Мастер
****

Группа: Пользователи
Сообщений: 298
Регистрация: 4.12.2008
Из: Novosibirsk
Пользователь №: 187 749
Модель телефона: Moto Z2 force
Прошивка: 9.0

Рейтинг: 99



Подбирать RSA ключи надо для моделей с IROM 0400(SLVR_L9).
И всем было бы хорошо...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 30.7.2009, 12:43


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



santilo, этим давно никто не занимается
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 30.7.2009, 13:21


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(santilo @ 19.7.2009, 10:45)

Подбирать RSA ключи надо для моделей с IROM 0400(SLVR_L9).
*


ключ кажись один для моторол
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
santilo
сообщение 3.8.2009, 15:31


Мастер
****

Группа: Пользователи
Сообщений: 298
Регистрация: 4.12.2008
Из: Novosibirsk
Пользователь №: 187 749
Модель телефона: Moto Z2 force
Прошивка: 9.0

Рейтинг: 99



А можно ли подписать своим RSA ключом и переделать бут, чтоб он проверял мою RSA
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 4.8.2009, 6:45


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Osta,
Нет
santilo,
Нет
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 13.1.2011, 21:02


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Как вы конечно знаете (а если не знаете, дак узнайте здесь) в алгоритме RSA используются публичный и секретный ключи.
Открытый ключ - это пара (e,n)
Секретный ключ - это пара (d,n)
где e - открытая экспонента, d - секретная, а n - это произведение двух простых чисел p и q
Очевидно, что для получения секретного ключа не хватает только d, поскольку n мы всегда знаем.
Код
e*d mod Phi(n) = 1

где Phi(n) - это функция Эйлера
Как вы понимаете для её вычисления необходимо искать простые сомножетели(те самые p и q). А это что называется "дофига делов" учитывая, что длинная аргумента - 1024 бита (Это 2^1024 значений)
Но недолго повтыкав повникав вместе с товарищем motoprogger'ом вот в эту картинку пришли к выводу, что видим линейные зависимости и отклонения от них.
Родилась идея:
статистически узнать характер отклонений
и расчитывать функцию эйлера полагая, что результат будет находиться в одной из дельта областей отклонений от линейно-зависящих значений (их количество надо уточнить, motoprogger утверждает, что видит 2+2, а я 3+3, а при большем исследовании вообще может отличаться результат)
Или проще говоря внутри кольца радиусом наибольшего среднего статистического отклонения от точек на каждом линейном луче на этом графике.
(+ еще можно эверистик натыкать)

Тогда алгоритм такой:
1. полагаем что нашли Phi(n)
2. вычисляем
Код
d = 1/(e mod Phi(n)) + N*Phi(n)

для целых N от 1 до ??? (предположительно до e) и учитывая рекомендации по выбору d (скорее всего это разумное время)
3. проверяем выполнение равенства
Код
a^(e*d)=1 (mod n)

Цитата
Каждое a, для которого это равенство выполнено, даёт право считать вероятность ошибки вдвое меньшей
В то же время любое a, не равное нулю и взаимно простое с n, для которого это равенство не выполнено, прямо указывает на неправильное нахождение

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

У кого какие мысли есть по поводу этого метода?

Добавлено позже (14.1.2011, 2:07):
одну из тем надо снести (это я к модераторам обращаюсь)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 13.1.2011, 21:40


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



может бритву Оккама проще?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 13.1.2011, 21:43


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Можно подробнее?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Джуманджи
сообщение 13.1.2011, 22:41


Гуру
******

Группа: Почётные мотофаны
Сообщений: 856
Регистрация: 8.11.2006
Из: детства
Пользователь №: 106 183
Модель телефона: нокиа

Рейтинг: 647.5



«Бритва О́ккама» или «лезвие Оккама» — методологический принцип.

Некоторые из его примеров:
"Самое простое решение - наиболее часто верное, самое верное решение - наиболее часто простое."

"Всё следует упрощать до тех пор, пока это возможно, но не более того."

"Не следует привлекать новые сущности без самой крайней на то необходимости."

Сообщение отредактировал Джуманджи - 13.1.2011, 22:45
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 14.1.2011, 22:57


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Преамбула: поскольку на мотофане много умных людей (я правда в это верю) я хочу кое-чем поделиться с вами, уважаемые форумчане.
В дополнение к моему сообщению 3 постами выше расскажу, что я сегодня понаразмышлял
1. Функция Эйлера
Как я уже говорил, на википедии есть картинка илюстрирующая распределение функции Эйлера.
И сначала мне показалось, что это распределение можно использовать для приближенного вычисления функции. В принципе это и так и не так.
Загвоздка в том что на википедии показано распределение для любых n, а нас интересуют только такие числа n, которые имеют следующие свойства: не простые, не имеют маленьких делителей, не имеют делителей близких к корню из n (об этом позже).
в результате построения графика по полученым результатам (отсеяв неподходящие числа) я увидел прямую(ну почти прямую).
В принципе внимательный читатель при чтении алгоритма RSA и функции эйлера сразу поймет почему получилась прямая. А вот до меня это доходило достаточно долго.
Суть в том, что при n = pq где p и q - простые
функция Эйлера Phi(n) = (p-1)(q-1), а при больших p и q
pq ~= (p-1)(q-1)
то есть разница то получается не большой.
Но тут как посмотреть...
Надо эту разницу формализовать. А точнее отношение.
T = n/Phi(n) = pq/((p-1)(q-1)) = 1/((p-1)(q-1)/pq) = 1/((pq - p - q - 1)/pq) = 1/(1 - 1/q - 1/p - 1/pq)
ну и как бы понятно, что чем ближе p и q к "большим" порядкам тем отклонение меньше.
Но вот какая интересная штука получается на практике.
Изображение
Как вы видите существует множество различных ярковыраженных кривых отклонений.
Я заметил, что каждая из этих отдельных кривых соответствует уникальному делителю. То есть есть множество чисел, для которых делителем является например число 101, и все отклонения для этих чисел будут лежать на одной и той же гиперболе. А для множества чисел у которых минимальный делитель 107 - все отклонения будут лежать на другой гиперболе, но внутри своего множества все свойства сохраняются.
Ссылка на xls файл с таблицей и графиком, которые я анализировал. http://dl.dropbox.com/u/3506908/rsa/anls_1.xls
Дак вот, как видно по картинке полоса отклонений (то есть разности минимального и максимального отклонений для рассматриваемого подмножества чисел) для чисел порядка 500000 составляет 0,0102. Разумеется нужно расширенное исследование этой ширины, но если предположить, что полоса остается примерно такой достаточно долго (до наших лимитов в 2^1024), то самый худший перебор обойдется нам в 0.0102*n*e (e - открытая экспонента, читать выше), а это неприлично долго (хотя учитывая специфику вероятностной проверки такая сложность практически никогда не достижима, все равно порядки огромные).
Это заставляет меня обратиться к вам, форумчане, за помощью в прогнозировании отклонения T. Мне кажется есть наиболее простой, чем факторизация способ.
Вообщем как угадать как пойдет гипербола, или как уменьшить ширину полосы отклонений.

2. Маленький размышлизм на тему разложения на простые сомножители.
Я предполагаю, что оптимальная зона поиска простых сомножителей находится в окрестностях точек
корень_из(n)/2 и (n+корень_из(n))/2
Это предположение основано на двух тезисах из рекомендаций по выбору простых:
1) p и q не должны быть слишком маленькими
2) p и q не должны быть слишком близки друг к другу
Возможно простые следует искать там итерируя в обе стороны от любой из указанных мной точек.
Поправьте меня, если я заблуждаюсь?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 15.1.2011, 10:07


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



UPD
В предыдущем сообщении изображен график отклонений n/Phi(n) для n не простых и с минимальным делителем >= 100
вот график отклонений для n, где
n = pq, где p и q - простые (исключительно такие n нас интересуют)
Изображение
видите как сходится хорошо, монотонно)
Надо эту кривульку аппроксимировать. Какие идеи? Могу выложить таблицу значений если кто-то возьмется за аппроксимацию.

UPD
придумал я, что сделать
Цитата
[19:51:41] <dmt021> продифференцировать функцию
[19:52:02] <dmt021> с некоторым шагом dn
[19:53:16] <dmt021> на ширине шага dn отсортировать все точки графика (результаты функции T)
[19:53:36] <dmt021> взять несколько максимальных и минимальных
[19:53:51] <dmt021> взять их среднее значение
[19:55:29] <dmt021> Построить два новых графика
[19:56:17] <dmt021> таким образом мы отфильтруем «лишние» значения T(n)


UPD
придумал новую эверистику
положи
p = корень_из(n)/2
q = 2*корень_из(n)
(так чтоб pq = n)
теперь посчитаем отношение: q/p = 2*корень_из(n)/корень_из(n)/2 = 4.
то есть отличаться p и q должны в 4 раза (в сферическом вакуме)
Но надо посмотреть что будет с графиком при таких распределениях сомножителей

Сообщение отредактировал DmT - 15.1.2011, 23:42
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 17.1.2011, 13:55


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



UPD
использовал новую эверистику для построения графика.
Получилось интересно.
Вот так выглядит график для малых n
Большая картинка
Изображение
[close]

А вот так для больших.
Большая картинка

Изображение
[close]

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

UPD
Кто знает, как проверить рекурсивно аппроксимируемую функцию?

UPD
На 19.01 исследования продвинулись в значительной степени. Приостановлены до 23.01.

Сообщение отредактировал DmT - 19.1.2011, 13:53
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 4.8.2011, 20:11


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Пришла в голову вдруг идея:
Делаем таблицу чисел Y = P*Q, где P и Q - простые числа до некоторого размера.
Затем проверяем не совпадают ли младшие разряды числа n (если кто не знает что такое n - выше написано) с одним из чисел Y.
Если вдруг младшие разряды ВНЕЗАПНО совпадут - значит младшие разряды p равны P, а младшие q равны Q. Гарантировано.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 6.8.2011, 12:55


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Проверил. Метод работает, но с коллизиями.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 8.8.2011, 6:28


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Секрет
А знаете ли вы, что около 98% случайных простых чисел представимо в виде
Код
P = k*2^L + q

где P - случайное простое
k - нечетное
L - некоторая длинна не меньшая длинны q в битах
q - некоторое другое простое
[close]


Секрет2
А знаете ли вы, что число
Код
dif = n - Phi(n)

с большой вероятностью (всегда?) будет иметь единичные биты с номерами L/2 и L/2-1, где L - длина модуля n
абсолютно всегда иметь единичный бит с номером 0.
и с большой вероятностью иметь все старшие биты в 0 с номерами больше L/2.
[close]


Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 17.9.2011, 6:51


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Цитата(DmT @ 4.8.2011, 23:11) *
Если вдруг младшие разряды ВНЕЗАПНО совпадут

с ЧЕГО ты взял что они ВДРУГ совпадут?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 17.9.2011, 13:28


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Цитата(baat @ Сегодня, 12:51)
* с ЧЕГО ты взял что они ВДРУГ совпадут?

Внимательнее читай. Мы перебираем числа и сравниваем их "хвосты". А самое интересное начинается с разложения.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Обсуждение Алгоритмов Дешифрации Ключа, Нужны свежие идеи - нельзя долго копать · Раскрытие секретного ключа для подписи прошивок · Forum
 

2 страниц V < 1 2
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 13.9.2025, 15:56

Форум живёт: