VD Net

9 июня 2011, 09:56

Записки начинающего криптолога. Часть первая.

!!! Сообщение со старого блога !!!

VladDev: Сегодня знаменательный день в истории моего блога. Сегодня впервые здесь появится гостевая статья! Надеюсь, что данная практика не завершится одной этой записью, а будет продолжаться и продолжаться. Как я уже говорил в разделе «О сайте», вы можете присылать мне свои статьи, если хотите, чтобы они появились в моём блоге. А теперь сама статья!
Mozg90: Дорогой друг, сегодня я решил начать публиковать на данном блоге цикл статей под общим названием «Записки начинающего криптолога». Данный цикл, по моему скромному мнению, будет интересен широкому кругу читателей заинтересованных в безопасности своих личных данных.
Бумажные носители информации теряют свою лидирующую роль, все переходит в цифровые форматы, объем хранимых файлов также растет. В противоположность этому современные люди начинают проявлять все меньшую заботу о своих личных файлах. Появление облачных сервисов хранения данных все больше этому способствует. Если задуматься, а кто собственно нам гарантирует, что наши данные там никто не просматривает и не проверяет на наличие пиратских файлов? Я не читал никакие пользовательские соглашения, но разумно полагать, что данные проверки происходят по договорам с компаниями-дистрибьюторами лицензионного контента. Согласитесь, неприятно бы было получить потом счет на пару сотен тысяч рублей. Но мы же с вами законопослушные граждане и нас вроде как не должны интересовать подобные проверки, но сам факт того, что файлы могут быть очень легко просмотрены внушает опасения.
Нельзя забывать также забывать о все большем, нарастающем интересе государства к личным данным пользователей. Между прочим, такое право гарантировано нам Конституцией РФ. Приведу статью 23 из нее:

Статья 23
1. Каждый имеет право на неприкосновенность частной жизни, личную и семейную тайну, защиту своей чести и доброго имени.
2. Каждый имеет право на тайну переписки, телефонных переговоров, почтовых, телеграфных и иных сообщений. Ограничение этого права допускается только на основании судебного решения.
Наша жизнь все больше напоминает суровое будущее фантастических фильмов. «Большой брат» следит за тобой, и это уже не шутки. Пришло время серьезно задуматься о своей безопасности! Конечно, тягаться с государством, обладающим практически безграничными ресурсами, было бы безрассудно. Но от произвола отдельных личностей защититься вполне по силам. И в этом нам поможет криптография, а в частности симметричные блочные шифры. Используя их для шифрования своих личных файлов, мы можем сильно усложнить или вовсе сделать неосуществимой задачу их просмотра.
В качестве такого блочного шифра я решил взять удобный в реализации, хорошо изученный и быстрый Rijndael, также известный в наше время как AES (Advanced Encryption Standard). Национальный институт стандартов и технологий опубликовал спецификацию AES 26 ноября 2001 года после пятилетнего периода, в ходе которого были созданы и оценены 15 кандидатур. 26 мая 2002 года AES был объявлен стандартом шифрования. По состоянию на 2009 год AES является одним из самых распространённых алгоритмов симметричного шифрования. Поддержка AES (и только его) введена фирмой Intel в семейство процессоров x86 начиная с Intel Core i7-980X Extreme Edition, а затем на процессорах Sandy Bridge.
Казалось бы, существует большое количество статей о данном алгоритме, о принципах его работы, реализации на различных языках программирования. Также существует официальный стандарт FIPS 197, в котором все подробно написано. Да, это действительно так, и быстрый поиск по интернету даст нам огромное количество ссылок. Просмотрев многие из них, я убедился, что ни в одной из них (по крайней мере на русском языке) не упоминается о быстром методе реализации с использованием так называемых таблиц подстановки «Т-таблиц». Я решил исправить данный недостаток и подробно написать о нем, и этому будет посвящена моя следующая статья под названием «AES: Быстрое зашифрование». До встречи на страницах интернета дорогой читатель, надеюсь, скорой.
Mozg90
Копирование и использование материалов сайта разрешается только при указании активной прямой ссылки без rel=nofollow на страницу с копируемым материалом. Если какие-то условия не выполнены или не могут быть выполнены, то разрешение можно получить по электронной почте vladislav.kochemaev@gmail.com с указанием цели использования. При копировании материалов сайта вы автоматически соглашаетесь с этими условиями.