|
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
|
|
Шифрование данных размером меньше 1кб по ключу. Какой алгоритм использовать?08.01.2019, 11:43. Показов 1291. Ответов 5
Метки нет (Все метки)
Здравствуйте!
Есть сервер и клиент, они обмениваются данными по TCP. Собственно, этот обмен надо как-то защитить. Размер пакета максимум 1кб (но зачастую не больше 100 байт), в качестве клиента - микроконтроллер, поэтому использование сложных алгоритмов не желательно. При этом, есть возможность изначально установить ключи шифрования для сервера и клиента. Посоветуйте, плиз, оптимальный для данной задачи алгоритм! Спасибо)))
0
|
|
| 08.01.2019, 11:43 | |
|
Ответы с готовыми решениями:
5
Написать скрипт создающий в текущей папке файл размером 1Кб со случайным содержимым Шифрование: какой алгоритм предпочтительнее? Какой алгоритм использовать? |
|
461 / 201 / 80
Регистрация: 14.12.2017
Сообщений: 433
|
|
| 08.01.2019, 18:27 | |
Сообщение было отмечено Shamil1 как решение
Решение
Я бы посоветовал модификацию RC4
https://ru.wikipedia.org/wiki/... %D0%B8_RC4 Быстрый, простой, не требует никаких особых вычислений, относительно стойкий, не нужно дополнять к длине блока и т.д. Только обязательно(!) не начудите в реализации ВИ. ВИ должен быть довольно случайным. Если что - пишите - подумаем какие варианты ВИ можно сделать.
1
|
|
|
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
|
|
| 10.01.2019, 09:13 [ТС] | |
|
Спасибо за подсказку!
А что такое ВИ?
0
|
|
|
Администратор
|
|
| 10.01.2019, 12:07 | |
|
Br_Misha, вектор инициализации
0
|
|
|
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
|
|
| 10.01.2019, 19:56 [ТС] | |
|
эм, а что в данном случае подразумевается под вектором инициализации? Я попробовал вот этот код https://github.com/exitstop/as... /rc4plus.h, работает норм.
0
|
|
|
461 / 201 / 80
Регистрация: 14.12.2017
Сообщений: 433
|
|
| 11.01.2019, 22:56 | |
|
Ну смотрите (упрощенно)
Для шифрования одного сообщения вам нужен ключ. Для шифрования второго сообщения, если вы используете тот же ключ, стойкость будет около 0. Чтобы не выдумывать каждый раз новый ключ и добавляется к каждом следующему сообщению ВИ. В случае RC4 ваш ключ + ВИ и будет ключом шифрования конкретного сообщения. Потом ВИ+сообщение передается. Это в принципе классическая схема. Но вот тут и начинаются ошибки. Что бы их минимизировать, я бы посоветовал (для этого конкретного случая ! ) схему которую использовали в США в 50-х годах: есть сервер и контроллер, между ними связь. Берем постоянные - ключ сервера К1, ключ контроллера К2, ключи сервера зависящие от дня, месяца, года: К11, К12, К13 и т.д. ключи контроллера зависящие от дня, месяца, года: К21, К22, К23 и т.д. (31 день + 12 мес + 30 лет = 73 ключа ) Далее, в 00:00 каждого дня используются следующие ключи К11... (то есть вычисляете начальную таблицу 0..255) (нужно позаботится о синхронизации времени, хотя думаю вы посылаете дату в пакете) Для шифрования сообщения сервер берет ключи К1+К11 и шифрует 100 байт. Передает их контроллеру. И вместе с сообщением передает N номер начала гаммы. И запоминает этот номер Nn = N+L(длина сообщения). Следующее сообщение шифрует гаммой начиная с Nn. Контроллер использует свои ключи К2+К21 и делает тоже самое. В итоге в каждом сообщении за день [№ начала гаммы][шифр текст]. Если по каким то причинам сообщение не доставлено, все равно берется для следующего сообщения следующие байты гаммы. И помните - обязательно(!) перед шифрованием к открытому тексту добавляете контрольную сумму, хотя бы CRC, а потом все вместе шифруете. В итоге получится довольно простая устойчивая схема без излишеств.
0
|
|
| 11.01.2019, 22:56 | |
|
Помогаю со студенческими работами здесь
6
Какой алгоритм использовать? Какой алгоритм оптимизации использовать? какой алгоритм использовать? IDEAS? Какой алгоритм поиска по большим xml файлам лучше использовать? Какой алгоритм поиска чисел использовать? выделение country code из номера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|