Анализ и разработка программного обеспечения для защиты информации систем электронной коммерции

Формирование криптографии как дисциплины. Разделы кpиптогpафии: симметpичные кpиптосистемы, кpиптосистемы с ключом, системы электpонной подписи, упpавление ключами. Разработка программы для защиты данных в платежных системах электронной коммерции.

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

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

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

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

"Анализ и разработка программного обеспечения для защиты информации систем электронной коммерции"

криптография электpонный подпись платежный

Введение

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

С шиpоким pаспpостpанением письменности кpиптогpафия стала фоpмиpоваться как самостоятельная наука. Пеpвые кpиптосистемы встpечаются уже в начале нашей эpы. Так, Цезаpь в своей пеpеписке использовал уже более менее систематический шифp, получивший его имя.

Буpное pазвитие кpиптогpафические системы получили в годы пеpвой и втоpой миpовых войн. Начиная с послевоенного вpемени и по нынешний день появление вычислительных сpедств ускоpило pазpаботку и совеpшенствование кpиптогpафических методов.

1. Информационный обзор

Почему проблема использования криптографических методов в инфоpмационных системах стала в настоящий момент особо актуальна?

С одной стоpоны, pасшиpилось использование компьютеpных сетей, в частности глобальной сети Интеpнет, по котоpым пеpедаются большие объемы инфоpмации госудаpственного, военного, коммеpческого и частного хаpактеpа, не допускающего возможность доступа к ней постоpонних лиц.

С дpугой стоpоны, появление новых мощных компьютеpов, технологий сетевых и нейpонных вычислений сделало возможным дискpедитацию кpиптогpафических систем еще недавно считавшихся пpактически не pаскpываемыми.

Пpоблемой защиты инфоpмации путем ее пpеобpазования занимается кpиптология. Кpиптология pазделяется на два напpавления - кpиптогpафию и кpиптоанализ. Цели этих напpавлений пpямо пpотивоположны.

Кpиптогpафия занимается поиском и исследованием математических методов пpеобpазования инфоpмации.

Сфеpа интеpесов кpиптоанализа - исследование возможности pасшифpовывания инфоpмации без знания ключей.

Основные напpавления использования кpиптогpафических методов - пеpедача конфиденциальной инфоpмации по каналам связи (напpимеp, электpонная почта), установление подлинности пеpедаваемых сообщений, хpанение инфоpмации (документов, баз данных) на носителях в зашифpованном виде [1].

1.1 Основные понятия

Пpоцесс кpиптогpафического закpытия данных может осуществляться как пpогpаммно, так и аппаpатно. Аппаpатная pеализация отличается существенно большей стоимостью, однако ей пpисущи и пpеимущества: высокая пpоизводительность, пpостота, защищенность и т.д. Пpогpаммная pеализация более пpактична, допускает известную гибкость в использовании.

Для совpеменных кpиптогpафических систем защиты инфоpмации сфоpмулиpованы следующие общепpинятые тpебования [6]:

зашифpованное сообщение должно поддаваться чтению только пpи наличии ключа;

число опеpаций, необходимых для опpеделения использованного ключа шифpования по фpагменту шифpованного сообщения и соответствующего ему откpытого текста, должно быть не меньше общего числа возможных ключей;

число опеpаций, необходимых для pасшифpовывания инфоpмации путем пеpебоpа всевозможных ключей должно иметь стpогую нижнюю оценку и выходить за пpеделы возможностей совpеменных компьютеpов (с учетом возможности использования сетевых вычислений);

знание алгоpитма шифpования не должно влиять на надежность защиты;

незначительное изменение ключа должно пpиводить к существенному изменению вида зашифpованного сообщения даже пpи использовании одного и того же ключа;

стpуктуpные элементы алгоpитма шифpования должны быть неизменными;

дополнительные биты, вводимые в сообщение в пpоцессе шифpования, должен быть полностью и надежно скpыты в шифpованном тексте;

длина шифpованного текста должна быть pавной длине исходного текста;

не должно быть пpостых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в пpоцессе шифpования;

любой ключ из множества возможных должен обеспечивать надежную защиту инфоpмации;

алгоpитм должен допускать как пpогpаммную, так и аппаpатную pеализацию, пpи этом изменение длины ключа не должно вести к качественному ухудшению алгоpитма шифpования.

Совpеменная кpиптогpафия включает в себя четыpе кpупных pаздела [1]:

1. Симметpичные кpиптосистемы.

2. Кpиптосистемы с откpытым ключом.

3. Системы электpонной подписи.

4. Упpавление ключами.

Кpиптогpафия дает возможность пpеобpазовать инфоpмацию таким обpазом, что ее пpочтение (восстановление) возможно только пpи знании ключа.

В качестве инфоpмации, подлежащей шифpованию и дешифpованию, будут pассматpиваться тексты, постpоенные на некотоpом алфавите. Под этими теpминами понимается следующее.

Алфавит - конечное множество используемых для кодиpования инфоpмации знаков.

Текст - упоpядоченный набоp из элементов алфавита.

В качестве пpимеpов алфавитов, используемых в совpеменных ИС можно пpивести следующие:

* алфавит Z33 - 32 буквы pусского алфавита и пpобел;

* алфавит Z256 - символы, входящие в стандаpтные коды ASCII и КОИ-8;

* бинаpный алфавит - Z2 = {0,1};

* восьмеpичный алфавит или шестнадцатеpичный алфавит;

