Как стать автором
Обновить

Комментарии 14

Имхо, такие статьи хороши для новичков в данной теме и думаю таким статьям есть место на хабре. Для меня она уже не совсем актуальна, но прочитал с интересом. Спасибо :)

нашел немного странным то, что вроде понимая что такое сдвиг, Вы в коде умножаете и делите на числа кратные 2-м

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

Наверное, все-таки, не "кратные двум" а "степени двойки" - на "6" или подобное сдвигом не умножишь. Да и компилятор при оптимизации наверняка заменит умножение/деление на степень двойки сдвигом.

Оговорился, но слово не воробей....

Мне кажется, как раз лучше делить на два. Компилятор, если что, оптимизирует. А для чтения кода и, так-то, для безопасной работы с числовыми переменными, запись "делить на два" лучше "сдвига на один"

Почему RightRotate32 возвращает не uint32_t?
И не хватает тестовых примеров, что бы проверить то что получилось. Как и кода который можно пощупать.

Спасибо исправлю, хотя сейчас нужно постараться, чтобы найти не 32 битный int. Вместо тестов наверно, лучше будет разместить исходный код.

Было бы неплохо добавить дисклеймер про то что не стоит эту реализацию использовать в своих криптоцелях.

Ну, чисто в своих (не для заказчика) - почему бы и нет?

Если вы готовы мириться с атаками по времени и отсутcтвием SIMD-оптимизаций, то можно хоть в прод конечно.

Да, очень хорошая программа для понимания

Что-то в последнее время тема криптографии в ударе, то на одном, то на другом ресурсе что нибудь про шифры да и попадется. Винил "умные" ленты, раз уж я в такие статьи стабильно заглядываю, а тут на днях подшефному студенту в качестве зачетной работы по си задали реализацию AES.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории