Шрифт:
Вот что такое современная стеганография – в весьма упрощённом и популярном (раскланиваюсь) изложении. Чтобы использовать любой из этих методов (кроме, конечно, акростиха, но и ребенку понятно, что акростих защитой считать нельзя), ты должен договориться со своим абонентом о том, какой из методов вы будете использовать, и установить на ваши компьютеры соответствующие программы.
Неудобств у данных методов довольно много. Во-первых, и это довольно важно, во всех них используется огромная избыточность: то есть чтобы передать небольшой текст, нужно пересылать на порядок (или порядки) больший объём. Ну и во-вторых, уровень защиты при использовании данных способов считается весьма низким.
Поэтому стеганография, как правило, используется в каких-то частных случаях. Для постоянной переписки используют криптографию…
Садокриптомазохизм
Между стеганографией и криптографией есть весьма важное концептуальное отличие (хотя, конечно, эти методы могут и комбинироваться для вящей защищённости). Стеганография скрывает сообщение во внешне безобидном тексте (файле), а криптография ничего не скрывает - то есть посторонние в курсе, что это зашифрованная информация, - однако делает невозможным (скажем так – сильно затруднительным) для посторонних расшифровку данных.
Суть практически любого криптографического метода заключается в ключах. («Ключах, ключах…» - подключилось эхо.) Это звучит каламбуром, но тем не менее совершенно верно отражает суть. Шифрование текста (для простоты восприятия будем говорить только о тексте, хотя, разумеется, шифровать можно любые файлы – звуковые, видео, графические и так далее) производится отправителем с помощью специального ключа. У получателя текста должен быть ключ для расшифровки, с помощью которого он и восстанавливает первоначальный вид текста.
Таким образом, чтобы обеспечить взаимопонимание между отправителем и получателем, они должны обменяться ключами для шифрования.
Что такое этот ключ? Такая же золотая фигня, с помощью которой Буратино стал владельцем собственного театра? Разумеется, нет, ведь речь идёт о компьютерном веке. Ключ для шифрования/расшифровывания – это компьютерный файл, который использует специальная программа.
Кстати, криптография, кроме шифрования информации, выполняет также и ещё одну довольно важную задачу – обеспечивает неизменяемость передаваемой информации, то есть у получателя всегда есть возможность проверить, не внесли ли в полученный текст по пути какие-то искажения. Сам понимаешь, в контракте иногда можно стереть или приписать одну цифру, чтобы это имело катастрофические последствия. Или отправить груз вместо Нью-Йорка в Нью-Васюки.
Простенькая классификация криптографических методов
Криптографические методы можно делить по принципу действия и по характеру алгоритма. Знать характер алгоритмов (перестановочные, подстановочные, смешанные и прочая галиматья) для понимания технологии тебе совершенно необязательно, поэтому мы ими голову забивать и не будем, а вот принцип различать крайне желательно, ибо это важно именно с точки зрения удобства и безопасности использования…
По принципу действия криптографические методы делятся на три группы: тайнопись, симметричные алгоритмы и асимметричные алгоритмы. Я понимаю, что это всё звучит зубодробительно, но после небольшого пояснения тебе все станет более чем понятно.
Тайнопись – это самый древний криптографический метод, восходящий (впрочем, правильнее в данном случае сказать – нисходящий) еще к древним египтянам. Заключается он в замене используемых букв какими-нибудь другими символами. Самый простейший вариант – замена букв другими буквами. Например, алгоритм гласит, что букву «а» меняем на «с», букву «б» меняем на «щ», букву «г» меняем на «х» - и так далее до «я». После этого берём текст и меняем все буквы по данному алгоритму. Получится совершеннейшая белиберда. Но если произвести обратное преобразование – снова появится осмысленный текст.
Более сложный вариант тайнописи – замена букв специальными символами. Помните канонических «Пляшущих человечков» Артура Конан-Дойля? Вот это классический вариант тайнописи. И если бы не гений Шерлока Холмса, который резко предположил, что последняя строчка на стене – это подпись, причем подписанта зовут Аб Слени, то никто и никогда этих человечков бы не расшифровал. В том смысле, что никому это и на фиг не было бы нужно.
Аналогичный случай был и у меня. В руки одному моему клиенту попал листочек, испещрённый странными и загадочными символами. Я сделал первое предположение о том, что последняя строчка – это подпись, и второе предположение о том, что имя подписавшегося – Квандрупий Прикопаевич Кшиштопоповжицкий, - после чего с легкостью расшифровал всё послание. Это оказался счёт за сексуальные услуги.
К чему это лирическое отступление? К тому, что сейчас использовать тайнопись – это всё равно что приходить в казино с десятью баксами в кармане: над тобой смеяться будут. Расшифровать подобный алгоритм можно даже не прибегая к помощи зала, а уж при использовании компьютера любой тайнописный алгоритм будет расщелкан за несколько секунд.
Второй вид – так называемые симметричные криптоалгоритмы. В отличие от тайнописи, где алгоритм нужно скрывать почище номера кредитки, сами алгоритмы являются вполне открытыми – бери да пользуйся. Но для шифрования и расшифровывания нужен тот самый ключ (специальный файл), о котором мы уже говорили. Минусом данного метода является то, что секретный ключ нужно передавать получателю шифрованных данных, а это снижает безопасность. Лучше всего передавать такой ключ лично - так сказать, мано а мано, - например, на дискете, компакт-диске или flash-drive. Как ваш визави сохранит этот ключ в недоступности – уже его дело, но ты можешь дать ему почитать эту книжку, и перед нам также откроется истина. Если ключ невозможно передать лично или с помощью Наших знакомых, тогда его придется пересылать, например, через Интернет, воспользовавшись каким-нибудь действительно секьюрным способом – той же стеганографией. Причем сам файл с ключом обязательно зашифруй с паролем, а пароль сообщи получателю голосом по телефону (дабы он не передавался тем же способом, что и ключ).