Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Організація

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

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

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

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

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи № 4 з дисципліни: “ Захист інформації в комп’ютерних системах ” Організація стегоканалу в BMP-файлі Варіант 3 2018 Тема: Організація стегоканалу в BMP-файлі Мета: Ознайомитися з поняттям стеганографії та проаналізувати можливості організації стегоканалу в ВМР-файлі Завдання: Створити програму, що реалізує довільний перестановочний шифр. Підготувати і захистити звіт, в якому обов’язково навести алгоритм роботи даного перестановочного шифру. Хід роботи: Код реалізації алгоритму package sample; import javafx.scene.image.PixelReader; import javafx.scene.image.PixelWriter; import javafx.scene.image.WritableImage; import javafx.scene.paint.Color; public class ImageWorker { public enum State { Hiding, Filling_With_Zeros }; public static WritableImage embedText(String text, WritableImage bmp) { State state = State.Hiding; int charIndex = 0; int charValue = 0; int pixelElementIndex = 0; int zeros = 0; double R, G, B; for (int i = 0; i < bmp.getHeight(); i++) { for (int j = 0; j < bmp.getWidth(); j++) { PixelReader pixelReader = bmp.getPixelReader(); Color pixel = pixelReader.getColor(j, i); R = pixel.getRed() - pixel.getRed() % 2; G = pixel.getGreen() - pixel.getGreen() % 2; B = pixel.getBlue() - pixel.getBlue() % 2; for (int n = 0; n < 3; n++) { if (pixelElementIndex % 8 == 0) { if (state == State.Filling_With_Zeros && zeros == 8) { if ((pixelElementIndex - 1) % 3 < 2) { PixelWriter pxl = bmp.getPixelWriter(); pxl.setColor(j, i, Color.color(R, G, B)); } return bmp; } if (charIndex >= text.length()) { state = State.Filling_With_Zeros; } else { charValue = text.charAt(charIndex++); } } switch (pixelElementIndex % 3) { case 0: { if (state == State.Hiding) { R += charValue % 2; charValue /= 2; } } break; case 1: { if (state == State.Hiding) { G += charValue % 2; charValue /= 2; } } break; case 2: { if (state == State.Hiding) { B += charValue % 2; charValue /= 2; } PixelWriter pxl = bmp.getPixelWriter(); pxl.setColor(j, i, Color.color(R, G, B)); } break; } pixelElementIndex++; if (state == State.Filling_With_Zeros) { zeros++; } } } } return bmp; } ...
Антиботан аватар за замовчуванням

24.11.2018 18:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини