[CONTEST] - Esercizio RSA

« Older   Newer »
  Share  
The_Jokers
CAT_IMG Posted on 22/3/2011, 00:23     +1   -1




Non è semplice come esercizio ma ci sto provando pure io.
cercare di creare il sistema di crittografia RSA
-Linguaggi: Tutti(compreso assembly)
-Tempo:Tutto quello che volete
-per semplificarvi il lavoro vi lascio un link dove c'è l' operazione
http://it.wikipedia.org/wiki/RSA
vediamo il migliore
 
Top
CAT_IMG Posted on 22/3/2011, 00:50     +1   -1
Avatar

So creare belle gui

Group:
Member
Posts:
374
Reputazione:
0
Location:
C:\Windows\System32 \hacktooth.exe

Status:


tutti i linguaggi tranne Java perchè su wikipedia c'è il codice
 
Top
The_Jokers
CAT_IMG Posted on 22/3/2011, 00:55     +1   -1




si infatti mi sono dimenticato di dirlo grazie hacktooth
 
Top
xMasteRx
CAT_IMG Posted on 22/3/2011, 05:22     +1   -1




beh di prefferenza i contest vengono creati quando hai già un algoritmo fatto da te completo xD
comunque già che c'è il algoritmo su wikipedia il contest può continuare lol
 
Top
Doch88
CAT_IMG Posted on 22/3/2011, 15:28     +1   -1




Appena ho finito di studiarmi MSN e di scrivere una guida a riguardo faccio anche questo xD
 
Top
I.Ren
CAT_IMG Posted on 22/3/2011, 17:04     +1   -1




Soluzione in c#:

SPOILER (click to view)
CODICE
using System;

namespace funzioni
{
       class funzioni /* Funzioni ausiliarie */
       {
               public static bool Primo(int numero)
               {
                       int pos = (numero + 1) / 2;
                       while (pos > 1)
                       {
                               if (numero % pos == 0 && pos != numero && pos != 1) return false;
                               pos--;
                       }
                       return true;
               }
               
               public static int[] Genera_Due_Primi(int min,int max)
               {
                       int[] ret = new int[2];
                       Random ran_class = new Random();
                       int ran1 = ran_class.Next(min,max);
                       while (Primo(ran1) != true)
                       {
                               ran1 = ran_class.Next(min,max);
                       }
                       int ran2 = ran_class.Next(min,max);
                       while (Primo(ran2) != true && ran2 != ran1)
                       {
                               ran2 = ran_class.Next(min,max);
                       }
                       ret[0] = ran1;
                       ret[1] = ran2;
                       
                       return ret;
               }
               
               public static int Genera_coprimo(int piupiccolodi)
               {
                       Random ran_class = new Random();
                       int ran = ran_class.Next(piupiccolodi-1);
                       while (Primo(ran) != true)
                       {
                               ran = ran_class.Next(piupiccolodi-1);
                       }
                       return ran;
               }
               
               public static int Potenza(int base_pot,int esponente)
               {
                       int mol=0;
                   mol = base_pot*base_pot;
                   for (int i=0;i<esponente-2;i++)
                   {
                       mol = mol * base_pot;
                   }
                       return mol;
               }
       }
}

namespace rsa
{
       class Program
       {
               public static void Main(string[] args)
               {
                       /* Inizializzazione dell'algoritmo */
                       int[] gen;
                       int p,q,n,e,d;
                       gen = funzioni.funzioni.Genera_Due_Primi(1,1000);
                       p = gen[0];
                       q = gen[1];
                       n = p*q;
                       e = funzioni.funzioni.Genera_coprimo((p-1)*(q-1));
                       d = (1/e) % ((p-1)-(q-1));
                       /* Applicazione dell'algoritmo */
                       int val = 2;
                       int cript = (funzioni.funzioni.Potenza(val,d))%­n;
                       int decript = (funzioni.funzioni.Potenza(cript,e))%­n;
                       Console.WriteLine(cript);
                       Console.WriteLine(decript);
                       Console.ReadLine();
               }
       }
}


Edited by MHack - 22/3/2011, 19:16
 
Top
-AsCiA-
CAT_IMG Posted on 26/7/2011, 15:17     +1   -1




io un po di tempo fa ho scritto un package chiamato criptopack in Java all'interno c'e' anche una classe RSA.
Non c'entra nulla con l'algoritmo che c'e' su wikipedia,se vale vi posto il source della classe
 
Top
Doch88
CAT_IMG Posted on 26/7/2011, 15:22     +1   -1




CITAZIONE (-AsCiA- @ 26/7/2011, 16:17) 
io un po di tempo fa ho scritto un package chiamato criptopack in Java all'interno c'e' anche una classe RSA.
Non c'entra nulla con l'algoritmo che c'e' su wikipedia,se vale vi posto il source della classe

Mi interesserebbe, grazie =)
 
Top
-AsCiA-
CAT_IMG Posted on 26/7/2011, 15:39     +1   -1




Posto direttamente tutto il package nella sezione JAVA :)

Edited by -AsCiA- - 27/7/2011, 19:58
 
Top
8 replies since 22/3/2011, 00:23   164 views
  Share