Diamond2

Поделись знанием:
Перейти к: навигация, поиск
Diamond2
Создатель:

Майкл Пол Джонсон

Создан:

1995 г.

Опубликован:

1995 г.

Размер ключа:

128 (8-65536) бит с шагом 8 бит

Размер блока:

128 бит

Число раундов:

10 (10-15)

Тип:

Подстановочно-перестановочная сеть

Diamond2 — в криптографии симметричный блочный криптоалгоритм, разработанный Майклом Полом Джонсоном в 1995 году. В алгоритме используется 128-битный блок и ключ произвольной длины, по умолчанию 128 бит.





Безопасность

Целью создания шифра была разработка устойчивого ко всем существующим видам атак алгоритма с запасом прочности на длительное время и возможностью использования простого сгенерированного ключа. Размер ключа при этом выбирается в зависимости от необходимого уровня защиты и наличия возможности использовать большой массив ключевого материала. На данный момент существует ряд хэш-функций с переменным выходным блоком (к примеру, Skein), которые могут быть использованы для создания ключевого материала длиной более 512 бит. При этом автор заявляет о 128 битах энтропии, необходимой для надёжной защиты. При условии отсутствия специальных видов атак, атака грубой силой против ключа длиной 128 бит будет технически невозможна на существующем оборудовании в обозримом будущем. Для этого также применяется довольно сложная и сравнительно медленная функция расширения и установки ключа. Полагается, что смена ключа будет производиться значительно реже операций зашифровки и расшифровки как в программной, так и в аппаратной реализациях. Использование блока длиной 128 бит, нетипичной для шифров во время разработки Diamond2, обосновано необходимостью затруднения атак грубой силой с использованием предварительно сгенерированных таблиц.

Несмотря на заявленную близость к идеальному шифру, алгоритм не получил широкого распространения. Хотя шифр был опубликован в 1995 году, за 13 лет не было произведено детальных исследований криптостойкости Diamond2. Фактически данный блочный шифр используется в некоторых приложениях в качестве одного из дополнительно доступных алгоритмов симметричного шифрования[1], также шифр реализован в некоторых криптографических библиотеках.

Описание алгоритма

Концепция разработки

  1. Линейные функции и комбинации функций могут часто решаться аналитическими способами, которые неочевидны для автора шифра и должны быть исключены. Сюда включаются стандартные арифметические функции, математика в конечных полях и булева алгебра.
  2. Реверсивные блочные шифры с размером блока n бит могут быть рассмотрены как простой шифр подстановки на алфавите 2n символов, с ключом, который выбирает используемую перестановку.
  3. Простые шифры подстановки могут быть представлены с таблицей поиска или массивом, но практически требуемый массив является слишком большим для практичного размещения в ОЗУ.
  4. Адекватное подмножество таблицы поиска с завышенными размерами может быть моделировано, просто прослаивая раунды подстановки субблоков с разрядными перестановками, которые служат для распространения функциональных зависимостей за границы субблока.

Алгоритм

Блочный шифр Diamond2 состоит из трёх основных частей: 1 — ключевое расписание, 2 — шаги подстановки, 3 — шаги перестановки. Шифрование и расшифровка состоят из n раундов операций подстановки, где n — по крайней мере 10. Каждая операция подстановки берёт каждый из 16 входных байтов по 8 битов каждый и заменяет их другими байтами. Это производится из содержимого массива подстановки на основе позиции байта и числа раунда. Операция ключевого расписания заполняет внутренние массивы подстановки, основанные на ключе. Между каждой подстановкой установленный шаг перестановки использует процесс выборки бит, чтобы сделать каждый байт вывода функцией восьми различных входных байтов. В отличие от DES каждый раунд изменяет каждый байт входного блока (вместо только половины входного блока). После 5 раундов каждый бит выходного блока — нелинейная функция каждого бита входного блока и каждого бита ключа. Дополнительные раунды после пятого раунда используются, чтобы гарантировать, что вычисление содержимого индивидуальных массивов подстановки будет сложнее, чем атака грубой силой на шифр. Они также служат для увеличения числа возможных функциональных зависимостей от ключа, таким образом делая этот алгоритм ближе к идеальному блочному шифру и усложняя криптоанализ.

Напишите отзыв о статье "Diamond2"

Примечания

  1. [wincmd.ru/plugring/darkcrypttc.html Реализация Diamond2 в DarkCrypt TC/GUI]

Ссылки

  • [www.cygnusproductions.com/downloads/pc/diamond2.doc The Diamond2 Block Cipher  (англ.)]
  • [cartman-cipher.narod.ru/mirror/libdiamond.zip Исходный текст реализации Diamond2 на языке C]

Отрывок, характеризующий Diamond2

