Sobes.tech
Intern

Was ist Verschlüsselung?

sobes.tech KI

Antwort von AI

Verschlüsselung ist der Prozess, bei dem lesbare Informationen (Klartext) mithilfe eines kryptografischen Algorithmus und eines Schlüssels in ein unleserliches Format (Chiffretext) umgewandelt werden. Ziel ist es, die Vertraulichkeit der Daten zu gewährleisten, sodass nur autorisierte Personen sie lesen können, indem sie den entsprechenden Schlüssel zum Entschlüsseln verwenden.

Es gibt zwei Haupttypen der Verschlüsselung:

  1. Symmetrische Verschlüsselung: Es wird derselbe Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet. Die Geschwindigkeit ist hoch, aber das Problem liegt in der sicheren Übertragung des Schlüssels. Beispiele: AES, DES.

    <?php
    // Beispiel für symmetrische Verschlüsselung (vereinfachte Darstellung, nur zur Demonstration)
    $key = 'schlüssel123';
    $plaintext = 'Geheime Nachricht';
    
    // Annahme einer einfachen Verschlüsselungsfunktion (nicht in Produktion verwenden)
    function simple_encrypt($data, $key) {
        return base64_encode($data ^ $key); // XOR-Operation als Beispiel
    }
    
    // Annahme einer einfachen Entschlüsselungsfunktion (nicht in Produktion verwenden)
    function simple_decrypt($data, $key) {
        return base64_decode($data) ^ $key; // XOR-Operation als Beispiel
    }
    
    $ciphertext = simple_encrypt($plaintext, $key);
    echo "Verschlüsselt: " . $ciphertext . "\n";
    
    $decryptedtext = simple_decrypt($ciphertext, $key);
    echo "Entschlüsselt: " . $decryptedtext . "\n";
    ?>
    
  2. Asymmetrische Verschlüsselung (Verschlüsselung mit öffentlichem Schlüssel): Es wird ein Schlüsselpaar verwendet: öffentlicher Schlüssel zum Verschlüsseln und privater Schlüssel zum Entschlüsseln. Der öffentliche Schlüssel kann frei verteilt werden, während der private Schlüssel geheim gehalten wird. Die Geschwindigkeit ist niedriger als bei symmetrischer Verschlüsselung. Beispiele: RSA, ECC.

    <?php
    // Beispiel für asymmetrische Verschlüsselung (vereinfachte Darstellung, nur zur Demonstration RSA)
    // In der Praxis werden PHP-Funktionen für OpenSSL verwendet (openssl_public_encrypt, openssl_private_decrypt usw.)
    
    // Schlüsselerzeugung (komplizierter Prozess)
    // $privateKey = ...
    // $publicKey = ...
    
    $plaintext = 'Eine andere geheime Nachricht';
    
    // Verschlüsselung mit öffentlichem Schlüssel
    // $encrypted = openssl_public_encrypt($plaintext, $ciphertext, $publicKey);
    // echo "Asymmetrisch verschlüsselt: " . base64_encode($ciphertext) . "\n";
    
    // Entschlüsselung mit privatem Schlüssel
    // $decrypted = openssl_private_decrypt($ciphertext, $decryptedtext, $privateKey);
    // echo "Entschlüsselt (asymmetrisch): " . $decryptedtext . "\n";
    
    // In echtem Code würden OpenSSL-Funktionen verwendet
    ?>
    

Verschlüsselung wird angewendet, um Daten bei der Speicherung (encryption at rest) und bei der Übertragung (encryption in transit), z.B. in SSL/TLS-Protokollen von Websites, zu schützen.