Одноразовые блокноты

Ознакомление на практике с принципом действия одноразового блокнота. Описание принципов работы программного пакета MatLab 7.12.0 (R2011A). Перевод чисел из формата с плавающей запятой в целочисленный формат. Общие правила построения гистограммы.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 25.04.2016
Размер файла 1,2 M

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

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

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

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

Одноразовые блокноты

Цель работы: Ознакомиться на практике с принципом действия одноразового блокнота. Используя MatLab, исследовать данную задачу.

Оборудование: Программный пакет MatLab 7.12.0 (R2011A)

Ход работы

1. Сгенерируйте одноразовый блокнот (массив случайных чисел), длиной 10 000 000 байт. Используйте для этого функцию rand матлаба.

2. Растяните полученные случайные числа с интервала 0..1 на интервал 0..255. Переведите числа из формата с плавающей запятой в целочисленный формат. Воспользуйтесь для этого функцией uint8.

3. Постройте гистограмму распределения значений полученного одноразового блокнота. Воспользуйтесь функцией hist. Постройте гистограмму с 256-ю столбиками. Включите гистограмму в отчет о проведенной работе

Функция X = rand(n) формирует массив размера n х n, элементами которого являются случайные величины, распределенные по равномерному закону в интервале (0, 1).

В данном случае используемые 1500 типа double приблизительно равны 10 000 000 байт (81500). rand по умолчанию формирует массив типа double.

4. Сохраните одноразовый блокнот в файл (используйте функции "fopen", "fwrite", "fclose"). Попытайтесь сжать его программой WinRAR или WinZip. Какой коэффициент сжатия был получен? Включите в отчет о проведенной работе точные размеры файла до и после сжатия. Объясните полученные результаты.

Масив записанный в файл:

После небольшого преобразования:

Исходный размер файла:

блокнот программный число гистограмма

Размер архива:

5. Создайте переменную типа строка и занесите туда свои ФИО. Например, s='Пономаренко Николай Николаевич'; Преобразуйте эту строку в целочисленный формат (функция "uint16"). Закодируйте полученный массив сформированным одноразовым блокнотом (используйте функцию bitxor матлаба). Включите в отчет исходную строку, ее целочисленное представление и результат кодирования одноразовым блокнотом. Декодируйте закодированную строку одноразовым блокнотом. Преобразуйте полученный массив обратно в текстовый вид (используйте функцию char матлаба). Выведите результат на экран. Восстановилась ли исходная строка?

Переменная типа строка S:

Целочисленное представление строки, записаное в блокнот:

Результат кодирования блокнотом:

Декодированая строка, уже переведённая в char:

Операция XOR -логического исключающего ИЛИ выполняется побитово. Для этого нам было необходимо преобразовать строку к целочисленному виду. Операция XOR, является обратной самой себе, поэтому мы не использовали никаких дополнительных функций для дешифрования.

Для шифрования мы использовали кусок ранее созданного одноразового блокнота. Ключом к шифрованию является блокнот.

6. Добавьте к ФИО еще и номер группы. Например, s='Пономаренко Николай Николаевич 539'; Закодируйте и декодируйте эту строку аналогично действиям, описанным в пункте 5, но с использованием другого фрагмента одноразового блокнота. Включите полученные результаты в отчет

Используется другой фрагмент одноразового блокнота. Переменная:

Шифрованое сообщение в числовом представлении:

Шифр в строковом представлении:

Дешифрованое сообщение в представление целочисленном

Дешифрованое сообщение в представлении char:

Deshyfr в первом случае (без номера группы) и deshyfr во втором случае имеют общими первые 28 битов (ФИО). Shyfr - ы же разняться, так как мы использовали разные фрагменты одноразового блокнота, а соответственно и шифровали разными ключами.

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

1. a = 0; b = 250; % Для растягивания интервала

2. x = a + (b-a) * rand(1500);

3. y=uint8(x); % Избавляемся от плавающей запятой

4. hist(x, 256);

5. A=fopen('D://1.txt', 'w');

6. dlmwrite('D://1.txt',y); % Записали массив в блокнот

7. fclose(A); % Закрыли блокнот

8. S = 'Chenska Valentyna Albertovna';

9. Str = uint16(S); % Перевели строку в целочисленный

10. y = fopen('1.txt','w');

11. A = fread(y);

12. p=y(1:27); % Выделили фрагмент блокнота для ключа

13. shyfr=bitxor(Str,p);

14. shyfr2=char(shyfr);

15. deshyfr=bitxor(shyfr,p); % Расшифровали той же операцией

16. deshyfr2=char(deshyfr);

17. B=fopen('D://b.txt', 'w');

18. dlmwrite('D://b.txt',Str); % Тут строка целочисленная

19. A=fopen('D://a.txt', 'w');

20. dlmwrite('D://a.txt',shyfr); % Тут код в таком же формате

21. S='Chenska Valentyna Albertovna 004';

22. Str=uint16(S);

23. p2=y(30:61); % Взяли другой фрагмент блокнота

24. shyfr=bitxor(Str,p2);

25. shyfr2=char(shyfr);

26. deshyfr=bitxor(shyfr,p2);

27. deshyfr2=char(deshyfr);

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


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

  • Основные форматы данных и их представление. Запись чисел в формат с плавающей точкой. Вычитание чисел в формате с плавающей точкой. Регистры операндов и результата, размером формата числа с плавающей точкой, двойной точности. Поля смещённого порядка.

    курсовая работа [78,9 K], добавлен 09.09.2014

  • Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.

    реферат [49,4 K], добавлен 18.01.2011

  • Определение граничных значений параметров, принципов организации из математического пакета программ MatLab. Реализация принципов управляемости и наблюдаемости. Основные методы параметрического оценивания. Реализация принципов идентификации и адекватности.

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

  • Синтез множительного устройства для умножения чисел с плавающей запятой, представленных в двоично-четверичной системе счисления. Перевод сомножителей из десятичной системы счисления в четверичную. Затраты на умножение шестиразрядных сомножителей.

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

  • Общие сведения о языке программирования Matlab. Функции работы с векторами и матрицами. Операторы условных переходов. Построение двумерных графиков. Построение гистограммы изображения. Функции его преобразования и зашумления, метрики определения качества.

    лабораторная работа [853,5 K], добавлен 25.10.2015

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

  • Проектирование цифрового автомата для выполнения арифметической операции деления двоичных чисел, алгоритм работы. Числа с плавающей запятой. Типы элементов памяти управляющего автомата JK-триггер, не имеющего запрещенных состояний на основных входах.

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

  • Общая информация о графическом формате. Описание формата Microsoft Windows Bitmap. Структура файла DDВ исходного формата ВМР. Преобразования графических файлов. Просмотр и редактирование растровых изображений. Создание многодокументного приложения.

    дипломная работа [1,5 M], добавлен 06.06.2010

  • Тестирование арифметико-логического блока процессора на уровне двоичных форм представления данных типовыми программными средствами ЭВМ. Рассмотрение основ сложения и вычитания чисел с плавающей запятой. Описание логического и текстового типа данных.

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

  • Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.

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

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