Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Система блочного шифрування S-DES

Автор:   •  Май 16, 2023  •  Лабораторная работа  •  5,232 Слов (21 Страниц)  •  103 Просмотры

Страница 1 из 21

Лабораторная работа №4

Тема: Система блочного шифрування S-DES

Мета: створити просту криптографічну систему на основі спрощеного блочного алгоритму Simple DES (S-DES) та дослідити її роботу.

Опис програми

Обчислення підключей S-DES.

В S-DES використовується 10-бітовий ключ, який повинен бути як у відправника, так і у одержувача повідомлення. З цього ключа генеруються два 8-бітових підключа.

Приклад. Нехай маємо на вході наступний ключ К = 560 (10):

[pic 1]

  1. Перестановка Р10.

        

[pic 2]([pic 3])

  1.  Циклічний зсув вліво на одну позицію. Виконується окремо для перших 5-ти бітів і окремо для других 5-ти бітів

[pic 4]

  1. Перестановка Р8.

        [pic 5]([pic 6])

Отримуємо перший 8-бітний підключ [pic 7].

  1. Циклічне зрушення вліво на дві позиції.

[pic 8]

  1. Перестановка Р8.

[pic 9]        ([pic 10])

Отримуємо другий 8-бітний підключ [pic 11].

Тоді якщо отримано два підключа, в кожному з яких виділимо праву і ліву частини

[pic 12]

[pic 13]

Алгоритм шифрування.

Операція 1: Початкова перестановка [pic 14].

Операції 2: Функція FK.являє собою комбінацію перестановки і підстановки:

FK(L,R) = (L[pic 15] F(R,Kі),R

де L і R - ліві і праві 4 біти 8-бітової послідовності, яка подається на вхід FK;

K – підключ.

Відображення F.

На вході відображення маємо 4-бітове значення

Спочатку виконується [pic 16]- операція розширення / перестановки: [pic 17] застосовується до правої частини;

б) [pic 18];

в) застосування S-матриць:

[pic 19], [pic 20].

S-матриці працюють таким чином: 1-ий і 4-ий біти вхідної послідовності розглядаються як двухбітовий числа, що визначають рядок S-матриці, 2-ий і 3-ий біти - як числа, що визначають стовпець S-матриці. Елементи, що знаходяться на перетині рядка і стовпця, задають двухбітовий вихідні значення :

Отримуємо 4-бітову послідовність

г) Перестановка [pic 21].

е) XOR(L, P4).

Операція 3: SW - перестановка, змінює місцями перші і останні 4 біта

Операція 4:Функція FK. До отриманої послідовності бітів застосовуємо операцію 2, з тією лише різницею, що використовується підключ[pic 22].

Операція 5: Завершальна перестановка. Є зворотною по відношенню до початкової.

[pic 23]

На виході отримаємо 8-бітовий блок, який потім перетворимо в символ який і буде зашифрованим.

Для розшифрування використовується той же алгоритм, що і для шифрування, тільки в операції 2 використовується з'єднання[pic 24], а в операції 4 - з'єднання[pic 25].

[pic 26]

Лістинг програми:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Security.Cryptography;

namespace SDES

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        int count = 0;        

        private void button1_Click(object sender, EventArgs e)

        {            

            char []key=new char[10];

...

Скачать:   txt (14.3 Kb)   pdf (738.1 Kb)   docx (673.2 Kb)  
Продолжить читать еще 20 страниц(ы) »
Доступно только на Essays.club