<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[RSA verschlüsselungsverfahren]]></title><description><![CDATA[<p>ich will ein Programm schreiben, dass so wie es hier auf wikipedia erklärt wird<br />
(<a href="http://de.wikipedia.org/wiki/RSA-Kryptosystem" rel="nofollow">http://de.wikipedia.org/wiki/RSA-Kryptosystem</a>)<br />
den privaten und den öffentlichen Schlüssel einer RSA Schlüsselerzeugung generiert.<br />
Also die variablen N, e und d korrekt berechnet.</p>
<p>------------------<br />
-----rsa.h--------<br />
------------------</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
using namespace std;

  #ifndef _rsa_h_
  #define _rsa_h_

int random();
int pn();
double N(int p, int q);
double phi(int p, int q);
double e(double ephi);
double d(double ee, double ephi);
double a = 0;
double b = 0;
int p = 0;
int q = 0;
double NN = 0;
double ee = 0;
double ephi = 0;
double dek = 0;
double dd = 0;

int prim[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
//int prim[] = {101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997};
//int prim[] = sehr lange primzahlenliste die im finalen programm genutzt werden soll!

double mod(double a, double b);
double ggT(double x,double y);
double x = 0;
double y = 0;
double temp = 0;

  #endif
</code></pre>
<p>--------------------<br />
----rsa.cpp---------<br />
--------------------</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
#include &quot;rsa.h&quot;
using namespace std;

// anzahl primzahlen in der finalversion Einhundertneunzehntausendsiebenhundertsechsunddreißig primzahlen der groesse 17000000 - 19000000
// e groesser 65537

int random()
{
    int z1 = rand();
    int z2 = rand();
    int seed = mod(z1*z2, 10); // hier sollen eigentlich nacher zahlen bis zu 110000 gezogen werden
    return seed; // übergabe der Zufallszahl
}

int pn() // sucht eine zufällige Primzahl aus der Primzahlenliste (siehe headerdatei)
{
    int primzahl = prim[random()];
    return primzahl;
}

double N(int p, int q) // Berechnet den RSA-Modul bzw. die Kreisgröße in der nacher zum ver- und entschlüsseln potenziert wird.
{
    double N1 = p*q;
    return N1;
}

double phi(int p, int q) // Berechnet die Eulersche phi-Funktion von N
{
    double phi_N = (p-1)*(q-1);
    return phi_N;
}

double e(double ephi) // eine zu phi teilerfremde Zahl e, für die gilt 1 &lt; e &lt; phi.
{
    int e1 = 1;
    {
        while(ggT (e1, ephi) != 1)
            {
            e1++;
            if (e1 &gt; ephi)
            {
                break; // ich hab später diese break abfrage gemacht um zu testen ob er überhaupt einmal durchzählt...
            }
        }
    }
    return e1;
}

double d(double ee, double ephi) // Berechnet den Entschlüsselungsexponenten d als Multiplikativ Inverses von e bezüglich des Moduls phi.

{
    int k = -1;
    dek = 1;
    while(mod(ee*dek, ephi) != 1)
    {
        dek = (1-k*ephi)/ee;
        k--;
        if (k &lt; -2*ephi)
        {
        break;
        }
    }
    return dek;
}

/*
int pot(int b, int e)
{
    int keep = b;
    while (i &lt; e)
    {
        b = b * keep;
        i++;
    }
    return b;
}
*/

double mod(double a, double b) // berechnet den Modulo von double Werten
{
	while(a&gt;b)
	{
		a = a-b;
	}
	return a;
}

double ggT(double x,double y) // berechnet größten gemeinsamen Teiler
{
    while(y != 0)
    {
        temp = mod(x, y);
        x = y;
        y = temp;
    }
    return x;
} 

int main ()
{
    //srand (4453);
    srand (time(NULL)); // Intialisierung der srand Funktion
    int p = pn(); // ab hier werden alle wichtigen variablen berechnet und dann ausgegeben
    int q = pn();
    while (p == q)
    {
        p = pn();
        q = pn();
    }
    cout &lt;&lt; p &lt;&lt; &quot;\n&quot; &lt;&lt; q &lt;&lt; &quot;\n&quot;;
    NN = N(p, q);
    cout &lt;&lt; NN &lt;&lt; &quot;\n&quot;;
    ephi = phi(p, q);
    cout &lt;&lt; ephi &lt;&lt; &quot;\n&quot;;
    ee = e(ephi);
    cout &lt;&lt; ee &lt;&lt; &quot;\n&quot;;
    dd = d(ee, ephi);
    cout &lt;&lt; dd &lt;&lt; &quot;\n&quot;;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>----------------------------------------------------<br />
------------ende------------------------------------<br />
----------------------------------------------------</p>
<p>bei mir berechnet das Programm die Variablen p und q richtig.<br />
NN und ephi werden auch richtig berechnet.</p>
<p>jedoch scheitert die Berechnung von ee und dd.<br />
ich hatte auch schon eine Version dieses programms erstellt wo e1 und k<br />
zufällig ausgewählt werden bis sie passen. Dabei kam aber keine Lösung heraus<br />
und das Programm rechnete sich Tod. Ich dachte das dies daran liegen könnte,<br />
dass es immer eine sekunde dauert bis die nächste Zufallzahl gewürfelt wird.<br />
Wenn mir jemand sagen könnte ob dies überhaupt der fall ist, das pro sekunde nur eine Zahl gezogen wird und ob man dies beschleunigen kann, wäre ich ihm sehr dankbar.</p>
<p>wenn jemand andere Verbesserungsvorschläge hat oder gar den Fehler in meinem Programm findet dann bitte hier posten...</p>
<p>Kennt jemand schon ein gut programmiertes RSA Schlüsselerzeugungsprogramm, dann schickt bitte ein Link oder ne Mail oder so. oder postet es hier rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296435/rsa-verschlüsselungsverfahren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 21:09:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296435.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 04 Dec 2011 21:01:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Sun, 04 Dec 2011 21:15:57 GMT]]></title><description><![CDATA[<p>ich will ein Programm schreiben, dass so wie es hier auf wikipedia erklärt wird<br />
(<a href="http://de.wikipedia.org/wiki/RSA-Kryptosystem" rel="nofollow">http://de.wikipedia.org/wiki/RSA-Kryptosystem</a>)<br />
den privaten und den öffentlichen Schlüssel einer RSA Schlüsselerzeugung generiert.<br />
Also die variablen N, e und d korrekt berechnet.</p>
<p>------------------<br />
-----rsa.h--------<br />
------------------</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
using namespace std;

  #ifndef _rsa_h_
  #define _rsa_h_

int random();
int pn();
double N(int p, int q);
double phi(int p, int q);
double e(double ephi);
double d(double ee, double ephi);
double a = 0;
double b = 0;
int p = 0;
int q = 0;
double NN = 0;
double ee = 0;
double ephi = 0;
double dek = 0;
double dd = 0;

int prim[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
//int prim[] = {101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997};
//int prim[] = sehr lange primzahlenliste die im finalen programm genutzt werden soll!

double mod(double a, double b);
double ggT(double x,double y);
double x = 0;
double y = 0;
double temp = 0;

  #endif
</code></pre>
<p>--------------------<br />
----rsa.cpp---------<br />
--------------------</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
#include &quot;rsa.h&quot;
using namespace std;

// anzahl primzahlen in der finalversion Einhundertneunzehntausendsiebenhundertsechsunddreißig primzahlen der groesse 17000000 - 19000000
// e groesser 65537

int random()
{
    int z1 = rand();
    int z2 = rand();
    int seed = mod(z1*z2, 10); // hier sollen eigentlich nacher zahlen bis zu 110000 gezogen werden
    return seed; // übergabe der Zufallszahl
}

int pn() // sucht eine zufällige Primzahl aus der Primzahlenliste (siehe headerdatei)
{
    int primzahl = prim[random()];
    return primzahl;
}

double N(int p, int q) // Berechnet den RSA-Modul bzw. die Kreisgröße in der nacher zum ver- und entschlüsseln potenziert wird.
{
    double N1 = p*q;
    return N1;
}

double phi(int p, int q) // Berechnet die Eulersche phi-Funktion von N
{
    double phi_N = (p-1)*(q-1);
    return phi_N;
}

double e(double ephi) // eine zu phi teilerfremde Zahl e, für die gilt 1 &lt; e &lt; phi.
{
    int e1 = 1;
    {
        while(ggT (e1, ephi) != 1)
            {
            e1++;
            if (e1 &gt; ephi)
            {
                break; // ich hab später diese break abfrage gemacht um zu testen ob er überhaupt einmal durchzählt...
            }
        }
    }
    return e1;
}

double d(double ee, double ephi) // Berechnet den Entschlüsselungsexponenten d als Multiplikativ Inverses von e bezüglich des Moduls phi.

{
    int k = -1;
    dek = 1;
    while(mod(ee*dek, ephi) != 1)
    {
        dek = (1-k*ephi)/ee;
        k--;
        if (k &lt; -2*ephi)
        {
        break;
        }
    }
    return dek;
}

/*
int pot(int b, int e)
{
    int keep = b;
    while (i &lt; e)
    {
        b = b * keep;
        i++;
    }
    return b;
}
*/

double mod(double a, double b) // berechnet den Modulo von double Werten
{
	while(a&gt;b)
	{
		a = a-b;
	}
	return a;
}

double ggT(double x,double y) // berechnet größten gemeinsamen Teiler
{
    while(y != 0)
    {
        temp = mod(x, y);
        x = y;
        y = temp;
    }
    return x;
} 

int main ()
{
    //srand (4453);
    srand (time(NULL)); // Intialisierung der srand Funktion
    int p = pn(); // ab hier werden alle wichtigen variablen berechnet und dann ausgegeben
    int q = pn();
    while (p == q)
    {
        p = pn();
        q = pn();
    }
    cout &lt;&lt; p &lt;&lt; &quot;\n&quot; &lt;&lt; q &lt;&lt; &quot;\n&quot;;
    NN = N(p, q);
    cout &lt;&lt; NN &lt;&lt; &quot;\n&quot;;
    ephi = phi(p, q);
    cout &lt;&lt; ephi &lt;&lt; &quot;\n&quot;;
    ee = e(ephi);
    cout &lt;&lt; ee &lt;&lt; &quot;\n&quot;;
    dd = d(ee, ephi);
    cout &lt;&lt; dd &lt;&lt; &quot;\n&quot;;

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>----------------------------------------------------<br />
------------ende------------------------------------<br />
----------------------------------------------------</p>
<p>bei mir berechnet das Programm die Variablen p und q richtig.<br />
NN und ephi werden auch richtig berechnet.</p>
<p>jedoch scheitert die Berechnung von ee und dd.<br />
ich hatte auch schon eine Version dieses programms erstellt wo e1 und k<br />
zufällig ausgewählt werden bis sie passen. Dabei kam aber keine Lösung heraus<br />
und das Programm rechnete sich Tod. Ich dachte das dies daran liegen könnte,<br />
dass es immer eine sekunde dauert bis die nächste Zufallzahl gewürfelt wird.<br />
Wenn mir jemand sagen könnte ob dies überhaupt der fall ist, das pro sekunde nur eine Zahl gezogen wird und ob man dies beschleunigen kann, wäre ich ihm sehr dankbar.</p>
<p>wenn jemand andere Verbesserungsvorschläge hat oder gar den Fehler in meinem Programm findet dann bitte hier posten...</p>
<p>Kennt jemand schon ein gut programmiertes RSA Schlüsselerzeugungsprogramm, dann schickt bitte ein Link oder ne Mail oder so. oder postet es hier rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153049</guid><dc:creator><![CDATA[st00x]]></dc:creator><pubDate>Sun, 04 Dec 2011 21:15:57 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Mon, 05 Dec 2011 09:14:58 GMT]]></title><description><![CDATA[<p>Da, wo du &quot;double&quot; verwendest, sollte man einen Ganzzahltypen verwenden. Die Ganzzahlen, die damit in der Praxis dargestellt werden, besitzen typischerweise mindestens 1024 Bits. Mit den &quot;eingebauten Typen&quot; (long int oder long long int) kommst Du also nicht aus.</p>
<p>RSA ist in vielen Krypto-Bibliotheken implementiert. Und wenn Du RSA nicht gerade zu Übungszwecken implementieren willst, rate ich Dir auch dazu, solche Bibliotheken zu nutzen. Fehlerfreie Implementierungen von Kryptoverfahren ohne Sicherheitslücken sind nicht trivial. Am besten nimmt man da schon fertige und gut getestete Open Source Bibliotheken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153163</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 05 Dec 2011 09:14:58 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Mon, 05 Dec 2011 16:06:28 GMT]]></title><description><![CDATA[<p>Danke für den Tipp mit dem Ganzzahlentypen.</p>
<p>appropos Sicherheitslücken. Genau da liegt ja der Hund begraben.<br />
Ich muss jetzt nicht unbedingt ein eigenes Verschlüsselungsprogramm schreiben,<br />
aber ich will zumindest auf das einen blick werfen, welches ich nacher verwende.<br />
Damit ich selber gucken kann ob es Sicherheitslücken gibt. Das mag zwar paranoid klingen, da ich wahrscheinlich selber nicht in der Lage bin ein Kryptoverfahren ohne Sicherheitslücken zu schreiben, aber ich bin quasie von meiner Firma dazu verpflichet Kryptoverfahren nicht einfach so ohne weiteres zu verwenden.</p>
<p>Aber das ist schonmal ein gute idee auf Krypto-Bibliotheken zurückzugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153401</guid><dc:creator><![CDATA[st00x]]></dc:creator><pubDate>Mon, 05 Dec 2011 16:06:28 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Mon, 05 Dec 2011 16:16:44 GMT]]></title><description><![CDATA[<p>st00x schrieb:</p>
<blockquote>
<p>Damit ich selber gucken kann ob es Sicherheitslücken gibt.</p>
</blockquote>
<p>Nichts gegen dich, aber das ist für Normalsterbliche quasi aussichtslos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Schau dir lieber an, was andere, die sich ein Leben lang mit Verschlüsselung beschäftigen, zu den Algorithmen sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153407</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Mon, 05 Dec 2011 16:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Mon, 05 Dec 2011 16:25:07 GMT]]></title><description><![CDATA[<p>Zu dem oben genannten möchte ich noch einiges hinzufügen:</p>
<p>- math.h und time.h sind keine C++-Header. Nur weil dein Compiler auch die C-Header kennt, bekommst du keine Fehlermeldung. Nimm besser &lt;cmath&gt; und &lt;ctime&gt;<br />
- in rsa.h bindest du völlig unnötigerweise 3 Header ein, die du dort garnicht benutzt.<br />
- in rsa.h hast du ein <code>using namespace std;</code> . Das ist erstens völlig unnötig (du benutzt in dem header nichts aus std), zweitens hebelt es den Nutzen von namespaces in allen Sourcen aus, in die du rsa.h einbindest. Schlimmstenfalls bedeutet das, dass du durch ein simples #include den Sinn der ganzen Source ändern kannst, weil das lookup plötzlich std:: Funktionen findet und benutzt. Kurz: kein using in Headern. Lass es einfach.<br />
- Deine Variablen und Funktionen habe so unheimlich sprechende Namen. a, b, d, e, p, q, N... völlig irritierend, dass du eine Funktion random() genannt hast. 6 Zeichen ist ja elend lang. r hätte auch gereicht. &lt;/ironie&gt; Im ernst: veruch mal das Program zu verstehen, ohne den Algorithmus von Wikipedia nebenbei liegen zu haben. Gib den Variablen sprechendere Namen. Das spart dir später viele Kopfschmerzen, vor allem weil du ja rausfinden willst, ob es Sicherheitslücken gibt.</p>
<p>st00x schrieb:</p>
<blockquote>
<p>Ich muss jetzt nicht unbedingt ein eigenes Verschlüsselungsprogramm schreiben,<br />
aber ich will zumindest auf das einen blick werfen, welches ich nacher verwende.</p>
</blockquote>
<p>Dafür gibts open source-Bibliotheken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>da ich wahrscheinlich selber nicht in der Lage bin ein Kryptoverfahren ohne Sicherheitslücken zu schreiben, aber ich bin quasie von meiner Firma dazu verpflichet Kryptoverfahren nicht einfach so ohne weiteres zu verwenden.</p>
</blockquote>
<p>Wenn du nicht in der Lage bist, selber eins ohne Sicherheitslücken zu schreiben, heißt das, dass du in deiner eigenen Implementierung eines bekannten Kryptoverfahrens (wie RSA) die Sicherheitslücken zu finden. Wie willst du dann erst beurteilen, ob es in einer fremden Implementierung Sicherheitslücken gibt? Wenn deine Firma dir verbietet, &quot;einfach so&quot; ein Kryptoverfahren zu benutzen (was durchaus nachvollziehbar ist), wende dich an denjenigen, der bei euch dafür zuständig ist, dass er dir eins nennt (und dir die Bibliothek zukommen lässt). Wenn ihr keinen Zuständigen habt und ihr das Kryptoverfahren braucht, dann geht an einer geeigneten Fortbildung nichts vorbei. Ob über eine Schulung oder Internetrecherche, müssen deine Chefs entscheiden. Aber du als Laie (ich geh mal davon aus dass du das bist, sonst würdest du nicht anfangen, es selbst zu implementieren) kannst da so oder so keine Entscheidungen treffen, wenigstens nicht, indem du dir Code anguckst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153411</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 05 Dec 2011 16:25:07 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Tue, 06 Dec 2011 09:19:22 GMT]]></title><description><![CDATA[<p>...wobei p, q, N, e, d Standardbezeichnungen für die RSA-Zahlen sind.</p>
<p>p, q: zwei Primzahlen,<br />
n = p<em>q, (&quot;Modulus&quot;)<br />
e</em>d = 1 mod phi(n) wobei e und d der Ver- bzw Entschlüsselungsexponent ist</p>
<p>(wenn ich das noch richtig im Kopf habe)</p>
<p>Andere Bezeichnungen dafür würde ich also nicht nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153722</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to RSA verschlüsselungsverfahren on Tue, 06 Dec 2011 10:55:24 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>...wobei p, q, N, e, d Standardbezeichnungen für die RSA-Zahlen sind.</p>
<p>p, q: zwei Primzahlen,<br />
n = p<em>q, (&quot;Modulus&quot;)<br />
e</em>d = 1 mod phi(n) wobei e und d der Ver- bzw Entschlüsselungsexponent ist</p>
<p>(wenn ich das noch richtig im Kopf habe)</p>
<p>Andere Bezeichnungen dafür würde ich also nicht nehmen.</p>
</blockquote>
<p>Okay, das hab ich schon fast befürchtet, allerdings könnte man da einen entsprechenden Text bzw. Link auf eien Doku zufügen.</p>
<p>Was mir allerdings jetzt erst aufgefallen ist: Den Header darf man nicht mehr als einmal im Projekt einbinden. Die ganzen globalen Variablen darin (sowieso schon nicht gut) haben externe linkage, bei mehr als einer TU mit dem Header gibts also ein problem mit der ODR...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153762</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 06 Dec 2011 10:55:24 GMT</pubDate></item></channel></rss>