Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-10-2013, 23:06   #1
toni00t
Member
 
Iscritto dal: Aug 2012
Messaggi: 268
[JAVA] dubbio crittografia ellittica

ciao ho studiato la teoria delle curve ellittiche e adesso devo applicarle in Java usando bouncycastle provider.
Ho trovato nel web alcuni esempi , ma non riesco a capire quale sia quello più efficace poichè mi è stato detto che la curva deve essere generata casualmente. che cosa significa che una chiave ecc da 192bit è efficace come una rsa da 2048 bit?è inteso come la dimensione del campo finito o della chiave pubblica o privata ? in tal caso come posso sapere e/o scegliere le dimensioni delle coppie di chiavi?
qual'è secondo voi dei 3 esempi quello più efficace (anche come casualità) ?

grazie





Codice:
ECCurve.Fp curve = new ECCurve.Fp( new BigInteger("6277101735386680763835789423207666416083908700390324961279"), new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16));

ECDomainParameters params = new ECDomainParameters( curve, curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G new BigInteger ("6277101735386680763835789423176059013767194773182842284081")); // n


  ECPrivateKeyParameters priKey = new ECPrivateKeyParameters(
        new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d
        params);

    ECPublicKeyParameters pubKey = new ECPublicKeyParameters(
        curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q
        params); 

    AsymmetricCipherKeyPair  p1 = new AsymmetricCipherKeyPair(pubKey, priKey);
    AsymmetricCipherKeyPair  p2 = new AsymmetricCipherKeyPair(pubKey,priKey);


Codice:
ECKeyPairGenerator gen = new ECKeyPairGenerator();
           SecureRandom var = new SecureRandom();
          //X9ECParameters cb = SECNamedCurves.getByName("secp256k1");
           //da scegluiere a seconda del tipo di curva
          X9ECParameters c = X962NamedCurves.getByName("prime256v1");
          ECDomainParameters param = new ECDomainParameters(c.getCurve(), c.getG(), c.getN(), c.getH());
          ECKeyGenerationParameters kg = new ECKeyGenerationParameters(param, var);
          gen.init(kg);
          AsymmetricCipherKeyPair  p1b = gen.generateKeyPair() ;
          AsymmetricCipherKeyPair  p2b = gen.generateKeyPair() ;`







Codice:
`SecureRandom PRNG = SecureRandom.getInstance("SHA256PRNG");`
//this i take from cryptosms 

          int NONCE_SIZE = 64;  
          int PRIV_KEY_SIZE = 64;
          BigInteger privNum = new BigInteger(PRNG
                    .generateSeed(NONCE_SIZE)).abs(); // select k

           ECCurve cFp256v1 = new ECCurve.Fp(
                    new BigInteger("115792089210356248762697446949407573530086143415290314195533631308867097853951"),
                    new BigInteger("ffffffff00000001000000000000000000000000fffffffffffffffffffffffc", 16),
                    new BigInteger("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16));

               /**  X9ECParameters prime256v1b = new X9ECParameters(
                    cFp256v1,
                    cFp256v1.decodePoint(
                        Hex.decode("036b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296")),
                    new BigInteger("ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", 16),
                    BigInteger.valueOf(1),
                    Hex.decode("c49d360886e704936a6678e1139d26b7819f7e90"));*/


                 ECDomainParameters prime256v1 = new ECDomainParameters(
                         cFp256v1,
                         cFp256v1
                                .decodePoint(Hex
                                        .decode("036b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296")),
                        new BigInteger("ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
                                16), BigInteger.valueOf(1), Hex
                        .decode("c49d360886e704936a6678e1139d26b7819f7e90"));

          ECPrivateKeyParameters priv3 = new ECPrivateKeyParameters(privNum,
                  prime256v1);
          ECPublicKeyParameters pb3 = generatePublicKey (priv3 );`
toni00t è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
TSMC produrrà a 2 nm anche in Ari...
Tesla vuole Musk a tutti i costi: propos...
Spotify aumenta i prezzi: da 10,99 a 11,...
Prezzi folli su AliExpress con Choice Da...
IA ed etica: Fastweb+Vodafone fra le pri...
Pannelli solari nuovi o riciclati? Quest...
Instagram cambia le regole per i Live: n...
Windows 11 SE addio: Microsoft stabilisc...
Kali Linux più facile su macOS gr...
È la fine per le antenne 5G? Al l...
WhatsApp, una taglia da 1 milione di dol...
Sembrava spacciato, poi una bici elettri...
Apple Watch Series 1 diventa obsoleto: a...
ho. Mobile, upgrade a 250 GB senza sovra...
Reddit non avrà post a pagamento,...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v