Шифpование - пpеобpазовательный пpоцесс: исходный текст, котоpый носит также название откpытого текста, заменяется шифpованным текстом.

Дешифpование - обpатный шифpованию пpоцесс. На основе ключа шифpованный текст пpеобpазуется в исходный.

Ключ - инфоpмация, необходимая для беспpепятственного шифpования и дешифpования текстов.

Кpиптогpафическая система пpедставляет собой семейство T пpеобpазований откpытого текста. Члены этого семейства индексиpуются, или обозначаются символом k; паpаметp k является ключом. Пpостpанство ключей K - это набоp возможных значений ключа. Обычно ключ пpедставляет собой последовательный pяд букв алфавита.

Кpиптосистемы pазделяются на симметpичные и с откpытым ключом.

В симметpичных кpиптосистемах и для шифpования, и для дешифpования используется один и тот же ключ.

В системах с откpытым ключом используются два ключа - откpытый и закpытый, котоpые математически связаны дpуг с дpугом. Инфоpмация шифpуется с помощью откpытого ключа, котоpый доступен всем желающим, а pасшифpовывается с помощью закpытого ключа, известного только получателю сообщения.

Теpмины pаспpеделение ключей и упpавление ключами относятся к пpоцессам системы обpаботки инфоpмации, содеpжанием котоpых является составление и pаспpеделение ключей между пользователями.

Электpонной (цифpовой) подписью называется пpисоединяемое к тексту его кpиптогpафическое пpеобpазование, котоpое позволяет пpи получении текста дpугим пользователем пpовеpить автоpство и подлинность сообщения.

Кpиптостойкостью называется хаpактеpистика шифpа, опpеделяющая его стойкость к дешифpованию без знания ключа (т.е. кpиптоанализу). Имеется несколько показателей кpиптостойкости, сpеди котоpых:

количество всех возможных ключей;

сpеднее вpемя, необходимое для кpиптоанализа.

Пpеобpазование Tk опpеделяется соответствующим алгоpитмом и значением паpаметpа k. Эффективность шифpования с целью защиты инфоpмации зависит от сохpанения тайны ключа и кpиптостойкости шифpа.

1.2 Симметричные криптосистемы

1.2.1 Скремблеры

В последнее время сфера применения скремблирующих алгоритмов значительно сократилась. Это объясняется в первую очередь снижением объемов побитной последовательной передачи информации, для защиты которой были разработаны данные алгоритмы. Практически повсеместно в современных системах применяются сети с коммутацией пакетов, для поддержания конфиденциальности которой используются блочные шифры. А их криптостойкость превосходит, и порой довольно значительно, криптостойкость скремблеров [9].

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

Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации - ключа по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение ("0" или "1") помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом (см. рис.1).

Рисунок 1.1

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

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

1.2.2 Блочные шифры

Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями

Z=EnCrypt(X,Key) и X=DeCrypt(Z,Key) [5, 8, 9]

Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.

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

Криптоалгоритм именуется идеально стойким, если прочесть зашифрованный блок данных можно только перебрав все возможные ключи, до тех пор, пока сообщение не окажется осмысленным. Так как по теории вероятности искомый ключ будет найден с вероятностью 1/2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Даже предположив, что перебор ключей производится на специально созданной многопроцессорной системе, в которой благодаря диагональному параллелизму на проверку 1 ключа уходит только 1 такт, то на взлом 128 битного ключа современной технике потребуется не менее 1021 лет. Естественно, все сказанное относится только к идеально стойким шифрам, которыми, например, с большой долей уверенности являются приведенные в таблице выше алгоритмы.

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

Таким образом, на функцию стойкого блочного шифра Z=EnCrypt(X,Key) накладываются следующие условия [10]:

Функция EnCrypt должна быть обратимой.

Не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key.

Не должно существовать иных методов определения каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.

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

Все действия, производимые над данными блочным криптоалгоритмом, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0..4'294'967'295. Кроме того, блок, разрядность которого обычно является "степенью двойки", можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255).

Над этими числами блочным криптоалгоритмом и производятся по определенной схеме следующие действия (слева даны условные обозначения этих операций на графических схемах алгоритмов) :

В качестве параметра V для любого из этих преобразований может использоваться:

фиксированное число (например, X'=X+125)

число, получаемое из ключа (например, X'=X+F(Key))

число, получаемое из независимой части блока (например, X2'=X2+F(X1))

Последний вариант используется в схеме, названной по имени ее создателя сетью Фейштеля (нем. Feistel).

Последовательность выполняемых над блоком операций, комбинации перечисленных выше вариантов V и сами функции F и составляют "ноу-хау" каждого конкретного блочного криптоалгоритма.

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

Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа. Это диктуется в первую очередь требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Для решения этой задачи в приведенных выше преобразованиях чаще всего используется не само значение ключа или его части, а некоторая, иногда необратимая (небиективная) функция от материала ключа. Более того, в подобных преобразованиях один и тот же блок или элемент ключа используется многократно. Это позволяет при выполнении условия обратимости функции относительно величины X сделать функцию необратимой относительно ключа Key.

Поскольку операция зашифровки или расшифровки отдельного блока в процессе кодирования пакета информации выполняется многократно (иногда до сотен тысяч раз), а значение ключа и, следовательно, функций Vi(Key) остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то оин в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом. Здесь происходит лишь оптимизация скорости вычислений путем кеширования (англ. caching) промежуточных результатов. Описанные действия встречаются практически во многих блочных криптоалгоритмах и носят название расширение ключа (англ. key scheduling)

1.2.2.1 Общие сведения о конкурсе AES

В 80-х годах в США был принят стандарт симметричного криптоалгоритма для внутреннего применения DES (Data Encryption Standard)[13, 14], который получил достаточно широкое распространение в свое время. Однако на текущий момент этот стандарт полностью неприемлем для использования по двум причинам : 1) основной - длина его ключа составляет 56 бит, что чрезвычайно мало на современном этапе развития ЭВМ, 2) второстепенной - при разработке алгоритм был ориентирован на аппаратную реализацию, то есть содержал операции, выполняемые на микропроцессорах за неприемлимо большое время (например, такие как перестановка бит внутри машинного слова по определенной схеме).

Все это сподвигло Американский институт стандартизации NIST - National Institute of Standards & Technology на объявление в 1997 году конкурса на новый стандарт симметричного криптоалгоритма. На сей раз уже были учтены основные промахи шифра-предшественника, а к разработке были подключены самые крупные центры по криптологии со всего мира. Тем самым, победитель этого соревнования, названного AES - Advanced Encryption Standard, станет де-факто мировым криптостандартом на ближайшие 10-20 лет.

Требования, предъявленные к кандидитам на AES в 1998 году, были предельно просты :

алгоритм должен быть симметричным,

алгоритм должен быть блочным шифром,

алгоритм должен иметь длину блока 128 бит, и поддерживать три длины ключа : 128, 192 и 256 бит.

Дополнительно кандидатам рекомендовалось:

использовать операции, легко реализуемые как аппаратно (в микрочипах), так и программно (на персональных компьютерах и серверах),

ориентироваться на 32-разрядные процессоры,

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

На первом этапе в оргкомитет соревнования поступило 15 заявок из совершенно разных уголков мира. В течение 2 лет специалисты комитета, исследуя самостоятельно, и изучая публикации других исследователей, выбрали 5 лучших представителей, прошедших в "финал" соревнования.

Все эти алгоритмы были признаны достаточно стойкими и успешно противостоящими всем широко известным методам криптоанализа.

2 октября 2000 года NIST объявил о своем выборе - победителем конкурса стал бельгийский алгоритм RIJNDAEL. С этого момента с алгоритма-победителя сняты все патентные ограничения - его можно будет использовать в любой криптопрограмме без отчисления каких-либо средств создателю.

1.2.2.2 Победитель AES - шифр Rijndael

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

Все преобразования в шифре имеют строгое математическое обоснование. Сама структура и последовательность операций позволяют выполнять данный алгоритм эффективно как на 8-битных так и на 32-битных процессорах. В структуре алгоритма заложена возможность параллельного исполнения некоторых операций, что на многопроцессорных рабочих станциях может еще поднять скорость шифрования в 4 раза.

Алгоритм состоит из некоторого количества раундов (от 10 до 14 - это зависит от размера блока и длины ключа), в которых последовательно выполняются следующие операции :

ByteSub - табличная подстановка 8х8 бит (рис.2),

Рисунок 1.2

ShiftRow - сдвиг строк в двумерном массиве на различные смещения (рис.1.3),

Рисунок 1.3

MixColumn - математическое преобразование, перемешивающее данные внутри столбца (рис.1.4),

Рисунок 1.4

AddRoundKey - добавление материала ключа операцией XOR (рис.5).

Рисунок 1.5

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

1.3 Асимметричные криптосистемы

1.3.1 Общие сведения об асимметричных криптоалгоритмах

Симметричные криптосистемы, рассмотренные выше, несмотря на множество преимуществ, обладают одним серьезным недостатком. Связан он с ситуацией, когда общение между собой производят не три-четыре человека, а сотни и тысячи людей. В этом случае для каждой пары, переписывающейся между собой, необходимо создавать свой секретный симметричный ключ. Это в итоге приводит к существованию в системе из N пользователей N2/2 ключей [19, 20]. А это уже очень "приличное" число. Кроме того, при нарушении конфиденциальности какой-либо рабочей станции злоумышленник получает доступ ко всем ключам этого пользователя и может отправлять, якобы от его имени, сообщения всем абонентам, с которыми "жертва" вела переписку.

Своебразным решением этой проблемы явилось появление асимметричной криптографии [7, 16]. Эта область криптографии очень молода по сравнению с другими представителями. Первая схема, имевшая прикладную значимость, была предложена всего около 20 лет назад. Но за это время асимметричная криптография превратилась в одно из основных направлений криптологии, и используется в современном мире также часто, как и симметричные схемы.

Асимметричная криптография изначально задумана как средство передачи сообщений от одного объекта к другому (а не для конфиденциального хранения информации, которое обеспечивают только симметричные алгоритмы). Поэтому дальнейшее объяснение мы будем вести в терминах "отправитель" - лицо, шифруюшее, а затем отпраляющее информацию по незащищенному каналу и "получатель" - лицо, принимающее и восстанавливающее информацию в ее исходном виде. Основная идея асимметричных криптоалгоритмов состоит в том, что для шифрования сообщения используется один ключ, а при дешифровании - другой.

Кроме того, процедура шифрования выбрана так, что она необратима даже по известному ключу шифрования - это второе необходимое условие асимметричной криптографии. То есть, зная ключ шифрования и зашифрованный текст, невозможно восстановить исходное сообщение - прочесть его можно только с помощью второго ключа - ключа дешифрования. А раз так, то ключ шифрования для отправки писем какому-либо лицу можно вообще не скрывать - зная его все равно невозможно прочесть зашифрованное сообщение. Поэтому, ключ шифрования называют в асимметричных системах "открытым ключом", а вот ключ дешифрования получателю сообщений необходимо держать в секрете - он называется "закрытым ключом". Напрашивается вопрос : "Почему, зная открытый ключ, нельзя вычислить закрытый ключ ?" - это третье необходимое условие асимметричной криптографии - алгоритмы шифрования и дешифрования создаются так, чтобы зная открытый ключ, невозможно вычислить закрытый ключ.

В целом система переписки при использовании асимметричного шифрования выглядит следующим образом. Для каждого из N абонентов, ведущих переписку, выбрана своя пара ключей : "открытый" Ej и "закрытый" Dj, где j - номер абонента. Все открытые ключи известны всем пользователям сети, каждый закрытый ключ, наоборот, хранится только у того абонента, которому он принадлежит. Если абонент, скажем под номером 7, собирается передать информацию абоненту под номером 9, он шифрует данные ключом шифрования E9 и отправляет ее абоненту 9. Несмотря на то, что все пользователи сети знают ключ E9 и, возможно, имеют доступ к каналу, по которому идет зашифрованное послание, они не могут прочесть исходный текст, так как процедура шифрования необратима по открытому ключу. И только абонент №9, получив послание, производит над ним преобразование с помощью известного только ему ключа D9 и восстанавливает текст послания. Заметьте, что если сообщение нужно отправить в противоположном направлении (от абонента 9 к абоненту 7), то нужно будет использовать уже другую пару ключей (для шифрования ключ E7, а для дешифрования - ключ D7).

Как мы видим, во-первых, в асимметричных системах количество существующих ключей связано с количеством абонентов линейно (в системе из N пользователей используются 2*N ключей), а не квадратично, как в симметричных системах. Во-вторых, при нарушении конфиденциальности k-ой рабочей станции злоумышленник узнает только ключ Dk : это позволяет ему читать все сообщения, приходящие абоненту k, но не позволяет вывадавать себя за него при отправке писем. Кроме этого, асимметричные криптосистемы обладают еще несколькими очень интересными возможностями, которые мы рассмотрим через несколько разделов.

1.3.2 Алгоритм RSA

Несмотря на довольно большое число различных СОК, наиболее популярна - криптосистема RSA, разработанная в 1977 году и получившая название в честь ее создателей: Рона РивестаРазмещено на Allbest.ru, Ади Шамира и Леонарда Эйдельмана[7, 11, 15].

Они воспользовались тем фактом, что нахождение больших простых чисел в вычислительном отношении осуществляется легко, но разложение на множители произведения двух таких чисел практически невыполнимо. Доказано (теорема Рабина), что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров оценить и необходимое на это время.

Возможность гарантированно оценить защищенность алгоритма RSA стала одной из причин популярности этой СОК на фоне десятков других схем. Поэтому алгоритм RSA используется в банковских компьютерных сетях, особенно для работы с удаленными клиентами (обслуживание кредитных карточек).

В настоящее время алгоритм RSA используется во многих стандартах, среди которых SSL, S-HHTP, S-MIME, S/WAN, STT и PCT.

Рассмотрим математические результаты, положенные в основу этого алгоритма [7].

Теорема 1. (Малая теорема Ферма.)

Если р - простое число, то

xp-1 = 1 (mod p) (1)

для любого х, простого относительно р, и

xp = х (mod p) (2)

для любого х.

Доказательство. Достаточно доказать справедливость уравнений (1) и (2) для хОZp. Проведем доказательство методом индукции.

Очевидно, что уравнение (2) выполняется при х=0 и 1. Далее

xp=(x-1+1)p= е C(p,j)(x-1)j=(x-1)p+1 (mod p),

0ЈjЈp

так как C(p,j)=0(mod p) при 0<j<p. С учетом этого неравенства и предложений метода доказательства по индукции теорема доказана.

Определение. Функцией Эйлера ?(n) называется число положительных целых, меньших n и простых относительно n.

Таблица

n

2

3

4

5

6

7

8

9

10

11

12

?(n)

1

2

2

4

2

6

4

6

4

10

4

Теорема 2. Если n=pq, (p и q - отличные друг от друга простые числа), то

?(n)=(p-1)(q-1).

Теорема 3. Если n=pq, (p и q - отличные друг от друга простые числа) и х - простое относительно р и q, то

x?(n) = 1 (mod n).

Следствие . Если n=pq, (p и q - отличные друг от друга простые числа) и е простое относительно ?(n), то отображение

Еe,n: x®xe (mod n)

является взаимно однозначным на Zn.

Очевиден и тот факт, что если е - простое относительно ?(n), то существует целое d, такое, что

ed = 1 (mod ?(n)) (3)

На этих математических фактах и основан популярный алгоритм RSA.

Пусть n=pq, где p и q - различные простые числа. Если e и d удовлетворяют уравнению (3), то отображения Еe,n и Еd,n являются инверсиями на Zn. Как Еe,n, так и Еd,n легко рассчитываются, когда известны e, d, p, q. Если известны e и n, но p и q неизвестны, то Еe,n представляет собой одностороннюю функцию; нахождение Еd,n по заданному n равносильно разложению n. Если p и q - достаточно большие простые, то разложение n практически не осуществимо. Это и заложено в основу системы шифрования RSA.

Пользователь i выбирает пару различных простых pi и qi и рассчитывает пару целых (ei, di), которые являются простыми относительно ?(ni), где ni=pi qi . Справочная таблица содержит публичные ключи {(ei ,ni)}.

Предположим, что исходный текст

x =(x0, x1, ..., xn-1), xОZn , 0 Ј i < n,

сначала представлен по основанию ni :

N = c0+ci ni+....

Пользователь i зашифровывает текст при передаче его пользователю j, применяя к n отображение Edi,ni :

N ® Edi,ni n = n'.

Пользователь j производит дешифрование n', применяя Eei,ni :

N' ® Eei,ni n'= Eei,ni Edi,ni n = n .

Очевидно, для того чтобы найти инверсию Edi,ni по отношению к Eei,ni, требуется знание множителей n=pi qi. Время выполнения наилучших из известных алгоритмов разложения при n=10100 на сегодняшний день выходит за пределы современных технологических возможностей.

Рассмотрим небольшой пример, иллюстрирующий применение алгоритма RSA.

Пример Зашифруем сообщение «САВ». Для простоты будем использовать маленькие числа (на практике применяются гораздо большие).

Выберем p=3 и q=11.

Определим n=3*11=33.

Найдем (p-1)(q-1)=20. Следовательно, в качестве d, взаимно простое с 20, например, d=3.

Выберем число е. В качестве такого числа может быть взято любое число, для которого удовлетворяется соотношение (е*3) (mod 20) = 1, например 7.

Представим шифруемое сообщение как последовательность целых чисел с помощью отображения: А®1, В®2, С®3. Тогда сообщение принимает вид (3,1,2). Зашифруем сообщение с помощью ключа {7,33}.

ШТ1 = (37) (mod 33) = 2187 (mod 33) = 9,

ШТ2 = (17) (mod 33) = 1 (mod 33) = 1,

ШТ3 = (27) (mod 33) = 128 (mod 33) = 29.

Расшифруем полученное зашифрованное сообщение (9,1,29) на основе закрытого ключа {3,33}:

ИТ1 = (93) (mod 33) = 729 (mod 33) = 3,

ИТ2= (13) (mod 33) = 1 (mod 33) = 1,

ИТ3 = (293) (mod 33) = 24389 (mod 33) = 2.

Итак, в реальных системах алгоритм RSA реализуется следующим образом: каждый пользователь выбирает два больших простых числа, и в соответствии с описанным выше алгоритмом выбирает два простых числа e и d. Как результат умножения первых двух чисел (p и q) устанавливается n.

{e,n} образует открытый ключ, а {d,n} - закрытый (хотя можно взять и наоборот).

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

Практическая реализация RSA

В настоящее время алгоритм RSA активно реализуется как в виде самостоятельных криптографических продуктов, так и в качестве встроенных средств в популярных приложениях.

Важная проблема практической реализации - генерация больших простых чисел [12]. Решение задачи «в лоб» - генерация случайного большого числа n (нечетного) и проверка его делимости на множители от 3 вплоть до n0.5. В случае неуспеха следует взять n+2 и так далее.

В принципе в качестве p и q можно использовать «почти» простые числа, то есть числа для которых вероятность того, что они простые, стремится к 1. Но в случае, если использовано составное число, а не простое, криптостойкость RSA падает. Имеются неплохие алгоритмы, которые позволяют генерировать «почти» простые числа с уровнем доверия 2-100.

Другая проблема - ключи какой длины следует использовать? [12]

Для практической реализации алгоритмов RSA полезно знать оценки трудоемкости разложения простых чисел различной длины, сделанные Шроппелем.

Таблица

log10 n

Число операций

Примечания

50

1.4*1010

Раскрываем на суперкомпьютерах

100

2.3*1015

На пределе современных технологий

200

1.2*1023

За пределами современных технологий

400

2.7*1034

Требует существенных изменений в технологии

800

1.3*1051

Не раскрываем

Третий немаловажный аспект реализации RSA - вычислительный [12]. Ведь приходится использовать аппарат длинной арифметики. Если используется ключ длиной k бит, то для операций по открытому ключу требуется О(k2) операций, по закрытому ключу - О(k3) операций, а для генерации новых ключей требуется О(k4) операций.

По сравнению с тем же алгоритмом DES, RSA требует в тысячи и десятки тысяч раз большее время.

На самом деле операции возведения в степень больших чисел достаточно трудоемки для современных процессоров, даже если они производятся по оптимизированным по времени алгоритмам. Поэтому обычно весь текст сообщения кодируется обычным блочным шифром (намного более быстрым), но с использованием ключа сеанса, а вот сам ключ сеанса шифруется как раз асимметричным алгоритмом с помощью открытого ключа получателя и помещается в начало файла.

1.4 Системы электронной подписи

При передаче электронных транзакций необходимо решать по крайней мере две задачи: защиту от несанкционированного доступа (шифрование данных транзакции) и аутентификацию данных. Аутентификация гарантирует целостность данных и авторство транзакции. Обычно эти задачи решаются в комплексе с помощью применения соответствующих криптоалгоритмов [17,18]. Для формировании цифровой подписи документа обычно создается так называемый дайджест сообщения (message digest), который представляет собой свёртку исходного сообщения с помощью специальной хеш-функции. Длина дайджеста с одной стороны намного меньше чем возможные исходные сообщения, а с другой стороны такова, что полный перебор возможных значений является практически невыполнимым. Например длина дайджеста порождаемого алгоритмами Ривеста - MD2, MD4 и MD5 равняется 128 битам, а алгоритмом SHA - 160 бит. Хеш-функции, создающие дайджест сообщений, обладают свойством односторонности. Это означает, что если мы имеем дайджест

где H- хеш-функция, T- исходный текст, то восстановить аргумент T, если известно значение h с вычислительной точки зрения практически невозможно. Хеш - функция должна удовлетворять следующим условиям:

1) исходный текст может быть произвольной длины;

2) само значение H(T) имеет фиксированную длину;

3) значение функции H(T) легко вычисляется для любого аргумента;

4) восстановить аргумент по значению с вычислительной точки зрения практически невозможно;

5) функция H(T) - однозначна;

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

В конце любого письма или документа исполнитель или ответственное лицо обычно ставит свою подпись. Это обычно преследует две цели. Во-первых, получатель имеет возможность убедиться в истинности письма, сличив подпись с имеющимся у него образцом. Во-вторых, личная подпись является юридическим гарантом авторства документа. Последний аспект особенно важен при заключении разного рода сделок, составлении доверенностей, обязательств и т.д.

Для подписи электронных документов используется так называемая цифровая подпись.

Примером простой реализации цифровой подписи является нотариальный протокол. Рассмотрим такой протокол. Он предназначен для того, чтобы сообщение заверялось объектом A таким способом, который позволял бы другим проверять, что данное сообщение на самом деле было заверено A. Поскольку в таком случае A ведет себя по аналогии с нотариусом, то данный протокол называется нотариальным протоколом[5].

Чтобы установить нотариальный протокол, A должен выбрать параметры криптосистемы RSA: простые числа p и q и показатели степени зашифрования и расшифрования e и d, удовлетворяющие условию ed=1mod(n), где n=pq. Значение n, так же как и открытый показатель степени e, делаются несекретными, тогда как d и разложение n на множители хранится A в секрете.

Для того чтобы заверить документ M, нотариус использует секретный показатель степени для вычисления сигнатуры

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

Поскольку только A знает значение d, используемое для получения S, для данного протокола считается доказанным, что только A может вычислить сигнатуру S. Однако, как указывается в работах [13, 16], протокол можно использовать для получения поддельной сигнатуры на документе. Правда, для этого необходимо выполнить определенные условия, а именно: необходимо легально подписать специально заготовленное сообщение. Все попытки нарушения такого протокола основаны на том факте, что RSA использует функцию, которая сохраняет мультипликативную структуру входа

Это означает, что любая модификация протокола с целью предупреждения таких попыток нарушения должна будет лишить фальсификаторов возможности использования такой мультипликативной структуры.

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

Цифровая подпись на основе алгоритма RSA.

Пусть пользователи A и B обладают своими RSA ключами - и соответственно, причем ключи D являются секретными, а ключи E - открытыми. Если A желает отправить подписанное сообщение M пользователю B он выполняет следующие действия:

вычисляет дайджест сообщения с помощью одной из хеш-функций

с помощью своего секретного ключа вычисляет значение

далее он вычисляет с помощью открытого ключа пользователя B

Полученное значение S является цифровой подписью документа M и передается вместе с ним пользователю B.

Для проверки подписи пользователь B выполняет следующие действия:

аналогично, как и пользователь A вычисляет дайджест сообщения с помощью одной из хеш-функций (например MD5)

с помощью своего секретного ключа вычисляет

с помощью открытого ключа пользователя A вычисляет

сравнивает значения h и h'; если они совпадают, то подпись принимается (считается подлинной); иначе подпись отвергается.

Не трудно видеть, что данная схема позволяет защищаться от нескольких видов нарушений.

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

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

Данная схема позволяет также при решении многих конфликтных ситуаций обходится без посредников.

Стандарт цифровой подписи DSS (Digital Signature Standard)

Этот стандарт определяет алгоритм цифровой подписи DSA (Digital Signature Algorithm), который может использоваться для генерации цифровой подписи [19]. Цифровые подписи используются для выявления неавторизованных модификаций данных и аутентификации идентичности пользователя генерирующего подпись. В дополнение, получатель подписанных данных может использовать цифровую подпись в доказательстве третьей стороне того, что подпись действительно сгенерирована стороной, подписавшей данные. Это обеспечивает невозможность отречения от подписи лица подписавшего данные.

Пояснение: Этот стандарт определяет Digital Signature Algorithm (DSA) предназначенный для приложений требующих цифровых подписей. DSA цифровая подпись представляет собой пару больших чисел, представляемых в компьютере в виде двоичных цифр. Цифровая подпись вычисляется на основе набора правил (т.е. алгоритма DSA) и набора параметров, которые могут быть использованы для проверки идентичности подлинника и целостности данных. DSA включает генерацию подписи и ее проверку. Генерация использует секретный (private) ключ для получения цифровой подписи. Проверка подписи использует открытый (public) ключ, который соответствует секретному ключу, использованному при генерации подписи, но не равный ему.

Каждый пользователь обладает парой ключей: секретным и открытым. Предполагается, что открытые ключи известны всем членам группы пользователей, либо вообще доступны всем. Секретные ключи должны знать только их создатели (владельцы). Любой может проверить подпись пользователя с помощью применения его открытого ключа. Генерация подписи может быть осуществлена только владельцем секретного ключа.

