DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Компоненты шифрования

Давайте подытожим, что нам на данный момент известно. Система шифрования, как показано на рис. 4.1, включает в себя несколько базовых компонентов:
• Алгоритм
• Ключ
• Тип шифрования (в данном случае симметричное, т. к. для зашиф- ровывания и расшифровывания используется один и тот же ключ)
Предположим, что злоумышленник, решивший украсть мой ноутбук, пытается открыть замок. Что ему нужно для успешной кражи? Во-первых, ему надо знать алгоритм; допустим, он его знает благодаря тому, что я хвастался коллегам своей сообразительностью, или он читал эту книгу, или этот алгоритм широко известен. Во-вторых, ему надо знать ключ. А это то, что я могу защитить. Даже если вору известен алгоритм, я могу надежно спрятать ключ. Но в силу того, что ключ состоит всего лишь из 4 цифр, вору потребуется не более 104 (10000) попыток для его угадывания. И поскольку вероятности угадывания в каждой из попыток равны, то теоретически вору в среднем надо перебрать 5000 комбинаций. Возможно ли это? В нашем случае вору придется вручную поворачивать колесики замка 5000 раз. Это непросто, но теоретически возможно. Теперь я уже не чувствую себя в безопасности.

Какими способами я мог бы защитить кодовую комбинацию своего замка?
Я могу засекретить алгоритм.
Я могу сделать ключ трудно угадываемым.
Я могу применить оба этих метода.
Первый вариант не подходит, если я использую общеизвестный алгоритм. Я могу разработать свой собственный, но потраченные время и силы могут не окупиться. Алгоритм позже может быть раскрыт, а его замена - очень сложная задача. Эти доводы применимы и к третьему варианту, так что практическую ценность представляет только второй.
 









jAntivirus