Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы 12-22.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
247 Кб
Скачать
☆

Как искать документы определенного типа

Вам нужен оператор mime. Поставьте в запросе mime, двоеточие и затем тип документа, который вам нужен. Например, pdf или doc.

Пример:

[заявление на загранпаспорт mime:pdf]

Попробуйте:

Начало формы

Найти

Конец формы

Как искать на сайтах на определенном языке

С помощью оператора lang. После lang нужно поставить двоеточие и написать, на каком языке вам нужны документы. Если это русский язык, то нужно указать ru, если украинский — uk. Белорусский язык обозначается как be, английский — en, французский — fr.

Пример:

[void glClearColor lang:ru]

Попробуйте:

Начало формы

Найти

Конец формы

  1. Опишите различие между симметричным и ассиметричными алгоритмами шифрования.

К классу симметричных алгоритмов относятся потоковые, блочные и составные. Потоковые алгоритмы шифруют биты исходной информации независимо друг от друга, для чего используется так называемое гаммирование, то есть наложение на открытый текст псевдослучайной последовательности единиц и нулей в соответствии с определенным правилом. Понятно, что наложение той же гаммы на зашифрованные данные приводит к их расшифровке. Криптосистемы с одноразовым или бесконечным ключом (другое название – infinity-key cipher) предусматривают однократное наложение случайной гаммы одинакового размера с исходными данными. В этом случае взлом сообщения невозможен, поскольку гамма не повторяется. Если гамма короче сообщения, то такой алгоритм называется алгоритмом с конечным ключом (другое название –алгоритм Вернама), и сообщение может быть расшифровано в случае перехвата. Компромиссом между стойкостью алгоритма и длиной ключа является гамма, получаемая при помощи генератора псевдослучайных чисел (метод ПСЧ). Генератор ПСЧ использует в качестве ключа так называемое порождающее число (другие названия – начальное значение, вектор инициализации, initializing value). Еще одна характеристика генератора – период, после которого последовательность будет повторяться. Очевидно, что для получения хорошего результата период должен быть таким, чтобы длина одной гаммы превышала длину шифруемой информации. Блочные алгоритмы предусматривают разбиение информации на блоки, каждый из этих блоков шифруется отдельно. Эти алгоритмы делятся на шифрование посредством Р-блоков и шифрование посредством S-блоков. Шифрование Р-блоками (другие названия – перестановка, permutation) означает, что элементы открытых данных переставляются в новом порядке. Шифров, в которых реализована эта технология, очень много – горизонтальной перестановки, вертикальной перестановки, решетки, лабиринты и так далее. Метод S-блоков (другие названия – замена, подстановка, substitution) предусматривает замену одних элементов исходного текста на другие произвольные элементы (не обязательно принадлежащие исходному тексту) по некоему заранее определенному правилу. По методу S-блоков работают шифры простой, сложной, парной и колонной замены, а также буквенно-слоговые шифры. Подклассами этих шифров являются моноалфавитные (иначе – цезаревы) и полиалфавитные (другое название – шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). В основе моноалфавитных шифров лежит уже описанная выше методика, использовавшаяся Цезарем. Эти шифры разгадываются достаточно легко путем простого перебора значений ключа. А вот полиалфавитные шифры посерьезнее будут –в них для замены одного символа исходного текста могут применяться разные символы из некоего произвольного набора. Однако этот набор не бесконечен и взлом текста, зашифрованного полиалфавитным шифром, тоже не является непосильной задачей даже для среднего дешифровщика. На практике чаще всего пользуются так называемым составным шифрованием (другое название – product cipher), сочетающим в себе и шифр замены, и шифр перестановки. Блочное шифрование можно проводить как с обратной связью, так и без нее. При отсутствии обратной связи каждый блок исходного текста определяет только свой зашифрованный блок, поскольку все блоки шифруются одновременно. Это приводит к тому, что одинаковые исходные блоки дают в результате одинаковый шифртекст, поэтому их используют только для шифрования самих ключей и прочих случайных последовательностей. В системах шифрования с обратной связью каждый шифруемый блок сначала складывается с предыдущим зашифрованным, при этом самый первый блок складывается с неким наперед заданным инициирующим значением. Это приводит к тому, что любая ошибка дешифратора становится практически фатальной, поскольку вносит изменения в два блока – текущий и следующий за ним. Далее срабатывает эффект снежного кома.

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

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

