Реферат: Защита информации: цифровая подпись - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Защита информации: цифровая подпись

Банк рефератов / Компьютерные сети

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 94 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

САНКТ – ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Фа культет технической кибернетики Кафедра информационных и управляющих систем Реферат «Цифровая подпись» Студент Барташевич Е.Е. Преподаватель Чистяков И.В. Санкт-Петербург 2001 Содержание 1. Ассиметричные алгоритмы шифрования 3 1.1. Стандарт ассимметричного шифрования RSA 4 1.1.1. Генерация ключей 4 1.1.2. Шифрование /расшифрование 5 1.2. Алгоритм ЭльГамаля 6 1.2.1. О бщие сведения 6 1.2.2. Шифрование сообщений 6 1.2.3. Подтверждение подлинности отправителя 6 1.3. Алгоритм Шамира 7 1.3.1. Общее описание 7 1.3.2. Передача сообщений 7 1.3.3. Пример использования 8 1.4. К pиптосистемы на основе эллиптических у pавнений 8 2. Электронно-цифровая подпись 9 2.1. Общие положения 9 3. Алгоритм DSA 10 3.1. Генерация ЭЦП 11 3.2. Проверка ЭЦП 12 4. Стандарт на процедуры ЭЦП ГОСТ Р 34.10-94 12 4.1. Генерация ЭЦП 13 4.2. Проверка ЭЦП 13 5. Цифровые подписи , основанные на симметричных криптосистемах 13 6. Атаки на ЭЦП 22 7. Некоторые средства работы с ЭЦП 23 7.1. PGP 23 7.2. GNU Privacy Guard (GnuPG) 24 7.3. Криптон 24 7.4. ВербаО 24 8. Литература и ссылки 26 1. Ассиметричные алгоритмы шифрования Развитие основных типов криптографиче ских протоколов (ключевой обмен , электронно-цифровая подпись (ЭЦП ), аутентификация и др ) было бы невозможно без создания открытых ключей и построенных на их основе ассиметричных протоколов шифрования. Основная идея асимметричных криптоалгоритмов состо ит в том , что для шифрования сообщения используется один ключ , а при дешифровании – другой . Кроме того , процедура шифрования выбрана так , что она необратима даже по известному ключу шифрования – это второе необходимое условие асимметричной криптографии . Т о есть , зная ключ шифрования и зашифрованный текст , невозможно восстановить исходное сообщение – прочесть его можно только с помощью второго ключа – ключа дешифрования . А раз так , то ключ шифрования для отправки писем какому-либо лицу можно вообще не скрыв а ть – зная его все равно невозможно прочесть зашифрованное сообщение . Поэтому , ключ шифрования называют в асимметричных системах "открытым ключом ", а вот ключ дешифрования получателю сообщений необходимо держать в секрете – он называется "закрытым ключом ". Таким образом , мы избавляемся от необходимости решать сложную задачу обмена секретными ключами. Напрашивается вопрос : "Почему , зная открытый ключ , нельзя вычислить закрытый ключ ?" – это третье необходимое условие асимметричной криптографии – алгоритмы шифрования и дешифрования создаются так , чтобы зная открытый ключ , невозможно вычислить закрытый ключ . В целом система переписки при использовании асимметричного шифрования выглядит следующим образом . Для каждого из N абонентов , ведущих переписку , выбран а своя пара ключей : "открытый " E j и "закрытый " D j , где j – номер абонента . Все открытые ключи известны всем пользователям сети , каждый закрытый ключ , наоборот , хранится только у того абонента , которому он принадлежит . Если абонент , скажем под номером 7, с обирается передать информацию абоненту под номером 9, он шифрует данные ключом шифрования E 9 и отправляет ее абоненту 9. Несмотря на то , что все пользователи сети знают ключ E 9 и , возможно , имеют доступ к каналу , по которому идет зашифрованное послание , он и не могут прочесть исходный текст , так как процедура шифрования необратима по открытому ключу . И только абонент № 9, получив послание , производит над ним преобразование с помощью известного только ему ключа D 9 и восстанавливает текст послания . Заметьте , чт о если сообщение нужно отправить в противоположном направлении (от абонента 9 к абоненту 7), то нужно будет использовать уже другую пару ключей (для шифрования ключ E 7 , а для дешифрования – ключ D 7 ). Как мы видим , во-первых , в асимметричных системах колич ество существующих ключей связано с количеством абонентов линейно (в системе из N пользователей используются 2* N ключей ), а не квадратично , как в симметричных системах . Во-вторых , при нарушении конфиденциальности k -ой рабочей станции злоумышленник узнает т олько ключ D k : это позволяет ему читать все сообщения , приходящие абоненту k , но не позволяет вывадавать себя за него при отправке писем . 1.1. Стандарт ассимметричного шифрования RSA Самым распространенным алгоритмом ассимет ричного шифрования является алгоритм RSA . Он был предложен тремя исседователями-математиками Рональдом Ривестом ( R . Rivest ) , Ади Шамиром ( A . Shamir ) и Леонардом Адльманом ( L . Adleman ) в 1977-78 годах . Разработчикам данного алгоритма удалось эффективно вопло тить идею односторонних функций с секретом . Стойкость RSA базируется на сложности факторизации больших целых чисел . В 1993 году метод RSA был обнародован и принят в качестве стандарта ( PKCS #1: RSA Encryption standart ). RSA можно применять как для шифро вания /расшифрования , так и для генерации /проверки электронно-цифровой подписи. 1.1.1. Генерация ключей Первым этапом любого асимметричного алгоритма является создание пары ключей : открытого и закрытого и распространение открыт ого ключа "по всему миру ". Для алгоритма RSA этап создания ключей состоит из следующих операций : Выбираются два простых (!) числа p и q Вычисляется их произведение n (= p * q ) Выбирается произвольное число e ( e < n ), такое , что НОД ( e ,( p -1)( q -1))=1, то есть e должно быть взаимно простым с числом ( p -1)( q -1). Методом Евклида решается в целых числах (!) уравнение e * d +( p -1)( q -1)* y =1. Здесь неизвестными являются переменные d и y – метод Евклида как раз и находит множество пар ( d , y ), каждая из которых является решен ием уравнения в целых числах . Два числа ( e , n ) – публикуются как открытый ключ . Число d хранится в строжайшем секрете – это и есть закрытый ключ , который позволит читать все послания , зашифрованные с помощью пары чисел ( e , n ). 1.1.2. Шифро вание /расшифрование Как же производится собственно шифрование с помощью этих чисел : Отправитель разбивает свое сообщение на блоки , равные k =[ log 2 ( n )] бит , где квадратные скобки обозначают взятие целой части от дробного числа . Подобный бло к , как Вы знаете , может быть интерпретирован как число из диапазона (0;2 k -1). Для каждого такого числа (назовем его m i ) вычисляется выражение c i =(( m i ) e ) mod n . Блоки c i и есть зашифрованное сообщение , и их можно спокойно передавать по открытому каналу , поск ольку операция возведения в степень по модулю простого числа , является необратимой математической задачей . Обратная ей задача носит название "логарифмирование в конечном поле " и является на несколько порядков более сложной задачей . То есть даже если злоум ы шленник знает числа e и n , то по c i прочесть исходные сообщения m i он не может никак , кроме как полным перебором m i . А вот на приемной стороне процесс дешифрования все же возможен , и поможет нам в этом хранимое в секрете число d . Достаточно давно была док азана теорема Эйлера , частный случай которой утвержает , что если число n представимо в виде двух простых чисел p и q , то для любого x имеет место равенство ( x ( p -1)( q -1) ) mod n = 1. Для дешифрования RSA -сообщений воспользуемся этой формулой. Возведем обе ее части в степень (- y ) : ( x (- y )( p -1)( q -1) ) mod n = 1 (- y ) = 1. Теперь умножим обе ее части на x : ( x (- y )( p -1)( q -1)+1 ) mod n = 1* x = x . А теперь вспомним как мы создавали открытый и закрытый ключи . Мы подбирали с помощью алгоритма Евклида d такое , что e * d +( p - 1)( q -1)* y =1, то есть e * d =(- y )( p -1)( q -1)+1. А следовательно в последнем выражении предыдущего абзаца мы можем заменить показатель степени на число ( e * d ). Получаем ( x e * d ) mod n = x . То есть для того чтобы прочесть сообщение c i =(( m i ) e ) mod n достаточно возвести его в степень d по модулю m : ((c i ) d )mod n = ((m i ) e*d )mod n = m i . На самом деле операции возведения в степень больших чисел достаточно трудоемки для современных процессоров , даже если они производятся по оптимизированным по времени алгоритмам . Поэтому обычно весь текст сообщения кодируется обычным блочным шифром (намного более быстрым ), но с использованием ключа сеанса , а вот сам ключ сеанса шифруется как раз асимметричным алгоритмом с помощью открытого ключа получателя и помещается в начало файла . 1.2. Алгоритм ЭльГамаля 1.2.1. Общие сведения Криптографы со своей стороны вели поиски более эффективных систем открытого шифрования и в 1985 году Т.Эль-Гамаль (США ) предложил следующую схему на основе воз ведения в степень по модулю большого простого числа P . Задается большое простое число P и целое число A , 1 < A < P . Сообщения представляются целыми числами M из интервала 1 < M < P . 1.2.2. Шифрование сообщений Протокол передачи с ообщения M выглядит следующим образом. абоненты знают числа A и P ; абоненты генерируют независимо друг от друга случайные числа : Ka , Kb удовлетворяющих условию : 1 < K < P получатель вычисляет и передаёт отправителю число B , определяемое последовательнос тью : В = A Kb m о d ( P ) отправитель шифрует сообщение M и отправляет полученную последовательность получателю C = M * B Ka m о d ( P ) получатель расшифровывает полученное сообщение D = ( A Ka ) -Kb mо d(P) M = C * D m о d ( P ) В этой системе открытого шифрования та же степень защиты , что для алгоритма RSA с модулем N из 200 знаков , достигается уже при модуле P из 150 знаков . Это позволяет в 5-7 раз увеличить скорость обработки информации . Однако , в таком варианте открытого шифрования нет подтверждения подлинности сообщений. 1.2.3. Подтверждение подлинности отправителя Для того , чтобы обеспечить при открытом шифровании по модулю простого числа P также и процедуру подтверждения по длинности отправителя Т.ЭльГамаль предложил следующий протокол передачи подписанного сообщения M : абоненты знают числа A и P ; отправитель генерирует случайное число и хранит его в секрете : Ka удовлетворяющее условию : 1 < Ka < P вычисляет и передаёт полу чателю число B , определяемое последователньостью : В = A Ka mо d(P) Для сообщения M (1 < M < P ): выбирает случайное число L (1 < L < P ) , удовлетворяющее условию ( L , P - 1 ) = 1 вычисляет число R = A L mо d(P) решает относительно S M = Ka * R + L * S m о d ( P ) передаёт подписанное сообщение [ M , R , S ] получатель проверяет правильность подписи A M = ( B R ) * ( R S ) mо d(P) В этой системе секретным ключом для подписывания сообщений является число X , а открытым ключом для проверки достоверности подписи чи сло B . Процедура проверки подписи служит также и для проверки правильности расшифрования , если сообщения шифруются. 1.3. Алгоритм Шамира 1.3.1. Общее описание Еще один интересный пример использования во зведения в степень по модулю большого простого числа P для открытого шифрования предложил А. Shamir (один из авторов RSA ). Как и в системе ЭльГамаля сообщения M представляются целыми числами из интервала 1 < M < P . 1.3.2. Передача сообщений Передача сообщения происходит следующим образом : абоненты знают числа P ; абоненты генерируют независимо друг от друга случайные числа : Ka , Kb удовлетворяющих условию : 1 < K < P о тправитель вычисляет значение и передаёт получателю : C = M Ka mо d(P) получатель вычисляет и передаёт отправителю число B , определяемое последовательностью : D = C Kb mо d(P) отправитель аннулирует свой шифр и отправляет полученную последовательность получа телю E=D (X-1) mо d(P) E = D Fa mо d(P) где : Fa = Ka -1 получатель расшифровывает полученное сообщение M = E Fb mо d(P) где : Fb = Kb – 1 1.3.3. Пример использования Эта процедура ОШ может быть использована , например , для таких "э кзотических " целей как игра в карты по телефону. Действительно , если игрок A желает "сдать " игроку B , скажем , 5 карт из 52 как при игре в покер , он зашифровывает обозначения всех карт и передает их игроку B : Ca = Ma Ka mо d(P) где I =1,2,..,52 Игрок B выбира ет из них 5, зашифровывает своим ключом 22 и возвращает игроку А : Da = Ca Kb mо d(P) где I =1,2...,5 Игрок A снимает с этих 5 карт свой шифр и выдает их игроку B . Игрок B расшифровывает полученные карты : Ma = Ea Fb mо d (P) При этом оставшаяся часть колоды C ( 6)... C (52) теперь находится у игрока B , но он не может раскрыть эти карты , т.к . они зашифрованы на ключе его партнера A . Остальные процедуры игры проделываются аналогично. 1.4. К pиптосистемы на основе эллиптических у pавнений Эл липтические к p ивые - математический объект , кото p ый может оп p еделен над любым полем (конечным , действительным , p ациональным или комплексным ). В к p иптог p афии обычно используются конечные поля . Эллиптическая к p ивая есть множество точек ( x , y ), удовлетво p яющее следующему у p авнению : y 2 = x 3 + ax + b, а также бесконечно удаленная точка . Для точек на к p ивой довольно легко вводится опе p ация сложения , кото p ая иг p ает ту же p оль , что и опе p ация умножения в к p иптосистемах RSA и Эль-Гамаля. В p еальных к p иптосистемах на базе эллиптических у p авнений используется у p авнение y 2 = x 3 + ax + b mod p, где p - п p остое. П p облема диск p етного лога p ифма на эллиптической к p ивой состоит в следующем : дана точка G на эллиптической к p ивой по p ядка r (количество точек на к p ивой ) и д p угая то чка Y на этой же к p ивой . Нужно найти единственную точку x такую , что Y = x G , то есть Y есть х -я степень G . 2. Электронно-цифровая подпись 2.1. Общие положения При ведении деловой переписки , при заключе нии контрактов подпись ответственного лица является непременным аттрибутом документа , преследующим несколько целей : - Гарантирование истинности письма путем сличения подписи с имеющимся образцом ; - Гарантирование авторства документа ( с юридической точки зрения ) Выполнение данных требовани основывается на следующих свойствах подписи : - подпись аутентична , то есть с ее помощью получателю документа можно доказать , что она принадлежит подписывающему ; - подпись неподделываема ; то есть служит доказательством, что только тот человек , чей автограф стоит на документе , мог подписать данный документ , и никто иной. - Подпись непереносима , то есть является частью документа и поэтому перенести ее на другой документ невозможно. - Документ с подписью является неизменяем ым. - Подпись неоспорима. - Любое лицо , владеющее образцом подписи может удостоверится , что документ подписан вледельцем подписи. Развитие современных средств безбумажного документооборота , средств электронных платежей немыслимо без развития средств дока зательства подлинности и целостности документа . Таким средством является электронно-цифровая подпись (ЭЦП ), которая сохранила основные свойства обычной подписи. Существует несколько методов посторения ЭЦП , а именно : - шифрование электронного документа (ЭД ) на основе симметричных алгоритмов . Данная схема предусматривает наличие в системе третьего лица – арбитра , пользующегося доверием обеих сторон . Авторизацией документа в даной схеме является сам факт зашифрования ЭД секретным ключем и передача его а рбитру . - Использование ассиметричных алгоритмов шифрования . Фактом подписания документа является зашифрование его на секретном ключе отправителя . - Развитием предыдущей идеи стала наиболее распространенныя схема ЭЦП – зашифрование окончательного резуль тата обработки ЭД хеш-функцией при помощи ассиметричного алгоритма. Кроме перечисленных , существуют и другие методы построения схем ЭЦП - групповая подпись , неоспариваемая подпись , доверенная подпись и др . Появление этих разновидностей обусловлено разноо бразием задач , решаемых с помощью электронных технологий передачи и обработки электронных документов. 3. Алгоритм DSA В 1991 г . в США был опубликован проект федерального стандарта цифровой подписи - DSS ( Digital Signature Standa rd , [ DSS 91], описывающий систему цифровой подписи DSA ( Digital Signature Algorithm ). Одним из основных критериев при создании проекта была его патентная чистота . Предлагаемый алгоритм DSA , имеет , как и RSA , теоретико-числовой характер , и основан на крипто графической системе Эль-Гамаля в варианте Шнорра . Его надежность основана на практической неразрешимости определенного частного случая задачи вычисления дискретного логарифма . Современные методы решения этой задачи имеют приблизительно ту же эффективност ь , что и методы решения задачи факторизации ; в связи с этим предлагается использовать ключи длиной от 512 до 1024 бит с теми же характеристиками надежности , что и в системе RSA . Длина подписи в системе DSA меньше , чем в RSA , и составляет 320 бит . С момента опубликования проект получил много критических отзывов , многие из которых были учтены при его доработке . Одним из главных аргументов против DSA является то , что , в отличие от общей задачи вычисления дискретного логарифма , ее частный случай , использованный в данной схеме , мало изучен и , возможно , имеет существенно меньшую сложность вскрытия . Кроме того , стандарт не специфицирует способ получения псевдослучайных чисел , используемых при формировании цифровой подписи , и не указывает на то , что этот элемент ал г оритма является одним из самых критичных по криптографической стойкости . Функции DSA ограничены только цифровой подписью , система принципиально не предназначена для шифрования данных . По быстродействию система DSA сравнима с RSA при формировании подписи , но существенно (в 10-40 раз ) уступает ей при проверке подписи . Вместе с проектом DSS опубликован проект стандарта SHS ( Secure Hash Standard ), описывающий однонаправленную хэш-функцию SHA ( Secure Hash Algorithm ), рекомендованную для использования вместе с DSA . Хэш-функция SHA является модификацией алгоритма MD 4, хорошо известного в криптографической литературе . 3.1. Генерация ЭЦП При генерации ЭЦП используются параметры трех групп : - общие параметры - секретный ключ - открытый ключ Общие параметры необходимы для функционирования системы в целом . Секретный ключ используется для формирования ЭЦП , а открытый – для проверки ЭЦП . Общими параметрами системы являются простые целые числа p , q , g , удовлетворяющие следующим условиям : p : 2^511< p <2^512 q : простой делитель числа ( p -1), который удовлетворяет условию 2^159< q <2^160 g : так называемый генератор,удовлетворяющий равенству g = h ^(( p -1)/ q ) mod p >1 . Парараметры p , q , g публикуются для всех участников обмена ЭД с ЭЦП. Секретный клю ч x случайно выбирается из диапазона [1, q ] и держится в секрете. Открытый ключ вычисляется : y=g^x mod p . Также при описании данной схемы будут использоваться следующие обозначения и доролнительные параметры : m – входное сообщение пользователя для схемы с ЭЦП ; k - случайное число , удовлетворяющее условию 0< k < q , хранящееся в секрете и меняющееся от одной подписи к другой ; H – хэш-функция , h – хэш-код сообщения. Процесс генерации ЭЦП состоит из нескольких этапов : 1.Вычисляется хэш-код сообщения m h = H ( m ) 2.Из диапазона [1, q ] случайным образом выбирается значение k и вычисляется r = ( g ^ k mod p ) mod q 3. Вычисляется S = ( k ^-1( h + xr )) mod q , где k ^-1 удовлетворяет условию (k^-1*k) mod q =1 Значения r,s являются ЭЦП сообщения m и передаются вместе с ним п о каналам связи. 3.2. Проверка ЭЦП Пусть принято сообщение m 1 и его подпись s 1, r 1. Проверка ЭЦП происходит следующим образом : - проверяется выполнений условий 0< r 1< q , 0< s 1< q , и если хотя бы одно из них нарушено , подпись отверга ется. - Вычисляются значения : w= s1^-1 mod q u1 = (H(m1)w) mod q u2 = ((r1/w) mod q v = (( g^u1y^u2) mod p ) mod q - проверяется равенство v = r 1 Если последнее равенство выполняется , то подпись принимается . В данном стандарте специфицируется также проц едура генерации основных параметров системы и проводится доказательство того , что если v = r 1, то m 1= m , r 1= r , s 1= s . 4. Стандарт на процедуры ЭЦП ГОСТ Р 34.10-94 Отечественным стандартом на процедуры выработки и проверки ЭЦП являет ся ГОСТ Р 34.10-94. Схема ЭЦП , предложенная в данном стандарте , во многом напоминает подпись в DSA . Цифровая подпись представляет собой два больших целых простых числа . Общедоступные параметры схемы ЭЦП ( p , q , a ) должны удовлетворять следующим условиям : p : 2^501< p <2^512 или 2^1020< p <2^1020 q : простой делитель числа ( p -1), который удовлетворяет условию 2^254< q <2^256 a: 1 T' , то s ' 1 = R 2 n T – 1 – T' ( k 1 )= R T – T' ( R 2 n T – 1 – T ( k 1 ) )= R T – T' ( s 1 ). Однако для нахождения второй половины подписи ( s ' 1 и s ' 0 в случаях ( a ) и ( b ) соответственно ) ему необходимо выполнить прокрутку в обратную сторону , т.е . на йти R k ( X ), располагая только значением для большего k , что является вычислительно невозможным . Таким образом , злоумышленник не может подделать подпись под сообщением , если не располагает секретным ключом подписи. Второе требование также выполняется : вероят ность подобрать блок данных T ' , отличный от блока T , но обладающий такой же цифровой подписью , чрезвычайно мала и может не приниматься во внимание . Действительно , пусть цифровая подпись блоков T и T ' совпадает . Тогда подписи обоих блоков будут равны соотве тственно : s = S n T ( T )= ( s 0 , s 1 )= ( R T ( k 0 ), R 2 n T – 1 – T ( k 1 )) , s ' = S n T ( T ' )= ( s ' 0 , s ' 1 )= ( R T ' ( k 0 ), R 2 n T – 1 – T ' ( k 1 )) , но s = s' , следовательно : R T ( k 0 )= R T ' ( k 0 ) и R 2 n T – 1 – T ( k 1 )= R 2 n T – 1 – T ' ( k 1 ). Положим для определенности T Ј'08 T ' , тогда справедливо следу ющее : R T' – T ( k 0 * )= k 0 * , R T' – T ( k 1 * )= k 1 * , где k 0 * = R T ( k 0 ), k 1 * = R 2 n T – 1 – T ' ( k 1 ) Последнее условие означает , что прокручивание двух различных блоков данных одно и то же число раз оставляет их значения неизменными . Вероятность такого события чрезвычайно мала и может н е приниматься во внимание. Таким образом рассмотренная модификация схемы Диффи– Хеллмана делает возможным подпись не одного бита , а целой битовой группы . Это позволяет в несколько раз уменьшить размер подписи и ключей подписи /проверки данной схемы . Однако н адо понимать , что увеличение размера подписываемых битовых групп приводит к экспоненциальному росту объема необходимых вычислений и начиная с некоторого значения делает работу схемы также неэффективной . Граница «разумного размера» подписываемой группы нах о дится где-то около десяти бит , и блоки большего размера все равно необходимо подписывать «по частям». Теперь найдем размеры ключей и подписи , а также объем необходимых для реализации схемы вычислений . Пусть размер хэш– блока и блока используемого шифра один аковы и равны n , а размер подписываемых битовых групп равен n T . Предположим также , что если последняя группа содержит меньшее число битов , обрабатывается она все равно как полная n T -битовая группа . Тогда размеры ключей подписи /проверки и самой подписи совп адают и равны следующей величине : бит, где й'39 x щ'49 обозначает округление числа x до ближайшего цело го в сторону возрастания . Число операций шифрования E K ( X ), требуемое для реализации процедур схемы , определяются нижеследующими соотношениями : при выработке ключевой информации оно равно : , при выработке и проверке подписи оно вдвое меньше : . Размер ключа подписи и проверки подписи можно дополнительно уменьшить след ующими приемами : 1. Нет необходимости хранить ключи подписи отдельных битовых групп , их можно динамически вырабатывать в нужный момент времени с помощью генератора криптостойкой гаммы . Ключом подписи в этом случае будет являться обычный ключ использованно го в схеме подписи блочного шифра . Например , если схема подписи будет построена на алгоритме ГОСТ 28147-89, то размер ключа подписи будет равен 256 битам. 2. Аналогично , нет необходимости хранить массив ключей проверки подписи отдельных битовых групп блок а , достаточно хранить его значение хэш-функции этого массива . При этом алгоритм выработки ключа подписи и алгоритм проверки подписи будут дополнены еще одним шагом – вычислением хэш-функции массива проверочных комбинаций отдельных битовых групп. Таким обра зом , проблема размера ключей и подписи решена , однако , второй недостаток схемы – одноразовость ключей – не преодолен , поскольку это невозможно в рамках подхода Диффи– Хеллмана . Для практического использования такой схемы , рассчитанной на подпись N сообщени й , отправителю необходимо хранить N ключей подписи , а получателю – N ключей проверки , что достаточно неудобно . Эта проблема может быть решена в точности так же , как была решена проблема ключей для множественных битовых групп – генерацией ключей подписи для всех N сообщений из одного мастер-ключа и свертывание всех проверочных комбинаций в одну контрольную комбинацию с помощью алгоритма вычисления хэш-функции . Такой подход решил бы проблему размера хранимых ключей , но привел бы к необходимости вместе подпис ью каждого сообщения высылать недостающие N – 1 проверочных комбинаций , необходимых для вычисления хэш-функции массива всех контрольных комбинаций отдельных сообщений . Ясно , что такой вариант не обладает преимуществами по сравнению с исходным . Упомянутыми в ыше авторами был предложен механизм , позволяющий значительно снизить остроту проблемы . Его основная идея – вычислять контрольную комбинацию (ключ проверки подписи ) не как хэш-функцию от линейного массива проверочных комбинаций всех сообщений , а попарно – с помощью бинарного дерева . На каждом уровне проверочная комбинация вычисляется как хэш-функция от конкатенации двух проверочных комбинаций младшего уровня . Чем выше уровень комбинации , тем больше отдельных ключей проверки "учитывается " в ней . Предположим, что наша схема рассчитана на 2 L сообщений . Обозначим через i -тую комбинацию l -того уровня . Если нумерацию комбинаций и уровней начинать с нуля , то справедл иво следующее условие : 0 Ј'08 i < 2 L – l , а i -ая проверочная комбинация l -того уровня рассчитана на 2 l сообщений с номерами от i Ч'27 2 l до ( i +1) Ч'27 2 l – 1 включительно . Число комбинаций нижнего , нулевого уровня равно 2 L , а самого верхнего , L -того уровня – одна , она и является контрольной комбинацией всех 2 L сообщений , на которые рассчитана схема . На каждом уровне , начиная с первого , проверочные комбинации рассчитываются по сле дующей формуле : , где через A | | B обозначен результат конкатенации двух блоков данных A и B , а через H ( X ) – процедура вычисления хэш-функции блока данных X . При использовании указанного подхода вместе с подписью сообще ния необходи мо передать не N – 1, как в исходном варианте , а только l o g 2 N контрольных комбинаций . Передаваться должны комбинации , соответствующие смежным ветвям дерева на пути от конечной вершины , соответствующей номеру использованной подписи , к корню. Прим ер организации проверочных комбинаций в виде двоичного дерева в схеме на восемь сообщений при ведена на рисунке 4.1. Так , при передаче сообще ния № 5 (контрольная комбинация выделена рамкой ) вместе с его под писью должны быть переданы кон трольная комбина ц ия сообщения № 4 ( C 4 ( 0 ) ), общая для сообщений №№ 6 – 7 ( C 3 ( 1 ) ) и общая для сообще ний №№ 0 – 3 ( C 0 ( 2 ) ), все они выделе ны на рисунке другим фоном . При проверке подписи значение C 5 ( 0 ) будет вычислено из сообщения и его подписи , а итоговая контрольная комбинация , подлежащая сравнению с эталонной , по следующей формуле : C = C 0 ( 3 ) = H ( C 0 ( 2 ) | | H ( H ( C 4 ( 0 ) | | C 5 ( 0 ) ) | | C 3 ( 1 ) )). Не обходимость отправлять вместе с подписью сообщения дополнительную информацию , нужную для проверки подписи , на самом деле не очень обременительна . Действительно , в системе на 1024=2 10 подписей вместе с сообщением и его подписью необходимо дополнительно пере давать 10 контрольных комбинаций , а в системе на 104857 6= 2 20 подписей – всего 20 комбинаций . Однако , при большом числе подписей , на которые рассчитана система , возникает другая проблема – хранение дополнительных комбинаций , если они рассчитаны предваритель но , или их выработка в момент формирования подписи. Дополнительные контрольные комбинации , которые передаются вместе с подписью и используются при ее проверке , вырабатываются при формировании ключа проверки по ключу подписи и могут храниться в системе и ис пользоваться в момент формирования подписи , либо вычисляться заново в этот момент . Первый подход предполагает затраты дисковой памяти , так как необходимо хранить 2 L +1 – 2 значений хэш-функции всех уровней , а второй требует большого объема вычислений в момен т формирования подписи . Можно использовать и компромиссный подход – хранить все хэш-комбинации начиная с некоторого уровня l * , а комбинации меньшего уровня вычислять при формировании подписи . В рассмотренной выше схеме подписи на 8 сообщений можно хранит ь все 14 контрольных комбинаций , используемых при проверки (всего их 15, но самая верхняя не используется ), тогда при проверке подписи их не надо будет вычислять заново . Можно хранить 6 комбинаций начиная с уровня 1 ( C 0 ( 1 ) , C 1 ( 1 ) , C 2 ( 1 ) , C 3 ( 1 ) , C 0 ( 2 ) , C 1 ( 2 ) ), тогда при проверке подписи сообщения № 5 необходимо будет заново вычислить комбинацию C 4 ( 0 ) , а остальные ( C 0 ( 2 ) , C 3 ( 1 ) ) взять из таблицы , и т.д .. Указанный подход позволяет достичь компромисса между быстродействием и требованиям к занимаемому количеству дискового пространства . Отметим , что отказ от хранения комбинаций одного уровня приводит к экономии памяти и росту вычислительных затрат примерно вдвое , то есть зависимость носит экспоненциальный характер. 6. Атаки на ЭЦП Стой кость большинства схем ЭЦП зависит от стойкости ассиметричных алгоритмов шифрования и хэш-функций . Существует следующая классификация атак на схемы ЭЦП : - атака с известыи открытым ключем. - Атака и известными подписанными сообщениями – противник , кроме открытого кюча имеет и набор подписанных сообщений. - Простая атака с выбором подписанных сообщений – противник имеет возможность выбирать сообщения , при этом открытый ключ он получает после выбора сообщения. - Направленная атака с выбором сообщения - Адаптивная атака с выбором сообщения. Каждая атака преследует определенную цель , которые можно разделить на несколько классов : - полное раскрытие . Противник находит секретный ключ пользователя - универсальная подделка . Противник находит алгоритм , фун кционально аналогичный алгоритму генерации ЭЦП - селективная подделка . Подделка подписи под выбранным сообщением. - Экзистенциальная подделка . Подделка подписи хотя бы для одного случайно выбранного сообщения. На практике применение ЭЦП позволяет выя вить или предотвратить следующие действия нарушителя : - отказ одного из участников авторства документа. - Модификация принятого электронного документа. - Подделка документа. - Навязывание сообщений в процессе передачи – противник перехватывает обмен с ообщениями и модифицирует их. - Имитация передачи сообщения. Так же существуют нарушения , от которых невозможно оградить систему обмена сообщениями – это повтор передачи сообщения и фальсификация времени отправления сообщения.Противодействие данным наруш ениям может остовываться на использовании временных вставок и строгом учете входящих сообщений. 7. Некоторые средства работы с ЭЦП В настоящее время существует большое кодичество комплексов для работы с электронной подписью , или использующие ее. Приведем некоторые из них : 7.1. PGP Наиболее известный - это пакет PGP ( Pretty Good Privacy ) – ( www . pgpi . org ), без сомнений являетющийся на сегодня самым распространенным программным продуктом , позволяющим использовать современные надежные криптографические алгоритмы для защиты информации в персональных компьютерах. К основным преимущ ествам данного пакета , выделяющим его среди других аналогичных продуктов следует отнести следующие : 1. Открытость . Исходный код всех версий программ PGP доступен в открытом виде . Любой эксперт может убедиться в том , что в программе эффективно реализованы криптоалгоритмы . Так как сам способ реализации известных алгоритмов был доступен специалистам , то открытость повлекла за собой и другое преимущество - эффективность программного кода. 2. Стойкость . Для реализации основных функций использованы лучшие (по кр айней мере на начало 90-х ) из известных алгоритмов , при этом допуская использование достаточно большой длины ключа для надежной защиты данных 3. Бесплатность . Готовые базовые продукты PGP (равно как и исходные тексты программ ) доступны в Интернете в частн ости на официальном сайте PGP Inc . ( www . pgpi . org ). 4. Поддержка как централизованной (через серверы ключей ) так и децентра лизованной (через «сеть доверия» ) модели распределения открытых ключей . 5.Удобство программного интерфейса . PGP изначально создавалась как продукт для широкого круга пользователей , поэтому освоение основных приемов работы отнимает всего несколько часов Т екущая версия – 7.0.3 для платформ Windows 9 x / NT /2000, MacOS . 7.2. GNU Privacy Guard (GnuPG) GnuPG ( www . gnupg . org ) - полная и свободно распространяемая замена для пакета PGP . Этот пакет не использует патентованый алгоритм IDEA , и поэтому может быть использован без каких-нибудь ограничений . GnuPG соответсвует стандарту RFC 2440 ( OpenPGP ). Текущая версия – 1.0.4, платформы – Unices , Windows 9 x / NT 7.3. Криптон Пакет программ КРИПТОН®Подпись ( http://www.ancud.ru/crypto/crpodpis.htm )предназначен для использования электронной цифровой подписи (ЭЦП ) электронных документов. Программы пакета КРИПТОН®Подпись функционируют на компьюте ре , удовлетворяющем следующим требованиям : · наличие операционной системы Windows -95/98 или Windows NT 4.0; · наличие УКЗД серии КРИПТОН с соответствующим драйвером для Windows -95/98/ NT или его прогр аммного драйвера-эмулятора для Windows - Crypton Emulator версии 1.3 или выше. · наличие Crypton API для Windows версии 2.2 или выше (входит в п оставку УКЗД серии КРИПТОН и содержит также драйвер поставляемого УКЗД ); · наличие манипулятора "мышь ". В стандартной поставке для хранения файлов открытых ключей используются дискеты . Помимо дискет , пакет КРИПТОН®Подпись дает возможность использования в сех типов ключевых носителей (смарт-карт , электронных таблеток Touch Memory и др .), поддерживаемых текущей версией интерфейса SCApi , входящего в поставку Crypton API v 2.2 и выше. 7.4. ВербаО ( http :// www . ntc . spb . ru / def / verbao . htm ) С84Rи84yс84ѓт84„е84uм84}а84p к84{р84‚и84yп84Ѓт84„о84Ђг84sр84‚а84pф84†и84yч84‰е84uс84ѓк84{о84Ђй84z з84xа84pщ84‹и84yт84„ы84Ќ и84yн84~ф84†о84Ђр84‚м84}а84pц84?и84yи84y " В84Bе84uр84‚б84qа84p - О84O " С84Rи84yс84ѓт84„е84uм84}а84p к84{р84‚и84yп84Ѓт84„о84Ђг84sр84‚а84pф84†и84yч84‰е84uс84ѓк84{о84Ђй84z з84xа84pщ84‹и84yт84„ы84Ќ и84yн84~ф84†о84Ђр84‚м84}а84pц84?и84yи84y ( С84RК84KЗ84HИ84I ) " В84Bе84uр84‚б84qа84p - О84O " р84‚а84pз84xр84‚а84pб84qо84Ђт84„а84pн84~а84p М84Mо84Ђс84ѓк84{о84Ђв84rс84ѓк84{и84yм84} о84Ђт84„д84tе84uл84|е84uн84~и84yе84uм84} П84Pе84uн84~з84xе84uн84~с84ѓк84{о84Ђг84sо84Ђ н84~а84pу84…ч84‰н84~о84Ђ - и84yс84ѓс84ѓл84|е84uд84tо84Ђв84rа84pт84„е84uл84|ь84Ћс84ѓк84{о84Ђг84sо84Ђ э84Џл84|е84uк84{т84„р84‚о84Ђт84„е84uх84‡н84~и84yч84‰е84uс84ѓк84{о84Ђг84sо84Ђ и84yн84~с84ѓт84„и84yт84„у84…т84„а84p ( М84MО84O П84PН84NИ84IЭ84^И84I ), п84Ѓо84Ђл84|н84~о84Ђм84}о84Ђч84‰н84~ы84Ќм84} п84Ѓр84‚е84uд84tс84ѓт84„ а84pв84rи84yт84„е84uл84|е84uм84} к84{о84Ђт84„о84Ђр84‚о84Ђг84sо84Ђ в84r р84‚е84uг84sи84yо84Ђн84~е84u я84‘в84rл84|я84‘е84uт84„с84ѓя84‘ н84~а84pш84Љ ф84†и84yл84|и84yа84pл84| . С84RК84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " п84Ѓр84‚е84uд84tс84ѓт84„а84pв84rл84|я84‘е84uт84„ с84ѓо84Ђб84qо84Ђй84z п84Ѓр84‚о84Ђг84sр84‚а84pм84}м84}н84~ы84Ќй84z к84{о84Ђм84}п84Ѓл84|е84uк84{с84ѓ , п84Ѓр84‚е84uд84tн84~а84pз84xн84~а84pч84‰е84uн84~н84~ы84Ќй84z д84tл84|я84‘ з84xа84pщ84‹и84yт84„ы84Ќ и84yн84~ф84†о84Ђр84‚м84}а84pц84?и84yи84y п84Ѓр84‚и84y е84uе84u х84‡р84‚а84pн84~е84uн84~и84yи84y н84~а84p д84tи84yс84ѓк84{а84pх84‡ и84y ( и84yл84|и84y ) п84Ѓе84uр84‚е84uд84tа84pч84‰е84u п84Ѓо84Ђ к84{а84pн84~а84pл84|а84pм84} с84ѓв84rя84‘з84xи84y . С84RК84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " р84‚е84uш84Ља84pе84uт84„ с84ѓл84|е84uд84tу84…ю84ђщ84‹и84yе84u з84xа84pд84tа84pч84‰и84y : · шифрован ие /расшифрование информации на уровне файлов ; · генерацию электронной цифровой подписи (ЭЦП ); · проверку ЭЦП ; · обнаружение искажений , вносимых злоумышленниками или вирусами в защищаемую информацию. С84RК84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " м84}о84Ђж84wе84uт84„ п84Ѓо84Ђс84ѓт84„а84pв84rл84|я84‘т84„ь84Ћс84ѓя84‘ в84r с84ѓл84|е84uд84tу84…ю84ђщ84‹и84yх84‡ в84rа84pр84‚и84yа84p н84~т84„а84pх84‡ : · в виде автономного рабочего места ; · в виде модулей , встраиваемых в ПО заказчика. С84RК84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " в84r р84‚а84pз84xл84|и84yч84‰н84~ы84Ќх84‡ м84}о84Ђд84tи84yф84†и84yк84{а84pц84?и84yя84‘х84‡ ф84†у84…н84~к84{ц84?и84yо84Ђн84~и84yр84‚у84…е84uт84„ п84Ѓо84Ђд84t у84…п84Ѓр84‚а84pв84rл84|е84uн84~и84yе84uм84} о84Ђп84Ѓе84uр84‚а84pц84?и84yо84Ђн84~н84~ы84Ќх84‡ с84ѓи84yс84ѓт84„е84uм84} MS DOS v 5.0 и84y в84rы84Ќш84Ље84u , Windows 95, Windows NT , UNIX ( HP UX ) н84~а84p п84Ѓе84uр84‚с84ѓо84Ђн84~а84pл84|ь84Ћн84~ы84Ќх84‡ Э84^В84BМ84M , с84ѓо84Ђв84rм84}е84uс84ѓт84„и84yм84}ы84Ќх84‡ с84ѓ IBM PC / AT . Т84Sр84‚е84uб84qу84…е84uм84}ы84Ќй84z о84Ђб84qъ84Ње84uм84} о84Ђп84Ѓе84uр84‚а84pт84„и84yв84rн84~о84Ђй84z п84Ѓа84pм84}я84‘т84„и84y н84~е84u б84qо84Ђл84|е84uе84u 155 К84Kб84qа84pй84zт84„ . К84Kр84‚о84Ђм84}е84u т84„о84Ђг84sо84Ђ , н84~е84uо84Ђб84qх84‡о84Ђд84tи84yм84} н84~а84pк84{о84Ђп84Ѓи84yт84„е84uл84|ь84Ћ н84~а84p г84sи84yб84qк84{о84Ђм84} м84}а84pг84sн84~и84yт84„н84~о84Ђм84} д84tи84yс84ѓк84{е84u ( Н84NГ84CМ84MД84D ). А84@л84|г84sо84Ђр84‚и84yт84„м84} ш84Љи84yф84†р84‚о84Ђв84rа84pн84~и84yя84‘ в84rы84Ќп84Ѓо84Ђл84|н84~е84uн84~ в84r с84ѓо84Ђо84Ђт84„в84rе84uт84„с84ѓт84„в84rи84yи84y с84ѓ т84„р84‚е84uб84qо84Ђв84rа84pн84~и84yя84‘м84}и84y Г84CО84OС84RТ84S 28147-89 " С84RИ84IС84RТ84SЕ84EМ84MЫ84\ О84OБ84AР84QА84@Б84AО84OТ84SК84KИ84I И84IН84NФ84UО84OР84QМ84MА84@Ц84WИ84IИ84I . З84HА84@Щ84ZИ84IТ84SА84@ К84KР84QИ84IП84PТ84SО84OГ84CР84QА84@Ф84UИ84IЧ84XЕ84EС84RК84KА84@Я84` ". Ц84Wи84yф84†р84‚о84Ђв84rа84pя84‘ п84Ѓо84Ђд84tп84Ѓи84yс84ѓь84Ћ в84rы84Ќп84Ѓо84Ђл84|н84~е84uн84~а84p в84r с84ѓо84Ђо84Ђт84„в84rе84uт84„с84ѓт84„в84rи84yи84y с84ѓ т84„р84‚е84uб84qо84Ђв84rа84pн84~и84yя84‘м84}и84y Г84CО84OС84RТ84S Р84Q 34.10-94 " И84IН84NФ84UО84OР84QМ84MА84@Ц84WИ84IО84OН84NН84NА84@Я84` Т84SЕ84EХ84VН84NО84OЛ84LО84OГ84CИ84IЯ84` . К84KР84QИ84IП84PТ84SО84OГ84CР84QА84@Ф84UИ84IЧ84XЕ84EС84RК84KА84@Я84` З84HА84@Щ84ZИ84IТ84SА84@ И84IН84NФ84UО84OР84QМ84MА84@Ц84WИ84IИ84I . П84PР84QО84OЦ84WЕ84EД84DУ84TР84QЫ84\ В84BЫ84\Р84QА84@Б84AО84OТ84SК84KИ84I И84I П84PР84QО84OВ84BЕ84EР84QК84KИ84I Э84^Л84LЕ84EК84KТ84SР84QО84OН84NН84NО84OЙ84J Ц84WИ84IФ84UР84QО84OВ84BО84OЙ84J П84PО84OД84DП84PИ84IС84RИ84I Н84NА84@ Б84AА84@З84HЕ84E А84@С84RС84RИ84IМ84MЕ84EТ84SР84QИ84IЧ84XН84NО84OГ84CО84O К84KР84QИ84IП84PТ84SО84OГ84C Р84QА84@Ф84UИ84IЧ84XЕ84EС84RК84KО84OГ84CО84O А84@Л84LГ84CО84OР84QИ84IТ84SМ84MА84@ ." Ф84Uу84…н84~к84{ц84?и84yя84‘ х84‡э84Џш84Љи84yр84‚о84Ђв84rа84pн84~и84yя84‘ в84rы84Ќп84Ѓо84Ђл84|н84~е84uн84~а84p в84r с84ѓо84Ђо84Ђт84„в84rе84uт84„с84ѓт84„в84rи84yи84y с84ѓ т84„р84‚е84uб84qо84Ђв84rа84pн84~и84yя84‘м84}и84y Г84CО84OС84RТ84S Р84Q 34.11-94 " И84IН84NФ84UО84OР84QМ84MА84@Ц84WИ84IО84OН84NН84NА84@Я84` Т84SЕ84EХ84VН84NО84OЛ84LО84OГ84CИ84IЯ84` . К84KР84QИ84IП84PТ84SО84OГ84CР84QА84@Ф84UИ84IЧ84XЕ84EС84RК84KА84@Я84` З84HА84@Щ84ZИ84IТ84SА84@ И84IН84NФ84UО84OР84QМ84MА84@Ц84WИ84IИ84I . Ф84UУ84TН84NК84KЦ84WИ84IЯ84` Х84VЭ84^Ш84YИ84IР84QО84OВ84BА84@Н84NИ84IЯ84` ". К84Kл84|ю84ђч84‰и84y ш84Љи84yф84†р84‚о84Ђв84rа84pн84~и84yя84‘ с84ѓи84yм84}м84}е84uт84„р84‚и84yч84‰н84~ы84Ќе84u . К84Kл84|ю84ђч84‰и84y д84tл84|я84‘ п84Ѓо84Ђд84tп84Ѓи84yс84ѓи84y а84pс84ѓи84yм84}м84}е84uт84„р84‚и84yч84‰н84~ы84Ќе84u . П84Pр84‚и84y о84Ђ б84qр84‚а84pб84qо84Ђт84„к84{е84u и84yн84~ф84†о84Ђр84‚м84}а84pц84?и84yи84y н84~а84p П84PЭ84^В84BМ84M С84RК84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " о84Ђб84qе84uс84ѓп84Ѓе84uч84‰и84yв84rа84pе84uт84„ с84ѓл84|е84uд84tу84…ю84ђщ84‹и84yе84u п84Ѓо84Ђк84{а84pз84xа84pт84„е84uл84|и84y : Операции PC / AT 486/33, ISA PC / AT 486/100 VESA Шифрование 200 Кб /с 520 Кб /с Вычисление хэш-функции 120 Кб /с 330 Кб /с Формирование ЭЦП 0.3с 0.04 с Проверка ЭЦП 0.7 с 0.2 с С84R К84KЗ84HИ84I " В84Bе84uр84‚б84qа84p - О84O " и84yм84}е84uе84uт84„ с84ѓе84uр84‚т84„и84yф84†и84yк84{а84pт84„ Ф84UА84@П84PС84RИ84I №87‚ 124-0264 о84Ђт84„ 10.04.99 г84s . 8. Литература и ссылки 1. Петров А.А Компьютерная безопасность . Криптографические методы защиты . ДМК Москва , 2000 г. 2. "Методы и средства защиты информ ации " (курс лекций ) Авторские права : Беляев А.В. ( http://www.citforum.ru/internet/infsecure/index.shtml ) 3. Криптография ( http://www.citforum.ru/internet/securities/crypto.shtml ) 4. http :// www . e - sign . ru 5. Александр Володин « Кто заверит ЭЦП » - журнал «Банковские системы» - ноябрь 2000 ( http :// www . bizcom . ru / system /2000-11/04. html ) 6. Теоретические основы - Безопасность информацио нных систем – Криптографические системы ( http://argosoft.webservis.ru/Base/Crypt.html#Механизмы шифрования ) 7. Криптографические алгоритмы с открытым ключом (http://argosoft.webservis.ru/Base/RSAintro.html#Криптографические алгоритмы с откры тым ключом ) 8. Сов pеменные к pиптог pафические методы защиты инфо pмации – Системы с отк pытым ключом ( http://ppt.newmail.ru/crypto04.htm#Heading20 ) 9. Криптография с открытым ключом : от теории к стандарту А.Н.Терехов , А.В.Тискин "Программирование РАН ", N 5 (сентябрь-октябрь ), 1994, стр . 17--22 (http://www1.tepkom.ru/users/ant/Articles/Pkcstand.html) 10. Баричев С.Г ., Гончаров В.В ., Серов Р.Е. Основы современной криптографии – Москва , Горячая линия – Телеком , 2001
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Если бы я писал взрослые романы, то эротические сцены я бы описывал так: "А потом они - это самое, ну, вы поняли".
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru