Можем ли мы сделать свои собственные S-блоки, IP, IP ~ и другие таблицы в DES? Это все еще работает или должно быть использовано, что они предоставили? - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь создать собственную реализацию DES! Но я не успешен с реализацией

Я использую все таблицы, такие как перестановка Initail, таблица перестановок расширения, таблица функций перестановки, ПК-1, ПК-2 и все s-блоки моих собственных случайных битовых положений.

Должны ли мы использовать S-блоки, предоставляемые DES, или мы можем создавать сами ??

Ответы [ 2 ]

5 голосов
/ 08 марта 2011

Первое правило криптографии: никогда ничего не изобретай сам! Если у вас нет докторской степени и многолетнего опыта, вы будете в конечном итоге создавать зияющие дыры в безопасности. На самом деле история показывает, что даже люди с доктором наук и многолетним опытом часто делают ошибки безопасности. Конечно, вы можете сделать это для удовольствия и получения образовательного опыта, но, пожалуйста, никогда не рассматривайте возможность внедрения чего-либо из этого в производство. Извините за то, что я так негативен, но это реальность (и, кстати, я тоже человек, который никогда не должен сам изобретать что-либо, связанное с криптографией).

Когда дело доходит до реализации чего-то, изобретенного истинным экспертом по безопасности (и общепризнанным как защищенного), все еще есть много ловушек, в которых можно попасть, в частности атаки по побочным каналам. Но, опять же, реализовать это для удовольствия и обучения, конечно, хорошо.

Что касается конкретно DES, содержимое S-блоков является частью самого алгоритма и может не быть изменено без потери совместимости со всеми другими данными, зашифрованными DES.

1 голос
/ 31 марта 2011

DES без оригинальных S-блоков, скорее всего, небезопасен.Кстати, АНБ усовершенствовало их, сделав их более устойчивыми к дифференциальному криптоанализу , который в то время был неизвестен гражданскому миру.

OTOH, если вы хотите, чтобы пользовательские S-блоки создавались, вы можете использовать русский шифрГОСТ 28147-89 (14.1 «Прикладная криптография»), в котором используются предоставленные пользователем S-блоки.

...