DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи № 1 з дисципліни «Захист інформації в комп’ютерних системах» на тему «Шифр моноалфавітної заміни (шифр Цезаря)»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Захист інформації в комп’ютерних системах
Група:
КН-1
Коротко про документ

Про що ця робота

У звіті розглядається реалізація шифру Цезаря на мові програмування Java. Наведено теоретичні відомості про класичну техніку шифрування та програмний код для шифрування і дешифрування тексту.

У роботі розглядаються

  • Шифрування
  • Шифр Цезаря
  • Моноалфавітна заміна
  • Захист інформації
  • Мова програмування Java
  • Алгоритми шифрування

Зміст і розділи

  1. Мета
  2. Теоретичні відомості
  3. Завдання
  4. Код виконавчої програми
  5. Висновок
Для кого:Студенти технічних спеціальностей, які вивчають дисципліну захисту інформації.
Викладачі:Не вказано

Ключові поняття

шифр Цезарямоноалфавітна замінашифруваннядешифруваннявідкритий текстключалфавітJavaінформаційна безпека

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки Національний університет «Львівська політехніка» Кафедра ЕОМ / Звіт до лабораторної роботи № 1 з дисципліни: “ Захист інформації в комп’ютерних системах ” на тему: Шифр моноалфавітної заміни (шифр Цезаря) Варіант - 6 Львів – 2017 ШИФР МОНОАЛФАВІТНОЇ ЗАМІНИ (ШИФР ЦЕЗАРЯ) Мета: ознайомитись з основами класичної техніки шифрування – шифрами моноалфавітної заміни, та типовим прикладом шифрів виду – шифром Цезаря. ТЕОРИТИЧНІ ВІДОМОСТІ: При використанні моноалфавітної заміни окремі букви відкритого тексту заміняються іншими буквами або числами або якимись іншими символами. Якщо відкритий текст розглядається як послідовність бітів, то підстановка зводиться до заміни заданих послідовностей бітів відкритого тексту заданими послідовностями бітів шифрованого тексту. Найдавнішим і найпростішим з відомих підстановочних шифрів є шифр, що використовувався Юлієм Цезарем. У шифрі Цезаря кожна буква алфавіту замінюється буквою, що перебуває на три позиції далі в цьому ж алфавіті. Якщо відомо, що певний текст був шифрований за допомогою шифру Цезаря, то за допомогою простого перебору всіх варіантів розкрити шифр дуже просто - для цього досить перевірити 25 (кількість літер алфавіту) можливих варіантів ключів. Застосування методу послідовного перебору всіх можливих варіантів виправдано наступними трьома важливими характеристиками даного шифру. 1. Відомі алгоритми шифрування й дешифрування. 2. Необхідно перебрати всього 25 варіантів. 3. Мова відкритого тексту відома та легко розпізнається. ЗАВДАННЯ Розробити програму, що реалізує шифрування вихідного повідомлення за допомогою шифру Цезаря. Повідомлення, що необхідно зашифрувати, має бути задано українською мовою. В якості ключа шифрування обирається номер студента у списку групи. 1 Г л о в а Ю р і й  2 3 48 52 35 33 31 54 45 46  3 9 54 58 41 39 37 60 51 52  4 9 54 58 41 39 37 60 51 52  5 З с х ж е ґ ч н о   Пояснення до таблиці: 1-й рядок - фраза для шифрування; 2-й рядок – зміщення літер відносно початку алфавіту; 3-й рядок - номера букв фрази для шифрування, збільшені на 1; 4-й рядок – номер букв фрази врахувавши циклічне зміщення; 5-й рядок - зашифрована фраза КОД ВИКОНАВЧОЇ ПРОГРАМИ: Файл(CesarCrypt.java) import java.util.Scanner; public class CesarCrypt { String ukrAlphabet = "АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯабвгґдеєжзиіїйклмнопрстуфхцчшщьюя"; //String result = ""; int key = 1; int number; // Метод кодування за шифром Цезаря public String Encrypt(String data) { String result = ""; char [] chArr = data.toCharArray(); char [] alpArr = ukrAlphabet.toCharArray(); for (int i = 0; i < chArr.length; i++) { number = ukrAlphabet.indexOf(chArr[i]); if (number != -1) result += alpArr[(number + key) % (alpArr.length)]; else result += chArr[i]; } System.out.println("res "+result); return result; } // Декодування public String Decrypt(String data) { String res=""; char [] chArr = data.toCharArray(); char [] alpArr = ukrAlphabet.toCharArray(); for (int i = 0; i < chArr.length; i++) { number = ukrAlphabet.indexOf(chArr[i]); if (number != -1) { number = (ukrAlphabet.length() + number - key) % ukrAlphabet.length(); res+= alpArr[number]; } else res += chArr[i]; } System.out.println("result "+res); return res; } } ВИСНОВОК: На даній лабораторній роботі я оволодів навиками створення алгоритму шифрування Цезар. Даний алгоритм створено на мові Java.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!