Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] Generazione chiavi private con Diffie-Hellman su BouncyCastle

    Salve a tutti sto imparando a usare BouncyCastle per la crittografia e mi trovo in difficoltà con l'applicazione dell'algoritmo di Diffie-Hellman, per lo scambio di chiavi private su connessioni non sicure.
    Qui di seguito c'è la porzione di codice che riguarda Diffie-Hellman :

    codice:
    DHParametersGenerator DHParamGenerator = new DHParametersGenerator();
    DHParamGenerator.init(1024, 80, new SecureRandom());	
    //Generazione dei parametri DH
    AsymmetricCipherKeyPairGenerator DHGenerator=new DHKeyPairGenerator();
    DHGenerator.init(new DHKeyGenerationParameters(new SecureRandom(),DHParamGenerator.generateParameters()));
    AsymmetricCipherKeyPair DHKeyPair=DHGenerator.generateKeyPair();
    DHBasicAgreement agreement=new DHBasicAgreement();
    agreement.init(DHKeyPair.getPrivate());
    agreement.calculateAgreement(DHKeyPair.getPublic());
    In pratica creo un generatore di coppie di chiavi (pubblica e privata) per Diffie-Hellman e genero le chiavi. Inizializzo l'agreement con la chiave privata e calcolo il passaggio con la chiave pubblica.
    calculateAgreement restituisce un valore BigInteger, quindi non restituisce una chiave che invece è di tipo byte[].

    A questo punto non riesco a capire come generare la chiave privata.
    Con il provider standard di java bastava fare :

    secretKey=agreement.generateSecret("DES");

    per ottenere la chiave privata. Ma con BouncyCastle?!?!
    qualcuno sa aiutarmi?

    grazie anticipatamente.

    ciao ciao

  2. #2
    adesso sono un po arrugginito, però se non ricordo male, una volta generate le chiavi pubbliche che vengono trasmesse ai due capi, si genera la chiave privata utilizzando il generatore con entrambe le chiavi
    Open your mind. Use Open Source.

  3. #3
    Se ho ben capito l'algoritmo di Diffie Hellman ora a partire da quel valore BigInteger restituito da calculateAgreement(), si dovrebbe risalire a una chiave privata, ma non riesco a trovar nesusn metodo dei generatori di chiavi che accetta un BigInteger per restituire un byte[].

    quindi sono bloccato qui...

    Se qualcuno è gia riuscito a far funzionare questo algoritmo potrebbe postare un esempio cosi che possa capire anche io?

    graziee

    ciao ciao

  4. #4
    up!!!!!!!!!!!!!!!!!!!!!!!!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.