· Magdalena Wachowicz · Bezpieczeństwo
Kryptografia w erze transformacji cyfrowej.
Od klasycznego RSA do nowoczesnego Curve25519
Transformacja Cyfrowa (TC) to fundamentalny i ciągły proces, który wykracza poza samo wdrażanie nowych technologii. W tym dynamicznym krajobrazie fundamentem bezpieczeństwa i wydajności cyfrowego biznesu jest odpowiedni wybór algorytmów kryptograficznych. Przez lata dominował jeden z najstarszych i najbardziej rozpowszechnionych algorytmów – RSA. Dziś jednak, w obliczu rosnących wymagań dotyczących wydajności i zasobów, naturalnym następcą stała się kryptografia krzywych eliptycznych, w szczególności Curve25519. W SparkSome dostrzegamy te trendy i dlatego stale monitorujemy ewolucję zabezpieczeń, aby wspierać naszych klientów w podejmowaniu kluczowych decyzji technologicznych.
Certyfikat SSL może wykorzystywać zarówno klasyczny algorytm RSA (żółta kłódka), jak i nowoczesny ECDSA oparty na krzywych eliptycznych (niebieska kłódka). Wybór algorytmu ma bezpośredni wpływ na wydajność i bezpieczeństwo połączeń HTTPS.
Faktoryzacja liczb pierwszych fundamentem szyfrowania RSA
Algorytm RSA, opracowany w 1977 roku, to fundament bezpieczeństwa w internecie, będący jednym z najstarszych i najszerzej stosowanych systemów szyfrowania. Jako algorytm asymetryczny, wykorzystuje parę kluczy: publiczny do szyfrowania danych i prywatny do ich odszyfrowania.
Podstawą jego bezpieczeństwa jest trudność faktoryzacji dużych liczb pierwszych.
W uproszczeniu, algorytm generuje dwie bardzo duże liczby pierwsze p i q, których iloczyn
$$n = p \cdot q$$
jest publiczny.
O ile pomnożenie tych liczb jest trywialne, o tyle rozłożenie n na pierwotne p i q jest obliczeniowo ekstremalnie trudne dla współczesnych komputerów. To sprawia, że klucz prywatny, ukryty w p i q, pozostaje bezpieczny.
Przykład liczbowy "od A do Z" doskonale ilustruje ten mechanizm: Aby zaszyfrować wiadomość $m=42$, Generowanie par kluczy: prywatny - publiczny
Bob generuje klucze:
- Wybiera liczby pierwsze: $p=11$, $q=13$.
- Oblicza moduł: $n=p\cdot q=11\cdot13=143$.
- Oblicza funkcję Eulera: $\varphi(n)=(p-1)(q-1)=10\cdot12=120$.
- Wybiera potęgę publiczną e, która nie ma wspólnych dzielników z $\varphi(n)$, np. $e=7$.
- Znajduje potęgę prywatną d, która jest odwrotnością modularną e modulo $\varphi(n)$, czyli liczbę spełniającą: $d \cdot e \equiv 1$ (mod 120). Używając rozszerzonego algorytmu Euklidesa, znajdujemy d:
- $120 = 7 \cdot 17 + 1$
- $1 = 120 - 7 \cdot 17$
- Zatem $7 \cdot (-17) \equiv 1$ (mod 120).
- Ponieważ $120 - 17 = 103$, to $d \equiv -17 \equiv 103$.
- Klucz publiczny to $(e,n)=(7,143)$, a prywatny to $(d,n)=(103,143)$.
Szyfrowanie (u Alicji):
Chcemy zaszyfrować wiadomość m = 42 używając klucza publicznego dostarczonego Alicji przez Boba: $c=m^e$ mod $n=42^7$ mod 143 Używamy metody "potęgowania przez podnoszenie do kwadratu", redukując wynik modulo 143 na każdym kroku:
- $42^2 = 1764 \equiv 48$ (mod 143)
- $42^4 \equiv 48^2 = 2304 \equiv 16$ (mod 143)
- $42^7 = 42^{4+2+1} \equiv (42^4) \cdot (42^2) \cdot (42^1) \equiv 16 \cdot 48 \cdot 42$ (mod 143)
- $16 \cdot 48 = 768 \equiv 53$ (mod 143)
- $53 \cdot 42 = 2226 \equiv 81$ (mod 143)
Wynik szyfrowania to c = 81.
Deszyfrowanie (u Boba):
Bob chce odszyfrować wiadomość c = 81 używając swojego klucza prywatnego: $m=c^d$ mod $n=81^{103}$ mod 143
Rozbijamy potęgę 103 na sumę potęg dwójki: $103 = 64 + 32 + 4 + 2 + 1$. Następnie obliczamy kolejne potęgi:
- $81^2 \equiv 6561 \equiv 126$ (mod 143)
- $81^4 \equiv 126^2 \equiv 3$ (mod 143)
- $81^8 \equiv 3^2 \equiv 9$ (mod 143)
- $81^{16} \equiv 9^2 \equiv 81$ (mod 143)
- $81^{32} \equiv 81^2 \equiv 126$ (mod 143)
- $81^{64} \equiv 126^2 \equiv 3$ (mod 143)
Składamy wynik: $81^{103} \equiv (81^{64}) \cdot (81^{32}) \cdot (81^4) \cdot (81^2) \cdot (81^1) \equiv 3 \cdot 126 \cdot 3 \cdot 126 \cdot 81$ (mod 143)
- $3 \cdot 126 = 378 \equiv 92$
- $92 \cdot 3 = 276 \equiv 133$
- $133 \cdot 126 = 16758 \equiv 27$
- $27 \cdot 81 = 2187 \equiv 42$
Otrzymaliśmy z powrotem oryginalną wiadomość $m = 42$.
Schemat blokowy algorytmu RSA krok po kroku: Bob generuje parę kluczy (publiczny i prywatny), Alicja szyfruje wiadomość m=42 kluczem publicznym otrzymując szyfrogram c=81, a Bob odszyfrowuje go kluczem prywatnym, odzyskując oryginalną wiadomość.
Mimo swojej solidności, RSA jest algorytmem zasobożernym. Operacje na dużych liczbach wymagają znacznej mocy obliczeniowej, a generowanie kluczy jest czasochłonne (ze względu na to że są to duże liczby pierwsze). Współcześnie, aby zapewnić bezpieczeństwo, wymagane są klucze o długości co najmniej 2048 lub 3072 bitów. W środowiskach o ograniczonych zasobach, takich jak urządzenia IoT, implementacja RSA bywa problematyczna.
Dlaczego Curve25519 to przyszłość bezpiecznego szyfrowania
Kryptografia krzywych eliptycznych (ECC) to podejście, które wykorzystuje zupełnie inną konstrukcję matematyczną niż RSA. Zamiast arytmetyki liczb całkowitych, opiera się na własnościach punktów na krzywej eliptycznej nad ciałem skończonym. Krzywa eliptyczna to pewna krzywa opisana równaniem, np. $y^2 = x^3 + ax + b$, która posiada strukturę grupy. Dzięki temu można dodawać do siebie punkty leżące na takiej krzywej.
Klucz prywatny to losowa liczba całkowita $n$, a klucz publiczny to punkt $Q$ na krzywej, otrzymany poprzez pomnożenie ustalonego punktu bazowego $G$ przez tę liczbę, zgodnie ze wzorem:
$$Q = n \cdot G$$
Obliczenie punktu publicznego $Q$ z klucza prywatnego $n$ jest proste. Natomiast odzyskanie $n$, znając jedynie punkty $G$ i $Q$, jest niezwykle trudnym problemem, zwanym problemem logarytmu dyskretnego na krzywej eliptycznej (ECDLP).
Kluczową zaletą kryptografii krzywych eliptycznych jest efektywność. Klucz 256-bitowy ECC zapewnia podobny poziom ochrony jak klucz RSA o długości około 3000 bitów. Mniejsze klucze to także mniej operacji na dużych liczbach, co przekłada się na większą szybkość i mniejsze zużycie mocy obliczeniowej. Ma to ogromne znaczenie dla urządzeń o ograniczonych zasobach, takich jak smartfony czy urządzenia IoT. Wśród wielu krzywych eliptycznych, szczególną popularność zdobyła Curve25519, zaprojektowana przez Daniela J. Bernsteina.
Szczegółowa analiza wymiany kluczy w mechanizmie ECDH/X25519
Aby dokładnie zrozumieć, jak to działa, przeanalizujmy uproszczony przykład, w którym dwie strony, Alicja i Bob, tworzą wspólny, tajny sekret, nie ujawniając swoich kluczy prywatnych.
Ustalenia:
- Pracujemy modulo 97.
- Krzywa eliptyczna: $y^2 = x^3 + 2x + 3$ (mod 97).
- Punkt bazowy: $G = (21, 24)$.
Wizualizacja krzywej eliptycznej y²=x³+2x+3 w ciele skończonym mod 97. Niebieskie punkty to wszystkie punkty spełniające równanie krzywej. Czerwony punkt G=(21,24) to punkt bazowy (generator), od którego rozpoczynają się operacje kryptograficzne w algorytmie ECDH.
Krok 1. Klucze prywatne i publiczne
- Alicja wybiera prywatnie $a = 5$, a jej klucz publiczny to $A = a \cdot G = 5G$.
- Bob wybiera prywatnie $b = 7$, a jego klucz publiczny to $B = b \cdot G = 7G$.
Krok 2. Obliczanie wspólnego sekretu Obie strony, niezależnie od siebie, obliczą ten sam punkt na krzywej, który stanie się ich wspólnym sekretem.
Alicja liczy swój sekret $S_A$: $S_A = a \cdot B = 5 \cdot (7G) = 35G$
Bob liczy swój sekret $S_B$: $S_B = b \cdot A = 7 \cdot (5G) = 35G$ Sekret jest ten sam, ponieważ mnożenie w ECC jest przemienne: $a \cdot (b \cdot G) = b \cdot (a \cdot G)$. Jest to serce algorytmu ECDH.
Krok 3. Weryfikacja na małych liczbach (przykładowe obliczenia) Obliczmy punkt $2G$, aby pokazać, jak wyglądają operacje: $2G$: $x_1 = 21, y_1 = 24$
Nachylenie stycznej $m$: $m = (3x_1^2 + 2) \cdot (2y_1)^{-1} = (3 \cdot 21^2 + 2) \cdot (2 \cdot 24)^{-1} \equiv 66$ (mod 97)
Nowa współrzędna $x$: $x_{2G} = m^2 - 2x_1 = 66^2 - 2 \cdot 21 = 4314 \equiv 46$ (mod 97)
Nowa współrzędna $y$: $y_{2G} = m(x_1 - x_{2G}) - y_1 = 66(21 - 46) - 24 = -1674 \equiv 72$ (mod 97)
Zatem, $2G = (46, 72)$.
Korzystając z tych samych zasad, można obliczyć, że zarówno $5G \cdot 7G = (3, 91)$, jak i $7G \cdot 5G = (3, 91)$. Jest to dowód na to, że obie strony dochodzą do tego samego, tajnego sekretu, bez konieczności jego wcześniejszego uzgadniania. W prawdziwym algorytmie X25519, z punktu będącego wspólnym sekretem tworzy się finalny klucz sesyjny, którym szyfrowane są dane.
Schemat blokowy wymiany kluczy ECDH (Elliptic Curve Diffie-Hellman) na uproszczonym przykładzie. Alicja i Bob niezależnie obliczają ten sam wspólny sekret S=(3,91), mimo że nigdy nie ujawnili swoich kluczy prywatnych. W prawdziwym algorytmie X25519 liczby są znacznie większe, a z punktu sekretu tworzy się klucz sesyjny np. za pomocą HKDF.
Porównanie RSA i Curve25519 – kluczowe różnice
Poniższa tabela zestawia najważniejsze parametry obu algorytmów, aby ułatwić podjęcie świadomej decyzji technologicznej.
| Parametr | RSA | Curve25519 / ECC |
| Rok powstania | 1977 | 2005 (Curve25519) |
| Podstawa matematyczna | Faktoryzacja dużych liczb pierwszych | Problem logarytmu dyskretnego na krzywej eliptycznej (ECDLP) |
| Minimalna bezpieczna długość klucza | 2048–3072 bitów | 256 bitów |
| Rozmiar podpisu cyfrowego | ~256–384 bajtów (RSA-2048/3072) | ~64 bajty (Ed25519) |
| Szybkość generowania kluczy | Wolna (wymaga znajdowania dużych liczb pierwszych) | Szybka (losowy skalar 256-bitowy) |
| Zużycie CPU przy handshake TLS | Wysokie | Niskie (nawet 10× szybsze) |
| Przydatność dla IoT / urządzeń mobilnych | Ograniczona (duże klucze, dużo obliczeń) | Doskonała (małe klucze, niskie zużycie zasobów) |
| Obsługa w TLS 1.3 | Tak (kompatybilność wsteczna) | Tak (rekomendowana, X25519) |
| Odporność na ataki kanałem bocznym | Wymaga dodatkowych zabezpieczeń | Wbudowana odporność (constant-time) |
| Zagrożenie kwantowe (algorytm Shora) | Tak – zagrożony | Tak – zagrożony |
Standard w nowoczesnych protokołach
Popularność Curve25519 gwałtownie wzrosła. W 2014 roku OpenSSH wprowadził mechanizm wymiany kluczy oparty na Curve25519 (tzw. ECDH Curve25519). Dziś większość nowoczesnych bibliotek kryptograficznych i protokołów posiada zaimplementowaną Curve25519. Przykładowo, protokół TLS 1.3 wymaga obsługi algorytmu X25519, a komunikatory takie jak Signal i WhatsApp wykorzystują ją do szyfrowania end-to-end. Wymianę kluczy poprzez Curve25519 wykorzystuje też nowoczesny protokół VPN WireGuard.
Ewolucja, wydajność i rola w transformacji cyfrowej
Chociaż RSA i ECC służą temu samemu celowi, ich odmienne podstawy matematyczne prowadzą do różnych implikacji technicznych i biznesowych. W nowoczesnej Transformacji Cyfrowej, gdzie kluczowe są wydajność i skalowalność, podejście oparte na ECC zyskuje przewagę. Klucze ECC są znacznie krótsze, a mimo to zapewniają porównywalny poziom bezpieczeństwa. Mniejszy klucz to mniejszy certyfikat SSL i szybszy transfer danych podczas uzgadniania połączenia. Algorytmy ECC są zazwyczaj szybsze i zużywają mniej zasobów procesora niż klasyczne RSA. Przekłada się to na niższe koszty infrastruktury, zwłaszcza w skalowalnych środowiskach chmurowych, oraz lepsze doświadczenia użytkowników.
Mimo że RSA jest historycznie dojrzałą technologią i wciąż jest powszechnie obsługiwany, nowoczesne protokoły, takie jak TLS 1.3 czy SSH, coraz częściej faworyzują krzywe eliptyczne. Curve25519 stała się de facto standardem w wielu zastosowaniach, m.in. w komunikatorach (Signal, WhatsApp) i blockchain (np. Bitcoin używa algorytmu ECDSA, opartego na krzywej secp256k1). RSA nadal odgrywa rolę jako mechanizm zapasowy lub dla kompatybilności wstecznej, ale w nowych projektach dominuje już podejście oparte na ECC, które lepiej odpowiada na potrzeby współczesnego, cyfrowego świata.
Bezpieczeństwo w świecie kwantowym – wyzwania dla działów IT
Wybór między RSA a Curve25519 nie jest już dylematem czysto technicznym, lecz strategiczną decyzją biznesową. Należy jednak pamiętać, że zarówno RSA, jak i obecnie stosowane algorytmy oparte na krzywych eliptycznych, w obliczu pojawienia się potężnych komputerów kwantowych, są teoretycznie zagrożone (algorytm Shora). Z tego powodu społeczność kryptograficzna aktywnie pracuje nad algorytmami postkwantowymi (PQC), które zastąpią obecne standardy.
Kluczowe wnioski – co wybrać w praktyce
Decyzja o wyborze algorytmu kryptograficznego powinna uwzględniać kontekst technologiczny i biznesowy organizacji. Oto najważniejsze rekomendacje:
-
Nowe projekty powinny domyślnie wykorzystywać Curve25519/X25519 do wymiany kluczy oraz Ed25519 do podpisów cyfrowych. Zapewnia to najlepsze połączenie wydajności i bezpieczeństwa.
-
Istniejące systemy oparte na RSA nie wymagają natychmiastowej migracji, o ile klucze mają długość co najmniej 2048 bitów. Warto jednak planować stopniowe przejście na ECC.
-
Środowiska IoT i mobilne zdecydowanie powinny stosować ECC – mniejsze klucze oznaczają krótsze komunikaty, mniejsze zużycie energii i szybsze nawiązywanie połączeń.
-
Kryptografia postkwantowa (PQC) to temat, który warto obserwować już teraz. NIST finalizuje standardy algorytmów odpornych na ataki kwantowe (m.in. CRYSTALS-Kyber i CRYSTALS-Dilithium), które w przyszłości zastąpią zarówno RSA, jak i ECC.
-
Podejście hybrydowe – w okresie przejściowym wiele organizacji wdraża schematy łączące klasyczny algorytm (np. X25519) z algorytmem postkwantowym, aby zabezpieczyć się przed scenariuszem „harvest now, decrypt later".
W SparkSome prowadzimy bieżący monitoring tych zmian, aby nasi klienci byli gotowi na nadchodzące wyzwania. Zapewniamy, że w naszej pracy opieramy się na najnowszych i najbezpieczniejszych technologiach. W praktyce jednak, oba algorytmy – RSA i Curve25519 – przy odpowiednim doborze kluczy, są dziś uznawane za bezpieczne i stanowią solidną podstawę ochrony danych. Naszym celem jest pomoc w wyborze rozwiązania, które najlepiej odpowiada na potrzeby Twojej firmy, gwarantując zarówno wydajność, jak i najwyższy poziom bezpieczeństwa.
FAQ – Kryptografia RSA i Curve25519 w praktyce
1. Czym różni się RSA od Curve25519?
RSA opiera się na trudności faktoryzacji dużych liczb pierwszych i wymaga kluczy o długości co najmniej 2048 bitów. Curve25519 wykorzystuje problem logarytmu dyskretnego na krzywej eliptycznej i osiąga porównywalny poziom bezpieczeństwa przy kluczu zaledwie 256-bitowym. W praktyce ECC jest szybsze i wymaga mniej zasobów obliczeniowych.
2. Czy RSA jest nadal bezpieczny w 2025 roku?
Tak, pod warunkiem stosowania kluczy o odpowiedniej długości – minimum 2048 bitów, a rekomendacja to 3072 lub 4096 bitów. RSA pozostaje bezpieczny wobec klasycznych komputerów, jednak w nowych projektach zaleca się przechodzenie na ECC ze względu na lepszą wydajność.
3. Co to jest X25519 i czym różni się od Curve25519?
Curve25519 to konkretna krzywa eliptyczna zaprojektowana przez Daniela J. Bernsteina. X25519 to protokół wymiany kluczy Diffie-Hellmana (ECDH) zaimplementowany na tej krzywej. Natomiast Ed25519 to algorytm podpisów cyfrowych oparty na tej samej krzywej w innym wariancie (Edwards curve).
4. Dlaczego Curve25519 jest szybsza od RSA?
Operacje na krzywej eliptycznej wymagają znacznie mniejszych liczb niż RSA. Klucz 256-bitowy ECC odpowiada bezpieczeństwu klucza RSA o długości ~3072 bitów. Mniejsze liczby oznaczają szybsze mnożenie, mniejsze zużycie CPU i krótszy czas nawiązywania połączenia (handshake).
5. Czy mogę używać Curve25519 w certyfikatach SSL/TLS?
Tak. Protokół TLS 1.3 obsługuje X25519 do wymiany kluczy, a Ed25519 może być używany do podpisów cyfrowych w certyfikatach. Większość nowoczesnych serwerów HTTP (nginx, Apache, Caddy) i przeglądarek obsługuje te algorytmy. Certyfikaty ECDSA oparte na krzywych eliptycznych są coraz popularniejsze.
6. Czym jest kryptografia postkwantowa i dlaczego ma znaczenie?
Kryptografia postkwantowa (PQC) to nowa generacja algorytmów odpornych na ataki komputerów kwantowych. Algorytm Shora, uruchomiony na wystarczająco potężnym komputerze kwantowym, mógłby złamać zarówno RSA, jak i ECC. NIST standaryzuje algorytmy PQC (m.in. CRYSTALS-Kyber, CRYSTALS-Dilithium), które w przyszłości zastąpią obecne rozwiązania.
7. Co to jest atak „harvest now, decrypt later"?
To strategia, w której atakujący przechwytuje zaszyfrowane dane dzisiaj z zamiarem ich odszyfrowania w przyszłości, gdy będzie dysponował komputerem kwantowym. Dlatego dane o długim okresie poufności (np. tajemnice państwowe, dane medyczne) powinny być już teraz chronione z uwzględnieniem zagrożeń kwantowych.
8. Jakie protokoły korzystają z Curve25519?
Curve25519 jest szeroko stosowana m.in. w:
- TLS 1.3 – wymiana kluczy X25519
- SSH (OpenSSH od wersji 6.5) – Ed25519 do uwierzytelniania
- Signal Protocol – szyfrowanie end-to-end w Signal i WhatsApp
- WireGuard – nowoczesny protokół VPN
- Tor – anonimizacja ruchu sieciowego
- Matrix/Element – szyfrowane komunikatory
9. Czy ECC jest odpowiednia dla urządzeń IoT?
Tak, to jedna z największych zalet ECC. Małe klucze (256 bitów vs 2048+ bitów RSA) oznaczają mniejsze zużycie pamięci, szybsze obliczenia i niższe zużycie energii. Jest to kluczowe dla urządzeń IoT z ograniczonymi zasobami, takich jak czujniki, sterowniki czy urządzenia wearable.
10. Jak wygenerować klucz Ed25519 do SSH?
Wystarczy polecenie: ssh-keygen -t ed25519. Wygenerowany klucz jest krótszy i bezpieczniejszy niż tradycyjny klucz RSA. Klucz publiczny Ed25519 ma zaledwie 68 znaków (base64), podczas gdy RSA-4096 to ponad 700 znaków.
11. Co to jest funkcja Eulera i jak jest używana w RSA?
Funkcja Eulera φ(n) oblicza ilość liczb mniejszych od n, które są z nim względnie pierwsze. Dla n = p·q, gdzie p i q to liczby pierwsze, φ(n) = (p-1)(q-1). W RSA funkcja ta jest kluczowa do obliczenia klucza prywatnego d, jako odwrotności modularnej klucza publicznego e modulo φ(n).
12. Dlaczego Curve25519 jest odporniejsza na ataki kanałem bocznym?
Curve25519 została zaprojektowana z myślą o implementacji w czasie stałym (constant-time). Oznacza to, że czas wykonania operacji kryptograficznych nie zależy od wartości klucza prywatnego, co utrudnia ataki polegające na analizie czasu obliczeń, zużycia energii czy emisji elektromagnetycznej. RSA wymaga dodatkowych zabezpieczeń (np. blinding), aby osiągnąć podobną odporność.
13. Czy Bitcoin używa Curve25519?
Nie bezpośrednio. Bitcoin używa algorytmu ECDSA opartego na krzywej secp256k1, która jest inna niż Curve25519. Obie krzywe należą do rodziny krzywych eliptycznych, ale różnią się parametrami i właściwościami. Nowsze projekty blockchain coraz częściej sięgają po Ed25519 (np. Solana, Cardano, Stellar).
14. Co to jest ECDH i jak działa wymiana kluczy?
ECDH (Elliptic Curve Diffie-Hellman) to protokół uzgadniania wspólnego sekretu. Obie strony generują klucze prywatne, obliczają klucze publiczne (mnożąc punkt bazowy przez klucz prywatny), wymieniają się kluczami publicznymi, a następnie każda strona mnoży otrzymany klucz publiczny przez swój klucz prywatny. Dzięki przemienności mnożenia skalarnego obie strony uzyskują ten sam wspólny sekret.
15. Jaka jest różnica między szyfrowaniem a podpisem cyfrowym?
Szyfrowanie zapewnia poufność – przekształca dane w formę nieczytelną dla osób trzecich. Podpis cyfrowy zapewnia autentyczność i integralność – pozwala zweryfikować, kto jest autorem wiadomości i czy nie została ona zmodyfikowana. RSA może realizować oba zadania. W ekosystemie krzywych eliptycznych X25519 służy do wymiany kluczy (poufność), a Ed25519 do podpisów cyfrowych (autentyczność).
16. Czy warto migrować z RSA na ECC w istniejącej infrastrukturze?
Zależy od kontekstu. Jeśli organizacja korzysta z RSA-2048+ i nie ma problemów z wydajnością, pilna migracja nie jest konieczna. Warto jednak planować przejście na ECC przy każdej modernizacji infrastruktury – nowe certyfikaty SSL, nowe klucze SSH, nowe serwery VPN. Migracja przynosi korzyści w postaci szybszych połączeń i mniejszego obciążenia serwerów.
17. Co to jest problem logarytmu dyskretnego na krzywej eliptycznej (ECDLP)?
ECDLP to problem matematyczny polegający na znalezieniu liczby n, znając punkt bazowy G i punkt Q = n·G na krzywej eliptycznej. Operacja mnożenia skalarnego (obliczenie Q z n i G) jest szybka, ale operacja odwrotna (znalezienie n z G i Q) jest obliczeniowo niewykonalna dla odpowiednio dużych parametrów. To właśnie ta asymetria stanowi fundament bezpieczeństwa kryptografii krzywych eliptycznych.
18. Jak SparkSome pomaga w wyborze algorytmów kryptograficznych?
SparkSome monitoruje ewolucję standardów kryptograficznych i wspiera klientów w podejmowaniu decyzji technologicznych. Pomagamy ocenić obecną infrastrukturę, zaplanować migrację do nowoczesnych algorytmów ECC i przygotować strategię uwzględniającą nadchodzące zagrożenia kwantowe. Nasze podejście łączy wiedzę techniczną z perspektywą biznesową.
19. Czy mogę używać RSA i ECC jednocześnie?
Tak, jest to powszechna praktyka w okresie przejściowym. Serwer TLS może oferować zarówno certyfikat RSA, jak i ECDSA, a klient wybiera preferowany algorytm. OpenSSH pozwala mieć jednocześnie klucze RSA i Ed25519. Takie podejście zapewnia kompatybilność wsteczną przy jednoczesnym wsparciu nowoczesnych algorytmów.
20. Jakie są rekomendacje NIST dotyczące długości kluczy kryptograficznych?
Według NIST (SP 800-57), minimalne zalecane długości kluczy to:
- RSA: 2048 bitów (bezpieczeństwo do ~2030), 3072 bitów (do ~2030+)
- ECC: 256 bitów (odpowiednik RSA-3072)
- AES (szyfrowanie symetryczne): 128 bitów (standardowe), 256 bitów (wysoki poziom bezpieczeństwa)
Dla danych o długim okresie poufności NIST zaleca już teraz rozważenie algorytmów postkwantowych.