Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение. Расчет заработной платы Фамилия Должность Дата поступления Тариф за 1 день Число отработанных дней Начислено Удержания




Расчет заработной платы

Фамилия Должность Дата поступления Тариф за 1 день Число отработанных дней Начислено Удержания Сумма к выдаче
     
Иванов А.А. директор 10.03.00              
Петрова А.Д. зам. дирек. 17.01.01              
Сидоров С.А. глав. бух. 12.02.99              
Зайцева С.П. бухгалтер 15.05.00              
Белов В.М. глав..инж. 03.03.05              
Смирнов И.О. инженер 02.04.02              
Буров М.А. инженер 21.10.05              
Мишин Е.В. рабочий 10.12.03              
Семенов В.С. рабочий 13.11.05              
Веткин К.А. рабочий 25.08.06              
Итого                  
CУММЕСЛИ                  
Мин. тариф                  
Сред.число дн.                  
Макс. удерж..3                  

 

Таблица 2 (Лист 2)

Фамилия Удержания  
 
Иванов А.А.    
Петрова А.Д.    
Сидоров С.А.    
Зайцева С.П.    
Белов В.М.    
Смирнов И.О.    
Буров М.А.    
Мишин Е.В.    
Семенов В.С.    
Веткин К.А.    
Итого    

 

Таблица 3 (Лист 3)

Фамилия 15% от суммы к выдаче 23% от суммы к выдаче  
 
Иванов А.А.      
Петрова А.Д.      
Сидоров С.А. 5737,5 8797,5  
Зайцева С.П.      
Белов В.М. 8032,5 12316,5  
Смирнов И.О.      
Буров М.А. 2422,5 3714,5  
Мишин Е.В.   3284,4  
Семенов В.С. 1874,25 2873,85  
Веткин К.А. 1517,25 2326,45  
Итого   78669,2  

 

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

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

Методическое пособие знакомит студентов с основополагающими приемами использования современных криптографических алгоритмов, главными принципами функционирования стека протоколов SSL/TLS, а также демонстрирует возможность защиты электронной почты и web-трафика с помощью протокола SSL/TLS.

Все лабораторные работы выполняются с использованием программы openssl for WINDOWS. Программа openssl, являясь консольным приложением, позволяет использовать и тестировать все возможности библиотеки OpenSSL. В этой библиотеке реализовано большинство современных криптографических алгоритмов, а также поддерживается функционирование протокола SSL/TLS.

 

1 Лабораторная работа №1 «Симметричные алгоритмы шифрования»

 

Конфиденциальность передаваемой и хранящейся в сети информации обеспечивается путем ее шифрования современными симметричными алгоритмами. Кроме того, симметричные алгоритмы используются протоколами сетевой защиты, например, такими как IPsec, SSL/TLS.

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

Симметричные системы шифрования делятся на два класса: блочные (например, DES, AES, DES, RC2, CAST, BlowFish) и потоковые (например, RC4). Надежность криптографического алгоритма напрямую зависит от длины ключа. В настоящее время надежным является алгоритм с длиной ключа более 128 бит.

Симметричные блочные алгоритмы используются в различных режимах (ECB, CBC, OFB, CFB).

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

 

Краткое описание команды enc

openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-A] [-k password]
[-kfile filename] [-K key ] [-iv IV] [-p] [-P]
[-bufsize number] [-nopad] [-debug]

 

Параметр Назначение параметра
-in filename имя входного файла. Стандартный ввод по умолчанию.
-out filename имя выходного файла. Стандартный вывод по умолчанию.
-e шифровать исходные данные. Эта опция установлена по умолчанию.
-d расшифровывать исходные данные.
-k password   пароль для образования ключа. Опция введена для совместимости с предыдущими версиями OpenSSL.
-kfile filename   читать пароль для образования ключа из первой строки файла filename. Опция введена для совместимости с предыдущими версиями OpenSSL
-K key   ключ шифрования. Ключ должен быть представлен строкой 16-х цифр. Дополнительно надо указать входной вектор (IV), в опции –iv.Если же заданы одновременно ключ и пароль, то будет использоваться ключ их опции –Kи IV будет сгенерирован по паролю.
-iv IV   IV будет использован. Он должен быть представлен строкой 16-х цифр. Как только ключ определен опцией –K,IV надо обязательно определить. Если же указан пароль, IV определяется по паролю.
-S salt Вектор подмешивания («соль»), который использовался при создании ключа шифрования и начального вектора IV.
-p печатать ключ шифрования и используемый IV.
-P печатать ключ, IV и завершить выполнение, не производя шифрования или расшифрования.

