Сейчас на форуме: Slinger (+6 невидимых) |
eXeL@B —› Основной форум —› RSA восстановить public exponent или... |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 26 декабря 2006 02:17 · Поправил: soho · Личное сообщение · #1 ... или я чего-то не догоняю. Разбираюсь с прогой - защищена старой библиотекой LockBox, используется RSA. При расшифровке регистрации создается пара ключей private и public. Затем явно задается модуль и экспонента для private ключа и, ессно этим и расшифровывается. Вопрос: если я ничего не напутал, то как найти экспоненту для public ключа? |
|
Создано: 26 декабря 2006 02:28 · Личное сообщение · #2 Ты запутался. В проге должен быть только Modulus N и публичная экспонента. Приватную тогда можно найти с помощью RSATool2. Я ковырял прогу с LockBox. Но там автор закосячил и вместо публичной E экспоненты заюзал приватную D. Возможно у тебя также. Я находил E путём брутфорса, ушло чуть больше часа. Прога была Easy Karaoke Recorder. Брутфорс писал на основе самплов из LockBox. Отличить приватную от публичной легко. Приватная довольно большая, а публичная максимум FFFFFFFFh. ----- Yann Tiersen best and do not fuck |
|
Создано: 26 декабря 2006 02:29 · Личное сообщение · #3 |
|
Создано: 26 декабря 2006 02:57 · Личное сообщение · #4 PE_Kill пишет: Отличить приватную от публичной легко. Приватная довольно большая, а публичная максимум FFFFFFFFh Ты не прав. Паблик экспонента может быть такая же, как приватная. И юзать ее можно, также, как и приватную. Особой роли это не сыграет, все равно придется брутить точно также. Т.е. можно смело использовать в проге N и D или N и E пары, по барабану. |
|
Создано: 26 декабря 2006 02:59 · Личное сообщение · #5 |
|
Создано: 26 декабря 2006 03:04 · Личное сообщение · #6 |
|
Создано: 26 декабря 2006 03:06 · Поправил: alexey_k · Личное сообщение · #7 |
|
Создано: 26 декабря 2006 03:07 · Личное сообщение · #8 |
|
Создано: 26 декабря 2006 03:15 · Личное сообщение · #9 |
|
Создано: 26 декабря 2006 03:18 · Поправил: soho · Личное сообщение · #10 |
|
Создано: 26 декабря 2006 03:26 · Личное сообщение · #11 soho пишет: Ara пробовал подсовывать в RSA Tool приватную экспоненту в качестве E - в результате не получалось расшифовать ключевую строку в тот же вид, что и у сабжевой проги (т.е. у сабжа при расшифровке получается напр. "23233", а у меня "Qef$56wedk+)(*&", такого рода) Так у тебя ничего не получится. Возьми BigInt Calculator, потренируйся на коротких ключах криптовать-декриптовать текст, потом смотри прогу. |
|
Создано: 26 декабря 2006 04:24 · Личное сообщение · #12 |
|
Создано: 26 декабря 2006 04:36 · Личное сообщение · #13 |
|
Создано: 26 декабря 2006 04:43 · Поправил: lord_Phoenix · Личное сообщение · #14 PE_Kill пишет: Ты запутался. В проге должен быть только Modulus N и публичная экспонента нифига, N и E нужны для шифровки, а N и D для расшифровки alexey_k ну сначала попробуй (врядли конечно авторы так затупили) 10001h. но тут выход - брут, причем не тупой брут с проверкой шифровки/расшифровки с текущим E, а более быстрый... сколько бит N? если не очень большое - факторизуй его и дальше в бруте для каждого E проверяй: D=E^(-1) mod ((P-1)*(Q-1)) так как это будет значиетльно быстрее чем вычисление M^E mod N. но для этого - надо факторизовать N. также ни в коем случае не юзай сам локбокс в бруте - заюзай миракл хотя бы.. или либу раптора.. ну вообщем скорость, скорость и еще раз скорость. пс. с удовольствием выслушаю тебя, если найдешь другой способ найти E ----- Тут не могла быть ваша реклама |
|
Создано: 26 декабря 2006 04:45 · Поправил: soho · Личное сообщение · #15 Если P - первое большое простое число Q - второе большое простое число E - Public Exponent и известны N - Publuc Modulus (N = P*Q) D - Private Exponent (D = E^(-1) mod ((P-1)*(Q-1)) то имеем два уравнения с тремя неизвестными, т.е. без брутфорса не обойтись . Вопрос: как развернуть mod из второго уравнения с тем, чтобы выразить Е? |
|
Создано: 26 декабря 2006 04:53 · Личное сообщение · #16 soho пишет: то имеем два уравнения с тремя неизвестными, т.е. без брутфорса не обойтись где ты увидел 3 неизвестные - для меня загадка.. мы не знаем только E, P и Q не в счет - если N не сильно большое(до 512 бит) их можно найти. soho пишет: Вопрос: как развернуть mod из второго уравнения с тем, чтобы выразить Е? если бы все было так легко ;p ----- Тут не могла быть ваша реклама |
|
Создано: 26 декабря 2006 05:19 · Личное сообщение · #17 > Приватная довольно большая, а публичная максимум FFFFFFFFh. E это любое число так что наибольший общаи делитель у E и (p-1)*(q-1) был единица.. > Ara в LockBox приватная экспонента того же размера, что и Modulus N. не в тулбокс а в RSA... по идее алгоритма все операции проводятся в поле размером N (тот mod N в формулах)... это и даёт выравнивание размера... ----- Shalom ebanats! |
|
Создано: 26 декабря 2006 05:33 · Личное сообщение · #18 |
|
Создано: 26 декабря 2006 05:41 · Личное сообщение · #19 alexey_k ну и что? скажешь сервисы не брутят? =) и все-таки не видел я подобных сервисов.. SLV пишет: не в тулбокс а в RSA... по идее алгоритма все операции проводятся в поле размером N (тот mod N в формулах)... это и даёт выравнивание размера... э, все зависит от размера p и q, но про F(N) правильно =) ----- Тут не могла быть ваша реклама |
|
Создано: 26 декабря 2006 05:45 · Личное сообщение · #20 |
|
Создано: 26 декабря 2006 05:47 · Личное сообщение · #21 |
|
Создано: 26 декабря 2006 05:56 · Личное сообщение · #22 |
|
Создано: 26 декабря 2006 06:26 · Поправил: lord_Phoenix · Личное сообщение · #23 alexey_k из последних крякмисов, что смотрел - с рса1024 помню только старый TKM триал от ged'а.. там тоже была расшифровка... но там были известны p и q, тость мы могли найти d и все кейгенится ;) ща вот подумал.. может быть это может помочь в твоем случае: N=P*Q dP = D mod (P-1) dQ = D mod (Q-1) имеем: M = C^dP mod P M = C^dQ mod P используя кит.теорему об остатках получаем, что: M = C^D mod (P*Q) прикол в том, что данный метод в 4 раза быстрее просто C=M^D mod N. E*D mod (P-1)(Q-1) = 1 исходя из метода, описанного выше: C = M^(dP^(-1) mod (P-1)) mod P C = M^(dQ^(-1) mod (Q-1)) mod Q решив данные уравнения используя все ту же, кит.теорему об остатках - найдем C. тоесть получим зашифр. M, без знания E. но для всего этого намнадо знать факторы N. а если тебе именно найдо найти E - то это только брут ----- Тут не могла быть ваша реклама |
|
Создано: 26 декабря 2006 06:43 · Личное сообщение · #24 |
|
Создано: 26 декабря 2006 07:06 · Личное сообщение · #25 |
|
Создано: 26 декабря 2006 07:12 · Личное сообщение · #26 |
|
Создано: 26 декабря 2006 07:15 · Личное сообщение · #27 |
|
Создано: 26 декабря 2006 07:20 · Личное сообщение · #28 soho пишет: C = M^(dP^(-1) mod (P-1)) mod P C = M^(dQ^(-1) mod (Q-1)) mod Q это система уравнений.. для упрощения - вычислим: eP = dP^(-1) mod (P-1) eQ = dQ^(-1) mod (Q-1) получим систему: C = M^eP mod P C = M^eQ mod Q которую решим используя кит.теорему об остатках вуаля ;) ----- Тут не могла быть ваша реклама |
|
Создано: 26 декабря 2006 07:24 · Личное сообщение · #29 |
|
Создано: 26 декабря 2006 07:30 · Личное сообщение · #30 |
. 1 . 2 . 3 . >> |
eXeL@B —› Основной форум —› RSA восстановить public exponent или... |