Mówca
Opis
Kryptografia krzywych eliptycznych (ECC) stanowi jeden z filarów nowoczesnych systemów zabezpieczających dane. Jej kluczowa rola w dzisiejszej informatyce wynika ze zdolności do zapewnienia tego samego poziomu bezpieczeństwa co w przypadku klasycznych systemów (np. opartych na problemie faktoryzacji) przy użyciu znacznie krótszych, a tym samym wydajniejszych obliczeniowo kluczy. Jest ona niezbędnym narzędziem w protokołach bezpiecznej komunikacji (np. TLS), podpisach cyfrowych czy kryptowalutach.
Celem referatu jest omówienie –- od strony matematycznej -– definicji i podstawowych własności krzywych eliptycznych, przybliżenie pojęć związanych z bezpieczeństwem protokołów kryptograficznych bazujących na tych krzywych, a wreszcie przedstawienie działania i zastosowań protokołu wymiany kluczy ECDH (Elliptic Curve Diffie-Hellman).
W części pierwszej zaprezentujemy klasyczny protokół Diffiego-Hellmana, wyjaśnimy, na czym polega problem logarytmu dyskretnego, oraz wskażemy motywację do poszukiwania rozwiązań wydajniejszych niż ten protokół. Następnie zajmiemy się podstawami matematycznymi -- od definicji krzywej eliptycznej nad ciałem liczb rzeczywistych po kluczową dla kryptografii grupę punktów na krzywej eliptycznej nad ciałem skończonym. Zaprezentujemy również implementację edukacyjną, która zwizualizuje dodawanie punktów. W dalszej części referatu omówimy problem logarytmu dyskretnego na krzywych eliptycznych, sklasyfikujemy ataki na systemy kryptograficzne oparte na ECC i sformułujemy kryteria bezpieczeństwa dla takich systemów. Przedstawimy ponadto działanie protokołu ECDH i zaprezentujemy pewne standardowe krzywe stosowane powszechnie do ochrony danych. Na koniec zademonstrujemy implementację realizującą protokół ECDH przy użyciu nowoczesnej biblioteki cryptography. Dzięki temu będziemy mogli zestawić teorię z jej praktycznymi zastosowaniami.