|
|
Итак две стороны 1 и 2.
Сначала ситуация - простая:
1. У каждой стороны есть одинаковый ключик длинный скажем 1024 + 16 бит. Этот ключик страшная тайна :) - никто не его - он прошит в каждое устройство.
2. Генерируем на месте случайность 1024 бита - как генерируем не говрорю - сами выбирайте - но "чем случайнее" тем лучше :).
3. Считаю по 1024 битам 16 бит CRC.
4. Проезжаю xor-ром по 1024+16 бит случайного сообщения этим главным тайным ключем - получаю на выходе шифротекст.
5. Шлю этот шифротекст стороне 2
6. Она соим ключом делает xor - и высчитывает CRC.
7 если посчитанное совпало с принятым - то это наши! :)
Вопросы?
1. Где тут к врагу попадает открытый и шифрованный текст - что позволит ему восстановить ключ? Нигде вроде.
Далее чать случайности можно использовать в качестве сеансового ключа. Т.е.
1. Расшифровались
2. Проверились -> да наши
3. Берем 512 бит и используем их как сеансовый ключ.
Теперь можно усложнить - если главный ключ все же менять по какомуто тайному алгоритму - но принципиально это стоикости не добавит.
Пожалуйста укажите мне на неправильность - всегад готов учиться :))
E-mail: info@telesys.ru