Читать реферат по информатике, вычислительной технике, телекоммуникациям: "Простые шифры" Страница 2


назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

'А';

c += key % l;

if(c < 'А') c += l;

if(c > 'Я') c -= l;

return c;

}

}

При шифровании с ключом алгоритмы шифрования и расшифровки могут быть хорошо известны. Но дешифровальный и (иногда) шифровальный ключи строго секретны. Зашифрованный текст, полученный в результате шифрования открытого текста с помощью конкретного шифровального ключа, может быть расшифрован только с помощью дешифровального ключа, связанного с шифровальным ключом.

В шифре Цезаря ключи представляют собой число символов, на которое сдвигаются буквы алфавита. При шифровании вместо каждой буквы открытого текста ставится буква отстоящая от нее вправо на число букв задаваемое значением ключа. Расшифровка заключается в смещении каждой буквы влево на число букв, задаваемое тем же значением ключа, которое использовалось при шифровании. (То есть decryptKey = -encrypKey)

Не нужно быть опытным дешифровальщиком, чтобы понять, что Шифр Цезаря обладает низкой стойкостью. В нем (в случае русского алфавита) возможны всего 32 различных кличей, один из которых отображает открытый текст в тот же открытый текст.

Это дает представление о размере пространства ключей. Пространство ключей шифра – это набор всех возможных ключей, которые работаю с этим шифром. Чтобы шифр был эффективным, пространство ключей должно быть большим. Размер пространства ключей обычно измеряется числом двоичных разрядов ключа. В n-битном пространстве ключей возможны 2n разных ключа. Для 32-х-битного ключа это число составляет 4 294 967 296 разных ключей. Хотя такое число может показаться большим, на самом деле оно достаточно мало. Средней мощности компьютер может за день “перепробовать” 4 миллиарда ключей.

      Простой подстановочный шифр

Еще одним видом простого шифра являются подстановочные шифры. Они были одними из наиболее популярных шифров со Средних веков до 19-го столетия. В простых подстановочных шифрах вместо одной буквы алфавита подставляется другая. В более сложных подстановочных шифрах вместо одной группы букв подставляется другая.

Даже простые подстановочные шифры сложнее шифра Цезаря. Если вы сможете расшифровать одну букву в шифре Цезаря, то после этого расшифруете любую букву в нем. Но в случае с простым подстановочным шифром так не происходит. Ключом к простому подстановочному шифру является таблица соответствия буквам открытого текста букв зашифрованного текста. Этот ключ может быть представлен в виде 32-х-буквенной строки. Например: НАФЧЫРИЦЛЙЯДМЗСЪЖЩТПОКЭЬГЮЕУШВБХ

Число ключей для простого подстановочного шифра составляет 32!, а это больше чем 2,6*1035.

Алгоритм шифрования с использованием подстановочного шифра представлен в следующем листинге.

              Листинг2. классSubstitutionCipher

package ru.festu.u031.asanov.security.ref1; public class SubstitutionCipher {

/** Зашифровать строку */

public static String encrypt(String s, String key) {

String r = "";

for(int i = 0; i < s.length(); i++) {

r += encrypt(s.charAt(i), key);

}

return r;

}

/** Зашифровать отдельный символ */

public static char encrypt(char c, String key) {

// преобразовать строчные символы в заглвные

if(c >= 'а' && c = 'А' && c = 'А' && c



Интересная статья: Основы написания курсовой работы