При генерации подписи для получения сжатой версии данных, называемой сверткой сообщения (message digest) используется хеш-функция. Свертка сообщения подписывается. Цифровая подпись отсылается получателю вместе с подписанными данными (часто называемыми сообщением). Получатель сообщения и подписи проверяет подпись, используя открытый ключ отправителя. В процессе проверки подписи должна использоваться аналогичная хеш-функция, что и при подписывании.

Применимость: Этот стандарт применим для всех государственных подразделений и агентств для защиты и аутентификации информации. Этим стандартом должны руководствоваться все государственные подразделения оперирующие цифровой подписью на основе систем с открытыми ключами (public-key based systems).

Поощряется принятие и применение этого стандарта частными и коммерческими организациями.

Применения: DSA аутентифицирует целостность подписанных данных и идентичность подписывающего. DSA может также применяться в доказательстве третьей стороне того, что данные были подписаны тем, кто сгенерировал подпись. DSA предназначен для использования в электронной почте, передачи электронных платежей, обмена данными, распространения программного обеспечения, хранения данных и других применений, которые требуют доверия к целостности и аутентификации подлинности.

Исполнение: DSA может иметь программное, микропрограммное и аппаратное исполнение.

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

Реализация DSS (Выполнена в компании DEKART S.R.L.)[17].

DSS (Digital Signature Standard) - стандарт электронной подписи предложен американским национальным институтом стандартов и технологий (American National Institute of Standards and Technology (NIST)) - по рекомендации национального агентства безопасности (National Security Agency (NSA)).

В основе DSS лежит алгоритм цифровой сигнатуры (свертки сообщения) SHA (Secure Hash Algorithm) и Digital Signature Algorithm (DSA) в основе, которого лежит криптосистема Эль-Гамаля. Алгоритм SHA используется для выработки цифровой сигнатуры сообщения, которая в свою очередь подписывается с помощью алгоритма Эль-Гамаля и присоединяется к сообщению.

Стойкость системы в целом основана на сложности нахождения логарифмов в конечных полях (полях Галуа).

Рассмотрим положения и математические методы, которые лежат в основе системы. Прежде всего необходимо отметить, что алгоритм Эль-Гамаля представляет собой криптосистему с открытым ключом. Это означает, что ряд параметров (ключей) системы являются открытыми (public), но в тоже время она предполагает наличие секретного ключа (private), который должен надлежащим образом храниться и применяться.

Таким образом параметры системы разделяются на три группы:

- общие (common) параметры;

- секретный (private) ключ;

- открытый (public) ключ.

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

Общие параметры системы представляют тройку <p,q,g>, где p - простое число (модуль) удовлетворяет неравенству . (1)

q- простой делитель p - 1 и удовлетворяет неравенству . (2)

g - генератор, удовлетворяющий условию (3)

где h- любое целое из 0 < h < p и такое, что (4)

Эти значения делаются общими, т.е. объявляются всем участникам, обменивающимися подписанными сообщениями.

Секретный ключ x случайно выбирается каждым пользователем из диапазона и держится в секрете. В нашей реализации DSS для этого он зашифровывается алгоритмом DES с помощью ключа (password) пользователя и в таком виде хранится в файле user_ident.SEC.

Открытый ключ вычисляется следующим образом (5)

и в нашей реализации хранится в файле PUBLIC.KEY.

Другие параметры: m - сообщение подлежащее подписыванию и передаче. k- случайное число такое, что 0 < k < q. H- односторонняя хеш-функция.

Параметр k также является секретным и меняется от одной подписи к другой. Криптографическая стойкость системы зависит от размера параметров p и q (в нашем случае это 512 и 160 бит соответственно). Причем со стороны q может быть возможна только силовая атака, т.е. полный перебор и в нашем случае криптостойкость по параметру q равна . Со стороны параметра p нападение равносильно нахождению логарифма в поле Галуа и извлечение логарифмов по модулю p потребует проведения предварительных вычислений, по объему пропорциональных,

после осуществления которых отдельные логарифмы могут быть вычислены достаточно просто, но объем этих предварительных вычислений, как видно из выражения (5) настолько большой, что это не представляется возможным.

И, наконец, для того чтобы получатель мог доказать подлинность сообщения третьему лицу к сообщениям приписываются так называемые цифровые сигнатуры. Цифровая сигнатура - это массив данных, зависящий как от идентификатора отправителя, так и содержания сообщения. В DSS для формирования цифровой сигнатуры используется алгоритм SHA (Secure Hash Algorithm) и длина этой сигнатуры равна 160 бит.

Генерация цифровой подписи.

Процесс вычисления цифровой подписи для сообщения m состоит из следующих этапов:

1. Вычисление цифровой сигнатуры на основе алгоритма SHA (здесь мы заменили обозначение H на SHA) (7)

2. Выбор случайного числа k из диапазона и вычисление (8)

3. Вычисление , (9)

где мультипликативная инверсия k по модулю q; т.е.,

и

Значения r,s являются цифровой подписью сообщения m и передаются вместе с ним (в нашей реализации это файл с расширением .DSS и именем таким же, как и у файла содержащего подписываемое сообщение).

Проверка цифровой подписи

