RSA-260

Podzielność. Reszty z dzielenia. Kongruencje. Systemy pozycyjne. Równania diofantyczne. Liczby pierwsze i względnie pierwsze. NWW i NWD.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

RSA-260

Post autor: Kera »

Witam
Może dla zabawy, spróbujemy rozłożyć liczbę RSA-260. :mrgreen:
Ukryta treść:    
Jest tu wielu wirtuozów matematycznych, więc co wedle waszej wiedzy możemy wydedukować na temat rozkładu tej najmniejszej jeszcze nie rozłożonej liczby RSA-260 :?:

Dodano po 11 godzinach 42 minutach 3 sekundach:
jeżeli założymy że różnica między dzielnikami \(\displaystyle{ p,q}\) jest nie większa niż najmniejszy dzielnik \(\displaystyle{ p}\) tej liczby, to
\(\displaystyle{ \left(p-1 \right) \cdot \left( q-1\right) \le }\)
Ukryta treść:    
a to sugeruje że maksymalna ilość sprawdzeń wynosi co najwyżej
Ukryta treść:    
Dodano po 4 godzinach 15 minutach 12 sekundach:
wkradł się błąd:
Przyjmujemy że liczba RSA-260 to \(\displaystyle{ N}\)
wiec powinno być
\(\displaystyle{ \mathbf{N}-\left( p-1\right) \cdot \left( q-1\right) \le }\)
Ostatnio zmieniony 24 kwie 2021, o 15:07 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

aby temat się posunął , kto wie ile jest: \(\displaystyle{ 2^{11056412764764833217640542627513115463806044751235007697206874159564411470701000993256364863284873299542950165015700025585371102275727210558105966513471011544592029341062096178787457490939563262434598160261578882144338509684626535368545505278456190515638730266} }\) mod 22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199
Brombal
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 1 gru 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 42 razy

Re: RSA-260

Post autor: Brombal »

Kera pisze: 26 paź 2024, o 00:24 \(\displaystyle{ 2^
{11056412764764833217640542627513115463806044751235007697206874159564411470701000993256364863284873299542950165015700025585371102275727210558105966513471011544592029341062096178787457490939563262434598160261578882144338509684626535368545505278456190515638730266}
}\)
Liczba ta jest malutka, składa się jedynie z
\(\displaystyle{ 3328311886636344082007149864297528507040608916384365726066621371884390529070866452399694854636059726513578502462828607313746914111037621891741207727617545150426399783473054602261391791856409263100297248978415757965546611179621970775544601076935457061912102734}\) cyfr
Do jej zapisania wystarczy jedynie
\(\displaystyle{ 41603898582954301025089373303719106338007611454804571575832767148554881613385830654996185682950746581419731280785357591421836426387970273646765096595219314380329997293413182528267397398205115788753715612230196974569332639745274634694307513461693213273}\) dysków 1TB.

Dodano po 2 godzinach 53 minutach 49 sekundach:
Wykładnik potęgi dwójeczki jest liczbą złożoną.
\(\displaystyle{ 2 \cdot 3 \cdot 67 \cdot 242161 \cdot 1157207827 \cdot 98146005073371191921101489262030698125438694580341826160747426338098764294914542805498946212667799452776182150536997407137600899516771916994829657495693015603038784111226089034749059174162068893198819628743553701570251248504148431540557924439}\)
Ostatnia liczba również jest złożona
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

Dzięki Brombal, ostatnio przypadkowo odkryłem ciekawą zależność i mogę zapewnić, że reszta z tego dzielenia modulo jest podpowiedzią rozkładu RSA-260. Zależność jest wręcz ukryta na widoku, a efektem ubocznym jest "test pierwszości". :)
ksetlak
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40

Re: RSA-260

Post autor: ksetlak »

Hej, Kera, znowu jestem na tym forum :)

