Extra Systems

CYPHERNET

Verfahren zur Sitzungsschlüsselgenerierung make_local_key


Die Sitzungsschlüsselgenerierungsprozedur make_local_key füllt den Puffer mit einer Folge zufälliger Bytes. Dieser Vorgang wird von jedem Extra Systems Cypher Net-Abonnenten auf die gleiche Weise durchgeführt (natürlich werden unterschiedliche Zufallssequenzen generiert). Als nächstes erfolgt in der Prozedur get_common_key die binäre Addition zweier solcher Schlüssel, die von zwei Abonnenten erstellt wurden. Das Ergebnis ist dieselbe Nummer, die als Sitzungsschlüssel für den Stream-Verschlüsselungsalgorithmus verwendet wird.

Die Größe des Schlüssels PACKED_SESSION_KEY_LENTH hängt vom Verschlüsselungsalgorithmus ab, muss jedoch kleiner als das RSA-Modul sein, andernfalls kann er nicht verschlüsselt werden. In unserem System ist die maximale Länge dieses Parameters auf ein Byte kürzer als die Länge des RSA-Schlüssels eingestellt (dies gewährleistet die Möglichkeit einer nachträglichen Verschlüsselung).

void make_local_key(void)
{
	memset(local_key.packed, 0, PACKED_VALUE_LENTH);
	fill_random_buffer(local_key.packed, PACKED_SESSION_KEY_LENTH);
	unpack_value(local_key.packed, local_key.unpacked);
}

Der Inhalt dieser Seite ist auch in Englisch, Französisch, Ukrainisch und Russisch verfügbar.


© Extra Systems, 2024 Extra Web Top