• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

конструкция в крипто-алгоритме Rtea

  • Автор темы Artemka86
  • Дата начала
A

Artemka86

Доброго времени суток

Необходимо переписать код реализующий шифрование по алго. RTEA с языка C на Delphi.
Кусок С кода с Википедии

Алгоритм за один проход обрабатывает два 32-разрядных беззнаковых числа (unsigned long) a и b, то есть 64 битный блок. Длина ключа в 32-разрядных числах — kw, r — раунд.

u32 a, b, c, kw;
u32 key[kw];
long r;

for (r=0;r<kw*4+32;r++) c=b,b+=a+((b<<6)^(b>>8))+key[r%kw]+r,a=c;

Вопрос: что означает конструкция key[r%kw] ?
 
I

ierofant

key - это массив данных типа u32.
Операция r % kw даёт остаток от деления r на kw.
В итоге key[r%kw] даёт элемент массива с индексом r % kw, этот индекс будет равен остатку от деления r на kw.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!