W międzyczasie szukałem grodzisk na mapie LIDAR, tworzyłem katalog ciekawych miejsc w okolicy, wrzucałem filmiki z Suno na YouTube itp. - niektóre rzeczy są na stronie ksetlak.pl. Ostatnio przypomniałem sobie o matematyce i tym forum :)

Ja już nie mam dostępu do serwera obsługującego funkcje GMP w języku PHP. Niby mam Pythona na kompie, ale nie umiem w nim programować. Czyli ogólnie nie mam jak operować na dużych liczbach, w szczególności na pierwiastkach dużych liczb.

Widzę, że zacząłeś zabawę z językiem C++. Jeżeli umiesz napisać program (algorytm Fermata) działający na bardzo dużych liczbach, to mogę Ci powiedzieć, o czym kiedyś mówiłem w temacie mojego sposobu na przyspieszenie Fermata.

Pytanie, czy potrafisz napisać od zera w C++ coś takiego na początek:

https://ksetlak.pl/matematyka/Fermat-Ksetlak-dla-Kera.xlsx
https://ksetlak.pl/matematyka/Fermat-Ksetlak-dla-Kera.ods

Jeżeli tak, to mogę Ci pokazać, o czym mówiłem kiedyś.

-------------

Mega ważna rzecz to sprawdzenie , czy w przykładzie z pliku pierwiastek z 5 jest liczbą całkowitą.

Można też sprawdzić, czy 5 jest kwadratem doskonałym. W PHP jest coś takiego jak gmp_perfect_square. I to jesty chyba szybsze niż samodzielne wyciąganie pierwiastka i zabawa z nim.

Dodano po 8 godzinach 23 minutach 29 sekundach:
Tam w algorytmie w PHP używałem pętli, która zatrzymywała się, gdy znalazłem wynik.

Kod: Zaznacz cały

$i = 1;
while ($i < 6) {
  if ($i == 3) break;
  echo $i;
  $i++;
}
Jeśli chcesz się ze mną pobawić, to pomnóż liczbę RSA-260 przez największą możliwą potęgę liczby 2, następnie wyciągnij pierwiastek. Potem sprawdź dokładnie , czy pierwiastek jest ok, czy skrypt wyliczył dobrze.
Ostatnio zmieniony 1 kwie 2025, o 00:03 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

Co to da, że pomnożę liczbę RSA-260 przez największą możliwą potęgę liczby 2, następnie wyciągnę pierwiastek?
ksetlak
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40

Re: RSA-260

Post autor: ksetlak »

Mój sposób to operowanie na na przykład takich liczbach.
Ukryta treść:    
Pierwszym krokiem jest wyciągnięcie z tego pierwiastka (jego części całkowitej, nie potrzebuję liczb po przecinku).

Potem użycie pętli i sprawdzania idealnego kwadratu.

Potem znów pierwiastek.

Więc najpierw warto sprawdzić, czy da się obliczyć pierwiastek. Bo ja np. w Pythonie na kompie nie mogę bez zainstalowania jakiegoś modułu. Kiedyś próbowałem go zainstalować, nie wyszło mi.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

Poniżej pierwiastek zaokrąglony w górę i jego reszta.
Ukryta treść:    
Znam to co chcesz mi przekazać, ale ten sposób jest bardzo nieefektywny. A tym bardziej mnożenie przez potęgę liczby 2.
Jakieś inne pomysły, koledzy matematycy?
Ostatnio zmieniony 3 kwie 2025, o 01:57 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ksetlak
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40

Re: RSA-260

Post autor: ksetlak »

Kera, zgadzam się co do pierwszego modułu mojego algorytmu. Tam jest coś takiego jak na tej hiperboli dla x dodatnich. Większa ilość liczb pierwszych przyspiesza działanie Fermata, ale tylko na początku.

https://www.fisicalab.com/sites/all/files/contenidos/fundmat/grafico_hiperbola.png

