Newsgroup: it.comp.sicurezza.crittografia
Titolo: Crittografia a curva ellittica

Volevo fare un po' di esperimenti con gli algoritmi di crittografia a curva
ellittica, in particolare utilizzarli per scambiare una chiave di sessione
AES.
Innanzitutto un chiarimento: quando si parla di ECC ci si riferisce ad un
solo algoritmo oppure ad una famiglia di algoritmi ?
Sviluppo sotto Linux in C/C++, avrei trovato queste librerie:
Libecc (
http://libecc.sourceforge.net/
) mi sembra poco matura.
Questa (
http://users.pandora.be/stes/ecc.html
) è una patch a OpenSSL... non
mi sembra il massimo per un progetto autonomo.
borZoi (
http://dragongate-technologies.com/products.html
) mi è sembrata la
più completa. Implementa l'algoritmo "Elliptic Curve Diffie-Hellman Key
Agreement Scheme" ed include anche AES e SHA-1.
Ce ne sono altre ? Ne avete provata qualcuna, quale mi consigliate ?
Grazie !!
-- 
LF

 Ce ne sono altre ? Ne avete provata qualcuna, quale mi consigliate ?
Tra quelle che ho usato la più veloce e agevole da usare e senz'altro MIRACL
(C e C++ con l'overload degli operatori) che mi pare sia utilizzabile anche
sotto Linux (oltre che winzozz).
Cristiano

 utilizzabile anche sotto Linux (oltre che winzozz).
L'ho appena scaricata, dovrebbe compilare sotto Linux, sto provando proprio
ora... non ho ben capito se la licenza permette di includere la libreria in
una applicazione distribuita sotto GPL... ma per fare qualche prova va
bene.
Sul sito di MIRACL ho trovato queste equivalenze:
256 bit ECC = 128 bit AES
512 bit ECC = 256 bit AES
Quindi per scambiare una chiave AES256 dovrei usare una chiave da 512 bit,
giusto ? Per curiosità, quale sarebbe approssimativamente l'equivalente
RSA/DSA di tali chiavi (mi sa che si va molto in alto) ?
Se hai da consigliarmi documenti, risorse su ECC in generale... fai
pure !! :)
-- 
LF

 sotto Linux (oltre che winzozz).
Prima o poi finirò il porting sotto cygwin, spero... ma già libgmp sta
dando i suoi problemi, almeno sulla parte C++.
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkBxKIkACgkQaJiCLMjyUvtZPwCdE/igoVPfTOLflgRcGCmWUU50
bNUAmgKpmxzQ+LglyHvUiRqmYaub3F72
=YWlA
-----END PGP SIGNATURE-----

 RSA/DSA di tali chiavi (mi sa che si va molto in alto) ?
Tieni conto che tutte queste sono "stime" forse anche molto imprecise,
ma avevo letto (non ricordo dove!) che:
64 bit di sicurezza ~ RSA 1000
128 bit di sicurezza ~ RSA 3000
256 bit di sicurezza ~ RSA 15000
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkBxMSQACgkQaJiCLMjyUvsqUwCgvz/g6i67NOmnU1lCdFYS92I0
EE0AniDwz/+a9Z9JT95IxxWlFxYLA3ub
=OXM2
-----END PGP SIGNATURE-----

 256 bit di sicurezza ~ RSA 15000
I valori a sinistra si riferiscono ad algoritmi simmetrici (AES) o ECC ?
-- 
LF

 esattamente di cosa parli e non solo l'ambito)
Io ho trovato questi:
ECDSA, Elliptic Curve Digital Signature Algorithm
ECIES, Elliptic Curve Integrated Encryption Scheme
Elliptic Curve Diffie-Hellman Key Agreement Scheme 
Standard: ANSI X9.62, FIPS 186-2, IEEE P1363
-- 
LF

 pure !! :)
Li avrei, ma sono alcune decine di MB compressi di documenti (in inglese).
Credo che una ricerca con google sia più fruttuosa.
Cristiano

 Credo che una ricerca con google sia più fruttuosa.
Ok, grazie ancora !!
-- 
LF

 I valori a sinistra si riferiscono ad algoritmi simmetrici (AES) o ECC ?
Il "livello di sicurezza" è una misura un po' arbitraria che significa
bene o male "per romperlo servono in media 2^(n-1) tentativi".
Per alcune definizioni di "algoritmo simmetrico sicuro" il livello di
sicurezza di un qualsiasi algoritmo simmetrico (se è sicuro, ovvero non
ha "bug") è uguale a questo valore (ad esempio la definizione di
Schneier dice che un algoritmo è sicuro quando è "computazionalmente
indistinguibile da una mappatura casuale", ovviamente solo per chi non
ha la chiave).
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkBx4zIACgkQaJiCLMjyUvt6qACeI8og9NnZfh2jlqSa9WrdWGkf
8ogAnjB+lXBD5v0zKKaJOzjyD8YP1gfw
=bFC2
-----END PGP SIGNATURE-----