4.3. Безопасность работы в интернете
Математическое понятие: простые числа
Забудьте об электронной почте и социальных сетях. Тогда наиболее глубокое влияние Интернета на мир могут оказывать интернет-магазины. Но онлайн-коммерция таит в себе опасности. Когда вы вбиваете номер своей кредитной карты на такие сайты, как Amazon, и кликаете «Купить», что останавливает киберворов от перехвата этой информации и кражи номера?
Обратимся к математике. Безопасность работы в Интернете и криптография с открытым ключом в целом основаны на простых числах, особом виде чисел, которые делятся только на себя и на 1. (Для сравнения: число 10 делится на себя, 1, 2 и 5 и простым не является.) Примерами простых чисел являются 1, 3, 5, 7 и 11, но их существует бесконечное множество и соответственно могут расти на огромные расстояния. Существует математическое доказательство того, почему простых чисел бесконечное множество, но это уже другая история (см. главу 4.2).
Когда вы вбиваете номер своей кредитной карты онлайн, вы пользуетесь так называемым алгоритмом RSA. Он был назван в честь создателей – Рональда Ривеста (Rivest), Ади Шамира (Shamir) и Леонарда Адлемана (Adleman). Алгоритм был создан в 1977 году и является системой шифрования, которая основывается на огромных простых числах. В сущности, система обеспечивает безопасность ваших личных данных путем преобразования номера вашей кредитки в другой, чрезвычайно длинный номер, который получен в результате умножения двух длинных случайных простых чисел. Вы могли бы превратить этот новый номер обратно в номер своей карточки, если бы знали два простых числа, но безопасность ваших данных обеспечивается еще одним математическим фактом: крайне тяжело разложить большое число на простые числа. На самом деле, для очень длинного числа могут понадобиться сотни и тысячи лет для того, чтобы сеть суперкомпьютеров смогла найти два правильных простых числа.
Хотя в последнее время появилась информация, что система RSA не такая надежная, как думалось. Целостность системы зависит от генерации случайных простых чисел, но программы, которые этим занимаются – известные как генераторы случайных чисел, – кажется, не всегда создают такие уж случайные числа. Такое несоответствие оставляет место для мошенников, которые могут определить эти два простых числа и украсть конфиденциальную информацию.
В настоящее время онлайн-коммерция – а также онлайн-банкинг и связь – кажутся более или менее безопасными, но давайте надеяться, что математики могут разработать новую, более безопасную систему.
Биткойны
Любой, кто использует биткойны – виртуальную валюту, изобретенную в 2008 году, – должен иметь какой-то электронный кошелек, который находится в безопасности от криптографии с открытым ключом. На самом деле биткойн – это первая валюта, которая основывается на криптографии. Чтобы получить доступ к своим биткойнам, у вас должно быть два ключа: один публичный, а другой секретный, как пин-код или пароль. Два ключа математически связаны.