Natomiast nie wiem, jak policzyć wydajność drugiego modułu. Więc o wydajności całości algorytmu, w szczególności dla liczb kilkuset cyfrowych, ciężko się wypowiadać. Zwłaszcza że tam można puścić milion pętli jednocześnie, byle serwer to obsłużył.

Rozmawiałem dzisiaj z programistą i przypomniałem sobie, czemu kiedyś rzuciłem ten temat :lol:

Oryginalny algorytm Fermata wygląda tak:

Kod: Zaznacz cały

Wejście: liczba N
Wyjście: dzielnik liczby N najbliższy pierwiastkowi

Jeśli N jest kwadratem liczby naturalnej
   return sqrt(N);  /*Znaleziono dzielnik*/

w przeciwnym razie
   r := ceil(sqrt(N));
   e := r^2 - N; 
   u := 2r + 1; v := 1;
   Dopóki nie znaleziono dzielnika
      Jeśli  e=0
         return (u-v)/2; /*Znaleziono dzielnik*/

      w przeciwnym razie
         Dopóki e<>0
            Dopóki e<0
               e:=e+u;
               u:=u+2;
            Dopóki e>0
               e:=e-v;
               v:=v+2;
Parę linijek kodu w jakimkolwiek języku programowania. A moja modyfikacja to całe strony A4 :D
ksetlak
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40

Re: RSA-260

Post autor: ksetlak »

https://ksetlak.pl/faktoryzacja.php

Napisałem wspomniany skrypt w języku PHP.

Wziąłem na warsztat liczbę RSA-2048.
Ukryta treść:    
Szanse na jej faktoryzację są nikłe, ale nie zerowe
Ostatnio zmieniony 20 kwie 2025, o 18:19 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

Po co od razu z motyką na słońce startować. Podaj coś wartościowego na temat RSA-260. W przypadku RSA-260 już na wstępie wiadomo że różnica między dzielnikami wynosi min.
Ukryta treść:    
i rośnie.
ksetlak
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 23 sty 2024, o 17:00
Płeć: Mężczyzna
wiek: 40

Re: RSA-260

Post autor: ksetlak »

2698317658559544161041722078501334778195667176773966028465758037261188206041712318441449125389912935663860612368708009111201485484742263142326380699307714304077117696807830621394638236055253422359378451608987907037008287239626786573858557875202237146730943430

Ta liczba ma 259 cyfr i powstała w wyniku pomnożenia przez siebie 114 początkowych liczb pierwszych. Jest parzysta, więc można podzielić ją przez 2. Jej wielokrotności są gdzieś w pobliżu liczby RSA-260.
Brombal
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 1 gru 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 42 razy

Re: RSA-260

Post autor: Brombal »

ksetlak pisze: 20 kwie 2025, o 20:31 2...

Ta liczba ma 259 cyfr i powstała w wyniku pomnożenia przez siebie 114 początkowych liczb pierwszych. Jest parzysta, więc można podzielić ją przez 2. Jej wielokrotności są gdzieś w pobliżu liczby RSA-260.
Oznacza to, że sprawdzenie \(\displaystyle{ NWD}\) dla tej liczby i liczby RSA-260 pozwoli na sprawdzenie 114 liczb.
Kera
Użytkownik
Użytkownik
Posty: 139
Rejestracja: 8 lis 2014, o 15:33
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy
Pomógł: 4 razy

Re: RSA-260

Post autor: Kera »

Ukryta treść:    
Ile zajełoby na zwykłym kompie obliczenie algorytmem szykiego potęgowania, tej reszty?
Brombal
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 1 gru 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 42 razy

Re: RSA-260

Post autor: Brombal »

Do zwykłego zapisania tej liczby potrzeba więcej 1TB dysków niż jest atomów we wszechświecie. Chyba że jakaś sztuczka ...
Może by przedstawić drugą liczbę w postaci
\(\displaystyle{ 2^k \pm l}\)
ODPOWIEDZ