La procedura per creare una chiave di sessione Extra Systems Cypher Net unendo le opzioni make_common_key proposte dai partner funziona secondo il seguente algoritmo:
void make_common_key(void) { unsigned char x, y; int i; for (i = 0; i < PACKED_VALUE_LENTH; i++) { x = local_key.packed[i]; y = remote_key.packed[i]; common_key.packed[i] = x ^ y; } unpack_value(common_key.packed, common_key.unpacked); }
Ogni utente genera autonomamente la propria chiave (local_key) nella procedura make_local_key e riceve da quest'ultimo la chiave del partner (remote_key) in forma crittografata durante la procedura get_common_key.
Ovviamente, data la natura commutativa dell'operazione utilizzata, questa procedura dà lo stesso risultato ad entrambi i capi della connessione. Cioè, entrambi gli abbonati ricevono alla fine la stessa chiave di sessione per la successiva crittografia di tutto il traffico tra di loro.
Il contenuto di questa pagina è disponibile anche in inglese, francese, tedesco, portoghese, spagnolo, ucraino e russo.
© Extra Systems, 2024 |
|