Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
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


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Arrivano le eSIM per iliadbusiness, l'of...
iPhone 17 e 17 Pro senza SIM fisica: non...
Hollow Knight: Silksong, primo record sp...
Public VCF as-a-Service, il nuovo serviz...
GAC annuncia il suo ingresso in Europa: ...
Un rene di maiale potrebbe salvarti la v...
Batterie al litio in aereo, la FAA lanci...
HONOR Magic V5: un tablet a portata di s...
Se non rientrate nei requisiti, non aspe...
È ora di aggiornare Windows 11: c...
Messico: 'aumentare le tasse sui videogi...
Prezzi Amazon a picco: come aggiornare i...
NVIDIA Rubin CPX con 128 GB GDDR7: 30 Pe...
smart #5 Brabus, primo contatto con la s...
Tineco presenta il futuro della pulizia ...
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: 11:19.


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