Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Сравнительный анализ методов шифрования симметрическим методом изложена в таблице 1.1.
После проведенного анализа было выявлено, что шифрованием методом простой подставки совершенно не эффективные, так как его можно расшифровать после несложного анализа. Алгоритм одиночной перестановки гораздо надежнее подставки, но если ключ используется несколько раз, то его можно проанализировать и взломать. Из трех проанализированных методов, алгоритм методом гаммирования является самым эффективным.
Но у всех методов есть общий недостаток отправитель и получатель должны некоторым тайным образом получить копии секретного ключа и сохранять их в тайне.
Таблица 1.1 Сравнительный анализ алгоритмов симметричного шифрования

Практический раздел
Идентификация пользователя
Идентификация пользователя - распознавание пользователя компьютерной системы на основании ранее заданного описания. Идентификация имеет целью определение полномочий пользователя (права доступа к данным и выбора режима их использования).
Для идентификация пользователя по серийному номеру флеш-карты понадобилось 2 процедуры:
GetDriveType – определяет и возвращает тип носителя;
GetVolumeInformation – определяет информацию о носителе, среди которой содержится серийный номер.
Листинг модуля для идентификация пользователя:
procedure TParol.InputClick(Sender: TObject);
var
SerialNum,dtyp:DWORD;
a,b:DWORD;
Buffer,disk:Array[0..255]of char;
Nomer: cardinal;
begin
dtyp:=GetDriveType('G:\');
if dtyp <> DRIVE_REMOVABLE then
begin
ShowMessage('Диск не обнаружен. Вход не выполнен!');
exit;
end;
GetVolumeInformation(
'G:\',
Buffer,
sizeof(Buffer),
@SerialNum,
a, b,
nil, 0);
nomer:=3830754817;
if SerialNum = nomer then //сравниваемсерийныйномер
begin
ShowMessage('Входвыполнен!!');
Main.Show();
Parol.Hide();
end
else
ShowMessage('Входневыполнен!!');
end;
Симметричное шифрование
Симметричное шифрование - посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации — ключа, одинакового для отправителя и получателя сообщения.
Метод подстановки
В шифре простой подстановки производится замена каждой буквы сообщения некоторым заранее определенным символом (обычно это также буква). В данном шифре ключом является просто перестановка алфавита (это верно в том случае, если буквы заменяются буквами).
Как можно понять из определения, данный шифр является довольно простым. Перейдем к примеру, показывающему одну из возможных его реализаций.
Программа будет шифровать и дешифровать только русский текст, оставляя неизменным все остальное.

Рисунок 2.1 Экранная форма - Шифрование метом подстановки
Листинг алгоритма шифрования методом подстановки:
procedure TMain.Shifrovat1Click(Sender: TObject);
var
i, j, q: integer;
str1, str2: string;
mas: array [1..256, 1..2] of char;
begin
mas[1,1]:='1'; mas[1,2]:='я';
mas[2,1]:='2'; mas[2,2]:='ч';
mas[3,1]:='3'; mas[3,2]:='с';
mas[4,1]:='4'; mas[4,2]:='м';
mas[5,1]:='5'; mas[5,2]:='и';
mas[6,1]:='6'; mas[6,2]:='т';
mas[7,1]:='7'; mas[7,2]:='ь';
mas[8,1]:='8'; mas[8,2]:='б';
mas[9,1]:='9'; mas[9,2]:='ю';
mas[10,1]:='0'; mas[10,2]:='.';
mas[11,1]:='-'; mas[11,2]:='Я';
mas[12,1]:='='; mas[12,2]:='Ч';
mas[13,1]:='!'; mas[13,2]:='С';
mas[14,1]:='"'; mas[14,2]:='М';
mas[15,1]:='№'; mas[15,2]:='И';
mas[16,1]:=';'; mas[16,2]:='Т';
mas[17,1]:='%'; mas[17,2]:='Ь';
mas[18,1]:=':'; mas[18,2]:='Б';
mas[19,1]:='?'; mas[19,2]:='Ю';
mas[20,1]:='*'; mas[20,2]:='.';
mas[21,1]:='('; mas[21,2]:='Ф';
mas[22,1]:=')'; mas[22,2]:='Ы';
mas[23,1]:='_'; mas[23,2]:='В';
mas[24,1]:='+'; mas[24,2]:='А';
mas[25,1]:='Й'; mas[25,2]:='П';
mas[26,1]:='Ц'; mas[26,2]:='Р';
mas[27,1]:='У'; mas[27,2]:='О';
mas[28,1]:='К'; mas[28,2]:='Л';
mas[29,1]:='Е'; mas[29,2]:='Д';
mas[30,1]:='Н'; mas[30,2]:='Ж';
mas[31,1]:='Г'; mas[31,2]:='Э';
mas[32,1]:='Ш'; mas[32,2]:='\';
mas[33,1]:='Щ'; mas[33,2]:='д';
mas[34,1]:='З'; mas[34,2]:='э';
mas[35,1]:='Х'; mas[35,2]:='ж';
mas[36,1]:='Ъ'; mas[36,2]:='л';
mas[37,1]:='Ф'; mas[37,2]:='о';
mas[38,1]:='Ы'; mas[38,2]:='р';
mas[39,1]:='В'; mas[39,2]:='п';
mas[40,1]:='А'; mas[40,2]:='а';
mas[41,1]:='П'; mas[41,2]:='в';
mas[42,1]:='Р'; mas[42,2]:='ы';
mas[43,1]:='О'; mas[43,2]:='ф';
mas[44,1]:='Л'; mas[44,2]:='й';
mas[45,1]:='Д'; mas[45,2]:='ц';
mas[46,1]:='Ж'; mas[46,2]:='у';
mas[47,1]:='Э'; mas[47,2]:='к';
mas[48,1]:='\'; mas[48,2]:='е';
mas[49,1]:='Я'; mas[49,2]:='н';
mas[50,1]:='Ч'; mas[50,2]:='г';
mas[51,1]:='С'; mas[51,2]:='ш';
mas[52,1]:='М'; mas[52,2]:='щ';
mas[53,1]:='И'; mas[53,2]:='з';
mas[54,1]:='Т'; mas[54,2]:='х';
mas[55,1]:='Ь'; mas[55,2]:='ъ';
mas[56,1]:='Б'; mas[56,2]:='Ъ';
mas[57,1]:='Ю'; mas[57,2]:='Х';
mas[58,1]:='.'; mas[58,2]:='З';
mas[59,1]:='й'; mas[59,2]:='Щ';
mas[60,1]:='ц'; mas[60,2]:='Ш';
mas[61,1]:='у'; mas[61,2]:='Г';
mas[62,1]:='к'; mas[62,2]:='Н';
mas[63,1]:='е'; mas[63,2]:='Е';
mas[64,1]:='н'; mas[64,2]:='К';
mas[65,1]:='г'; mas[65,2]:='У';
mas[66,1]:='ш'; mas[66,2]:='Ц';
mas[67,1]:='щ'; mas[67,2]:='Й';
mas[68,1]:='з'; mas[68,2]:='1';
mas[69,1]:='х'; mas[69,2]:='2';
mas[70,1]:='ъ'; mas[70,2]:='3';
mas[71,1]:='ф'; mas[71,2]:='4';
mas[72,1]:='ы'; mas[72,2]:='5';
mas[73,1]:='в'; mas[73,2]:='6';
mas[74,1]:='а'; mas[74,2]:='7';
mas[75,1]:='п'; mas[75,2]:='8';
mas[76,1]:='р'; mas[76,2]:='9';
mas[77,1]:='о'; mas[77,2]:='0';
mas[78,1]:='л'; mas[78,2]:='-';
mas[79,1]:='д'; mas[79,2]:='=';
mas[80,1]:='ж'; mas[80,2]:='!';
mas[81,1]:='э'; mas[81,2]:='"';
mas[82,1]:='\'; mas[82,2]:='№';
mas[83,1]:='я'; mas[83,2]:=';';
mas[84,1]:='ч'; mas[84,2]:='%';
mas[85,1]:='с'; mas[85,2]:=':';
mas[86,1]:='м'; mas[86,2]:='?';
mas[87,1]:='и'; mas[87,2]:='*';
mas[88,1]:='т'; mas[88,2]:='(';
mas[89,1]:='ь'; mas[89,2]:=')';
mas[90,1]:='б'; mas[90,2]:='_';
mas[91,1]:='ю'; mas[91,2]:='+';
mas[92,1]:='.'; mas[92,2]:=',';
mas[93,1]:=','; mas[93,2]:='ё';
mas[94,1]:='ё'; mas[94,2]:=']';
mas[95,1]:=' '; mas[95,2]:='|';
result1.Clear();
for i:=0 to text1.Lines.Count-1 do
begin
str2:='';
str1:= Text1.Lines[i];
for j:=1 to length(text1.Lines[i]) do
for q:=1 to 95 do
if str1[j]=mas[q,1] then
begin
str2:=str2 + mas[q,2];
break;
end;
Result1.Lines.Add(str2);
end;
end;
Метод перестановки
При шифровании простой перестановкой ключевое слово с неповторяющимися символами или цифровой ключ. Число колонок в таблице задаётся количеством символов в ключе, а число строк может быть фиксировано или может задаваться длиной сообщения. Шифруемый текст записывается последовательными строками под символами ключа. Для заполнения пустых клеток (если объём текста меньше ёмкости таблицы) можно использовать любые символы. Затем текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа или в порядке следования цифр, если ключ цифровой.

Рисунок 2.2 Экранная форма - Шифрование метом перестановки
Листинг алгоритма шифрования методом перестановки:
procedure TMain.Button1Click(Sender: TObject);
var
k: array [1..20] of integer;
str1, str2: string;
i, j, kol, x, q: integer;
begin
kol:= length(Kluch2.Text);
for i:= 1 to kol do
k[i]:= StrToInt(Copy(Kluch2.Text, i, 1));
Result2.Clear();
for i:= 0 to Text2.Lines.Count - 1 do
begin
str2:='';
str1:= Text2.Lines[i];
x:=length(str1) mod kol;
if x>0 then
for j:=1 to kol-x do
str1:=str1+' ';
for j:=1 to (length(str1) div kol) do
for q:=1 to kol do
str2:= str2+ copy(str1,k[q]+(kol*(j-1)),1);
Result2.Lines.Add(str2);
end;
end;
|
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!