Алгоритм
DEAL (Data Encryption Algorithm with Larger blocks – Алгоритм Шифрования Данных с Укрупненными блоками) является 128-и битным блочным шифром с размерами ключа 128, 192 и 256 бит, что далее здесь будет обозначаться DEAL-128, DEAL-192 и DEAL-256 соответственно. Все версии могут использоваться в любом из четырех стандартных режимах DES’a [16]. Мы начнем с описания работы DEAL в режиме ECB. Пусть С = ЕВ(А) означает зашифрованное DES значение 64-х битного А на ключе В, и пусть Y = ЕAZ(X) означает зашифрование DEAL 128-и битного X на ключе Z. Открытый текст Р разделяется на блоки Pi по 128 бит каждый, P = P1, P2, … , Pn. Расписание ключей принимает ключ К и возвращает r ключей DES RKi, где i = 1, … , r, как описано ниже. Обозначим XL и XR левую и правую части Х соответственно. Шифр-текст вычисляется следующим образом. Положим ,  и вычислим для j = 1, … ,r
	(1)	
.	(2)	
Положим . На рис. 1 показан один цикл DEAL. Для DEAL-128 и DEAL-192 мы предлагаем использовать 6 циклов, т. е. r = 6. Однако, как мы увидим ниже, этого может быть недостаточно для DEAL-256, здесь предлагается использовать 8 циклов, r = 8. Представляется, что версия с размером ключа 256 бит используется только когда требуется особенно сильное зашифрование.

Заметим, что последнем цикле DEAL половины блока местами меняются. Причина в следующем: правая часть шифр-текста Сi не шифруется в последнем цикле i-ого зашифрования, и только левая часть входа i + 1-ого зашифрования (который равен ) шифруется на последнем цикле. Т. о. правая часть Ci осталась бы не перезашифрованной два цикла. Это может дать поле деятельности злоумышленникам, тем более, что шифр состоит всего из 6-и или 8-и циклов. Заметим, что аналогичное свойство есть и у DES в режиме CBC. Правда, похоже это труднее было бы использовать, ведь у DES 16 циклов. Позволим себе отметить, что обмен местами правой и левой частей на последнем цикле не влияет на стойкость блочного шифра в режиме ECB.
Работа режима CBC более подробно описана в [16]. Итак, обозначим блоки открытого текста по 128 бит P1, P2, … , Pn и С1, С2, … , Сn – соответствующие им блоки шифр-текста. Тогда:
,
где С0 – начальное значение.
В DES начальная перестановка IP первой применяется к открытому тексту, и аналогично перед выходом шифр-текст пропускается через обратную к ней IP-1. Возможно увеличить скорость DEAL, если убрать из используемого DES эти начальную и конечную перестановки. Легко показать, что для получения корректной реализации DEAL’а IP должна быть приложена к обоим частям открытого текста перед зашифрованием, а IP-1 – к обоим частям шифр-текста.
На вход расписания ключей подается s ключей DES, К1, … , Ks, для s = 2, 3, 4, каждый по 64 бит (включая 8 проверочных бит, старших бит каждого байта), на выходе получается r ключей DES, RКi. Мы используем общий метод, приложимый ко всем трем размерам ключа. Во-первых расширяем s ключей до r ключей, путем повторения и XOR’ения с новой константой для каждого нового повторения. Зашифровываем расширенный список ключей DES’ом в режиме CBC с фиксированным ключом и нулевым начальным значением. Из полученных блоков шифр-текста и формируются подключи RKi. Далее мы приводим точные определения каждого из расписаний ключей, здесь К = 0х1234 5678 90ab cdefx (шестнадцатеричное число) – фиксированный ключ DES.
В DEAL-128 подключи генерируются следующим образом:
,
,
,
,
,
,
где  – 64-х битное целое число, в котором i – 1-ый бит (индексация идет с 0) установлен, а остальные очищены. Например,  может быть представлено как шестнадцатеричное “0х8000 0000 0000 0000х”.

В DEAL-192 подключи генерируются следующим образом:
,
,
,
,
,
.
Эти версии расписания ключей требуют 6 расписаний ключей DES и 6 зашифрований DES на фиксированном ключе. Подключи нужно сгенерировать только один раз, если их впоследствии сохранить.

В DEAL-256 подключи генерируются следующим образом:
,
,
,
,
,
,
,
.
Эта версия расписания ключей требует 8 расписаний ключей DES и 8 зашифрований DES на фиксированном ключе. Подключи нужно сгенерировать только один раз, если их впоследствии сохранить.

Заметим, что для всех версий расписания ключей 64-х битные величины RKi используются как ключи DES, поэтому биты проверки четности RKi не используются в i-ом цикле. Однако, все 64 бита RKi, как выхода шифрования на ключе К, используются при генерации следующего подключа.
Принципы разработки расписания ключей, во-первых, состоят в том, чтобы подключи зависели от наибольшего числа битов основного ключа, но не требовали при этом много работы, во-вторых, при вводе s основных ключей размером по 64 бит, любые s последовательных подключей должны иметь энтропию s ∙ 56 бит, и, наконец, не должно быть очевидно зависимых и слабых ключей и не должно остаться свойство дополнительности (?). Заметим, что последние две проблемы присутствуют и в DES, и –все три – в тройном DES. Мы заметили, что если основные ключи размером по 64 бита каждый, может найтись пара ключей, генерирующих одинаковые множества подключей. Однако, число таких ключей, похоже, настолько невелико, что не представляет угрозы DEAL’у, применяемому для шифрования.
Смещения  введены для предотвращения появления слабых ключей. Если бы их не было, существовали бы ключи, для которых все подключи были равны. Например, для DEAL-128 ключи K1 = K2 = DK(0) сгенерировали бы 6 подключей со значением 0. Смещения и шифрование на фиксированном ключе предотвращают появление слабых и зависимых ключей и свойства дополнительности.
Заметим, что если бит проверки четности используется в каждом байте основного ключа, действующие размеры предложенных ключей составляют 112, 168 и 224 бит соответственно.
Вышеописанная структура DEAL могла бы быть и другой – есть несколько возможных вариантов. Вместо Фейстелевой структуры можно использовать структуру MISTY, впервые описанную в [12], она позволяет в большей степени распараллелить вычисления (в аппаратном исполнении). Однако, эта структура разработана гораздо позже и еще не так глубоко проанализирована. Другой вариант – использовать DEAL в режиме «DES-X» [8], в котором дополнительный ключ XOR’ится с открытым текстом и с шифр-текстом. Или, вместо использования DES, как цикловой функции, можно использовать DES-X. Недостаток последних двух предложений в том, что потребуется генерировать большее число подключей, и, следовательно, расписание ключей DEAL станет сложнее.