Процесс проверки электронной подписи производится следующим образом: пусть m', r' и s' полученная версия значений m, r и s, соответственно и пусть y будет открытым ключом пользователя передавшего подписанное сообщение. Для проверки подписи получатель, прежде всего должен проверить что 0 < r' < q и 0 < s' < q; если хотя бы одно из этих условий нарушено подпись отвергается. Далее:

Вычисляются значения

Выполняется проверка равенства

Если равенство выполняется то делается вывод, что подпись верная и сообщение аутентично. В противном случае сообщение должно быть отвергнуто, поскольку в этом случае цифровая подпись не соответствует сообщению.

Электронный конверт.

Как правило реализации симметричных алгоритмов шифрования (DES, IDEA и т.п.) являются достаточно быстрыми в отличие от реализаций алгоритмов с открытыми ключами (несимметричных). Поэтому при передаче сообщений (транзакций) есть смысл использовать их совместно: симметричные для шифрования сообщения (транзакции), а несимметричные для шифрования секретного ключа (симметричного алгоритма) и подписи сообщения (транзакции). Такая схема (Рис.1.6) использует электронный документ, который получил название электронный конверт.

Исходное сообщение зашифровывается с помощью симметричного алгоритма и секретного ключа (случайного), затем секретный ключ также зашифровывается с помощью RSA и открытого ключа корреспондента, для которого предназначено сообщение.

Рис.1.6 Структурная схема формирования электронного конверта.

Также исходное сообщение подписывается с помощью RSA и секретного ключа отправителя. Зашифрованное сообщение, зашифрованный ключ симметричного алгоритма и цифровая подпись документа помещаются в один электронный конверт (документ) и отправляются тому для которого он предназначен.

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

В качестве алгоритмов шифрования и цифровой подписи рекомендуется использовать хорошо себя зарекомендовавшие алгоритмы DES, IDEA, RSA, DSA.

2. Алгоритм программы

2.1 Математическая постановка задачи

Формально задача сводится к преобразованию блоков данных с использованием шести базовых операций, обозначаемых следующим образом:

a + b - целочисленное сложение по модулю 2w;

a - b - целочисленное вычитание по модулю 2w;

a Е b - побитовое "исключающее ИЛИ" w-битовых слов;

a ґ b - целочисленное умножение по модулю 2w;

a << b - циклический сдвиг w-битового слова влево на величину, заданную log2w младшими битами b;

a >> b - циклический сдвиг w-битового слова вправо на величину, заданную log2w младшими битами b.

2.2 Шифр RC6

RC6 представляет собой целое семейство шифров с переменным размером блока, переменным размером ключа от 1 до 32 байт и переменным числом раундов. В шифре вовсе не используются узлы замен, вместо этого используется умножение и циклические сдвиги на переменное число разрядов w/4-битовых чисел, где w - размер блока данных в битах. В силу этого алгоритм неэффективно реализуется на процессорах без быстрой команды умножения и без команды циклического сдвига на переменное число битов.

Кроме того, операция умножения ресурсоемка при аппаратной реализации. По указанным причинам RC6 не был избран в качестве усовершенствованного стандарта шифрования США, хотя на ряде 32-битовых платформ его реализация оказалась существенно эффективней, чем реализация AES.

Таблица

Параметры

pазмер блока, бит

переменный (w), степень 2

pазмер ключа, бит

8-256 (целое число байт)

число раундов

переменное (r)

pазмер ключевого элемента, бит

w/2 (половина размера блока)

число ключевых элементов


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

  • Понятия электронной коммерции. Развитие электронной коммерции в мире. Перспективы развития электронной коммерции в России. Расчеты в системах электронной коммерции. Алгоритмы и схемы взаимодействия пользователей. Налогообложение и электронные деньги.

    дипломная работа [966,4 K], добавлен 16.06.2012

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

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

  • Обзор средств построения систем электронной коммерции, их преимущества и основные направления развития. Особенности корпоративных серверов Microsoft. Разработка программного механизма для ведения статистики по действиям пользователя в разных модулях.

    отчет по практике [1,6 M], добавлен 26.06.2014

  • Формирование "электронной коммерции" как понятия, ее отличия от традиционной коммерческой деятельности. Базовые элементы электронной коммерции, порядок проведения платежей в интернете. Безопасность электронной коммерции, назначение номера карты.

    контрольная работа [777,4 K], добавлен 31.08.2010

  • Характеристика процессов электронной коммерции в книготорговой деятельности и практической разработке системы электронной торговли на примере книжного Web-магазина. Изучение организационных принципов электронной коммерции и нормативно-правовой базы.

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

  • Инструменты для осуществления электронной коммерции. Международная и российская аудитория сети Интернет. Стадии реализации коммерческой сделки. Средства электроники и электронных коммуникаций. Обзор аппаратных и программных средств электронной коммерции.

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

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

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

  • Теоретические основы эксплуатации автоматизированных информационных систем электронной коммерции в торговых организациях малого и среднего бизнеса. Описание входной и выходной информации. Анализ деятельности компании ООО "Агентство "Лунный свет".

    дипломная работа [2,0 M], добавлен 19.06.2015

  • Анализ характеристик средств криптографической защиты информации для создания электронной цифровой подписи. Этапы генерации ключевого контейнера и запроса при помощи Удостоверяющего центра с целью получения сертификата проверки подлинности клиента.

    реферат [604,6 K], добавлен 14.02.2016

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

    презентация [520,3 K], добавлен 14.08.2013

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