Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_Operatsionnym_sistemam.docx
Скачиваний:
62
Добавлен:
19.09.2019
Размер:
259.46 Кб
Скачать

Вопрос 1: Сколько будет 314159265358979 х 314159265358979?

Вопрос 2: Чему равен квадратный корень из 3912571506419387090594828508241?

Большинство шестиклассников, если дать им бумагу и карандаш, а также по­обещать действительно большое сливочное мороженое с сиропом за правильный ответ, смогут ответить на первый вопрос за один-два часа. Большинство взрослых людей, получив карандаш, бумагу и обещание пожизненного 50-процентного сни­жения налогов, не смогут вообще решить вторую задачу без помощи калькулятора, компьютера или еще какой-нибудь внешней помощи. Хотя возведение в квадрат и извлечение квадратного корня представляют собой взаимообратные операции, их различие в сложности является огромным. Такой вид асимметрии и формиру­ет основу криптографии с открытым ключом. Для шифрования используется про­стая операция, но для дешифрации без ключа требуется выполнить огромный объем сложных вычислений.

Система шифрования с открытым ключом RSA использует тот факт, что пере­множить два больших числа значительно легче, чем разложить большое число на множители, особенно когда используется модульная арифметика, а все большие числа состоят из сотен цифр. Эта система широко используется в мире крип­тографии. Главный недостаток систем шифрования с открытым ключом заключается в том, что они в тысячи раз медленнее, чем системы симметричного шифрования.

Шифрование с открытым ключом используется следующим образом. Все уча­стники выбирают пару ключей (открытый ключ, закрытый ключ) и публикуют открытый ключ. Открытый ключ используется для шифрования, а закрытый — для дешифрации. Как правило, формирование ключей автоматизировано, иногда в качестве начального числа используется пароль, выбираемый пользователем. Чтобы отправить пользователю секретное сообщение, корреспондент зашифро­вывает его открытым ключом получателя. Поскольку закрытый ключ есть толь­ко у получателя, только он один сможет расшифровать сообщение.

Необратимые функции

Есть множество ситуаций, как мы увидим позднее, в которых требуется некая функ­ция f, обладающая тем свойством, что при заданной функции f и параметре х вы­числение у = f(x) легко выполнимо, но по заданному f(x) найти значение х невоз­можно по вычислениям. Такая функция, как правило, перемешивает биты сложным образом. Вначале она может присвоить числу у значение х. Затем в ней может рас­полагаться цикл, выполняющийся столько раз, сколько в числе х содержится еди­ничных битов. На каждом цикле биты числа у перемешиваются способом, завися­щим от номера цикла, плюс к числу у прибавляются определенные константы.

Цифровые подписи

Часто бывает необходимо подписать цифровой документ цифровой подписью. С помощью цифровой подписи можно подписывать сообщения, посылаемые по электронной почте, и другие цифровые документы таким образом, чтобы от­правитель не смог потом отрицать, что посылал их. Один распространенный способ получения цифровой подписи заключается в том, что документ пропускается через необратимый алгоритм хэширования, который очень трудно инвертировать. Хэш-функция, как правило, формирует результат фиксированной длины, неза­висящей от изначальной длины документа.

Смысл этой схемы в том, что медленное шифрование с открытым ключом применяется только для небольшого по размерам хэш-кода. Обратите внимание, что данный метод работа­ет только в том случае, если для всех х

E(D(x)) = x.

Такое свойство не гарантировано априори для всех функций шифрования, так как все, что изначально требовалось, — это чтобы

D(E(x)) = х,

то есть Е представляет собой функцию шифрования, a D — функцию дешифро­вания. Для возможности применения этих функций в цифровых подписях тре­буется, чтобы порядок применения функций не имел значения, то есть функции D и E должны обладать свойством коммутативности. К счастью, алгоритм RSA обладает таким свойством.

Чтобы использовать схему электронной подписи, получатель должен знать от­крытый ключ отправителя. Некоторые пользователи публикуют свойства откры­тых ключей на своих web-страницах. Другие этого не делают, так как опасаются, что злоумышленник может взломать страницу и незаметно подменить ключ. Для защиты от подобных действий требуется специальный механизм распределения открытых ключей. Один из широко применяемых методов заключается в том, что отправитель прикрепляет к сообщению сертификат, содержащий имя пользова­теля, и открытый ключ, подписанные ключом доверенной третьей стороны. Как только пользователь получит открытый ключ третьей стороны, он может получать сертификаты ото всех отправителей, использующих эту доверенную третью сто­рону для создания своих сертификатов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]