Frage zur RSA-Verschlüsselung



  • hallo,
    ich spiel grad n bisschen mit der rsa verschlüsselung rum und versuche, den algorithmus in c zu proggen.

    Die Funktionen zum Verschlüsseln der Klartextnachricht und zum Entschlüsseln der Cryptnachricht hab ich schon mal geschrieben. Leider wird mich nicht der Ursprüngliche Klartext ausgegeben 😡

    Weiss da vielleicht jemand was zum Thema RSA? Habe ich nen Fehler im Algorithmus?

    int crypt(int pt, int n, int e)
    {
    	long int i,pow=pt;
    	long int a=1,b=1;
    
    	//if the exponent is to big, short it!
    	if ( e%2 == 0) {
    
    		for (i=0;i<e/2;i++)
    			a*=pow;
    		for (i=0;i<e/2;i++)
    			b*=pow;
    
    		pt = (a%n)*(b%n);
    	}
    	else {
    
    		for (i=0;i<e/2;i++)
    			a*=pow;
    		for (i=0;i<e/2+1;i++)
    			b*=pow;
    
    		pt = (a%n)*(b%n);
    
    	}
    
    	return (pt%n);
    }
    
    int decrypt(int pt, int d, int n)
    {
    	long int i, pow=pt;
    	long int a=1,b=1;
    
    	if ( d%2 == 0) {
    
    		for (i=0;i<d/2;i++)
    			a*=pow;
    		for (i=0;i<d/2;i++)
    			b*=pow;
    
    		pt = (a%n)*(b%n);
    	}
    	else {
    
    		for (i=0;i<d/2;i++)
    			a*=pow;
    		for (i=0;i<d/2+1;i++)
    			b*=pow;
    
    		pt = (a%n)*(b%n);
    
    	}
    
    	return (pt%n);
    }
    

    Danke schonmal im Vorraus für Eure Mühen

    bash0R



  • ICh hab mir deinen Code jetzt nicht näher angesehen.

    Aber ich hab auch schon mal überlegt den Verschlüsselungsalgo zu verwenden.
    Was mich aber abgeschreckt hat waren die großen Zahlen.
    Überprüfe ob der Wertebereich von long int eh nicht überschritten wird, dass kann bei der Potenzfunktion schnell mal passieren.

    Grüße,
    Harri


Anmelden zum Antworten