Я новичок в криптографии,
Да, мы видим, как вы используете терминологию.
Я новичок в криптографии, я пытаюсь создать безопасную конвейерную среду для быстрой передачи сообщений.
Другое слово для «конвейера» — «канал», а передача сообщений также известна как «транспорт». Поэтому вам нужен безопасный канал для обеспечения безопасности на транспортном уровне. TLS, как следует из названия, это именно то, что нужно.
Чтобы уменьшить размер ключа, я планирую шифровать сообщения с помощью ключей сеанса AES (для сеанса или эпохи), и в каждом сеансе я планирую шифровать каждое сообщение с помощью облегченных ключей, таких как DES.
Итак, согласно этому тексту, вы шифруете сообщения как с помощью AES, так и с помощью DES? DES использует 56-битные ключи (хотя обычно они хранятся в формате 64 бита/8 байтов, включая биты четности). Так что да, ключи действительно "легковесные", но сам шифр точно нет. Несколько безопасный тройной DES медленнее, чем AES, и это не самый легкий шифр; кроме того, для этого требуются 168/192-битные ключи.
Современные криптографы закатывают глаза, когда слова «DES» бормочут для любого нового протокола или документа. Современный легкий (поточный) шифр, как упоминалось в комментариях, обычно имеет гораздо больше смысла.
Но одна фундаментальная проблема, с которой я столкнулся, заключается в том, как сделать этот канал устойчивым к атакам DOS?
Хотя вы можете попытаться выполнить минимальное количество операций заранее - например. проверять MAC по счетчику сообщений — устойчивость к DOS-атакам обычно выполняется на более низком уровне; раз вам нужно выполнить шифрование/дешифрование, это тоже может быть.
Нужно ли мне удалять некоторые сообщения или указывать временную шкалу для всех сообщений на канале, после чего он сгорит, например: Время жить?
Вы можете использовать TTL.Но TTL кажется в основном интересным, если вы, например, собираетесь пересылать сообщения — и мы не знаем, предназначен ли ваш протокол для этого.