Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220

Шифрование данных размером меньше 1кб по ключу. Какой алгоритм использовать?

08.01.2019, 11:43. Показов 1291. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть сервер и клиент, они обмениваются данными по TCP. Собственно, этот обмен надо как-то защитить. Размер пакета максимум 1кб (но зачастую не больше 100 байт), в качестве клиента - микроконтроллер, поэтому использование сложных алгоритмов не желательно. При этом, есть возможность изначально установить ключи шифрования для сервера и клиента.
Посоветуйте, плиз, оптимальный для данной задачи алгоритм!
Спасибо)))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2019, 11:43
Ответы с готовыми решениями:

Написать скрипт создающий в текущей папке файл размером 1Кб со случайным содержимым
Задание. Усложнить скрипт из п.2 чтобы он генерировал дерево файлов со вложенностью каталогов не меньше 4, причём ветвления и...

Шифрование: какой алгоритм предпочтительнее?
какой алгоритм производительность/надежность предпочтительнее пишу свой membership provider. необходимо чтобы строил шифр не долго, но при...

Какой алгоритм использовать?
Есть массив товаров имеющих стоимость и вес. На почте имеются конкретные ограничения по сумме и весу на одну посылку. Как распределить...

5
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
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18262 / 14187 / 5366
Регистрация: 17.03.2014
Сообщений: 28,872
Записей в блоге: 1
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2019, 22:56
Помогаю со студенческими работами здесь

Какой алгоритм использовать?
Просьба подсказать как решить эту задачу. Имеются данные в файле в таком виде: Необходимо их привести к такому виду: Я не...

Какой алгоритм оптимизации использовать?
попросили помочь с курсачом. Не знаю какой алгоритм использовать в данной задаче. Помогите. задача: у нас есть стабильное поступление...

какой алгоритм использовать? IDEAS?
ЗАДАЧА: С целью подготовки к проведению олимпиады по информатике мэр решил обеспечить надежным электроснабжением все школы города. Для...

Какой алгоритм поиска по большим xml файлам лучше использовать?
Здравствуйте! По постановке задачи надо по всем xml файлам указанной папки производить поиск конструкции...

Какой алгоритм поиска чисел использовать? выделение country code из номера
Всем привет) У меня появилась задача по выделению country code`а из номера, необходимо написать метод реализующий алгоритм поиска чисел,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование 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/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru