WikiDer > Treyfer

Treyfer
Treyfer
Общий
ДизайнеровГидеон Юваль
Впервые опубликовано1997
Деталь шифра
Ключевые размеры64 бит
Размеры блоков64 бит
Раундов32
Лучшая публика криптоанализ
А скользящая атака используя 232 известные открытые тексты и 244 работа проходит за любое количество раундов

В криптография, Treyfer это блочный шифр/MAC разработан в 1997 году Гидеоном Ювалем. Направлен на интеллектуальная карточка приложений алгоритм предельно прост и компактен; это может быть реализовано всего за 29 байт 8051 Машинный код[нужна цитата].

У Трейфера довольно маленький размер ключа и размер блока по 64 бита каждый. Все операции побайтно-ориентированы, есть один 8 × 8-битный S-коробка. S-блок остается неопределенным; реализация может просто использовать любые данные, доступные в памяти. В каждом раунде к каждому байту добавляется значение S-блока суммы ключ байта и предыдущего байта данных, затем он поворачивается влево на один бит. Конструкция пытается компенсировать простоту этого раундового преобразования за счет использования 32 раундов.

Благодаря простоте своей ключевой график, используя одни и те же восемь ключевых байтов в каждом раунде, Трейфер был одним из первых шифров, которые оказались восприимчивыми к скользящая атака. Этот криптоанализ, который не зависит от количества раундов и выбора S-блока, требует 232 известные открытые тексты и 244 время вычисления.

Выполнение

Простую реализацию Treyfer можно сделать так:

#включают <stdint.h>#define NUMROUNDS 32внешний uint8_t const Sbox[256];пустота treyfer_encrypt(uint8_t текст[8], uint8_t const ключ[8]){    беззнаковый я;    uint8_t т = текст[0];    за (я = 0; я < 8*КОЛИЧЕСТВО; я++) {        т += ключ[я%8];        т = Sbox[т] + текст[(я+1)%8];        текст[(я+1) % 8] = т = (т << 1) | (т >> 7);        / * Повернуть влево на 1 бит * /    }}

Смотрите также

Рекомендации

  • Давид Вагнер, Алексей Бирюков (1999). "Атаки со скольжением" (PostScript). Получено 25 января, 2007. Цитировать журнал требует | журнал = (помощь)