Команда вызывается двумя способами:

openssl ciphernameили openssl enc -ciphername.

Пароль может быть указан для образования ключа и входного вектора (IV) если это необходимо.

Опция -saltдолжна ВСЕГДА использоваться, когда ключ создается по паролю, если только вы не стремитесь к совместимости с предыдущими версиями OpenSSL и SSLeay.

Без опции -saltможно совершить успешную атаку «со словарем» на пароль или атаку на данные шифрованные потоковым алгоритмом. Поскольку без этой опции (без подмешивания, т.е. без «подсаливания») один и тот же пароль генерирует один и тот же ключ. Если же опция подмешивания используется, то для подмешивания резервируются первые восемь байт шифруемых данных. Эти байты добавляются (подмешиваются) к паролю случайным образом при шифровании файла и считываются из зашифрованного файла при расшифровании.

Все блочные алгоритмы используют стандарт PKCS#5 для создания ключа по паролю.

Команда позволяет шифровать симметричными алгоритмами, список которых приведен в таблице 1.

 

Таблица 1. Симметричные алгоритмы шифрования и режимы их использования.

Опция Алгоритм Опция Алгоритм
bf-cbc Blowfish in CBC mode desx DESX algorithm
bf Alias for bf-cbc des-cbc DES algorithm in CBC mode
bf-cfb Blowfish in CFB mode des same as des-cbc  
bf-ecb Blowfish in ECB mode des-cfb DES in CFB mode  
bf-ofb Blowfish in OFB mode des-ecb DES in ECB mode  
cast-cbc CAST in CBC mode des-ofb DES in OFB mode
cast Alias for cast-cbc rc2-cbc 128 bit RC2 in CBC mode
cast5-cbc CAST5 in CBC mode rc2 Alias for rc2-cbc
cast5-cfb CAST5 in CFB mode rc2-cfb 128 bit RC2 in CBC mode
cast5-ecb CAST5 in ECB mode rc2-ecb 128 bit RC2 in CBC mode
cast5-ofb CAST5 in OFB mode rc2-ofb 128 bit RC2 in CBC mode
des-cbc DES in CBC mode rc2-64-cbc 64 bit RC2 in CBC mode
des Alias for des-cbc rc2-40-cbc 40 bit RC2 in CBC mode
des-cfb DES in CBC mode rc4 128 bit RC4
des-ofb DES in OFB mode rc4-64 64 bit RC4
des-ecb DES in ECB mode rc4-40 40 bit RC4
des-ede-cbc Two key triple DES EDE in CBC mode rc5-cbc RC5 cipher in CBC mode
des-ede Alias for des-ede-cbc rc5 Alias for rc5-cbc  
des-ede-cfb Two key triple DES EDE in CFB mode rc5-cfb RC5 cipher in CBC mode
des-ede-ofb Two key triple DES EDE in OFB mode rc5-ecb RC5 cipher in CBC mode
des-ede3-cbc Three key triple DES EDE in CBC mode rc5-ofb RC5 cipher in CBC mode
des-ede3 Alias for des-ede3-cbc    
des3 Alias for des-ede3-cbc    
des-ede3-cfb Three key triple DES EDE CFB mode    
des-ede3-ofb Three key triple DES EDE in OFB mode    

 

Порядок выполнения работы:

 

Для выполнения лабораторной работы создать каталог./lab1.

  В каталоге lab1 создать текстовый файл f.txt с произвольным текстом.
  Зашифровать файл f.txt, используя алгоритм DES в режиме ECB. Ключ алгоритма создается на основании пароля. Результат записать в файл f.txt.des: openssl des -in f.txt -out f.txt.des –e –k 12345
  Расшифровать файл f.txt.des. Результат записать в файл f1.txt: openssl des -in f.txt.des -out f1.txt -d -k 12345
  По паролю создать ключ, начальный вектор IV и вектор подмешивания (salt) для алгоритма DES в режиме CBC. Результат записать в файл en: openssl des -P -k 12345 >en.txt
  Файл en сделать исполняемым. В этом файле набрать команду, позволяющую зашифровать файл f.txt, используя созданные ключ, начальный вектор IV и вектор подмешивания. Результат записать в файл f.txt.des: openssl des -in f.txt -out f.txt.des -e -K <ключ> -iv <IV>
  Создать исполняемый файл. В этом файле набрать команду, позволяющую расшифровать файл f.txt.des, используя созданные ключ, начальный вектор IV и вектор подмешивания. Результат записать в файл f2.txt:   openssl des -in f.txt.des -out f2.txt -d -K <ключ> -iv <IV>

 

2 Лабораторная работа №2 “Асимметричный алгоритм шифрования RSA”

 

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

Чтобы использовать асимметричный алгоритм шифрования RSA вначале надо создать ключевую пару RSA <KO, КС>. Если информация шифруется открытым ключом KO, расшифровывать ее надо секретным ключом, или наоборот.

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

Цель работы: Научиться шифровать информацию асимметричным алгоритмом RSA, используя программу openssl.

 

Краткое описание команды GENRSA

 

Команда genrsa программы openssl генерирует секретный ключ алгоритма RSA.

 

 

openssl genrsa [-out filename] [-passout arg] [-des]
[-des3] [-des] [-f4] [-3] [-rand file(s)]
[-engine id] [numbits]

Опции команды:

Параметр Назначение параметра
-out filename Имя выходного файла. Если имя не указано стандартный вывод будет использоваться.
-passout arg Определяет пароль для создания ключа.
-des|-des3|-des   Если эти опции указаны, секретный ключ шифруется симметричным алгоритмом DES, тройным DES или DES, соответственно. Если ни одна из этих опций не указана, ключ не шифруется. Если шифрование производится, пароль вводится с консоли или с помощью опции -passout
-rand file(s)   Файл или файлы, содержащие случайные данные для генератора псевдослучайных чисел.
numbits   Размер в битах генерируемого секретного ключа. По умолчанию 512.

Краткое описание команды RSA

Команда rsa программы openssl позволяет управлять ключами RSA:

– по секретному ключу можно создать открытый ключ;

– ключи можно конвертироваться из одного формата в другой(PEM|NET|DER);

– секретный ключ можно зашифровать или изменить алгоритм шифрования.

openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg]
[-out filename] [-passout arg] [-sgckey] [-des]
[-des3] [-des] [-text] [-noout] [-modulus]
[-check] [-pubin] [-pubout] [-engine id]

Опции команды:

Параметр Назначение параметра
-inform DER|NET|PEM Определяет входной формат ключа (PEM по умолчанию).
-outform DER|NET|PEM Определяет выходной формат ключа.
-in filename Определяет файл, из которого надо прочитать ключ (standard input если опция не указана).
-passin arg Определяет пароль ключа, находящегося во входном файле. Может принимать значения:
pass:password ­– непосредственное задание пароля
env:var – пароль задан в переменной окружения var.
file:pathname – пароль задается первой строкой файла pathname.
fd:number ­– прочитать пароль используя файловый дескриптор number.
-out filename Определяет файл, в который надо записать ключ (standard output если опция не указана). Если опции шифрования указаны пароль должен быть указан. Входной и выходной файлы должны иметь разные имена.
-passout password   Определяет пароль ключа, который записывается в выходной файл. Принимает такие же значения, как и -passin arg.
-des|-des3|-des   Секретный ключ шифруется указанным алгоритмом и затем записывается в выходной файл. Должна быть указана опция -passout password.Таким образом, можно поменять пароль (алгоритм шифрования) секретного ключа или зашифровать незашифрованный ключ,
-text   Печатать различные компоненты открытого и секретного ключей дополнительно к зашифрованной версии.
-noout Не позволяет выводить зашифрованную версию ключа.
-modulus Печатать значение модуля ключа.
-pubin По умолчанию из входного файла читается секретный ключ. Если эта опция указана, из входного файла читается открытый ключ.
-pubout По умолчанию в выходной файл записывается секретный ключ. Если эта опция указана в выходной файл записывается открытый ключ. Опция автоматически устанавливается, если из входного файла читается открытый ключ.

 

Описание команды RSAUTL

 

Для шифрования и расшифрования информации алгоритмом RSA используют команду rsautl программы openssl.

Синтаксис

openssl rsautl [-in file] [-out file] [-inkey file]
[-pubin] [-certin] [-sign] [-verify] [-encrypt]
[-decrypt] [-pkcs] [-ssl] [-raw] [-hexdump]
[-asn1parse]

Опции команды:

Параметр Назначение параметра
-in filename Определяет файл, из которого будут прочитаны исходные данные. Данные читаются со стандартного ввода, если опция не определена.
-out filename Определяет файл, в который будут записаны выходные данные. Стандартный вывод по умолчанию.
-inkey file Файл входного ключа. По умолчанию – секретный ключ RSA.
-pubin Входной ключ – открытый ключ RSA.
-encrypt Зашифровать входные данные, используя открытый ключ RSA.
-decrypt Расшифровать входные данные, используя секретный ключ RSA.
-sign Зашифровать входные данные, используя секретный ключ RSA.
-verify Расшифровать входные данные, используя открытый ключ RSA.

