Вверх ↑
Этот топик читают: Гость
Ответов: 975
Рейтинг: 204
#16: 2025-10-03 20:31:52 ЛС | профиль | цитата
Andrej77rv писал(а):
И еще как в файле my_file.txt заменить "nX=" на номер цикла?


Add(MainForm,13473972,70,70)
{
Width=538
Height=248
Point(Handle)
link(onCreate,2052652:doCharset,[])
}
Add(StreamConvertor,5465620,189,84)
{
Mode=7
Point(Data)
link(onResult,3030542:doCreate,[])
}
Add(StrList,9596503,126,28)
{
Strings=#70:X = 0xab62748bd5da065167ae2e2d4c23c241c56b6760e585bd9004a2e0e56bc0aa83|70:Y = 0xf4e098086a9558d9a0f8e99fa8b741076546a01d6d660cbcffc4ea1a2e97138a|0:|71:Gx = 0x5b42d9575cc0874899f6a6a7e2c485aea0159b00b0ab85693d99b6fb0cd578dd|71:Gy = 0xB62C420A25FCBA029D5A521C12EBA6F603309A8C88F42D16AB9C76969A9A2033|0:|82:p = 115792089237316195423570985008687907853269984665640564039457584007908834671663|0:|34:def find_inverse(number, modulus):|35: return pow(number, -1, modulus)|0:|0:|19:for n in range(10):|0:|53: Tochka3 = (Gy - Y) * find_inverse (Gx - X, p) % p|0:|36: X3 = (Tochka3 ** 2 - X - Gx) % p|37: Y3 = (Tochka3 * (X - X3) - Y) % p|0:|18: # print(X3,Y3)|4: |23: print(f'Cycle {n}')|20: print(f'X={X3}')|20: print(f'Y={Y3}')|4: |42: with open('my_file.txt', 'a') as file:|35: file.write(f'Cycle {n}\\n')|32: file.write(f'X={X3}\\n')|32: file.write(f'Y={Y3}\\n')|4: |10: X = X3|10: Y = Y3|
}
Add(WinExec,12628925,301,70)
{
FileName="python"
Mode=0
Point(onConsoleResult)
Point(doConsoleExec)
Point(onConsoleError)
link(onConsoleResult,8540153:doWork2,[])
link(onConsoleError,8540153:doWork3,[(354,97)])
}
Add(Memo,7517007,371,84)
{
Left=75
Top=45
Width=280
Height=200
Align=5
Font=[Lucida Console,12,0,0,204]
Antialiased=1
ScrollBars=3
}
Add(HubEx,8540153,350,84)
{
link(onEvent,7517007:doAdd,[])
}
Add(TempFileStream,3030542,245,84)
{
Extention=".py"
link(onCreate,12628925:doConsoleExec,[])
}
Add(Charset,2052652,126,84)
{
Type=6
link(onCharset,5465620:doConvert,[])
link(Text,9596503:Text,[])
}

карма: 20

0
Ответов: 168
Рейтинг: 1
#17: 2025-10-04 08:38:07 ЛС | профиль | цитата
Gunta писал(а):


Как сделать поиск в фале после каждого цикла сложения точек? Мне нужно найти ответ "X3" в файле есть он или нет (в этом файле много разных значений X).Естественно в файл записывать то, что получилось после сложения точек теперь не нужно, а нужно выполнить поиск уже существующих записей. Я так понял нужно подставить переменную "X3" вместо
"search_term" ? Как это сделать?


with open('my_file.txt') as file:
content = file.read()
print('Строка найдена!' if 'search_term' in content else 'Строка не найдена!')

--- Добавлено в 2025-10-04 08:41:55

Да и если строка найдена то цикл поиска и генерации точек должен прерваться.

Редактировалось 5 раз(а), последний 2025-10-04 09:17:07
карма: 1

