Студопедия — РОБОЧА НАВЧАЛЬНА ПРОГРАМА. Листинг А.1 – Программа шифрования/расшифрования текстовых сообщений с помощью алгоритма ГОСТ 28147-89
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

РОБОЧА НАВЧАЛЬНА ПРОГРАМА. Листинг А.1 – Программа шифрования/расшифрования текстовых сообщений с помощью алгоритма ГОСТ 28147-89






Листинг А.1 – Программа шифрования/расшифрования текстовых сообщений с помощью алгоритма ГОСТ 28147-89

 

.386

Sseg segment use16 para stack 'stack'

db 256 dup(?)

Sseg ends

 

Dseg segment para public 'data'

strng db 'Rocking just to make ya move!$'

key dd 0F3FA012Bh, 023FE412Ah, 013F5062Bh, 0D9FA0C9Bh

dd 033AA1120h, 0B7FA0182h, 0A3FA0D25h, 083F7035Bh

endWithZero dq 0;64 нуля

mode db 0;флаг режима: зашифровка = 0, расшифровка = 1 (или любое другое число)

last db 0;флаг последнего блока

substitute db 4, 1, 3, 11, 0, 10, 5, 2, 7, 12, 6, 14, 8, 9, 15, 13

sblocks db 8 dup(0)

 

cb dw 0;count blocks, номер, по которому;будет записываться образованный блок в строку

dcb dw 0;для decrypt

cryptedstring db 256 dup(0)

decryptedstring db 256 dup(0)

endstr db 13d, 10d, '$';символ конца строки

;для ввода строки

Dseg ends

 

Cseg segment use16 para public 'code'

assume cs:Cseg, ds:Dseg, ss:Sseg

start proc far

;

push ds

sub ax, ax

push ax

;

mov bx, Dseg

mov ds, bx

;

call main

ret

start endp

main proc near

lea dx, ds:[strng];вывод строки,;функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

lea dx, ds:[endstr];вывод строки,;функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

; ret

lea bx, ds:[strng];получить адрес;нашей строки

jmp process

for_decryption:

mov al, 1

mov mode, al;устанавливаем флаг;режима расшифровки

lea bx, ds:[cryptedstring]

process:

xor esi, esi;обнуляем указатель на;строку

xor edi, edi;указатель ключа

 

;

maincycle:

xor cx, cx

lea ax, ds:[key];берем адрес следующей, за строкой, переменной

sub ax, bx

cmp ax, 8;если на итерации не будет 64 бит, то идем на ветку

;кода, где недостающие биты будут нулями

 

jl less64

jg next_step

 

next_step:

mov eax, dword ptr [bx+si];занесли;левую часть

add si, 4;следующие 4 байта (32 бита)

mov edx, dword ptr [bx+si];занесли;правую часть

add si, 4;смещение для следующего цикла

add bx, 8;смещение для следующего цикла

 

push ax;сохраняем левую часть в;стек, чтобы освободить регистр для работы

ror eax, 16

push ax

jmp func

;

less64:

mov al, 1

mov last, al;флаг, что заменяется;последний блок

; add bx, si

xor si, si

lea cx, ds:[key]

lesstrace:

mov al, byte ptr [bx]

mov byte ptr endWithZero[si], al

inc si

inc bx

cmp bx, cx

jne lesstrace

xor cx, cx

 

;функция

func:

rol edi, 2

add edx, key[edi]

ror edi, 2

;подстановка

;извлечение

push di

push bx

lea bx, substitute

mov eax, edx

and dl, 00001111b

mov di, dx

and di, 00FFh

mov dl, substitute[di]

mov sblocks[0], dl

mov dx, ax

shr dl, 4

mov di, dx

and di, 00FFh

mov dl, substitute[di]

mov sblocks[1], dl

mov dx, ax

and dh, 00001111b

xor dl, dl

xchg dl, dh

mov di, dx

mov dh, substitute[di]

mov sblocks[2], dh

mov dx, ax

shr dh, 4

xor dl, dl

xchg dl, dh

mov di, dx

mov dh, substitute[di]

mov sblocks[3], dh

mov edx, eax

shr edx, 16

mov ax, dx

and dl, 00001111b

mov di, dx

and di, 00FFh

mov dl, substitute[di]

mov sblocks[4], dl

mov dx, ax

shr dl, 4

mov di, dx

and di, 00FFh

mov dl, substitute[di]

mov sblocks[5], dl

mov dx, ax

and dh, 00001111b

xor dl, dl

xchg dl, dh

mov di, dx

mov dh, substitute[di]

mov sblocks[6], dh

mov dx, ax

shr dh, 4

xor dl, dl

xchg dl, dh

mov di, dx

mov dh, substitute[di]

mov sblocks[7], dh

pop bx

pop di

 

;замена, склеивание S-блоков

mov dl, sblocks[1]

rol dl, 4

or dl, sblocks[0]

mov dh, sblocks[3]

rol dh, 4

or dh, sblocks[2]

mov ax, dx

mov dl, sblocks[5]

rol dl, 4

or dl, sblocks[4]

mov dh, sblocks[7]

rol dh, 4

or dh, sblocks[6]

rol edx, 16

mov dx, ax

;rol edx, 16

 

 

rol edx, 11

 

inc cl

 

mov al, mode;вспоминаем флаг;режима

cmp al, 0;

jz cryptmode

jmp decryptmode

 

cryptmode:

cmp ch, 3;если идет [0..3];последний цикл применения ключа, идти по подключам в обратном;порядке

je creverse_di

cmp di, 7;если дошли до;последнего подключа, переходим к первому

je creset_di

inc di

;inc ch

jmp func

creset_di:

inc ch

cmp ch, 3

je func

xor di, di

 

jmp func

creverse_di:

cmp cl, 23

je func

dec di

cmp cl, 32

je out_cycle

jmp func

 

decryptmode:

cmp ch, 0;если первый проход по;ключу, идем прямо

je ddirect_di

cmp di, 0

je dset_di

dec di

cmp cl, 32;завершение 32-х циклов;преобразования

jnb out_cycle

jmp func

dset_di:

mov di, 7

inc ch

 

jmp func

ddirect_di:

inc di

cmp di, 7

ja dset_di

cmp cl, 32;завершение 32-х циклов;преобразования

jb func

 

out_cycle:

pop ax;восстанавливаем левую;часть из стека

rol eax, 16

pop ax

xor eax, edx

xchg eax, edx

 

;сохранение блоков в новой строке

mov cl, mode

cmp cl, 0

jne save_decrypt

push si

mov si, cb

mov dword ptr cryptedstring[si], eax

add si, 4

mov dword ptr cryptedstring[si], edx

add si, 4

mov cb, si

pop si

 

save_decrypt:

push si

mov si, dcb

mov dword ptr decryptedstring[si], eax

add si, 4

mov dword ptr decryptedstring[si], edx

add si, 4

mov dcb, si

pop si

 

mov cl, last

cmp cl, 0

je maincycle;конец шифровки

 

mov cl, mode;смена режима после;шифровки

cmp cl, 0

je for_decryption

 

mov si, cb

mov byte ptr cryptedstring[si], '$'

mov si, dcb

mov byte ptr decryptedstring[si], '$'

 

lea dx, ds:[strng];вывод строки,;функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

lea dx, ds:[endstr];вывод строки,;функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

 

lea dx, ds:[cryptedstring];вывод;строки, функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

lea dx, ds:[endstr];вывод строки,;функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

lea dx, ds:[decryptedstring];вывод;строки, функция 9 прерывания ДОС 21

mov ah, 09h

int 21h

 

ret

main endp

Cseg ends

end start

 

Примечание: для сборки программы нужно ввести в командной строке следующее:

tasm <имя_файла>

tlink <имя_файла> /3

 

РОБОЧА НАВЧАЛЬНА ПРОГРАМА

 

з курсу “Актуальні питання фінансового права”

для підготовки магістрів (спеціалістів) денної (заочної) форми навчання за напрямом підготовки 0601 «Право»

