За работу шифров отвечает наука криптография. Согласно wiki:
Криптогра́фия (от др.-греч. κρυπτός «скрытый» + γράφω «пишу») — наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним), целостности данных (невозможности незаметного изменения информации), аутентификации (проверки подлинности авторства или иных свойств объекта), а также невозможности отказа от авторства.
Без шифрования Вы бы не смогли производить разнообразные банковские операции, без опаски регистрироваться в социальных сетях, форумах и т.д. Ваша информация летала бы по интернету в открытом виде и любой желающий смог бы без труда её прочесть.
Работа всех шифров построена на математических алгоритмах, для разбора которых нужно хорошо владеть математикой, знать такой её раздел, как Теория чисел, разбираться в эллиптических кривых...
Я постараюсь объяснить принцип работы шифрование, не затрагивая математику.
Итак, существует два типа шифрования: симметрично и асимметричное.
Введем для удобства троих выдуманных героев: Алиса, Боб и Ева. Алиса и Боб хотят пообщаться между собой так, чтобы никто другой не смог узнать о чем они говорят. Ева хочет узнать, о чем беседуют между собой Алиса с Бобом.
Симметричное шифрование
Предположим у Алисы есть шкатулка и она хочет отправить письмо Бобу. Алиса пишет сообщение, кладет его в шкатулку и запирает её замком. Далее Алиса посылает Бобу закрытую шкатулку, а тот в свою очередь открывает её копией ключа Алисы.
Ева никак не сможет открыть замок, только воспользовавшись грубой силой попытаться его сломать (в настоящих шифрах существует подобная атака, которая носит название brute force, заключающаяся в подборе ключа к шифру, но учитывая длину используемых ключей, подбор займет тысячи и больше лет).
Остается открытым вопрос передачи копии ключа Бобу. В данной ситуации Алиса может заранее встретиться с Бобом и передать ему ключ. Но как быть в случае, если они не могут встретиться? Ведь передав ключ вместе со шкатулкой, Ева сможет открыть её. Для этого можно воспользоваться другим типом шифрования.
Асимметричное шифрование
Алиса пишет Бобу, что хочет с ним пообщаться. У Боба есть специальный замок, который можно закрыть только одним ключом (открытый ключ) и открыть только другим (секретный ключ). Боб берет пустую шкатулку с открытым замком и отправляет её вместе с открытым ключом. Алиса получив посылку, кладет своё письмо в эту шкатулку, запирает её и отсылает Бобу. Боб получив посылку открывает её секретным ключом.
Ева в данной ситуации не сможет открыть замок, так как ключ открывающий шкатулку находиться только у Боба. Она может только перехватить шкатулку и притвориться Алисой. Написать письмо, закрыть шкатулку и отправить Бобу. Чтобы этого не произошло существуют Центры сертификации, которые ставят печать на письмо, подтверждая, что это тот человек, за которого он себя выдает.
Зачем тогда нужно симметричное шифрование? Дело в том, что алгоритмы симметричного шифрования работают намного быстрее асимметричных шифров. К тому же они имеют более малый ключ. Поэтому в интернете используют пару симметричного и асимметричного шифрования. Асимметричным вырабатывают один секретный ключ и затем с помощью него прячут сообщения, используя симметричный шифр.