OT, ale tohle me zajima
> pro šifrovací algoritmus RSA, který je předchůdcem modernějšího algoritmu ECDSA, na který se postupně přechází.
Jsou elipticke krivky (EC*) povazovany nezavislymi odborniky za bezpecne a lepsi nez RSA? Nedavno jsem to resil u sifrovani VPN...Teorie je, ze vydane a doporucovane hodnoty NIST/NSA mohou mit "vhodne zvolene" parametry, a tim silne omezit teoretickou robustnost EC
1. ECC je rodina algoritmů, NIST křivky jsou jen jedny z mnoha, viz např. https://safecurves.cr.yp.to/
2. AFAIK ECC jsou ekvivalentně silné s RSA při výrazně menších velikostech klíčů a podpisů.
Diky moc! Tohle je opravdu zajimavy prehled.
> Unfortunately, there is a gap between ECDLP difficulty and ECC security. None of these standards do a good job of ensuring ECC security. There are many attacks that break real-world ECC without solving ECDLP. The core problem is that if you implement the standard curves, chances are you're doing it wrong:
I kdyz z teoretickeho hlediska jsou ECC lepsi, zustanu radsi u sw jeste nejakou dobu "ala debian", implementace RSA jsou overene
Jinak ten standard(?) safe-curves je opravdu uzitecny projekt, jsem prekvapen kolik "officialne" doporucovanych krivek ma nejake slabiny, i jak mohou byt rozlicne!
Standard EDDSA pro DNSSEC už máme (RFC 8080). Teď bude ještě potřeba zapracovat na podpoře v crypto knihovnách a následně v DNS serverech.
K Ed25519 se objevil zajímavý fakt: Bernstein dlouho tvrdil, že klíče/body na křivce se nemusí validovat (je to napsáno mimochodem i v RFC 8032), ale není to pravda.
U Monero měny se objevila tato zranitelnost: pokud je "key image" bod, který nemá řád křivky (2**252 + 27742317777372353535851937790883648493), je možné udělat double-spend nebo vytváření coinů jen tak: https://getmonero.org/2017/05/17/disclosure-of-a-major-bug-in-cryptonote-based-currencies.html
Nikde nebylo zveřejněno, jak přesně exploit funguje, hádali jsme, že bod nízkého řádu umožní jednoduchý bruteforce signatur.
Pokud vím, tak ne.
Jediná zmínka je na https://cr.yp.to/ecdh.html o "contributory behavior", kde se píše o testování bodů s malým řádem.
Monero používá mírnou modifikaci EdDSA (hash je Keccak místo SHA2 a seed se nehashuje než se z něho stane privátní klíč). Ale i s původní EdDSA nikomu nic nebrání použít jako veřejný klíč bod s malým řádem a vytvářet k němu podpisy. Nicméně falšování vlastních podpisů není většinou moc užitečné.
V případě Monero tam spíš půjde o to, jak jsou zkonstruované ring signatures.
Tak jde o Curve25519, ne o Ed25519. Vše v Monero protokolu je nad Curve25519.
Zranitelnost se týká one-time ring signatures. Problém nevalidních bodů spočívá v tom, že je možné vytvořit vícero "key images" I k stejnému veřejnému klíči P a projde to verifikací. Key image I má zabraňovat double-spendu (něco jako sériové číslo), ověřuje se při přesouvání. Když ale k páru klíčů je možné vytvořit vícero key images, je možný double-spend.
@rsa
"...implementace RSA jsou overene..."
tak urcite.... :o))))
https://blog.cryptographyengineering.com/2013/09/20/rsa-warns-developers-against-its-own/
https://twitter.com/mattblaze/status/381091674606534656
Dobra volba je ed25519.
PS: doporuceni od AMERICKYHO NISTu ma pro Evropana nulovou hodnotu (spis teda zapornou) a "varovani" soudruhu z NSA ohledne "ECC neni bezpecne" komentoval Moxie Marlinspike slovy "lidem z NSA zda se ujel vlak tak aspon lidi strasi aby nepouzivali crypto se kterym si NSA nevi rady"
AFAIK ECC jsou ekvivalentně silné s RSA při výrazně menších velikostech klíčů a podpisů.
To sa hovori. V skole bolo treba na vysvetlenie a dokaz RSA a znamych utokov 2 hodiny, na ECC asi 30 hodin. Nie je vnimana sila iba dosledok komplexity pre cloveka? Da sa relativna sila ECC voci RSA dokazat?
Ona se vůbec těžko dokazuje výpočetní náročnost. Doufáme a věříme, že pro RSA ani ECC neexistuje algoritmus pro prolomení v lineárním čase na klasickém (nekvantovém) počítači. Ale kdyby se to někomu povedlo dokázat, dokáže tím zároveň P≠NP.
Taky se čeká, že prolomení RSA ani ECC není NP-complete. Opět, kdyby se to někomu povedlo dokázat, dokáže tím P≠NP. A kdyby to náhodou bylo NP-complete, znamenal by Shorův algoritmus s příchodem kvantových počítačů hrozbu nejen pro dnes převládající asymetrické algoritmy, ale i pro symetrické algoritmy a postkvantové algoritmy – vlastně by zbyly unconditionally secure algoritmy (Vernamova šifra, Shamir Secret Sharing Scheme, …) a vše ostatní by rozluštil kvantový počítač v polynomiálním čase.
A dokázat relativní sílu ECC vůči RSA bude asi ještě vetší oříšek než dokazovat asymptotickou složitost, kde můžete zanedbat některé konstanty…
ECC je slabší při louskání kvantovými počítači a o dost náchylnější na side-channel útok sledováním doby výpočtu (řeší se umělým stanovením minimální doby výpočtu). Na druhou stranu jsou řádově bezpečnější před brute-force útoky, resp. můžete použít výrazně kratší klíče při stejné bezpečnosti.
> Na druhou stranu jsou řádově bezpečnější před brute-force útoky, resp. můžete použít výrazně kratší klíče při stejné bezpečnosti.
To jsou dvě různé věci. Brute force proti asymetrickým šifrám nemá moc smysl, tím nerozluštíte ani 512b RSA. Všechny asymetrické šifry, o kterých vím, mají výrazně rychlejší způsob prolomení než bruteforce.