Что означает слово шифрование
Значение слова «шифрование»
Источник (печатная версия): Словарь русского языка: В 4-х т. / РАН, Ин-т лингвистич. исследований; Под ред. А. П. Евгеньевой. — 4-е изд., стер. — М.: Рус. яз.; Полиграфресурсы, 1999; (электронная версия): Фундаментальная электронная библиотека
Пользователи являются авторизованными, если они обладают определенным аутентичным ключом. Вся сложность и, собственно, задача шифрования состоит в том, как именно реализован этот процесс.
В целом, шифрование состоит из двух составляющих — зашифрование и расшифрование.
С помощью шифрования обеспечиваются три состояния безопасности информации:
Шифрование используется для скрытия информации от неавторизованных пользователей при передаче или при хранении.
Шифрование используется для предотвращения изменения информации при передаче или хранении.
Шифрование используется для аутентификации источника информации и предотвращения отказа отправителя информации от того факта, что данные были отправлены именно им.
Для того, чтобы прочитать зашифрованную информацию, принимающей стороне необходимы ключ и дешифратор (устройство, реализующее алгоритм расшифровывания). Идея шифрования состоит в том, что злоумышленник, перехватив зашифрованные данные и не имея к ним ключа, не может ни прочитать, ни изменить передаваемую информацию. Кроме того, в современных криптосистемах (с открытым ключом) для шифрования, расшифрования данных могут использоваться разные ключи. Однако, с развитием криптоанализа, появились методики, позволяющие дешифровать закрытый текст без ключа. Они основаны на математическом анализе переданных данных.
Кодирование и Шифрование
В наш век интернет-технологий, когда мы доверяем все свои данные интернет-сервисам, нужно знать и понимать, как они их хранят и обрабатывают.
Но зачем это вообще нужно знать? Чтобы попросту не попасть в ситуацию, когда ваши личные данные, пароли от аккаунтов или банковских карт окажутся в руках мошенников. Как говорится: «Доверяй, но проверяй»
Важные аспекты в хранении данных, будь то на внешних серверах или домашнем компьютере, – это прежде всего кодирования и шифрование. Но чем они отличаются друг от друга? Давайте разбираться!
Ни для кого не секрет, что компьютер может хранить информацию, но он не может хранить её в привычной для нас форме: мы не сможем просто так написать на флешки реферат, не можем нарисовать на жестком диске картинку так, чтобы её мог распознать компьютер. Для этого информацию нужно преобразовать в язык понятный компьютеру, и именно этот процесс называется кодированием. Когда мы нажимаем на кнопку на клавиатуре мы передаем код символа, который может распознать компьютер, а не сам символ.
Определения и различия
Кодирование – процесс преобразования доступной нам информации в информацию понятную компьютерную.
Шифрование – процесс изменения информации таким образом, чтобы её смогли получить только нужные пользователи.
Шифрование применялось и задолго до создания компьютеров и информатики как таковой. Но зачем? Цели её применения можно было понять из определения, но я опишу их ещё раз более подробно. Главные цели шифрования это:
конфиденциальность – данные скрыты от посторонних
целостность – предотвращение изменения информации
идентифицируемость – возможность определить отправителя данных и невозможность их отправки без отправителя
Оценить стойкость шифра можно с помощью криптографической стойкости.
Криптографическая стойкость – это свойство шифра противостоять криптоанализу, изучению и дешифровки шифра.
Криптостойкость шифра делится на две основные системы: абсолютно стойкие системы и достаточно стойкие системы.
Абсолютно стойкие системы – системы не подверженные криптоанализу. Основные критерии абсолютно стойких систем:
Ключи должны генерироваться для каждого сообщения отдельно
Генерация ключей независима
Длина ключа должна быть не меньше длины сообщения
К сожалению, такие системы не удобны в своём использовании: появляется передача излишней информации, которая требует мощных и сложных устройств. Поэтому на деле применяются достаточно стойкие системы.
Достаточно стойкие системы – системы не могут обеспечить полную защиту данных, но гораздо удобнее абсолютно стойких. Надежность таких систем зависит от возможностей крипто аналитика:
Количества перехваченных сообщений
Времени и вычислительных способностей
А также от вычислительной сложности шифра.
Вычислительная сложность – совокупность времени работы шифрующей функции, объема входных данных и количества используемой памяти. Чем она больше, тем сложнее дешифровать шифр.
История шифрования
Шифрование берет своё начало ещё из древних времен. Примерно 1300 лет до нашей эры был создан один из первых методов шифрования – Атбаш. Принцип шифрования заключается в простой подставке символов по формуле:, где:
n – количество символов в алфавите
i – порядковый номер символа.
С тех самых пор шифрование активно развивалось вместе с развитием нашей цивилизации
Хоть шифры и менялись, но их принцип нет – для расшифровки сообщения требуется ключ. В случае с Абашем ключом может считать последовательность порядковых номеров исходных символов, но этот ключ ещё надо как-то передать. Методы шифрования, которые используются сейчас, научились-таки передавать ключи по открытым и незащищённым каналам связи. Казалось бы, передача ключей шифрования по обычным каналам — это добровольное жертвование своими данными, но не всё так просто. Разберём это на примере популярного алгоритма шифрования «RSA», разработанного в 1977 году.
Первым делом выбирается два случайный простых числа, которые перемножаются друг на друга – именно это и есть открытый ключ.
К слову: Простые числа — это те числа, которые могут делиться без остатка либо на 1, либо на себя.
Длина таких чисел может быть абсолютно любая. К примеру, возьмем два простых числа 223 и 13. Их произведение 2899 – будет являться открытым ключом, который мы и будем передавать по открытому каналу связи. Далее нам необходимо вычислить функцию «Эйлера» для произведения этих чисел.
Функция Эйлера – количество натуральных чисел, меньших чем само число и, которые будут являть взаимно простыми числами с самим числом.
Возможно, звучит непонятно, но давайте это разберем на небольшом примере:
φ (26) [фи от двадцати шести] = какому-то числу чисел, которое всегда будет меньше 26, а сами числа должны иметь только один общий делитель единицу с 26.
1 – подходит всегда, идем дальше;
7 – только на 1 – подходит;
Общее количество таких чисел будет равно 12. А найти это число можно по формуле: φ(n*k) = (n-1)(k-1) в нашем случае 26 можно представить как 2 * 13, тогда получим φ(26) = φ(2 * 13) = (2-1)*(13-1) = 1 * 12 = 12
Теперь, когда мы знаем, что такое функция Эйлера и умеем её вычислять найдем её для нашего открытого ключа – φ(2899) = φ(223 * 13) =(223 – 1)*(13-1) = 222 * 12 = 2664
После чего нам нужно найти открытую экспоненту. Не пугайтесь, тут будет гораздо проще чем с функцией «Эйлера».
Открытая экспонента – это любое простое число, которое не делится на функцию Эйлера. Для примера возьмем 13. 13 не делится нацело на число 2664. Вообще открытую экспоненту лучше выбирать по возрастанию простым перебором, а не просто брать случайную. Так для нашего примера разумнее было бы взять число 5, но давайте рассмотрим на примере 13
e – открытая экспонента
mod – остаток отделения
В обоих случаях у нас получится число 205
На этом подготовка отправки сообщения успешно завершается и начинается самое веселое – отправка данных для дешифрования сообщения. На этом шаге мы отправляем открытый ключ и открытую экспоненту человеку, сообщение которого хотим получить. Предположим, что в этот момент наш ключ и экспоненту перехватили 3-е лица, но до нужного нам человека они всё так же дошли
Теперь этому человеку нужно отправить нам сообщение, для простоты предположим, что это какое-то число, например: 92. Для этого ему нужно отправить нам остаток от деления 92 в степени открытой экспоненты на открытый ключ – T ^ e mod n , где
T – шифруемый текст
e – открытая экспонента
mod – остаток от деления
Предположим, что и в этот раз сообщение перехватили, но нам оно всё так же дошло
С – зашифрованный текст
d – закрытая экспонента
mod – остаток от деления
235 ^ 205 mod 2899 = 92.
Вуаля, и мы имеет исходное число. Но, что насчет перехваченных сообщений? У злоумышленника есть сообщение, ключ и экспонента, но как мы помни для дешифровки ему ещё нужна секретная экспонента, она же секретный ключ, но для того, чтобы вычислить её, ему придется разложить исходный ключ 2899 на множители, а сделать это не так уж и просто, особенно когда вместо двух чисел 223 и 13, будут использовать числа длиной несколько десятков символов
Но ничто в мире не идеально, в том числе и этот метод.
Его первый недостаток – это подборка пары чисел для открытого ключа. Нам нужно не просто сгенерировать случайно число, но ещё и проверить на то простое ли оно. На сегодняшний нет методов, которые позволяют делать это сверх быстро.
Второй недостаток – так же связан с генерацией ключа. Как мы с вами помним: «ключи должны генерировать независимо от каких-либо факторов», но именно это правило нарушается, когда мы пытается сгенерировать строго простые числа.
Третий недостаток – подбор и перебор чисел для экспонент.
Четвертый – длина ключей. Чем больше длина, тем медленнее идет процесс декодирования, поэтому разработчики пытаются использовать наименьшие по длиннее ключи и экспоненты. Даже я акцентировал на это внимание, когда говорил, что лучше взять число 5, вместо 13 для открытой экспоненты. Именно из-за этого и происходит большая часть взломов и утечек данных
Но не стоит печалиться, ведь как я и говорил: криптография и шифрование развивается вместе с развитием цивилизации. Поэтому довольно скоро все мы будем шифровать свои данные с помощью Квантового шифрование.
Этот метод основывается на принципе квантовой суперпозиции – элементарная частица может сразу находится в нескольких положениях, иметь разную энергию или разное направление вращения одновременно. По такому принципу и работает передача ключей шифрования по протоколу BB-84.
Есть оптоволокно, по которому передаются единичные фотоны света. Мы, как отправитель может сгенерировать абсолютно любой двоичный ключ, по тому же принципу квантовой супер позиции, ну или использовать обычные генераторы псевдослучайных чисел. Допустим мы хотим передать ключ 101001011. Для этого нам нужно принять за обозначение какое положение фотона соответствует единице, а какое нулю. Представим, что вертикальное положение – это 1, а горизонтальное – 0. Если оставить все так, то от передачи ключей таким образом не будет никакого смысла, ведь тогда злоумышленник всегда сможет измерить фотон, получить его значение, создать и отправить точно такой же обратно человеку, которому мы хоти передать ключ. Поэтому были введены ещё два положение – диагональные. Предоставим вертикальную волну, или же значение 1 и отклоним её на 45 градусов влево. Это будет вторая единица. Вернемся обратно и отклоним на 45 градусов вправо – это будет второй 0.
Вернемся к нашему ключу 101001011. Мы случайным образом выбираем направление – обычное или диагональное. Для удобства присвоим обычному номер 1, а диагональному 2.
Давайте отправим ключ – 1(1), 0(2), 1(1), 0(1), 0(1), 1(2), 0(2), 1(1), 1(2). Теперь человеку, которому мы отправляем ключ, нужно точно так же, совершенно случайно, выбрать случайное направление.
Допустим он выбрал направления: 221111212. Поскольку есть всего 2 плоскости отправки: 1 и 2, они же называются: канонический и диагональный базис, то шанс того, что он выбрал правильные направления 50%.
Если он угадал базис – он получил верное значение, если нет – неверное. Учитывая его направления, он получил: 001000011. Теперь нужно отсеять неправильные значения: можно сделать это обменом базисов по любому, даже не защищенному, каналу связи. После этого у нас обоих останется ключ: 0100011. Теперь с помощью его мы можем передавать и кодировать сообщения по обычному методу шифрования.
Заключение
Причитав и разобрав эту статью, мы с вами узнали, чем отличается кодирование от шифрования, их историю с будущим, узнали каким должен быть идеальный шифр и немного поговорили про крипто анализ. Уже с этими знаниями, которые были предоставлены в этой статье, можно спокойно идти и делать какую-нибудь систему авторизации или пытаться взломать какой-то сайт, главное не перебарщивать.
Сквозное шифрование: что это и зачем оно нужно вам
Объясняем на пальцах, что такое сквозное шифрование и зачем оно нужно обычным людям.
В последнее время всякие сервисы для связи — от WhatsApp до Zoom — часто говорят: вот, мы внедрили сквозное шифрование. Вот только далеко не все пользователи понимают, что это значит. Что такое шифрование, допустим, понятно, — значит, данные превращаются во что-то нечитаемое. А сквозное — это как? В чем его плюсы и минусы? Попробуем объяснить максимально просто, не углубляясь в термины и математику.
Что такое сквозное шифрование и какие еще бывают варианты
Сквозное шифрование — это когда сообщения шифруются на вашем устройстве и расшифровываются только на устройстве вашего собеседника (по-английски это называется end-to-end, что можно перевести на русский как «из конца в конец»). То есть весь путь от отправителя до получателя сообщение преодолевает в зашифрованном виде, поэтому его никто не может прочитать, кроме вашего собеседника.
Как еще бывает? Также возможна передача данных в открытом виде, то есть когда сообщение вообще не шифруется. Это самый небезопасный вариант. Например, данные не шифруются при передаче SMS — в теории их может перехватывать вообще кто угодно. К счастью, на практике для этого требуется специальное оборудование, что несколько ограничивает круг читателей ваших сообщений.
Еще бывает транспортное шифрование — это когда сообщения шифруются у отправителя, доставляются на сервер, расшифровываются там, вновь шифруются и доставляются уже получателю. Транспортное шифрование защищает информацию при передаче, однако позволяет видеть содержание сообщений промежуточному звену — серверу. Может быть, этот сервер ответственно относится к вашим тайнам, а может быть, и нет. Вам остается только доверять его владельцам.
В то же время во многих случаях может быть гораздо удобнее использовать транспортное шифрование вместо сквозного. Дело в том, что транспортное шифрование позволяет серверу предоставлять более разнообразные услуги, нежели просто передача зашифрованных данных от одного собеседника к другому. Например, хранить историю переписки, подключать к беседе дополнительных участников по альтернативным каналам (телефонный звонок в видеоконференцию), использовать автоматическую модерацию и так далее.
При этом транспортное шифрование решает важную задачу: исключает перехват данных по дороге от пользователя к серверу и от сервера к пользователю (а это самая опасная часть пути). Так что сервисы не всегда торопятся переходить на сквозное шифрование: для пользователей удобство и разнообразие сервисов может быть важнее повышенной безопасности данных.
От чего защищает сквозное шифрование
Из того, что зашифрованное сквозным шифрованием сообщение не может расшифровать никто, кроме получателя, вытекает еще один плюс: никто не может влезть в сообщение и изменить его. Современные шифры устроены таким образом, что, если кто-то изменит зашифрованные данные, при расшифровке они превратятся в мусор, — и сразу станет понятно, что тут что-то не так. А вот внести предсказуемые изменения в зашифрованное сообщение — то есть подменить один текст другим — не получится.
Это обеспечивает целостность переписки: если вы получили сообщение и его удается расшифровать, то вы можете быть точно уверены, что именно это сообщение вам и отправили и в пути оно никак не изменилось.
От чего сквозное шифрование не защищает
После того как кто-нибудь расписывает все преимущества сквозного шифрования — примерно так, как это сделали мы сейчас, — слушателям начинает казаться, что оно решает вообще все проблемы передачи информации. Однако это не так, и у сквозного шифрования есть свои ограничения.
Во-первых, пусть использование сквозного шифрования и позволяет скрыть от посторонних глаз содержание сообщения, сам факт отправки определенному собеседнику (или получения от него) сообщения все еще остается известным. Сервер не будет знать, что было в том сообщении, которое вы отправили своему собеседнику, но он точно будет в курсе того, что в такой-то день и в такое-то время вы обменивались сообщениями. В некоторых случаях сам факт общения с определенными адресатами может привлечь к вам нежелательное внимание.
Во-вторых, если кто-то получит доступ к устройству, с помощью которого вы общаетесь, то он сможет прочитать все сообщения. А также сможет писать и посылать сообщения от вашего имени. Поэтому устройства надо беречь, а также блокировать доступ к приложениям, использующим сквозное шифрование, хотя бы PIN-кодом, чтобы при потере или краже устройства ваша переписка не попала в чужие руки — вместе с возможностью притворяться вами.
По этой же причине устройства надо защищать антивирусами — зловред на смартфоне может точно так же прочитать вашу переписку, как и живой человек, заполучивший доступ к смартфону. И тут уже неважно, какое шифрование было использовано при передаче сообщений.
Наконец, в-третьих: даже если вы безукоризненно заботитесь о защите всех ваших устройств и точно знаете, что к сообщениям на них ни у кого нет доступа, вы вряд ли можете быть так же уверены в устройстве вашего собеседника. И сквозное шифрование тут тоже никак не поможет.
И все же, несмотря на ограничения, сквозное шифрование — наиболее безопасный способ передачи конфиденциальных данных, и именно поэтому на него переходит все больше различных сервисов. И это хорошо.
Зачем нужно шифрование?
Даже если вы никогда не задумываетесь над этим,у вас наверняка есть тайны, достойные быть зашифрованными!
За века своего существования человечество придумало множество способов хранения тайны. В Древнем Риме, например, чтобы тайно передать письмо, брили голову рабу, писали на коже сообщение, а потом, дождавшись, когда волосы отрастут, отправляли его к адресату. Конечно, XXI век не позволяет делать дела столь неспешно, да и защита в этом примере обеспечивается только тем, что о письме никто не знает.
К счастью, компьютеры, изначально созданные для взлома военных шифров, дают каждому из нас прекрасный способ хранения личных тайн – информацию можно зашифровать. То, что долгое время было доступно только государственным службам, сегодня может применить любой пользователь. И, что более существенно, даже если вы не задумываетесь над этим, у вас наверняка есть тайны, достойные шифрования.
Есть что скрывать
«У меня нет никаких тайн, мне нечего скрывать», – часто можно услышать от пользователей, когда речь заходит о шифровании и других средствах защиты конфиденциальности. Обычно за этой фразой стоит нечто другое – «я считаю, что никто не потрудится лезть в мой телефон или компьютер, чтобы там найти что-то ценное». Но практика показывает, что это не так. Файл, сохраненный на рабочий стол компьютера или телефон, оставленный в гостиной, довольно быстро будет изучен кем-то из домочадцев.
Все ли письма, фотографии и документы вы готовы показывать жене, брату, теще, детям? Возможно, там нет ничего криминального. Но готовы ли вы сообщить номер своей кредитной карты и ее PIN-код детям-подросткам? Отдать брату пароли от почты и социальных сетей? Демонстрировать все семейные фото друзьям, которые пришли в гости и на пятнадцать минут сели за компьютер? Есть ли желание объяснять жене, что Элеонора – это начальник отдела смежников на работе, а встреча с ней завтра – это совещание с участием еще десяти человек?
И уж конечно, совсем грустной будет история, если на компьютер проникнет вредоносное приложение. В последнее время встречаются зловреды, крадущие всю доступную информацию с компьютера: документы, изображения, сохраненные в браузере пароли и формы – все. Известны случаи, когда среди краденых изображений находились фото документов, которые были использованы для разных форм мошенничества. Или случаи, когда пикантные фото использовались для шантажа.
Особо неприятной формой кражи в последние два-три года стала кража смартфона. Теперь это делается не только для перепродажи краденой трубки, более «продвинутые» воры перед сбытом выключают все беспроводные модули и заглядывают в память устройства в надежде найти что-то ценное вроде тех же паролей, номеров кредиток и фото паспорта.
Семь бед – один ответ
Угроз, как мы видим, существует много, и от каждой из них можно придумать свой способ защиты: изолировать компьютер в запертой спальне, поставить PIN-код на включение смартфона и так далее. Но если защитить информацию не путем физической изоляции, а так, чтобы ее мог прочитать только владелец, результат будет более надежным и всеобъемлющим. Абсолютно все перечисленные неурядицы – большие и малые – могли бы не случиться, если бы важная информация, предназначенная не для всех глаз, хранилась бы в зашифрованном виде.
Иногда вы сталкиваетесь с шифрованием, даже если не задумываетесь об этом, – например, заходя в Gmail или на сайт онлайн-банкинга по протоколу HTTPS, вы связываетесь с банком по зашифрованному каналу. Встроено шифрование и в самый популярный сегодня стандарт сотовой связи GSM. Но сегодня мы сосредоточимся на другом – шифровании данных, хранящихся на компьютере или смартфоне.
Что такое шифрование
Шифрование – это преобразование информации, делающее ее нечитаемой для посторонних. При этом доверенные лица могут провести дешифрование и прочитать исходную информацию. Существует множество способов шифрования/дешифрования, но секретность данных основана не на тайном алгоритме, а на том, что ключ шифрования (пароль) известен только доверенным лицам.
Необходимо отличать шифрование от кодирования. Кодирование тоже преобразует информацию, но лишь для удобства хранения и передачи, секретность не является основной задачей. Типичные способы кодирования – азбука Морзе и двоичное кодирование букв для хранения в компьютере.
Ваш цифровой сейф
Самое удобное на сегодня решение по шифрованию файлов на компьютере – это создание «контейнера», который виден в системе как отдельный диск. На этот диск можно сохранять или копировать любую информацию, с ним можно работать из любой программы, он ничем, по сути, не отличается от флешки или раздела винчестера, чем и удобен.
Важное «но» – на самом деле контейнер является отдельным большим файлом на вашем винчестере, доступ к которому организован через специальную программу, например Kaspersky CRYSTAL. Любой файл, сохраняемый на этот особый диск, будет «на лету» зашифрован и записан в общий файл-контейнер.
Файл-хранилище может увидеть любой посторонний, его даже можно украсть (скопировать). Но это не даст злоумышленнику или просто любопытному ровным счетом ничего – внутри файла содержится лишь мешанина символов, и можно потратить многие годы на то, чтобы подобрать пароль, который превращает этот файл в диск с читабельными файлами.
Чтобы зашифрованный контейнер стал эффективной защитой вашей информации, нужно соблюдать несколько простых правил:
Сейф на смартфоне
Ответом на вышеописанную проблему с кражей смартфонов стало включение в современные мобильные ОС функций шифрования. Ключевая информация в смартфоне постоянно хранится в зашифрованном виде и всякий раз расшифровывается, когда владелец вводит пароль или PIN-код разблокировки. Apple не дает пользователю глубоко управлять этой функцией, но значительное количество информации подвергается шифровке при активации защитного PIN-кода на включение смартфона/планшета.
В Android в настройках безопасности имеется опция полной шифровки содержимого телефона, которая делает все данные на устройстве недоступными без ввода пароля. Для максимальной надежности в обоих случаях рекомендованы свежие версии мобильных ОС – iOS с 6.1 и Android с 4.1.
«Облачная» защита
Среди прочих видов информации в наибольшей степени требуют шифрованного хранения ваши пароли – ведь к каждому сайту и сервису они должны быть разными, оставаясь надежными, длинными и стойкими. Именно поэтому все качественные «хранители паролей» постоянно держат базу данных в зашифрованном виде. Это позволяет без особых опасений передавать ее по Интернету, синхронизируя между разными компьютерами и мобильными устройствами. Подобные сервисы помогают держать все свои пароли под рукой, не снижая уровень защищенности.