0
Ответов: 975
Рейтинг: 204
#18: 2025-10-04 19:16:05 ЛС | профиль | цитата
Andrej77rv писал(а):
Как сделать поиск в фале после каждого цикла сложения точек? Мне нужно найти ответ "X3" в файле есть он или нет (в этом файле много разных значений X).Естественно в файл записывать то, что получилось после сложения точек теперь не нужно, а нужно выполнить поиск уже существующих записей. Я так понял нужно подставить переменную "X3" вместо
"search_term" ? Как это сделать?

Зачем нужен внешний файл? Он здесь лишний.

Add(MainForm,13473972,105,147)
{
Width=538
Height=248
Point(Handle)
link(onCreate,2052652:doCharset,[])
}
Add(StreamConvertor,5465620,210,161)
{
Mode=7
Point(Data)
link(onResult,3030542:doCreate,[])
}
Add(StrList,9596503,161,105)
{
Strings=#70:X = 0xab62748bd5da065167ae2e2d4c23c241c56b6760e585bd9004a2e0e56bc0aa83|70:Y = 0xf4e098086a9558d9a0f8e99fa8b741076546a01d6d660cbcffc4ea1a2e97138a|0:|71:Gx = 0x5b42d9575cc0874899f6a6a7e2c485aea0159b00b0ab85693d99b6fb0cd578dd|71:Gy = 0xB62C420A25FCBA029D5A521C12EBA6F603309A8C88F42D16AB9C76969A9A2033|0:|82:p = 115792089237316195423570985008687907853269984665640564039457584007908834671663|0:|34:def find_inverse(number, modulus):|35: return pow(number, -1, modulus)|0:|0:|19:for n in range(10):|0:|53: Tochka3 = (Gy - Y) * find_inverse (Gx - X, p) % p|0:|36: X3 = (Tochka3 ** 2 - X - Gx) % p|37: Y3 = (Tochka3 * (X - X3) - Y) % p|4: |92: if X3 == 104548114615490916776644477762629648050836310095370582857028105286012007913263:|45: print(f'Строка найдена! цикл - {n}')|13: break|4: |10: X = X3|10: Y = Y3|0:|1: |
}
Add(WinExec,12628925,322,147)
{
FileName="python"
Mode=0
Point(onConsoleResult)
Point(doConsoleExec)
Point(onConsoleError)
Point(onConsoleTerminate)
link(onConsoleResult,8540153:doWork2,[])
link(onConsoleError,8540153:doWork3,[(382,174)])
}
Add(Memo,7517007,399,161)
{
Left=75
Top=45
Width=280
Height=200
Align=5
Font=[Lucida Console,12,0,0,204]
Antialiased=1
ScrollBars=3
}
Add(HubEx,8540153,378,161)
{
link(onEvent,7517007:doAdd,[])
}
Add(TempFileStream,3030542,266,161)
{
Extention=".py"
link(onCreate,12628925:doConsoleExec,[])
}
Add(Charset,2052652,161,161)
{
Type=6
link(onCharset,5465620:doConvert,[])
link(Text,9596503:Text,[])
}

карма: 20

0
Ответов: 168
Рейтинг: 1
#19: 2025-10-04 19:52:46 ЛС | профиль | цитата
Gunta писал(а):
Зачем нужен внешний файл? Он здесь лишний.

Вы не правильно поняли. В файле записаны координаты точек GP, 2GP, 3GP и так далее.. А цикл суммирует другие координаты одной точки и ищет совпадение.

--- Добавлено в 2025-10-04 19:56:13

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

Редактировалось 2 раз(а), последний 2025-10-04 20:09:19
карма: 1

0
Ответов: 975
Рейтинг: 204
#20: 2025-10-05 12:27:52 ЛС | профиль | цитата
Andrej77rv писал(а):
Как сделать поиск в фале после каждого цикла сложения точек?

Выложи небольшой пример этого файла.
А то я что-то совсем потерялся из за твоих объяснений.

Редактировалось 1 раз(а), последний 2025-10-05 12:30:00
карма: 20

