Шифрование на открытом ключе (ассиметричное шифрование)
В 1970-х годах появилась новая система шифрования, называемая шифрованием на ассиметричном (открытом) ключе. Она называется ассиметричной, потому что не требует использования идентичных ключей отправителем и получателем шифрованного сообщения. Она является системой с открытым ключом, так как один из ключей не содержится в секрете.
Давайте остановимся на этом поподробнее. Шифрование на открытом ключе использует два различных ключа, составляющих пару, но не идентичных. В шифровании с симметричным ключом каждый ключ является уникальным. Пара ключей открытый/секретный работает сообща: один ключ предназначен для шифрования данных, а другой – для расшифровки, и наоборот. Секретный ключ должен содержаться в секретности в целях безопасности, а открытый ключ может передаваться по небезопасному соединению без угрозы для системы. Следовательно, система шифрования на открытом ключе решает одну из главных проблем старых систем шифрования, заключающуюся в безопасном способе передачи ключа шифрования другой стороне.
Как правило, открытые ключи используются только для зашифровки данных. Расшифровать их сможет только тот пользователь, чей компьютер содержит соответствующий секретный ключ. Эта система построена на математических принципах, используемых в шифрах с открытыми ключами и обеспечивающих существование одного и только одного уникального секретного ключа, соответствующего уникальному открытому ключу. Следовательно, если выполняется шифрование данных пользователя на общем ключе, можете быть уверены, что только пользователь, владеющий второй, секретной, половиной ключа, сможет их расшифровать.
Первым коммерческим алгоритмом шифрования на открытом ключе был алгоритм RSA (сокращение представляет собой первые буквы фамилий трех специалистов, которые разработали шифр и впоследствии создали свою собственную компанию RSA Security, Inc.). Данный алгоритм использовался в Netscape в качестве компонента первой версии SSL (это был единственный шифр, используемый в Netscape), который в итоге фактически стал частью стандарта, когда Netscape открыли SSL для общего пользования. Microsoft изначально использовал шифрование RSA в операционной системе Windows NT, оно используется и в Windows 2000. Ключи RSA являются основными возможностями шифрования в Windows 2000/IIS.