Что такое криптография и её принципы.
Объяснить человеку как пользоваться PGP не сложно. Щелкнуть тут, щелкнуть здесь. А вот объяснить что такое криптография гораздо сложнее. Различные справочники слишком мудрено рассказывают об этом, в результате чего для многих эта тема осталась черным ящиком. В этой статье я попытаюсь всеже объяснить это, но уже простым языком, ведь я не какой-то там ученый криптограф, а самый обычный парень. Итак, начнем.
О чем речь?
Зачем это надобно? Представим ситуацию. Вы пишите e-mail своему другу. А письмо содержит нечто важное (фото скрытой камерой голой соседки:-) Если вы просто отправите это письмо, то любой, кто сможет его перехватить будет в курсе ваших дел. Где и кто может? Например, та же ни о чем не подозревающая соседка, просто перехватив ваше письмо на половине пути. Это сделать несложно. Есть специальные программы. Также ваше письмо могут перехватить спамеры, которые изучив содержимое, начнут присылать вам рекламу различных порно-сайтов. Ваш почтовый ящик очень быстро придет в негодность. И самое страшное: письмо перехватят родственники. Особенно опасно, если родственники работают в сфере IT. Конечно, ничего смертельного, но по затылку достанется. Именно для того, чтобы всякие левые личности не перехватили и не изучали вашу личную переписку и просто, чтобы они не лезли, куда не просят, используется криптография - этакая наука, умеющая преобразовывать данные в бурду и обратно.
Основы
В криптографии все довольно тяжело, ведь там замешана высшая математика - довольно черная вещь. Однако объяснить основы возможно. Шифрование возможно тремя способами:
Ассиметричным (проще говоря, с двумя разными паролями) или Симметричным (с одним паролем), а может быть Гибридным
Второе быстрее, а первое надежнее. Третье среднее по надежности и скорости
Симметричное шифрование
Принцип работы таков:
1) Тебя просят показать, что собственно шифровать.
2) Ты показываешь.
3) Программа хватает кусок, величина которого зависит от используемого алгоритма (Они разные, как по мне, то лучший это Blowfish и Twofish, если эти названия ничего не говорят, не засоряйте голову, это не важно).
4) Затем просит тебя сказать пароль, которым, собственно и будем шифровать.
5) Ты указываешь.
6) Программа до неузнаваемости мешает твой пароль и кусок данных. Затем хватает следующий и таким образом перемалывает все. В итоге получается бурда, совершенно бесполезная.
Обратная процедура: показать программе файл бурды и пароль к нему, как чудесным образом программа немедленно возвращает тебе твои бесценные данные. Вот примерный принцип действия симметричного шифрования.
Ассиметричное шифрование
А тут уже немножко сложнее. Используются два разных пароля. Первый ты указываешь, а второй программа делает сама, перемешивая твой пароль с очень большим числом, которое она берет от лампочки. Размер числа может быть несколько килобайт, обычно до 4Кб. Теперь у тебя имеются два ключа:
Закрытый ключ: создается на основе того пароля, который ты ввел, и соотвественно, только ты можешь им пользоваться.
Открытый ключ: тот, что смастерила программа, его наоборот раздавай везде, где сможешь. Им все желающие смогут зашифровать для тебя что нибудь.
Принцип работы:
1) Кто либо хочет отправить тебе, например тот же e-mail. Он ищет и находит твой открытый ключ и передает его программе.
2) Программа читает письмо и до неузноваемости перемешывает с открытым ключом.
3) Зашифрованное письмо превращается в бурду. Эта бурда отсылается тебе.
4) Ты получаешь письмо. Твоя программа просит тебя ввести пароль.
5) После ввода пароля,расшифровывается твой закрытый ключ, а следом бурда, и ты можешь нормально прочитать письмо.
Конечно я упростил схему и вырезал всю математику, но мои цели было простое пояснение, поэтому не обижайтесь.
Гибридное шифрование.
А это изобретение успешно использует и симметричное и ассиметричное шифрование в одном флаконе. Именно этот метод использует знаменитое PGP.
Вот принцип:
1) Твой друг пишет e-mail. Указывает твой открытый ключ.
2) Программа от лампочки генерирует случайный, но ОЧЕНЬ стойкий к взлому пароль.
3) Письмо шифруется ОЧЕНЬ стойким паролем. Этот пароль внедряется в итоговую бурду.
4) Полученное шифруется твоим открытым ключом.
5) Ты получаешь письмо и вводишь пароль к закрытому ключу.
6) Программа расшифровает полученное, снимая защиту открытого ключа.
7) При расшифровке программа вытаскивает ОЧЕНЬ стойкий ключ и расшифровавыет сообщение.
8) Ты его читаешь.
Вот так вот. Надеюсь объяснил простым и внятным языком. Надеюсь вам понравилось.