Ақпаратты шифрлаудың қарапайым әдістері
Автор: moonsreve • Апрель 13, 2023 • Лабораторная работа • 2,359 Слов (10 Страниц) • 222 Просмотры
Әбілқас Сағынов атындағы «Қарағанды техникалық университеті»
Кафедра АТҚ
Зертханалық жұмыс №5
Ақпаратты қорғаудың ақпараттық негіздері
( пәннің атауы)[pic 1]
Тақырып: Ақпаратты шифрлаудың қарапайым әдістері.
[pic 2]
Қабылдады:
Коккоз М.М. [pic 3][pic 4]
(баға) (оқытушының аты-жөні)
Орындаған:
Орман Фариза
(студенттің аты-жөні) [pic 5]
СИБ-21-3
(группа)[pic 6]
Қарағанды 2023
№ 5 зертханалық жұмыс
Тақырыбы: Ақпаратты шифрлаудың қарапайым әдістері.
Жұмыстың мақсаты: Ақпаратты криптографиялық қорғаудың қарапайым әдістерінің технологиясын игеру.
Тапсырма 1
Тапсырма опциясын таңдап, қарапайым кестені пайдаланып мәтінді декодтаңыз.
Тапсырма нұсқасы:
- ТИРЕТ ЕЕУ Р Р ДПУ ПИ ЕТ Е ВР. НТСЕ
Тапсырма коды:
#include <iostream>
#include <string>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
char table[6][6] = {
{'Т', 'Е', 'А', 'И', 'Л', 'О'},
{'Р', 'Л', '_', 'Т', 'Е', 'Р'},
{'У', 'О', 'К', ',', 'Н', 'Т'},
{'Д', 'В', 'О', '_', 'Ь', 'И'},
{' ', 'Е', 'Р', 'А', ' ', 'Т'},
{'Ч', 'К', 'М', '_', 'П', '.'}
};
string encrypted_msg = " ТИРЕТ ЕЕУ Р Р ДПУ ПИ ЕТ Е ВР. НТСЕ ";
string decrypted_msg = "";
for (int col = 0; col < 6; col++) {
for (int row = 0; row < 6; row++) {
decrypted_msg += table[row][col];
}
}
cout << decrypted_msg << endl;
return 0;
}
Тапсырма 2
1-тапсырмада транскрипцияланған мәтінді Полибий квадратымен шифрлаңыз. Кесте жолдары мен бағандарының нөмірлерін сандар түрінде орнатыңыз.
Тапсырма коды:
#include <iostream>
#include <string>
using namespace std;
string encrypt(string message) {
char polybius_square[5][5] = {
{'А', 'Б', 'В', 'Г', 'Д'},
{'Е', 'Ё', 'Ж', 'З', 'И'},
{'Й', 'К', 'Л', 'М', 'Н'},
{'О', 'П', 'Р', 'С', 'Т'},
{'У', 'Ф', 'Х', 'Ц', 'Ч'}
};
string ciphertext = "";
for (int i = 0; i < message.length(); i++) {
char c = toupper(message[i]);
if (c >= 'А' && c <= 'Я') {
if (c == 'Ё') c = 'Е';
for (int row = 0; row < 5; row++) {
for (int col = 0; col < 5; col++) {
if (polybius_square[row][col] == c) {
ciphertext += to_string(row + 1) + to_string(col + 1);
}
}
}
}
}
return ciphertext;
}
string decrypt(string ciphertext) {
char polybius_square[5][5] = {
{'А', 'Б', 'В', 'Г', 'Д'},
{'Е', 'Ё', 'Ж', 'З', 'И'},
{'Й', 'К', 'Л', 'М', 'Н'},
{'О', 'П', 'Р', 'С', 'Т'},
{'У', 'Ф', 'Х', 'Ц', 'Ч'}
};
string message = "";
for (int i = 0; i < ciphertext.length(); i += 2) {
...