<?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-Verfahren]]></title><description><![CDATA[<p>Hiho,<br />
bin gerade im Informatikunterricht am rumwerkeln für ein RSA-Verfahren. Momentan bin ich bei der Verschlüsselung, die Hauptsache ist für mich allerdings, dass ich es theoretisch verstehe, der Algorithmus ist ja nicht von schlechten Eltern.<br />
Trotzdem will ich das ganze auch in ein Programm umsetzen und ich habe mich entschieden das ganze mit C++ zu gestalten (programmiere sonst nur in Delphi).<br />
Naja die Grundsachen kenne ich, aber irgendwie komme ich mit den ganzen Variablentypen nicht klar, jede Funktion will einen bestimmten Typen und ich muss hin- und herkonvertieren.</p>
<p>Hier ist der Teil für die Verschlüsselung, wär nett, wenn ihr das mal überfliegen und grobe Schnitzer anstreichen könntet ^^</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main() {
    char input;
    cin&gt;&gt;input;

    //Variablen für RSA - Verschlüsselung
    double m;
    m=static_cast&lt;int&gt;(input);
    int c;
    int mod=187;
    double pot2=(pow(m,2));
    int pot2a=static_cast&lt;int&gt;(pot2);
    double pot4=(pow(m,4));
    int pot4a=static_cast&lt;int&gt;(pot4);
    int x=(pot2a%mod);
    int y=(pot4a%mod);
    int j;
    j=static_cast&lt;int&gt;(m);
    int z=(j*x*y);

    c=z%mod;
    //Ausgabe der verschlüsselten Datensätze
    cout&lt;&lt;c&lt;&lt;endl;

    cin.get();
    cin.get();
}
</code></pre>
<p>Btw - wenn man als Wert &quot;X&quot; eingibt, dann ist der ASCII-Code ja 88 und verschlüsselt sollte das ganze mit den Werten aus meinem Programm 11 ergeben. Kommt aber 120 raus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Das nur das erste Zeichen codiert wird weiß ich, bin auch am planen, wie ich das umgestalten kann (brauche da also noch keine Hilfe :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142119/rsa-verfahren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 14:50:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142119.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Mar 2006 21:57:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RSA-Verfahren on Mon, 27 Mar 2006 21:59:14 GMT]]></title><description><![CDATA[<p>Hiho,<br />
bin gerade im Informatikunterricht am rumwerkeln für ein RSA-Verfahren. Momentan bin ich bei der Verschlüsselung, die Hauptsache ist für mich allerdings, dass ich es theoretisch verstehe, der Algorithmus ist ja nicht von schlechten Eltern.<br />
Trotzdem will ich das ganze auch in ein Programm umsetzen und ich habe mich entschieden das ganze mit C++ zu gestalten (programmiere sonst nur in Delphi).<br />
Naja die Grundsachen kenne ich, aber irgendwie komme ich mit den ganzen Variablentypen nicht klar, jede Funktion will einen bestimmten Typen und ich muss hin- und herkonvertieren.</p>
<p>Hier ist der Teil für die Verschlüsselung, wär nett, wenn ihr das mal überfliegen und grobe Schnitzer anstreichen könntet ^^</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main() {
    char input;
    cin&gt;&gt;input;

    //Variablen für RSA - Verschlüsselung
    double m;
    m=static_cast&lt;int&gt;(input);
    int c;
    int mod=187;
    double pot2=(pow(m,2));
    int pot2a=static_cast&lt;int&gt;(pot2);
    double pot4=(pow(m,4));
    int pot4a=static_cast&lt;int&gt;(pot4);
    int x=(pot2a%mod);
    int y=(pot4a%mod);
    int j;
    j=static_cast&lt;int&gt;(m);
    int z=(j*x*y);

    c=z%mod;
    //Ausgabe der verschlüsselten Datensätze
    cout&lt;&lt;c&lt;&lt;endl;

    cin.get();
    cin.get();
}
</code></pre>
<p>Btw - wenn man als Wert &quot;X&quot; eingibt, dann ist der ASCII-Code ja 88 und verschlüsselt sollte das ganze mit den Werten aus meinem Programm 11 ergeben. Kommt aber 120 raus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Das nur das erste Zeichen codiert wird weiß ich, bin auch am planen, wie ich das umgestalten kann (brauche da also noch keine Hilfe :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025167</guid><dc:creator><![CDATA[Needa]]></dc:creator><pubDate>Mon, 27 Mar 2006 21:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to RSA-Verfahren on Tue, 28 Mar 2006 06:21:51 GMT]]></title><description><![CDATA[<p>lass am besten das ganze double-Gegurke weg und schreib dir eine eigene Potenzierungsfunktion, die den Modulo gleich mit einarbeitet (am effektivsten geht es wohl, wenn du jeweils den Exponenten halbierst und die Basis quadrierst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025230</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 28 Mar 2006 06:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to RSA-Verfahren on Tue, 28 Mar 2006 09:03:45 GMT]]></title><description><![CDATA[<p>Gute Idee - hab ich im Eifer des Gefechts wohl vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Danke für den Tipp.</p>
<p>Edit:</p>
<p>Cool, jetzt funktioniert das alles perfekt <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/1025305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025305</guid><dc:creator><![CDATA[Needa]]></dc:creator><pubDate>Tue, 28 Mar 2006 09:03:45 GMT</pubDate></item><item><title><![CDATA[Reply to RSA-Verfahren on Tue, 28 Mar 2006 16:16:07 GMT]]></title><description><![CDATA[<p>Hiho.<br />
Habe das jetzt fast fertig gestellt. Code ist dieser hier:</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
using namespace std;

void crypt(string&amp; input) {
     int i=0;
         while (input[i]!=0) {
          input[i]=(input[i]*(((input[i]*input[i])%187)*((input[i]*input[i]*input[i]*input[i])%187)))%187;
          ++i;
          }  }

int main() {
    string input;
    cin&gt;&gt;input;

    crypt(input);  

    int zahl;
    cout&lt;&lt;zahl&lt;&lt;endl;

    cin.get();
    cin.get();

}
</code></pre>
<p>Ich will jetzt aber den String als ASCII-Code/Zahl ausgelesen haben, Problem ist nur, dass ich nicht genau weiß wie. In einem anderen Programm, dass ich geschrieben habe:</p>
<pre><code class="language-csharp">#include &lt;iostream&gt;
using namespace std;

int main() {
    char input;
    cin&gt;&gt;input;

    int m;
    m=static_cast&lt;int&gt;(input);

    cout&lt;&lt;m&lt;&lt;endl;
}
</code></pre>
<p>funktioniert es - der Unterschied ist halt char -&gt; int und string -&gt; int.<br />
Habt ihr 'nen Rat für mich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025693</guid><dc:creator><![CDATA[Needa]]></dc:creator><pubDate>Tue, 28 Mar 2006 16:16:07 GMT</pubDate></item></channel></rss>