Одним из самых известных асимметричных алгоритмов является RSA, названный так по первым буквам имен сотрудников Массачусетского университета (США), разработавших эту технологию (Rivest, Shamir, Adleman). В основе стойкости этого алгоритма лежит сложность вычислительного решения задачи разложения большого числа на простые множители. Поскольку именно этот алгоритм часто встраивается в программные продукты, имеет смысл рассмотреть его работу подробнее. Этот алгоритм опирается на два достаточно больших числа, произведение которых принято называть модулем, являющимся первой частью каждого ключа. Если уменьшить каждое из этих чисел на единицу и выбрать взаимно простое (не имеющее общих делителей, за исключением единицы) с их произведением число, то это число на пару с модулем образует открытый ключ. Вторая часть закрытого ключа выбирается таким образом, что если уменьшить его на единицу и помножить на вторую часть открытого ключа, то полученный результат должен делиться без остатка на произведение исходных чисел без единицы. Процесс кодирования и раскодирования в данном случае в принципе аналогичен процедурам, которые применял Цезарь, только следует учесть, что ключ стал несколько сложнее. Очевидно, что для взлома шифра следует разложить на простые множители модуль шифра, что в случае большого числа сделать весьма непросто, даже имея хорошую вычислительную машину (точнее, просто, но очень долго). Из описания алгоритма понятно, что его следует применять для передачи закрытых сообщений, секретность которых через некоторое время будет утрачена по объективным причинам.

Если говорить о безопасности алгоритмов, то большинство специалистов склоняются к тому, что их можно поделить на три категории – безусловно стойкие, доказуемо стойкие и предположительно стойкие. К безусловно стойким алгоритмам относятся те, безопасность которых строго доказана – например, шифр Вернама. Недостатком практического воплощения является экстремальная дороговизна, поэтому используют их только те, кто может себе это позволить, да и то в крайнем случае – слишком велик риск, что реальная выгода от абсолютной секретности не сможет покрыть убытки от ее реализации. К классу доказуемо стойких алгоритмов принято относить шифры, взломать которые за разумное время не смогли достаточно опытные эксперты. Самая распространенная в реальной жизни категория алгоритмов – предположительно стойкие. Их безопасность основывается на том, что математическая задача нахождения ключа хоть и решаема, но сложна. Именно к таким алгоритмам относится и наш ГОСТ 28147-89.Сравнение симметричных и асимметричных алгоритмов приводит к выводу о необходимости использования в асимметричных системах длинных ключей (не менее 512 бит), и, соответственно, время, затраченное на шифрование и дешифрование будет довольно значительным. С другой стороны, в асимметричных системах допускается передавать ключи по незащищенному каналу. Симметричные системы работают значительно быстрее, но пользователю этих систем придется как-то решить проблему безопасной передачи ключей. То есть, как и следовало ожидать, идеального решения не существует. Именно по этой причине рекомендуется использовать технологии, сочетающие в себе оба алгоритма. На практике это может выглядеть примерно так: асимметричную систему использовать для обмена ключами, а сам текст шифровать при помощи симметричного алгоритма.

Кратко и просто: Симметричное шифрование — способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

Асимметричное шифрование — системашифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ.[1] Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

Существующие методы шифрования можно разделить на две большие группы:[6]

  • Симметричное шифрование использует один ключ для шифрования и расшифрования.

  • Асимметричное шифрование использует два различных ключа для шифрования и расшифрования.

Также шифры могут отличаться структурой шифруемой информации. Они могут либо шифровать сразу весь текст, либо шифровать его по мере поступления. Таким образом существуют:[6]

  • Блочный шифр шифрует сразу целый блок текста, выдавая шифротекст после получения всей информации.

  • Поточный шифр шифрует информацию и выдает шифротекст по мере поступления, таким образом имея возможность обрабатывать текст неограниченного размера используя фиксированный объем памяти.

Блочный шифр можно превратить в поточный, разбивая входные данные на отдельные блоки и шифруя их по отдельности. Однако, блочные шифры являются более криптоустойчивыми по сравнению с поточными. Кроме того, блочные шифры работают зачастую быстрее и легко реализуемы посредством программного обеспечения. Поточные, же, шифры зачастую реализуются в аппаратном виде(в виде некой шифрующей аппаратуры), так как представление данных и их обработка в поточных шифрах очень близка к обработке данных и их передаче в аппаратуре. Там данные представляются именно потоком, чаще всего.[6][19]

Эти методы решают определенные задачи и обладают как достоинствами, так и недостатками. Конкретный выбор применяемого метода зависит от целей, с которыми информация подвергается шифрованию.