Формування цифрового підпису згідно стандарту DSS

Реалізація програми формування цифрового підпису вхідного повідомлення згідно стандарту DSS. Засвоєння основних принципів побудови алгоритмів формування цифрових підписів повідомлень. Проведення функціональної декомпозиції. Графічний інтерфейс програми.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык украинский
Дата добавления 14.12.2020
Размер файла 31,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Міністерство освіти і науки України

Національний університет «Львівська політехніка»

Лабораторна робота

з дисципліни «Проектування засобів захисту інформації в комп'ютерних мережах»

Формування цифрового підпису згідно стандарту DSS

Виконав:

Ст. гр. КІКБ-11

Дзядик Б.Ю.

Перевірив:

Муляревич О.В.

Львів

2020

Мета роботи: реалізувати програму формування цифрового підпису вхідного повідомлення згідно стандарту DSS.

Очікуваний результат роботи: в ході роботи необхідно засвоїти основні принципи побудови алгоритмів формування цифрових підписів повідомлень, розробити демонстраційну програму формування цифрового підпису вхідного повідомлення згідно стандарту DSS.

Завдання для виконання роботи

В ході роботи необхідно засвоїти основні принципи побудови алгоритмів формування цифрових підписів, розробити програму обчислення значення цифрового підпису вхідного повідомлення за алгоритмом DSS. Для спрощення реалізації розрядність простих чисел та (відкритий та закритий ключі) повинна складати до 64 біт.

Порядок виконання роботи:

1. Провести функціональну декомпозицію та побудувати діаграму класів підсистеми формування цифрового підпису за алгоритмом DSS.

2. Реалізувати підсистему формування цифрового підпису засобами MS Visual Studio 2005.

3. Побудувати графічний інтерфейс програми формування цифрового підпису вхідного повідомлення за алгоритмом DSS.

4. Підготувати та захистити звіт.

Код програми:

#include <CkCrypt2.h>

#include <CkDsa.h>

void ChilkatSample(void)

{

CkCrypt2 crypt;

crypt.put_EncodingMode("hex");

crypt.put_HashAlgorithm("sha-1");

const char *hashStr = crypt.hashFileENC("hamlet.xml");

CkDsa dsa;

const char *pemPrivateKey = 0;

pemPrivateKey = dsa.loadText("dsa_priv.pem");

bool success = dsa.FromPem(pemPrivateKey);

if (success != true) {

std::cout << dsa.lastErrorText() << "\r\n";

return;

}

success = dsa.VerifyKey();

if (success != true) {

std::cout << dsa.lastErrorText() << "\r\n";

return;

}

success = dsa.SetEncodedHash("hex",hashStr);

if (success != true) {

std::cout << dsa.lastErrorText() << "\r\n";

return;

}

success = dsa.SignHash();

if (success != true) {

std::cout << dsa.lastErrorText() << "\r\n";

return;

}

const char *hexSig = dsa.getEncodedSignature("hex");

std::cout << "Signature:" << "\r\n";

std::cout << hexSig << "\r\n";

CkDsa dsa2;

const char *pemPublicKey = 0;

pemPublicKey = dsa2.loadText("dsa_pub.pem");

success = dsa2.FromPublicPem(pemPublicKey);

if (success != true) {

std::cout << dsa2.lastErrorText() << "\r\n";

return;

}

success = dsa2.SetEncodedHash("hex",hashStr);

if (success != true) {

std::cout << dsa2.lastErrorText() << "\r\n";

return;

}

success = dsa2.SetEncodedSignature("hex",hexSig);

if (success != true) {

std::cout << dsa2.lastErrorText() << "\r\n";

return;

}

success = dsa2.Verify();

if (success != true) {

std::cout << dsa2.lastErrorText() << "\r\n";

}

else {

std::cout << "DSA Signature Verified!" << "\r\n";

}

}

Результат:

Висновок: виконуючи цю лабораторну роботу я реалізував програму формування цифрового підпису вхідного повідомлення згідно стандарту DSS.

цифровий підпис інтерфейс програма

Размещено на Allbest.ru


Подобные документы

  • Електронний цифровий підпис із відновленням повідомлення. Генерування асиметричної ключової пари. Формування попереднього підпису. Цифровий підпис Ніберга-Рюпеля в групі точок еліптичних кривих. Стійкість до колізій відновлюваної частини повідомлення.

    курсовая работа [3,4 M], добавлен 29.06.2011

  • Основи електронного юридично значимого документообігу в процесі створення цифрового підпису. Використання схеми криптографічних ключів. Створення сертифіката з локальною генерацією ключової пари. Асиметричні алгоритми шифрування. Криптосистема Ель-Гамаля.

    дипломная работа [414,9 K], добавлен 12.01.2016

  • Об’єктно-орієнтований аналіз, визначення класів та методів. Загальна схема функціонування системи. Представлення учбового матеріалу, питань та відповідей. Графічний інтерфейс користувача для роботи з програмою. Використання програми викладачами.

    курсовая работа [1,3 M], добавлен 09.01.2014

  • Загальна характеристика програмного продукту Турбо Паскаль 7.0, його структура та функції. Методика та головні етапи формування квадратної матриці по заданій формулі. Розробка та лістинг отриманої програми. Аналіз результатів виконання програми.

    контрольная работа [145,0 K], добавлен 04.11.2013

  • Написання програми для мобільного приладу, яка буде переводити числа з однієї системи числення в іншу. Розробка графічного інтерфейсу, яким зручно буде користуватись. Опис процедур, обробників та мови програмування. Дослідження логічних частин програми.

    курсовая работа [1,2 M], добавлен 27.08.2014

  • Основні поняття, складові, призначення та правова база електронно-цифрового підпису. Вимоги до нього, переваги використання. Алгоритми побудови ЕЦП. Характеристика моделей атак та їх можливі результати. Підписування електронних документів різних форм.

    курсовая работа [42,4 K], добавлен 16.03.2015

  • BMP як формат зберігання растрових зображень, огляд структури файлу. Створення програми для запису та перегляду графічних BMP-файлів на мові програмування Turbo Pascal 7.0, розробка функціональної схеми і алгоритмів, особливості проведення тестування.

    курсовая работа [325,8 K], добавлен 12.06.2011

  • Загальний опис алгоритмів головної програми та процедур запису і зчитування повідомлень на рівні блок-схем, детальний опис розробленої програми на рівні програмного коду. Характеристика процедури відображення стану регістрів. Опис екранних форм програми.

    курсовая работа [552,5 K], добавлен 09.06.2010

  • Створення програми, яка здатна перетворювати двовимірні зображення у об’ємні. Проект для побудови ландшафтів, отримання фотографій об’єктів під іншим кутом огляду, досліджень поверхонь зрізів матеріалів. Опис алгоритму програми. Вхідні та вихідні дані.

    курсовая работа [548,3 K], добавлен 09.06.2010

  • Визначення принципів розробки додатків для Windows 8 засобами об'єктно-орієнтованого програмування. Розробка програмного застосування для перегляду графічних файлів з функціями здобуття інформації про слайд-шоу. Інтерфейс користувача та лістинг програми.

    курсовая работа [2,8 M], добавлен 23.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.