спеціальність 8.060101 «Правознавство»

магістерська програма «Правове забезпечення фінансової діяльності держави»

спеціальність 7.060101 «Правознавство»

спеціалізація «Фінансово- правова діяльність»

статус дисципліни: вибіркова

ІРПІНЬ 2009

Робоча навчальна програма курсу «Актуальні питання фінансового права» складена на основі навчального плану підготовки, затвердженого в 2009 р.

 

Автори: Нечай А.А., д.ю.н., доцент кафедри фінансового права Кармаліта М.В., асистент кафедри фінансового права
Рецензент: Іскоростенський А.М., к.ю.н., доцент кафедри фінансового права

 

 

Розглянуто і схвалено на засіданні кафедри фінансового права,

Протокол № ___ від „___” _______ 200_р.

 

Завідувач кафедри Л.М. Касьяненко, к.ю.н., доцент

 

Погоджено:

На засіданні вченої ради юридичного факультету

Протокол № від "______________200_р.

 

Голова вченої ради Г.М. Самілик, к.ю.н., доцент,

юридичного факультету декан юридичного факультету

 

 

Декан заочного факультету В. В. Бриштіна, к.е.н., доцент

 

Завідувач

навчально-методичного відділу О.О.Бойко

 

 

Реєстраційний №______

 

 

Рецензія

на робочу навчальну програму з курсу «Актуальні питання фінансового права»

для підготовки магістрів спеціальності 8.060101 „Правознавство”

магістерської програми «Правове забезпечення фінансової діяльності держави»

спеціалістів напрям підготовки „Право”

спеціальності 7.060101 „Правознавство”

розроблену доцентом кафедри фінансового права Нечай А.А. та асистентом кафедри фінансового права Кармаліта М.В.

На сьогоднішній день у нашій державі відбуваються зміни в економічній, політичній і правовій системах українського суспільства. Саме тому вітчизняна теорія фінансового права переживає період переосмислення, оновлення і поповнення власного понятійного апарату.

Оскільки фінансова політика держави проводиться в життя через фінансове законодавство викладання курсу «Актуальні питання фінансового права» є обґрунтованим та забезпечить студентам необхідну правову підготовку.

Робоча навчальна програма з курсу «Актуальні питання фінансового права» складена відповідно до встановлених вимог, що висуваються до робочих навчальних программ, розроблена на основі навчального плану підготовки, затвердженого у 2009 р. Зміст навчальної дисципліни та передбачена тематичним планом кількість годин для вивчення конкретних тем дозволять студентам визначати основні недоліки фінансової системи України, визначати основні проблемні аспекти фінансового контролю, бюджетного процесу, діяльності банківських установ в Україні.

Авторами запропоновано ряд тем, що підлягають вивченню аудиторно та тих питань, які студенти повинні опрацювати самостійно і індивідуально. Запропонований план семінарських занять, завдання для самостійної роботи і індивідуальна робота спрямовані на необхідність розвитку у студентів логічного мислення, вміння орієнтуватися у нормативно-правових актах чинного законодавства.

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

В цілому робоча навчальна програма з курсу «Актуальні питання фінансового права» відповідає навчально-методичним вимогам і заслуговує на впровадження у навчальний процес.

 

Рецензент:

доцент кафедри

фінансового права

к.ю.н, доцент А.М. Іскоростенський

СТРУКТУРА ТА ЗМІСТ РОБОЧОЇ НАВЧАЛЬНОЇ ПРОГРАМИ

 

1. Передмова

2. Опис навчальної дисципліни

3. Структура навчальної дисципліни

4. Тематичний план (для заочної форми навчання)

5. Зміст навчальної дисципліни за змістовними модулями

6. Методи оцінювання знань та розподіл балів за рейтинговою системою

7. Форми і методи контролю оцінювання знань (для заочної форми навчання)

8. Перелік тем курсових робіт, тематика наукових доповідей

9. Контрольні питання з дисципліни

10. Рекомендована література

11. Список нормативних актів з курсу

 

 







Дата добавления: 2015-10-19; просмотров: 284. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия