Extra Systems

CYPHERNET

процедура створення сеансового ключа шляхом злиття запропонованих партнерами варіантів make_common_key


Процедура створення сеансового ключа Extra Systems Cypher Net шляхом злиття запропонованих партнерами варіантів make_common_key працює за таким алгоритмом:

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);
}

Свій ключ (local_key) кожен із абонентів генерує самостійно в процедурі make_local_key, а ключ партнера (remote_key) отримує від останнього у зашифрованому вигляді під час процедури get_common_key.

Очевидно, що через комутативність застосовуваної операції ця процедура дає той самий результат на обох кінцях зв'язку. Тобто обидва абоненти в результаті отримують один і той же сеансовий ключ для подальшого шифрування всього трафіку між ними.

Контент цієї сторінки доступний також англійською, французькою, німецькою та російською мовами.


© Extra Systems, 2024 Extra Web Top