0Pricing
Cryptology Academy · Lekcja

Analiza mocy: SPA i DPA

Rejestrować ślady poboru mocy i przeprowadzać prostą oraz różnicową analizę mocy

Analiza mocy: SPA i DPA to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Czym jest analiza poboru mocy

Analiza poboru mocy mierzy chwilową moc elektryczną pobieraną przez urządzenie podczas operacji kryptograficznych. Pobór mocy zależy od przetwarzanych danych, ujawniając bity tajnego klucza.

Prosta analiza poboru mocy (SPA)

W SPA pojedynczy ślad poboru mocy analizuje się wizualnie. Potęgowanie square-and-multiply ujawnia wykładnik: krok mnożenia ma inny profil poboru mocy niż sam krok podnoszenia do kwadratu.

Różnicowa analiza poboru mocy (DPA)

DPA wykorzystuje analizę statystyczną wielu śladów. Atakujący ustala hipotezę dotyczącą pojedynczego bitu klucza, dzieli ślady według przewidywanej wartości pośredniej i szuka skoku korelacji.

Model wagi Hamminga

Kluczowe założenie jest takie, że zużycie energii jest proporcjonalne do liczby bitów o wartości 1 (wagi Hamminga) w przetwarzanej wartości. Założenie to dobrze sprawdza się w układach CMOS przy niskich częstotliwościach.

Analiza mocy metodą korelacji (CPA)

CPA wykorzystuje korelację Pearsona między przewidywaną wagą Hamminga wartości pośredniej a zmierzoną mocą w każdej próbce czasowej. Poprawna hipoteza klucza daje najwyższą korelację.

Praktyczne rejestrowanie śladów poboru mocy

Badacze używają rezystora do pomiaru prądu, umieszczonego szeregowo z docelowym urządzeniem, oraz oscyloskopu lub płytki ChipWhisperer do cyfryzacji śladu z częstotliwością 100 MS/s lub wyższą.

DPA na AES: odzyskiwanie klucza

Należy zaatakować pierwszą rundę AES: dla każdego z 256 kandydatów bajtu klucza przewidzieć wagę Hamminga wyniku SubBytes i obliczyć korelację ze śladami. Poprawny bajt wyraźnie się wyróżnia przy korelacji ~0.9+.

DPA wyższych rzędów

Maskowane implementacje dzielą każdą wartość pośrednią na losowe udziały. DPA drugiego rzędu łączy dwa punkty czasowe (udział i maskę) za pomocą funkcji łączącej opartej na iloczynie lub różnicy bezwzględnej.

DPA dla algorytmu square-and-multiply RSA

Bity wykładnika klucza prywatnego RSA odzyskuje się, rozróżniając wzorce poboru mocy odpowiadające operacji samego podnoszenia do kwadratu oraz podnoszenia do kwadratu połączonego z mnożeniem. Wykorzystuje się do tego wiele śladów i atak z wybraną wiadomością.

Narzędzia i platformy

Platforma open source ChipWhisperer zapewnia sprzęt oraz oprogramowanie w Pythonie do przechwytywania i wyrównywania śladów oraz przeprowadzania CPA. Obsługuje urządzenia docelowe wykorzystujące AES, RSA i ECC.

Sprawdzenie wiedzy

W analizie mocy metodą korelacji co odróżnia poprawną hipotezę klucza od błędnych?

Podsumowanie lekcji

SPA analizuje wizualnie pojedynczy ślad, a DPA wykorzystuje statystykę wielu śladów. CPA stosuje korelację Pearsona wraz z modelem wagi Hamminga. Środki zaradcze obejmują maskowanie i randomizowane współrzędne projekcyjne dla ECC.

Często zadawane pytania

Czy lekcja „Analiza mocy: SPA i DPA” jest bezpłatna?

Tak — pełny tekst „Analiza mocy: SPA i DPA” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Analiza mocy: SPA i DPA”?

Rejestrować ślady poboru mocy i przeprowadzać prostą oraz różnicową analizę mocy Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Analiza mocy: SPA i DPA”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Ataki czasowe: wyodrębnianie kluczy z czasu wykonania
  2. Analiza mocy: SPA i DPA
  3. Kanały boczne elektromagnetyczne i akustyczne
  4. Środki zaradcze: maskowanie, zaślepianie i kod o stałym czasie wykonania
← Powrót do Cryptology Academy