Let’s Build Verschlüsselung: Der Schlüssel

06. November 2016 von | Kategorie(n): Programmierung
Schlagwörter: // // //

Let’s Build Verschlüsselung: Der Schlüssel

Das wichtigste bzw. der Kern einer Verschlüsselung ist der Schlüssel, denn mit diesem lassen sich Nachrichten ver- und entschlüsseln. Ein Verschlüsselungsalgorithmus muss unter einer bestimmten Bedingung verschlüsseln, sonst sind die Daten für immer verloren. Setzt man hingegen einen Schlüssel ein, können die Daten mit diesem „zurückgeholt“ werden.

Was gibt der Schlüssel hier an ?

Wie bereits in einem früheren Artikel dieser Reihe erwähnt, gibt der Schlüssel an, wie oft die Zeichen des Strings verschoben werden. Dabei steuert der Schlüssel die äußere Schleife. Dies hat zur Folge, dass die beiden inneren Schleifen in jedem Durchlauf der äußeren Schleife einmal komplett ausgeführt werden. Dabei vertauscht die erste der inneren for-Schleifen jeweils das 2. & 3. Zeichen und dann das 4. & 5. Zeichen (usw.).  Die nächste Schleife geht den String ($encoded) noch einmal von vorne bis hinten durch, während diese jeweils das 1. & 2. Zeichen und das 3. & 4. Zeichen (usw.) vertauscht. (Anmerkung: Man könnte auch sagen, es wird Paarweise vertauscht.)

Aber: An dieser Stelle ist anzumerken, dass das PHP-Skript unter Umständen eine hohe Rechenzeit beansprucht, wenn eine große Zahl für den Schlüssel gegeben wird. Da in der Realität große Zahlen als Schlüssel verwendet werden sollten, sollte diese Verschlüsselung nicht für vertrauliche bzw. wichtige Daten eingesetzt werden!

// Nachdem alles in Binärzahlen übersetzt wurde, wird der ganze 
// schön durchgemischt. Jetzt kommt auch der $key zum Einsatz.
for($i = 0; $i < $key + 1; $i++)
{	
	// 2. & 3. vertauschen, 4. & 5. vertauschen usw..
	for($k = 1; $k < strlen($encoded) - 1; $k += 2) {
	        $char = $encoded[$k];
		$encoded[$k] = $encoded[$k+1];
		$encoded[$k+1] = $char;		
	}

	// 1. & 2. vertauschen, 3. & 4. vertauschen usw..
	for($j = 0; $j < strlen($encoded) - 1; $j += 2) {
		$char = $encoded[$j];
		$encoded[$j] = $encoded[$j+1];
		$encoded[$j+1] = $char;		
	}
}

Ich denke die Kommentare in dem Code-Snippet tragen zum besseren Verständnis bei. Bitte beachte nicht die Professionalität derer, diese lässt zu wünschen übrig. Dennoch können „lustige“ Kommentare das Vergnügen steigern, was das Programmieren betrifft. Jeder, der programmiert, weiß, wie nervenaufreibend es sein kann. Wie dem auch sei, ich schweife ab…

 

Senf dazugeben ? Geht unten ganz einfach !

Was denkst du über diesen Post?
  • Gut (1)
  • Hilfreich (0)
  • Nicht gut (0)
  • Lustig 😀 (0)
Diesen Post teilen:
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

37 − 28 =