Порядок выполнения работы:

Для выполнения лабораторной работы создать каталог./lab2. Файлы с ключами называть своим именем, например, ivan.

  В каталоге lab2 создать текстовый файл f.txt со своим именем.
  Создать секретный ключ алгоритма RSA, сохранив его в файле с именем ivan.pr.pem, длиной 1024 бита: openssl genrsa -out ivan.pr.pem 1024
  Создать секретный ключ алгоритма RSA, сохранив его в файле с именем ivan.pr.pem, длиной 1024 бита. Ключ зашифруем симметричным алгоритмом DES. Ключ симметричного алгоритма создаем по паролю: openssl genrsa -out ivan.pr.pem –des –passout pass:12345 1024
  По секретному ключу создадим открытый ключ: openssl rsa -in ivan.pr.pem -out ivan.pub.pem –passin pass:12345 -pubout
  Зашифруем файл f.txt открытым ключом. Получим файл f.txt.rsa: openssl rsautl -encrypt –in f.txt –out f.txt.rsa –inkey ivan.pub.pem –pubin
  Расшифруем файл f.txt.rsa секретным ключом: openssl rsautl -decrypt –in f.txt.rsa –out f1.txt –inkey ivan.pr.pem
  Зашифруем файл f.txt секретным ключом. Получим файл f.txt.rsa1: openssl rsautl -sign –in f.txt –out f.txt.rsa1 –inkey ivan.pr.pem
  Расшифруем файл f.txt.rsa1 открытым ключом: openssl rsautl -verify –in f.txt.rsa1 –out f2.txt –inkey ivan.pub.pem –pubin

 

 

3 Лабораторная работа №3 «Электронно-цифровая подпись»

 

Электронно-цифровая подпись (ЭЦП) применяется для обеспечения целостности электронной информации. ЭЦП используется также в различных протоколах защиты сети. Например, для защиты электронной почты в протоколе S/MIME.

Цель работы: Научиться использовать ЭЦП на основании алгоритма RSA, используя программу openssl.

 

Чтобы использовать ЭЦП для обеспечения целостности файлов вначале надо создать ключевую пару RSA, используя команды genrsa и rsa. ЭЦП (дайджест) создается и проверяется с помощью команды dgst.

 

Краткое описание команды DGST

openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|
-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
[-out filename] [-sign filename]
[-verify filename] [-prverify filename]
[-signature filename] [file...]

 

Опции команды:

Параметр Назначение параметра
-c Печатать дайджест двумя группами цифр, разделенных двоеточием. Используется, если указана опция –hex.
-hex Дайджест выводится как шестнадцатеричный дамп. По умолчанию дайджест выводится именно так в отличие от ЭЦП.
-binary Вывести ЭЦП или дайджест в двоичном виде.
-out filename Имя выходного файла (standard output по умолчанию).
-sign filename Создать ЭЦП, используя секретный ключ в filename
-verify filename Проверить ЭЦП, используя открытый ключ в filename.Результатом будет "Verification OK" или "Verification Failure".
-prverify filename Проверить ЭЦП, используя секретный ключ в filename.
-signature filename filenameсодержит ЭЦП.
file... Файл или файлы, для которых создается дайджест (ЭЦП).

 

Порядок выполнения работы:

Для выполнения лабораторной работы создать каталог./lab3. Файлы с ключами называть своим именем, например, ivan.

  В каталоге lab3 создать текстовый файл f.txt с произвольным текмтом.
  Создать секретный ключ алгоритма RSA, сохранив его в файле с именем ivan.pr.pem, длиной 1024 бита. Ключ зашифруем симметричным алгоритмом DES. Ключ симметричного алгоритма создаем по паролю: openssl genrsa -out ivan.pr.pem –des –passout pass:12345 1024
  По секретному ключу создадим открытый ключ: openssl rsa -in ivan.pr.pem -out ivan.pub.pem –passin pass:12345 -pubout
  Создадим ЭЦП для файла f.txt, используя секретный ключ. ЭЦП записывается в файл f.txt.sign: openssl dgst -md5 –out f.txt.sign –sign ivan.pr.pem f.txt
  Проверим ЭЦП f.txt.sign файла f.txt открытым ключом: openssl dgst -md5 –signature f.txt.sign –verify ivan.pub.pem f.txt
  Изменить содержимое файла f.txt и снова проверить его подпись: openssl dgst -md5 –signature f.txt.sign –verify ivan.pub.pem f.txt



Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 502; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.