<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>algorithmus &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/algorithmus/</link>
	<description>Feed of posts on WordPress.com tagged "algorithmus"</description>
	<pubDate>Sun, 06 Jul 2008 15:35:54 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[RSA Chat]]></title>
<link>http://tictech.wordpress.com/?p=66</link>
<pubDate>Tue, 24 Jun 2008 18:17:31 +0000</pubDate>
<dc:creator>g1o2k4</dc:creator>
<guid>http://tictech.wordpress.com/?p=66</guid>
<description><![CDATA[Nabend.
Nachdem ich hier schon das RSA Blockchiffre Programm vorgestellt habe; hier nun auch das neu]]></description>
<content:encoded><![CDATA[<div id="textFor509258">Nabend.</p>
<p>Nachdem ich hier schon das RSA Blockchiffre Programm vorgestellt habe; hier nun auch das neueste Projekt:<br />
Ein Chat, der die Nachrichten mit eben dieser RSA Blockchiffre verschlüsselt.<br />
Das programm ist ziemlich sicher, solange niemand euren RAM ausliest. Ich werde irgendwann noch einbauen, dass die Schlüssel verschlüsselt im RAM stehen... aber für's Erste reicht das.</p>
<p>Ihr müsst lediglich beim Starten die RSA Keysize und den Port angeben. Die Keysize sollte zwischen 128 und ca 1024 sein, wobei bei 1024 fast immer Fehlermeldungen kommen, aber bis 512 kann man locker gehen.<br />
Der angegebene Port  muss natürlich noch im Router freigeschaltet werden...<br />
Dann auf "Connect to..." klicken und die Server Adresse (z.b. dyndns oder IP) eingeben.</p>
<p>Wenn ihr das Programm auf eurem System testen wollt, müsst ihr zuerst eine Application starten, dort im Menu "Listen" deaktivieren und dann die nächste exe starten, denn unter Windows dürfen nicht mehrere ServerSockets auf einem System aktiv sein. Anschließend mit der exe, in der "Listen" deaktiviert ist zu der anderen connecten, indem ihr "localhost" (oder 127.0.0.1) bei "Connect to..." eingebt.</p></div>
<div></div>
<div style="text-align:center;"><a title="RSA Chat" href="http://www.tictech.de/Software/RSA_Chat.rar" target="_blank">Download RSA Chat</a></div>
<p><!-- google_ad_section_end --></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[RSA Blockcipher]]></title>
<link>http://tictech.wordpress.com/?p=60</link>
<pubDate>Fri, 13 Jun 2008 15:20:20 +0000</pubDate>
<dc:creator>g1o2k4</dc:creator>
<guid>http://tictech.wordpress.com/?p=60</guid>
<description><![CDATA[Servus.

Es war etwas kniffelig, aber jetzt ist es geschafft. Ich habe ein Programm für RSA Blockch]]></description>
<content:encoded><![CDATA[<p>Servus.</p>
<p><a title="RSA-Blockchiffre" href="http://www.tictech.de/Software/RSA_BlockCipher/RSA_BlockCipher.jpg" target="_blank"><img style="vertical-align:middle;" src="http://www.tictech.de/Software/RSA_BlockCipher/RSA_Blockcipher_small.jpg" alt="RSA-Blockchiffre" width="442" height="344" /></a></p>
<p>Es war etwas kniffelig, aber jetzt ist es geschafft. Ich habe ein Programm für RSA Blockchiffre geschrieben. Damit ist es möglich beliebig lange Texte mit RSA zu verschlüsseln.</p>
<p>Das Programm nimmt einem alles ab - vorallem das rechnen :P - man muss lediglich den zu verschlüsselnden Text und die Bitgröße des Schlüsselpaares eingeben, was generiert werden soll. Wahlweise kann man auch eigene Schlüsselpaare eingeben, wenn man schon welche hat. Anschließend klickt man auf "encrypt" zum verschlüsseln und "decrypt" zum entschlüsseln. Man kann auch einen bereits mit dem Programm verschlüsselten Text per Email/ICQ/etc versenden und derjenige am anderen Ende der Leitung kann es mit dem Programm wieder lesbar machen. Dazu muss man allerdings das System des Schlüsseltausches verstanden haben:</p>
<p>Ein Schlüsselpaar besteht aus drei Komponenten: dem Public Key, dem Private Key und dem Modul. Man generiert sich mit dem Programm ein paar für sich selbst. Dazu stellt man z.b. 256 oder 512 Bit ein und klickt auf "encrypt". Jetzt stehen oben die generierten Schlüsselkomponenten, die man abspeichert (speichern einfach mit den vorgesehenen Felder und die Buttons an der Seite ändern, je nachdem ob man für sich selbst ver-/entschlüsseln möchte, oder für den Gesprächspartner).</p>
<p>Den Public Key und das Modul schickt ihr eurem Gesprächspartner, er tut dasselbe mit seinen generierten Schlüsselkomponenten. (Vorsicht! Der Private Key muss geheim bleiben, außer euch selbst darf ihn NIEMAND wissen !!!)</p>
<p>Um jetzt eine Nachricht für euer Gegenüber zu verschlüsseln, gebt ihr links eure Nachricht ein. Anschließend gebt ihr im Feld für den Public Key, den Public Key eures Gesprächspartners ein und in das Feld für das Modul, sein Modul. Jetzt klickt auf "encrypt" und verschickt die verschlüsselte Nachricht die nun rechts erschienen ist.</p>
<p>Euer gegenüber kopiert die erhaltene, verschlüsselte Nachricht in sein rechtes Feld, gibt bei den Schlüsselkomponenten seinen Private Key und sein Modul ein und klickt auf "decrypt". Jetzt erscheint bei ihm die Nachricht, die ihr ihm geschickt habt, als Klartext im linken Feld.</p>
<h3 style="text-align:center;"><span style="color:#62779d;"><strong><a title="Download RSA-Blockcipher" href="http://www.tictech.de/Software/RSA_BlockCipher/RSABigInt.rar" target="_blank">Download RSA_Blockcipher</a></strong></span></h3>
<p>Wie funktioniert das Ganze ? Ich beschreibe mal den Weg von Klartext zum verschlüsselten und codierten Text. Als erstes hat man hat man einen ganz normalen String ("test"). Dieser wird so umgewandelt, dass jeder character durch seinen entsprechenden ASCII-Wert ersetzt wird ("116101115116", t: 116, e: 101, s: 115). Da bei RSA das, was verschlüsselt wird (in diesem Fall "116101115116") numerisch nicht größer sein darf als das Modul muss geprüft werden, ob das der Fall ist. D.h. der Text wird so zusammengefasst, dass immer eine bestimmte Anzahl von Zeichen (hier Werte aus 3 Ziffern) in einem Block stehen. Die Zeichenlänge des Blocks ist gleich der Zeichenlänge des Moduls. Sofern sich die Zeichenlänge des Moduls nicht grade durch 3 ohne Rest teilen lässt, wird der Rest des Blocks mit Nullen aufgefüllt. Bei einer Modulzeichenlänge von 5 ergibt das in unserem Fall: 00116001010011500116 (erster Block 00116 usw.)</p>
<p>Das entspricht einem Zeichen (á 3 Ziffern) pro Block, der Rest wird wie gesagt mit Nullen ergänzt, um eine immer gleichbleibende Blocklänge zu erhalten.</p>
<p>Jetzt wird jeder dieser Blöcke einzeln mit dem RSA-Verfahren verschlüsselt. Falls das Ergebnis nicht mehr gleich der Modulzeichenlänge ist, wird wieder mit Nullen aufgefüllt. Alle verschlüsselten Blöcke werden aneinander gereiht. Das ist das fertige Ergebnis der Verschlüsselung.</p>
<p>Bein Entschlüsseln wird dieser ganze Vorgang einfach Rückwärts wiederholt.</p>
<p>Das tolle an dem Ganzen ist, dass bei genügend großer Schlüssellänge (Bitsize) der verschlüsselte Text im Prinzip imun gegen Kryptoanalyse ist ! Außerdem haben Public-Key-Kryptosysteme doch generell was für sich oder ? :)</p>
<p>(P.S.: Das Programm ist nicht Beta-getestet, also keine Garantie auf funktionstüchtigkeit oder entstehenden Schaden. Grenzfälle können unter Umständen komische Ergebnisse liefern!)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Blowfish - Schutz für Ihre vertraulichen Daten]]></title>
<link>http://lavictoriadeutsch.wordpress.com/?p=297</link>
<pubDate>Sat, 07 Jun 2008 10:03:50 +0000</pubDate>
<dc:creator>lavictoria</dc:creator>
<guid>http://lavictoriadeutsch.wordpress.com/?p=297</guid>
<description><![CDATA[Vielleicht haben Sie auch schon mal überlegt, wichtige Daten ausser Haus, z.B. auf einem Internet-S]]></description>
<content:encoded><![CDATA[<p>Vielleicht haben Sie auch schon mal überlegt, wichtige Daten ausser Haus, z.B. auf einem Internet-Server abzulegen, oder einfach auf einem Memory-Stick mitzunehmen.</p>
<p>In beiden Fällen ist Vorsicht geboten, wenn es sich um vertrauliche Daten handelt.</p>
<p>Eine gute Möglichkeit ist die Verschlüsselung der Daten, sodass diese von Unberechtigten nur nach jahrelangen Bemühungen entschlüsselt und gelesen werden können.</p>
<p><strong>Blowfish Advanced CS</strong> ist ein Verschlüsselungs-Tool mit mehreren Algorithmen, darunter Blowfish, Twofish, AES, RC4 und Triple-DES. Gleichzeitig können Daten mit den Algorithmen LZSS, ZIP's Deflate und BZIP2 komprimiert werden. Weiterhin können Quelldaten während der Verschlüsselung sicher gelöscht werden. Dazu stehen ebenfalls mehrere Methoden bereit.</p>
<p>Die Oberfläche ist klein, aber übersichtlich. Gepaart mit dem Funktionsumfang ist das die Stärke dieses Tools.</p>
<p>Mit wenigen Mausklicks lassen sich Dateien oder ganze Ordner verschlüsseln. Gewöhnungsbedürftig ist einzig, dass die Ver- oder Entschlüsselung direkt mit Eingabe des Passwortes gestartet wird, d.h. allfällige Optionen wie z.B. Komprimierung oder Ausgabepfad müssen VOR dem Passwort angehakt werden. Auch ein bisschen gefährlich kann die Voreinstellung zum direkten Löschen der Quelldatei sein. Diese wird zudem sicher vernichtet (überschrieben).</p>
<p>Alles in allem ein einfach bedienbares und hoch wirksames Tool und damit sehr empfehlenswert.</p>
<p>FREEWARE-Download: <a href="http://www.intertrade.cc/downloads.html">www.intertrade.cc</a></p>
<p>Sprachen: Deutsch, Englisch<br />
Windows: alle Versionen</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Durchschnitt einer Zahlenfolge bestimmen (Online-Algorithmus)]]></title>
<link>http://programmieraufgaben.wordpress.com/?p=13</link>
<pubDate>Tue, 03 Jun 2008 07:22:08 +0000</pubDate>
<dc:creator>programmieraufgaben</dc:creator>
<guid>http://programmieraufgaben.wordpress.com/?p=13</guid>
<description><![CDATA[Gegeben sei eine endliche Folge von double-Werten, deren Anzahl nicht bekannt ist. Man stelle sich v]]></description>
<content:encoded><![CDATA[<p>Gegeben sei eine endliche Folge von double-Werten, deren Anzahl nicht bekannt ist. Man stelle sich vor, diese Zahlen werden sequentiel von einem Benutzer <em>online</em> eingegeben.</p>
<p>Algorithmen, die derartige Daten sequentiell verarbeiten, ohne alle Werte zwischenzuspeichern, nennt man <a href="glossar#online-algorithmus">Online-Algorithmen</a></p>
<p>Implementieren Sie einen Online-Algorithmus, der den Durchschnitt (das arithmetische Mittel) der eingegebenen Werte berechnet. Ihr Algorithmus darf höchstens konstanten Speicherverbrauch haben.</p>
<p>Verwenden Sie <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/Eingabe.java">Eingabe.java</a> zum Einlesen von double Wert: Eingabe.readDouble().</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Große Zahlen in Delphi.]]></title>
<link>http://tictech.wordpress.com/?p=55</link>
<pubDate>Mon, 05 May 2008 20:11:20 +0000</pubDate>
<dc:creator>g1o2k4</dc:creator>
<guid>http://tictech.wordpress.com/?p=55</guid>
<description><![CDATA[

Problem!


Lösung
Klick
Die BigNum2.pas von Sebastian Jänicke. Mit dieser Unit ist es möglich (]]></description>
<content:encoded><![CDATA[<p style="text-align:center;">
<p style="text-align:center;">
<p style="text-align:center;"><strong>Problem!</strong></p>
<p style="text-align:center;"><a title="Das Problem" href="http://www.tictech.de/bilder/error.jpg" target="_blank"><img src="http://www.tictech.de/bilder/error.jpg" alt="Das Problem" width="455" height="350" /></a></p>
<p style="text-align:left;">
<p style="text-align:center;"><strong>Lösung</strong></p>
<p style="text-align:center;"><a href="http://www.delphi-forum.de/topic_BigNum2+v02120080517_83402.html" target="_blank">Klick</a></p>
<p style="text-align:left;">Die BigNum2.pas von Sebastian Jänicke. Mit dieser Unit ist es möglich (fast) beliebig große Zahlen in Delphi miteinander zu verrechnen. Der neue Typ TBigNumber, den die Unit liefert, ist ein Array aus Bytes. Da diese Arrays im RAM angelegt werden, können die Zahlen so lang sein wie der RAM freie Bytes hat :P aber auch nur veralgemeinert gesprochen.</p>
<p style="text-align:left;">
<p style="text-align:center;"><strong>Ein Test</strong></p>
<p style="text-align:left;">Ich habe als Test einfach mal das RSA-Verschlüsselungs-Verfahren implementiert und die RSA-Funktionen in eine .dll ausgelagert. (Wenn Interesse an der dll besteht, kann die mit Dokumentation  hochladen)</p>
<p style="text-align:left;">
<p style="text-align:center;"><a title="RSA.dll Test" href="http://www.tictech.de/bilder/RSA_Test.jpg" target="_blank"><img class="aligncenter" src="http://www.tictech.de/bilder/RSA_Test.jpg" alt="RSA.dll Test" width="658" height="605" /></a></p>
<p style="text-align:left;">Der Text links wird im dem Programm als Zeichenvektor bzw Stringvektor (für lange Zahlen) gespeichert und Buchstabe für Buchstabe nach dem RSA-Verfahren verschlüsselt.</p>
<p style="text-align:left;">Zur Erinnerung: Das RSA-Verfahren arbeitet wie folgt.</p>
<p style="text-align:left;">(Nachricht ^ Schlüssel) modulo Schlüssel-Modul</p>
<p style="text-align:left;">Die "Nachricht" ist der ASCII-Wert der zu verschlüsselnden Zeichens. Der Schlüssel ist '<span style="color:#ff0000;">e</span>' beim verschlüsseln und '<span style="color:#ff0000;">d</span>' beim entschlüsseln. Das Schlüssel-Modul ist '<span style="color:#ff0000;">n</span>'. (Rote Zeichen im Bild sind die Schlüsselparameter)</p>
<p style="text-align:left;">Die Basis beim Verschlüsseln ist eine 3-stellige Zahl, der Exponent beim verschlüsseln lautete 267.657.413 und doch betrug die Berechnungsdauer nur 45ms !</p>
<p style="text-align:left;">Da steckt ein Trick dahinter ! Würde man einfach xxx^267657413 (xxx&#60;256) rechnen, dürfte man lange warten. Das Geheimnis liegt in der Diskreten Exponentialfunktion. Das Prinzip ist auf <a href="http://de.wikipedia.org/wiki/Diskrete_Exponentialfunktion">Wikipedia</a> recht gut erklärt.</p>
<p style="text-align:left;">In Delphi mit der BigNum2.pas implementiert sieht es wie folgt aus:</p>
<p style="text-align:left;">if bigexp = true then      // geschickte methode<br />
begin<br />
while BM_CompareNC(k, BMD_StrToBigNum('1', false)) do<br />
begin<br />
gu := BMD_BigNumToStr(BM_Modulo(k, BMD_StrToBigNum('2', false)), false);<br />
if gu = '' then<br />
gu := inttostr(0);<br />
if strtoint(gu) = 1 then<br />
begin<br />
e := BM_Multiply(e, m);<br />
e := BM_Modulo(e, n);<br />
end;</p>
<p>m := BM_Multiply(m, m);<br />
m := BM_Modulo(m, n);</p>
<p>keystring := inttostr(strtoint(keystring) shr 1);<br />
k := BMD_StrToBigNum(keystring, false);<br />
end;<br />
result := e;<br />
end;</p>
<p style="text-align:left;">
<p style="text-align:left;">Die Variable 'gu' steht hierbei für gerade/ungerade und dient im Prinzip zur binären Verarbeitung von k, da geprüft wird ob in der binären Schreibweise von k, das ganz rechte Zeichen (kleinste 2er Potenz) eine 1 ist oder anders ausgedrückt, ob k gerade oder ungerade ist. Das Ergebnis liefert die Rechnung k modulo 2.</p>
<p style="text-align:left;">Darunter ist die Diskrete Exponentialfunktion implementiert.</p>
<p style="text-align:left;">
<p style="text-align:left;">Die RSA.dll liefert außer dem RSA-Algorithmus für BigInt auch noch einen der das Ergebnis als int64 zurückgibt, sowie einen RSA-Schlüssel-Generator.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Langsame Indizierung bei Google]]></title>
<link>http://solutionpress.wordpress.com/?p=36</link>
<pubDate>Mon, 24 Mar 2008 22:28:08 +0000</pubDate>
<dc:creator>solutionpress</dc:creator>
<guid>http://solutionpress.wordpress.com/?p=36</guid>
<description><![CDATA[Wer sich die nächsten 7 Tage wundert, warum Google plötzlich bis 60% Langsamer beim Indixieren von]]></description>
<content:encoded><![CDATA[<p>Wer sich die nächsten 7 Tage wundert, warum Google plötzlich bis 60% Langsamer beim Indixieren von verschiedenen Elementen ist, wie z.B. neuen Blogposts oder Backlinks der hat nicht zu befürchten, dass ein neuer Algorithmus dahinter steckt, lediglich ein Unterwasserkabel welches unteranderem Europa mit den USA verbindet ist beschädigt. Dabei fallen bei allen Providern geschätzt ca. 170 GBit die Sekunde von der Gesamtübertragung ab. Dass betrifft also auch die Übertragung von Inhalten der Seiten die in Deutschland liegen, zu den Google Servern die in den USA stehen. Das Kabel heißt übrigens TAT-14, besitzt 4 Glasfaserleitungen.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[RSA-Gadget nun auch bei Sourceforge.net]]></title>
<link>http://tictech.wordpress.com/2007/09/08/rsa-gadget-nun-auch-bei-sourceforgenet/</link>
<pubDate>Sat, 08 Sep 2007 15:03:51 +0000</pubDate>
<dc:creator>g1o2k4</dc:creator>
<guid>http://tictech.wordpress.com/2007/09/08/rsa-gadget-nun-auch-bei-sourceforgenet/</guid>
<description><![CDATA[Wie versprochen, habe ich nun auch das 2. Programm hochgeladen.
Link
Natürlich ist dieses Programm ]]></description>
<content:encoded><![CDATA[<p>Wie versprochen, habe ich nun auch das 2. Programm hochgeladen.</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=200712" target="_blank">Link</a></p>
<p>Natürlich ist dieses Programm in keinster Weise mit richtigen RSA-Modulen zu vergleichen. Es wäre einige Veränderungen notwendig, um an solche heranzureichen. Die Schlüssellänge ist schlicht zu gering, außerdem steht der Private Schlüssel unverschlüsselt, also für alle sichtbar im Arbeitsspeicher. Um einen ausreichenden Sicherheitsstandard gewährleisten zu können müsste man all diese Aspekte überarbeiten. Also benutzt das Programm nicht, wenn es um wirklich sensible Informationen geht, dafür gibt es bessere Lösungen !</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Besondere Lernleistung - Kryptologie]]></title>
<link>http://tictech.wordpress.com/2007/05/31/besondere-lernleistung-kryptologie/</link>
<pubDate>Thu, 31 May 2007 10:35:15 +0000</pubDate>
<dc:creator>g1o2k4</dc:creator>
<guid>http://tictech.wordpress.com/2007/05/31/besondere-lernleistung-kryptologie/</guid>
<description><![CDATA[Endlich ist sie fertig. Nach einem Jahr harter Arbeit und Recherche&#8230;
Die Arbeit beschreibt die]]></description>
<content:encoded><![CDATA[<p>Endlich ist sie fertig. Nach einem Jahr harter Arbeit und Recherche...</p>
<p>Die Arbeit beschreibt die Unterschiede zwischen symmetrischer und asymmetrischer Kryptographie. Außerdem gibt sie einen kurzen historischen Überblick, sowie zwei Programmierbeispiele zu beiden kryptologischen Gebieten.</p>
<p>Das Thema asymetrische Kryptosysteme wird speziell am Beispiel des RSA-Verfahrens dargelegt.</p>
<p><a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/Besondere%20Lernleistung%20-%20Kryptologie%20von%20Benedikt%20Alexander%20Welp.pdf" target="_blank">Besondere Lernleistung - Kryptologie von Benedikt Alexander Welp</a></p>
<p><a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/XorCryptx%20Quelltext%20%27Unit1.pas%27.pdf" target="_blank">Quelltext Programm 1 Teil 1/2</a> (XorCryptx)<br />
<a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/XorCryptx%20Quelltext%20%27Unit2.pas%27.pdf" target="_blank">Quelltext Programm 1 Teil 2/2</a> (XorCryptx)<br />
<a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/MTXorCryptx%20Beta%20Quelltext%20%27Unit1.pas%27.pdf" target="_blank">Quelltext Programm 1.1 Beta</a> (XorCryptMT Beta)<br />
<a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/RSA-Algorithmus%20Quelltext%20%27Unit1.pas%27.pdf" target="_blank">Quelltext Programm 2</a> (RSA-Verfahren)</p>
<p>Alles zusammen (Rar-Archiv):</p>
<p><a href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/Besondere_Lernleistung-Kryptologie_von_Benedikt_Alexander_Welp.rar" target="_blank"> Download</a></p>
<p>Die compilierten Programme plus Quelltexte sind hier zu finden:</p>
<p><a href="http://www.tictech.de/BLL/XorCrypt_Projektordner.rar" target="_blank">Download XorCrypt_Projektordner</a></p>
<p>Beschreibung: In diesem Projektordner sind das normale XorCryptx und XorCryptMT Beta zu finden. Sie verdeutlichen die Methode der symmetrischen Kryptologie. Bei XorCryptMT Beta handelt es sich um eine Multi-Threading (MT) Version des Programms XorCryptx, allerdings halt in der Beta Version. Der Sinn dieser Version ist es, die anliegende Arbeit auf mehrere Threads aufzuteilen, die dann parallel von mehreren CPUs abgearbeitet werden können, was eine Performancesteigerung im Bereich der Kryptoanalyse bietet. (Beispiel: <a href="http://www.tictech.de/BLL/MT.JPG">Bild1</a> &#124; <a href="http://www.tictech.de/BLL/MT_Vista.jpg" target="_blank">Bild2</a> )</p>
<p><a href="http://www.tictech.de/BLL/RSA_Projektordner.rar" target="_blank">Download RSA_Projektordner</a></p>
<p>Beschreibung: In diesem Ordner findet man das schlichte RSA-Beispiel-Programm und eine weiterentwickelte Version mit Netzwerk-Funktion und simplen Schlüsselmanagementsystem. (Ein sehr hilfreicher Link zum Thema Netzwerk Protokolle in Delphi ist: <a href="http://www.delphi-library.de/viewtopic.php?t=54269" target="_blank">Link</a> )</p>
<p><a title="Besondere Lernleistung zum Thema Symmetrische und Asymmetrische Krypto-Verfahren unter besonderer Berücksichtigung des RSA-Algorithmus" href="http://www.tictech.de/BLL/Besondere_Lernleistung-Kryptologie_by_Benedikt_Alexander_Welp/Besondere%20Lernleistung%20-%20Kryptologie%20von%20Benedikt%20Alexander%20Welp.pdf">Besondere Lernleistung zum Thema Symmetrische und Asymmetrische Krypto-Verfahren unter besonderer Berücksichtigung des RSA-Algorithmus</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Und was sagt das WIKI dazu?]]></title>
<link>http://2pro.wordpress.com/2006/11/19/und-was-sagt-das-wiki-dazu/</link>
<pubDate>Sun, 19 Nov 2006 14:54:13 +0000</pubDate>
<dc:creator>2pro</dc:creator>
<guid>http://2pro.wordpress.com/2006/11/19/und-was-sagt-das-wiki-dazu/</guid>
<description><![CDATA[Unter einem Algorithmus versteht man allgemein eine genau definierte Handlungsvorschrift zur Lösung]]></description>
<content:encoded><![CDATA[<p class="MsoNormal">Unter einem Algorithmus versteht man allgemein eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen.</p>
<p class="MsoNormal">Im täglichen Leben lassen sich leicht Beispiele für Algorithmen finden: Zum Beispiel ist ein Kochrezept ein Algorithmus – zumindest dann, wenn alle Angaben genau genug sind und es für alle Teilaufgaben, wie Braten, Rühren, etc., ebenfalls Algorithmen gibt. Auch Reparatur- und Bedienungsanleitungen oder Hilfen zum Ausfüllen von Formularen sind in der Regel Algorithmen. Ein weiteres, etwas präziseres Beispiel sind Waschmaschinenprogramme.</p>
<p class="MsoNormal">Vor allem aber sind Algorithmen eines der zentralen Themen der Informatik und Mathematik. Sie sind Gegenstand einiger Spezialgebiete der Theoretischen Informatik, wie der Algorithmentheorie, der Komplexitätstheorie und der Berechenbarkeitstheorie. In Form von Computerprogrammen und elektronischen Schaltkreisen steuern sie Computer und andere Maschinen.</p>
<p class="MsoNormal">Nichtdeterministische Algorithmen finden vor allem in der Theoretischen Informatik Anwendung, so, dass in anderen Bereichen oft vorausgesetzt wird, dass es sich um einen deterministischen Algorithmus handelt. Eine Ausnahme bilden sogenannte stochastische, randomisierte oder probabilistische Algorithmen, in die absichtlich ein Zufallsfaktor eingebaut wurde. Solche Algorithmen sind demnach nicht deterministisch und auch nicht determiniert. Stochastische Algorithmen dagegen sind im Allgemeinen deterministisch, orientieren sich aber an Erfahrungswerten.</p>
<p class="MsoNormal"><strong>Determiniertheit</strong><br />
Algorithmen sind determiniert, wenn sie bei gleichen Parametern und Startwert stets das gleiche Resultat liefern. Das trifft zum Beispiel nicht für randomisierte Algorithmen zu, bei denen das Ergebnis zu einem gewissen Grad auf Zufall beruht</p>
<p class="MsoNormal"><strong>Determinismus</strong></p>
<p class="MsoNormal">Deterministisch heißen alle Algorithmen, bei denen zu jedem Zeitpunkt der Ausführung maximal eine Möglichkeit der Programmfortsetzung besteht. Gibt es mehrere Möglichkeiten der Programmfortsetzung und lassen sich diesen Wahrscheinlichkeiten zuweisen, so spricht man von stochastischen, randomisierten oder probabilistischen Algorithmen. In der theoretischen Informatik gibt es neben dem Determinismus auch den Nichtdeterminismus, der aber in der Praxis kaum Verwendung findet. Zusätzliche Bedeutung bekommen solche nichtdeterministische Algorithmen allerdings durch den Einsatz von Quantencomputern, welche auch solche Algorithmen erfolgreich ausführen.</p>
<p class="MsoNormal">Es gilt übrigens: Jeder deterministische Algorithmus ist auch determiniert. Nicht jeder determinierte Algorithmus ist jedoch deterministisch.</p></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Was könnte ein Algorithmus sein?]]></title>
<link>http://2pro.wordpress.com/2006/11/19/was-konnte-ein-algorithmus-sein/</link>
<pubDate>Sun, 19 Nov 2006 14:19:00 +0000</pubDate>
<dc:creator>2pro</dc:creator>
<guid>http://2pro.wordpress.com/2006/11/19/was-konnte-ein-algorithmus-sein/</guid>
<description><![CDATA[In einer Studentenbefragung an der HfK Bremen haben sich folgende Antworten gefunden.
-         Code]]></description>
<content:encoded><![CDATA[<p class="MsoNormal">In einer Studentenbefragung an der HfK Bremen haben sich folgende Antworten gefunden.</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Codesegment? Ist ja schon etwas her im Informatikunterricht!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Bei „Quiztaxi“ haben sie es falsch buchstabiert!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Programmteile zur Lösung eines Problems?</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Algorithmus? Ist doch Mathe oder!? Ach nein, das war Logarithmus!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Strickmuster!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Taste auf einem Taschenrechner?</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Ich finde, das muss man nicht wissen!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->No Comment!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Eine aufeinander folgende Reihe?</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Rannte schreiend weg???</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Eine nichts sagende Phrase!</p>
<p class="MsoNormal" style="margin-left:36pt;text-indent:-18pt;"><!--[if !supportLists]--><span>-<span>         </span></span><!--[endif]-->Äh…ja…äh…bewegliche Zahlen?</p>
<p class="MsoNormal">Wie man erkennen kann, fallen die Antworten doch sehr differenziert aus und spiegeln wieder, dass keiner genau weiß, was denn nun ein Algorithmus ist, da wir diesen Begriff im täglichen Sprachgebrauch eigentlich kaum bzw. gar nicht benutzen.</p>
<p class="MsoNormal">An einer informationstechnischen Hochschule wären die Antworten deshalb vielleicht anders ausgefallen. Wobei, selbst in der Informatik ist der einleitende Satz in Büchern und Vorlesungen zum Begriff des Algorithmus oftmals der, dass ein Kochrezept einen Algorithmus darstellt. Doch ist ein Kochrezept nicht von viel zu sehr von eigener Interpretation geprägt?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Doch was ist nun ein Algorithmus?]]></title>
<link>http://2pro.wordpress.com/2006/11/19/doch-was-ist-nun-ein-algorithmus/</link>
<pubDate>Sun, 19 Nov 2006 14:12:40 +0000</pubDate>
<dc:creator>2pro</dc:creator>
<guid>http://2pro.wordpress.com/2006/11/19/doch-was-ist-nun-ein-algorithmus/</guid>
<description><![CDATA[Laut der Definition welche wir im Kurs gefunden haben beschreibt der Algorithmus folgendes:
Der Algo]]></description>
<content:encoded><![CDATA[<p>Laut der Definition welche wir im Kurs gefunden haben beschreibt der Algorithmus folgendes:</p>
<p>Der Algorithmus ist ein Grundbegriff in der Informatik. Er ist eine Vorschrift zur Transformation von Zeichen oder Elementen, wobei die Vorschrift endlich und präzise sein muss. Die Transformation erfolgt dabei schrittweise, elementar und effektiv.<span>  </span></p>
<p>Algorithmen sind nicht offen für Interpretationen, deshalb kann ein Kochrezept auch kein Algorithmus sein. Der Algorithmus terminiert, d. h. er hört nach endlicher Zeit mit einem Ergebnis auf. Terminieren sollte nicht mit deterministisch verwechselt werden, denn dies bedeutet, dass innerhalb des Algorithmus der jeweilige nächste Schritt definiert ist.</p>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal"><strong>Ein Beispiel eines zu findenden Algorithmus</strong></p>
<p class="MsoNormal">Sortiere eine Folge von Zahlen!<br />
17, 8, 23, 1, 17, 9</p>
<p class="MsoNormal">Zunächst könnte man sich die Frage stellen wonach man diese Zahlenfolge eigentlich sortieren soll, denn dies ist in der Aufgabenstellung nicht eindeutig definiert. Wahrscheinlich würde die Mehrheit von uns beginnen die Zahlen von Klein nach Groß zu sortieren.</p>
<p class="MsoNormal">Ein möglicher Ansatz wäre dabei:</p>
<ul>
<li>nimm die kleinste Zahl aus der Folge heraus und schreibe sie in einer anderen Reihe hinter die letzte Zahl</li>
<li>die Folge lautet dann 17,8,23,17,9 und an einer anderen Stelle steht irgendwo die 1</li>
<li>als nächstes wird die Anweisung erneut aufgerufen, nämlich: nimm die kleinste Zahl aus der Folge heraus und schreibe sie in einer anderen Reihe hinter die letzte Zahl</li>
<li>die Folge lautet dann 17,23,17,9 und an einer anderen Stelle steht irgendwo die 1 und danach die 8</li>
<li>dieser Schritt wird immer wieder aufgerufen bis alle Zahlen aus der ursprünglichen Reihe in die neue Reihe sortiert sind, von Klein nach Groß</li>
</ul>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal">Diesen sich immer wiederholenden Aufruf der gleichen Funktion nennt man REKURSION.</p>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal">Ein weiterer Ansatz, etwa wie er in JAVA praktiziert wird, wäre:</p>
<ul>
<li>vergleiche immer zwei nebeneinander stehende Zahlen darauf, ob die Nachfolgerzahl kleiner als die vorherige ist, wenn ja, dann müssen die Plätze getauscht werden</li>
<li>anschließend wird die zweite Zahl mit deren Nachfolgerzahl verglichen und wenn nötig, der Platz getauscht</li>
<li>dies wird solange durchgeführt, bis keine nachfolgende Zahl mehr kleiner ist</li>
</ul>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal">am Beispiel sieht das dann so aus:</p>
<p class="MsoNormal">17<span>    </span>8<span>   </span>23<span>   </span>1<span>   </span>17<span>   </span>9<span>             </span>17 und 8<span>  </span>werden verglichen und getauscht</p>
<p class="MsoNormal">8<span>   </span>17<span>    </span>23<span>   </span>1<span>   </span>17<span>   </span>9<span>             </span>17 und 23 werden verglichen und nicht getauscht</p>
<p class="MsoNormal">8<span>   </span>17<span>    </span>23<span>   </span>1<span>   </span>17<span>   </span>9<span>             </span>23 und 1 werden verglichen und getauscht</p>
<p class="MsoNormal">8<span>   </span>17<span>    </span>1<span>   </span>23<span>   </span>17<span>   </span>9<span>             </span>23 und 17 werden verglichen und getauscht</p>
<p class="MsoNormal">8<span>   </span>17<span>    </span>1<span>   </span>17<span>   </span>23<span>   </span>9<span>             </span>23 und 9 werden verglichen und getauscht</p>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal">nun ist die Reihe einmal durchgetauscht, der Prozess beginnt von vorn</p>
<p class="MsoNormal">&#160;</p>
<p class="MsoNormal">8<span>   </span>17<span>  </span><span>  </span>1<span>   </span>17<span>   </span>23<span>   </span>9<span>             </span>8 und 17 werden verglichen und nicht getauscht</p>
<p class="MsoNormal">8<span>   </span>17<span>    </span>1<span>   </span>17<span>   </span>23<span>   </span>9<span>             </span>17 und 1 werden verglichen und getauscht</p>
<p class="MsoNormal">8<span>   </span>1<span>    </span>17<span>   </span>17<span>   </span>23<span>   </span>9 <span>                        </span>17 und 17 werden verglichen und nicht getauscht</p>
]]></content:encoded>
</item>

</channel>
</rss>
