Soluzione software in Java che genera e salva su file i numeri primi con algoritmo di Fermat e algoritmo di crittografia RSA
Note
Progetto scolastico π Β· IV
Warning
Presenza di BUG nell'UI
Link al javadoc: (link)
Video di Test (link)
Small | Large |
- Seleziona schermata di "Test PrimalitΓ "
- Genera i numeri primi con algoritmo di Fermat
- Salva su file i numeri primi
- Seleziona schermata di "Algoritmo RSA"
- Carica il file con i numeri primi
- Cifra o decifra un messaggio
public void algoritmoFermat(){ long start; //tempo inizio calcolo numeri primi long end; //tempo fine calcolo numeri primi boolean checkPrimo; //verifica se un numero Γ¨ primo //check = true: primo //check = false: composto start = System.currentTimeMillis(); //tempo inizio calcolo numeri primi //ciclo for di i che scorre da min a max for ( BigInteger i = min; //Γ¨ il numero di cui si verifica la primalitΓ i.compareTo(max) <= 0; i = i.add(BigInteger.valueOf(1)) ) { incrementProgressBar.run(); checkPrimo = true; //ciclo for annidato di j che scorre da 2 al divisore massimo for ( BigInteger j = BigInteger.valueOf(2); //Γ¨ il dvisore del numero per la verifica della primalitΓ j.compareTo(BigInteger.valueOf(10)) <= 0; //j compareTo fino al numero j = j.add(BigInteger.valueOf(1))) //verifica se j divisore di i ed in caso aggiorna check = false { if (Thread.currentThread().isInterrupted()) { end = System.currentTimeMillis(); //tempo fine calcolo numeri primi time = Math.abs(start - end) / 1000.0; //tempo durata calcolo numeri primi return; } if (!j.modPow(i.subtract(BigInteger.valueOf(1)), i).equals(BigInteger.valueOf(1))) checkPrimo = false; } if (checkPrimo){ results.add(i.toString()); appendResult.run(); } } end = System.currentTimeMillis(); //tempo fine calcolo numeri primi time = Math.abs(start - end) / 1000.0; //tempo durata calcolo numeri primi }
$ tree
.
βββlib
β βββ flatlaf-3.2.5.jar
βββsrc
βββ org
βββ app
βββ applications
β βββ encryption
β β βββ ReadFile.java
β β βββ TestEncryption.java
β βββ primality
β βββ SavePrimality.java
β βββ TestPrimality.java
βββ windows
β βββ dependencies
β β βββ components
β β β βββ encryption
β β β β βββ dialogs
β β β β β βββ WinErrorInEncryption.java
β β β β β βββ WinErrorOutEncryption.java
β β β β βββ panels
β β β β β βββ WinInEncryption.java
β β β β β βββ WinOutEncryption.java
β β β β β βββ WinSaveEncryption.java
β β β β βββ WinEncryption.java
β β β βββ primality
β β β β βββ dialogs
β β β β β βββ WinErrorInPrimality.java
β β β β β βββ WinErrorOutPrimality.java
β β β β βββ panels
β β β β β βββ WinInPrimality.java
β β β β β βββ WinOutPrimality.java
β β β β β βββ WinSavePrimality.java
β β β β βββ WinPrimality.java
β β β βββ WinHome.java
β β βββ managers
β β βββ WinManagerEncryption.java
β β βββ WinManagerPrimality.java
β βββ WinManager.java
βββ App.java
βββ Main.java
Copyright 2024 Vittorio Piotti (GitHub page) (Personal page)
Version v1.0.0
License GPL-3.0
Copyright 2024 JFormDesigner GmbH
Version v3.2.5
License Apache License 2.0