– Не говори, Наташа, ведь ты не виновата, так что тебе за дело? Поцелуй меня, – сказала Соня.
Наташа подняла голову, и в губы поцеловав свою подругу, прижала к ней свое мокрое лицо.
– Я не могу сказать, я не знаю. Никто не виноват, – говорила Наташа, – я виновата. Но всё это больно ужасно. Ах, что он не едет!…
Она с красными глазами вышла к обеду. Марья Дмитриевна, знавшая о том, как князь принял Ростовых, сделала вид, что она не замечает расстроенного лица Наташи и твердо и громко шутила за столом с графом и другими гостями.


В этот вечер Ростовы поехали в оперу, на которую Марья Дмитриевна достала билет.
Наташе не хотелось ехать, но нельзя было отказаться от ласковости Марьи Дмитриевны, исключительно для нее предназначенной. Когда она, одетая, вышла в залу, дожидаясь отца и поглядевшись в большое зеркало, увидала, что она хороша, очень хороша, ей еще более стало грустно; но грустно сладостно и любовно.
«Боже мой, ежели бы он был тут; тогда бы я не так как прежде, с какой то глупой робостью перед чем то, а по новому, просто, обняла бы его, прижалась бы к нему, заставила бы его смотреть на меня теми искательными, любопытными глазами, которыми он так часто смотрел на меня и потом заставила бы его смеяться, как он смеялся тогда, и глаза его – как я вижу эти глаза! думала Наташа. – И что мне за дело до его отца и сестры: я люблю его одного, его, его, с этим лицом и глазами, с его улыбкой, мужской и вместе детской… Нет, лучше не думать о нем, не думать, забыть, совсем забыть на это время. Я не вынесу этого ожидания, я сейчас зарыдаю», – и она отошла от зеркала, делая над собой усилия, чтоб не заплакать. – «И как может Соня так ровно, так спокойно любить Николиньку, и ждать так долго и терпеливо»! подумала она, глядя на входившую, тоже одетую, с веером в руках Соню.
«Нет, она совсем другая. Я не могу»!
Наташа чувствовала себя в эту минуту такой размягченной и разнеженной, что ей мало было любить и знать, что она любима: ей нужно теперь, сейчас нужно было обнять любимого человека и говорить и слышать от него слова любви, которыми было полно ее сердце. Пока она ехала в карете, сидя рядом с отцом, и задумчиво глядела на мелькавшие в мерзлом окне огни фонарей, она чувствовала себя еще влюбленнее и грустнее и забыла с кем и куда она едет. Попав в вереницу карет, медленно визжа колесами по снегу карета Ростовых подъехала к театру. Поспешно выскочили Наташа и Соня, подбирая платья; вышел граф, поддерживаемый лакеями, и между входившими дамами и мужчинами и продающими афиши, все трое пошли в коридор бенуара. Из за притворенных дверей уже слышались звуки музыки.
– Nathalie, vos cheveux, [Натали, твои волосы,] – прошептала Соня. Капельдинер учтиво и поспешно проскользнул перед дамами и отворил дверь ложи. Музыка ярче стала слышна в дверь, блеснули освещенные ряды лож с обнаженными плечами и руками дам, и шумящий и блестящий мундирами партер. Дама, входившая в соседний бенуар, оглянула Наташу женским, завистливым взглядом. Занавесь еще не поднималась и играли увертюру. Наташа, оправляя платье, прошла вместе с Соней и села, оглядывая освещенные ряды противуположных лож. Давно не испытанное ею ощущение того, что сотни глаз смотрят на ее обнаженные руки и шею, вдруг и приятно и неприятно охватило ее, вызывая целый рой соответствующих этому ощущению воспоминаний, желаний и волнений.
Две замечательно хорошенькие девушки, Наташа и Соня, с графом Ильей Андреичем, которого давно не видно было в Москве, обратили на себя общее внимание. Кроме того все знали смутно про сговор Наташи с князем Андреем, знали, что с тех пор Ростовы жили в деревне, и с любопытством смотрели на невесту одного из лучших женихов России.
Наташа похорошела в деревне, как все ей говорили, а в этот вечер, благодаря своему взволнованному состоянию, была особенно хороша. Она поражала полнотой жизни и красоты, в соединении с равнодушием ко всему окружающему. Ее черные глаза смотрели на толпу, никого не отыскивая, а тонкая, обнаженная выше локтя рука, облокоченная на бархатную рампу, очевидно бессознательно, в такт увертюры, сжималась и разжималась, комкая афишу.
– Посмотри, вот Аленина – говорила Соня, – с матерью кажется!
– Батюшки! Михаил Кирилыч то еще потолстел, – говорил старый граф.
– Смотрите! Анна Михайловна наша в токе какой!
– Карагины, Жюли и Борис с ними. Сейчас видно жениха с невестой. – Друбецкой сделал предложение!