ШИФРОВАНИЕ ДАННЫХ. АЛГОРИТМ RC4
С. А. Самойлов, М. С. Зуев
Тамбовский государственный университет имени Г. Р. Державина, г. Тамбов, Россия
Данная работа посвящена изучению алгоритма шифрования RC4 и созданию интерактивной схемы для подробной иллюстрации работы данного алгоритма. Алгоритм шифрования RC4 - это потоковый шифр, созданный компанией RSA Security в 1987 г. [1]. RC4 состоит из трех частей: создание ключа, алгоритм шифрования и расшифровки. Ключ в RC4 представляет собой последовательность байтов произвольной длинны, по которой строится начальное состояние шифра. На рисунке 1 представлена схема алгоритма RC4. RC4 применяется в широко распространенных стандартах и протоколах шифрования TLS и SSL. Данный шифр активно используется в стандартах беспроводной связи Wi-Fi (WPA, WEP). Основным фактором, способствовавшим широкому применению шифра RC4, является его высокая скорость работы и простота его программной и аппаратной реализации.
Для иллюстрации шифра используются возможности стандарта векторной графики SVG и языка JavaScript. Этот язык программирования наиболее оптимален для данной работы, так как поддерживается всеми современными веб-браузерами. Стандарт SVG (Scalable Vector Graphics - масштабируемая векторная графика) - это грамматика языка XML для описания графических изображений [2]. Формат SVG представляет собой точное описание последовательности команд для создания векторного изображения. SVG-изображения можно встраивать в гипертекстовые документы, а интерфейс для сценариев и динамические возможности SVG позволяют создавать на их основе интерактивные веб-документы.
Основные особенности технологии SVG -это: описание основных геометрических фигур (многоугольники, прямоугольники, окружности и т. п.), широкий спектр визуальных свойств, которые можно применить к фигурам и путям, интерактивность (на каждый отдельный элемент и на целое изображение можно повесить обработчик событий), анимация и сценарии. С помощью JavaScript можно описывать даже самые сложные сценарии, связанные с математическими вычислениями координат и пропорций фигур [2].
Рис. 1. Схема алгоритма шифрования RC4
Для взаимодействия JavaScript с SVG-изображениями используется библиотека Raphael. Raphael - это библиотека языка JavaScript, предназначенная для взаимодействия с векторной графикой в вебдокументах [3]. Это является отличным инструментом для работы с векторной графикой. Основные возможности этой библиотеки: создание графиков (диаграмм), небольших виджетов для обработки картинок и т. п. В качестве базы для создания изображений используются SVG. Каждому объекту, созданному с помощью этой библиотеки, можно назначить обработчик. На данный момент поддерживаются следующие браузеры: Firefox 3.0+, Safari 3.0+, Opera 9.5+ и Internet Explorer 6.0+ [4]. Библиотека выступает в роли соединительного механизма между SVG-изображениями и JavaScript-программами. С ее помощью возможностями технологии SVG можно управлять через
JavaScript. Библиотека Raphael создает изображения внутри HTML-документа, а также позволяет редактировать изображения в любое время. Для реализации интерактивности изображений используется механизм обработки событий библиотеки Raphael.
Обычно в учебных пособиях алгоритм шифровании RC4 описывается с помощью схем алгоритма, представленных в виде рисунков. В настоящей работе алгоритм RC4 описывается с помощью интерактивных схем, повышая наглядность данного материала.
і
Литература
1. ЯС4 [Электронный ресурс]. иЯЬ:
Шр://т. wikipedia.org/wiki/RC4.
2. 8Ув [Электронный ресурс]. URL:
http://ru.wikipedia.org/wiki/SVG.
3. JavaScript: Raphael [Электронный ресурс]. URL: http://www.simplecoding.org/rabo-
taem-s-izobrazheniyami-na-javascript-raphael.html
4. SVG/VML Графика и JavaScript [Электронный ресурс]. URL: http://php-doc.
ru/documentation/javascript_drawing/.