0
Ответов: 168
Рейтинг: 1
#21: 2025-10-05 12:49:19 ЛС | профиль | цитата
Gunta писал(а):
Andrej77rv писал(а):
Как сделать поиск в фале после каждого цикла сложения точек?

Выложи небольшой пример этого файла.
А то я что-то совсем потерялся из за твоих объяснений.

Вот этот код складывает точку с точкой. В данном случае GP + GP = 2GP и сохраняет в файл. А мне нужно чтобы не сохранял в файл, а искал в файле уже с существующими другими точками (точки в файле разные и к этому коду не имеют отношение).Поиск нужен только по координате X. Как только координата будет найдена цикл поиска и сложения точек нужно прервать.

Gx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

p = 115792089237316195423570985008687907853269984665640564039457584007908834671663

def find_inverse(number, modulus):
return pow(number, -1, modulus)


for n in range(40):

slope = (3 * Gx ** 2) * find_inverse (2 * Gy, p) % p

X3 = (slope ** 2 - Gx - Gx) % p
Y3 = (slope * (Gx - X3) - Gy) % p




print(f'Cycle {n}')
print(f'X={X3}')
print(f'Y={Y3}')

res1 = hex(X3)
res2 = hex(Y3)


with open('Tochki.txt', 'a') as file:
file.write(f'Cycle {n}\\n')
file.write(f'X={res1}\\n')
#file.write(f'Y={res2}\\n')

Gx = X3
Gy = Y3

--- Добавлено в 2025-10-05 13:12:54

Получается код нужно поменять начиная с
"with open('Tochki.txt', 'a') as file"
Остальное можно не трогать.

Редактировалось 2 раз(а), последний 2025-10-05 13:12:54
карма: 1

0
Ответов: 975
Рейтинг: 204
#22: 2025-10-05 13:40:52 ЛС | профиль | цитата
Andrej77rv писал(а):
Поиск нужен только по координате X. Как только координата будет найдена цикл поиска и сложения точек нужно прервать.

А искать то что? Какое значение? Откуда его брать? И до сих пор не пойму, зачем всё сохранять в файл и потом в нём искать..
карма: 20

0
Ответов: 168
Рейтинг: 1
#23: 2025-10-05 14:44:30 ЛС | профиль | цитата
Gunta писал(а):
Andrej77rv писал(а):
Поиск нужен только по координате X. Как только координата будет найдена цикл поиска и сложения точек нужно прервать.

А искать то что? Какое значение? Откуда его брать? И до сих пор не пойму, зачем всё сохранять в файл и потом в нём искать..

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

--- Добавлено в 2025-10-05 15:02:27

В архиве код который нужно поменять и файл "Tochki.txt" в котором нужно выполнять поиск. Может так будет понятно.

https://disk.yandex.ru/d/fGOPsOl_ZE8zcg

Редактировалось 1 раз(а), последний 2025-10-05 15:02:27
карма: 1

0
Ответов: 975
Рейтинг: 204
#24: 2025-10-05 19:41:38 ЛС | профиль | цитата
Andrej77rv писал(а):
В файл записываются точки по одному алгоритму, код что выше работает по другому. Искать координату X. Конечно маловероятно но хочу попробовать найти совпадения.

Посмотри вот эти ссылки и примеры в них, возможно, часть вопросов уйдёт.
https://cryptodeeptool.ru/publication/
https://github.com/demining/CryptoDeepTools
карма: 20

0
Ответов: 168
Рейтинг: 1
#25: 2025-10-05 20:07:25 ЛС | профиль | цитата
Gunta писал(а):

Посмотри вот эти ссылки и примеры в них, возможно, часть вопросов уйдёт.
https://cryptodeeptool.ru/publication/
https://github.com/demining/CryptoDeepTools

Спасибо. Просто интересно как всё это работает. Но это не то, у меня научный интерес. Ещё никому не удавалось взломать. А если и удавалось то адреса с малым значением приватного ключа.

Редактировалось 4 раз(а), последний 2025-10-05 20:23:50
карма: 1

0
25
Сообщение
...
Прикрепленные файлы
(файлы не залиты)