/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package rsa;

import java.math.BigInteger;
import java.util.ArrayList;

/**
 *
 * @author Dimitri SEGARD
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        // On initialise toutes les variables dont on va avoir besoin

        RSAKeys keys = new RSAKeys(4096);

        BigInteger[] publicKeys = keys.generatePublicKeys();
        BigInteger privateKey = keys.generatePrivateKey(publicKeys[1]);
       

        // On instancie RSA avec n, d et e
        RSA rsaTest = new RSA(publicKeys[0], privateKey, publicKeys[1]);

        String message = "Ceci est un message à caractère informatif.";

        ArrayList<BigInteger> messageChiffre = rsaTest.chiffrer(message);

        System.out.println("\nMessage chiffré : ");
        for(int i=0; i<messageChiffre.size(); i++) {
            System.out.println(messageChiffre.get(i) + "\n");
        }
        

        System.out.println("Message déchiffré : ");

        System.out.println(rsaTest.dechiffrer(messageChiffre));  

         
    }

   

}
