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

– Ну что, Миша. На сколько баллов написал?

– Шесть с половиной из десяти.

– Ну… у меня один раз вышло пять целых и семь десятых. Так что сильно не расстраивайся из-за этого.

– А я и не собираюсь расстраиваться. Сейчас все исправлю.

– Каким образом?

– Скоро увидишь.

Михаил перевел стрелки часов на десять минут назад. И нажал на кнопку.

– Значит, ты готов уничтожить тест? – Снова произнес эту фразу Николай, не подозревающий, что перед ним стоит уже Михаил, пришедший из будущего.

– Чего? – Михаил несколько растерялся.

– Ну тест. Мы же сейчас его напишем.

– Ах да, точно. Мне кажется, что я готов.

– Отлично, идем.

Миша уверенно сел за компьютер, открыл тест и начал очень быстро его решать.

– Как ты это сделал? Прошло всего лишь четыре минуты.

– Все оказалось проще, чем я думал.

– И каков результат?

– Восемь целых и две десятых

– Ох, ну ты и машина, конечно.

– Но я хочу еще лучше.

Миша перемотал время уже на пятнадцать минут, чтобы успеть найти сложные вопросы.

– Наверное, не стоит решать все так столь быстро – подумал Михаил и вновь поздоровался с Николаем.

Теперь Миша решал тест дольше и даже сделал специально одну ошибку.

– Ну что, как написал?

– Девять целых и шесть десятых

– Не может быть! Покажи-ка. Ох, что я только что увидел!

– Это было весьма просто. – На лице Михаила показалась самодовольная властная улыбка.

– Даже со списыванием невозможно так хорошо написать. Расскажи в чем секрет? Это магия твоего двадцатилетия?

– Я просто вчера хорошо провел время и отдохнул. Ничего особенного.

– Я тебе не верю! Реши тогда и мне тест.

– Без проблем.

Спустя несколько попыток тест решить удалось:

– Как ты это сделал? Девять с половиной баллов. У меня ни разу таких результатов не было.

– А может быть, я волшебник?

– Изумрудного города?

– Конечно. А ты что подумал?

– Мальчики, не мешайте другим студентам писать тест.

На этой прекрасной ноте Миша начал делать лабораторную. Ему удалось решить все задачи самостоятельно, но сдать их он не успел. Поэтому снова воспользовался перемоткой, все сдал, помог другу и с победоносным видом ушел в столовую. А Николай отправился на поиски Екатерины.

Друзья встретились уже на лекции по теории кодирования. Лектор рассказывал студентам о кодах Рида-Соломона. В это время Миша сидел за ноутбуком и пытался найти способ расшифровать сообщение в картинке, которое оставил ему в качестве первого задания дедушка. У него ничего не получалось.

– Слушай, а что ты делаешь? – Удивленно спросил Николай.

– Да вот… пытаюсь по изображению получить сообщение, хранящееся в нем.

– Ты что уже начал делать второе индивидуальное задание?

– Нет. Стоп. Какое индивидуальное задание?

– Ты что лекцию не слушаешь?

– Ну прослушал немного. Можешь рассказать поподробнее?

– Кирилл Владимирович примерно десять минут назад сказал, что нам нужно будет выполнить индивидуальное задание, в котором требуется зашифровать сообщение в картинку с помощью кода Хэмминга или кодов Рида-Соломона.

– Соломона? Ну, конечно. На моих часах была эта надпись не случайно. Николай, ты гений!

– Что? Это же просто сказали на лекции. Причем тут я?

– Спасибо за совет. Сейчас послушаю эту вашу лекцию.

– Можешь в записи потом пересмотреть этот момент.

– Мне некогда ждать. Посмотрю сейчас.

– Но ведь лекция еще не закончилась.

– Именно.

Проказник Миша снова вернул время вспять. И стал внимательно слушать преподавателя.

– Так, теперь обсудим коды Рида-Соломона. Они были разработаны Дэвидом Ридом и Густавом Соломоном в шестидесятых годах прошлого столетия и нашли широкое применение в различных областях, таких как цифровая коммуникация, хранение данных и компьютерные сети.

Коды Рида-Соломона позволяют обнаруживать и исправлять ошибки в передаваемых данных. Они способны восстановить данные, даже если произошло значительное повреждение информации. Поясню на примере.

Алиса хочет передать Бобу некоторое сообщение. Она отправляет ему некоторые параметры, с помощью которых можно будет восстановить исходное сообщение. Алиса шифрует сообщение в картинку или звуковой файл. Если в изображении поменять каждый последний бит, то человеческий глаз не сможет распознать различия в цветах между исходной картинкой и зашифрованной. С помощью входных параметров последние биты в изображении заменяются определенным образом. Если у получателя будут эти входные параметры, то по некоторому алгоритму декодирования можно восстановить исходное сообщение.

Предположим, что Ева перехватила отправленную Бобу картинку. Извлекая последние биты из изображения, она не сможет получить информацию, предназначенную Бобу, ведь у нее нет тех параметров кода Рида-Соломона, которые есть у Боба.

В индивидуальном задании номер два вам нужно будет написать кодер и декодер Рида-Соломона. Используйте в качестве входных параметров любые целые числа. Чем больше входных параметров, тем сложнее взломать код.

– Слушай, с каких это пор ты стал слушать лекцию?

Перейти на страницу:

Поиск

Книга жанров

Похожие книги