Category: Полезные заметки(Страница 2 из 15)

Провести криптографическое преобразование расшифровки сообщения при заданных параметрах с использованием полиалфавитного шифра (Вижинера)

Скачать ZIP архив | Скачать RAR архив

1 Первая строка: Символы шифровки
2 Под символами шифрованного текста запиываются символы ключа
2 В строке подматрицы шифрования, начинающейся с первого символа ключа, отыскивается первый символ криптограммы; символ первой строки — исходного алфавита, находящийся в соответствующем столбце, будет символом исходного сообщения.

Грубо, символы КЛЮЧА пишутся в столбик, и после первой буквы ключа, пишутся остальные буквы по алфавиту

Внизу под ключем, пишем буквы алфавита, где первая буква А будет находится под 1 столбцом

Например:

М Н О П
О П Р С
Р С Т У
Е Ж З И

А Б В Г

Представление схемы процедуры проверки электронной цифровой подписи (ЭЦП)

Скачать ZIP архив | Скачать RAR архив

1 Столбец (овалы):
Верхний блок: Исходное сообщение М
Нижний блок: Цифровая подпись

2 Столбец (прямоугольник):
Верхний блок: Алгоритм генерации дайджест
Средний блок: Асимметричное шифрование
Нижний блок: Открытый ключ получателя КА (стрелочка к вышележ.блоку)

3 Столбец (овалы):
Верхний блок: Сгенерированный дайджест m
Нижний блок: Расшифрованный дайджест m

4 Столбец (ромб): m = m’ ?
Нет (стрелочка вверх)
Да (стрелочка вниз)

Перевод чисел из одной позиционной системы счисления в другую

Скачать ZIP архив | Скачать RAR архив

11.01 (двоичная). Запишем его в развернутой форме и произведем вычисления:

11.01 = 1 * 2^1 + 1 * 2^0 + 0 * 2^-1 + 1 * 2^-2 = 1*2 + 1*1 + 0*1/2 + 1*1/4 = 3.25 (десятич)

76.3 (восьмерич) = 7*8^1 + 6*8^0 + 3*8^-1 = 7*8+6*1+3*1/8 = 62.375 (десятич)

17D (шестнадцатерич) = 1*16^2 + 7*16^1 + D*16^0 = 1*256 + 7*16 + 13*1 = 381 (десятич)

В двоичную (для целых чисел):
1 Последовательно выполняем деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2, 8, 16) до тех пор, пока не получится частное, меньшее делителя, т.е. меньше 2:
2 Записать полученное число из 0 и 1 в обратном порядке (справа налево, либо снизу вверх, если деление в столбик)

Алгоритм перевода правильной десятичной дроби в двоичную восьмеричную и шестнадцатеричную системы:
1 последовательно выполнить умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2, 8, 16) до тех пор пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений (если требуемая точность перевода числа F соатавляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется p -k+1/2)
2 записать полученные целые части произведения в прямой последовательности

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

Определить порядок преобразования входных данных при проведении операции хэширования в соответствии ГОСТ Р34.11-94 для сообщения заданной длины

Скачать ZIP архив | Скачать RAR архив

Краткое описание алгоритма хэширования

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

Входные данные: 400 бит
Разбиваем на 1 блок: 256 бит
остается 400 — 256 = 144 бит
надо добить нулями до 256: 256 — 144 = 112
Итого: Битовые нули: 112 бит ; Входные данные: 144 бит

Выполнение арифметических действий (сложение, вычитание, умножение и деление) над числами в двоичной системе счисления

Скачать ZIP архив | Скачать RAR архив

Сложение:
0+0=0
0+1=1
1+0=1
1+1=10

Вычитание:
0-0=0
1-0=1
1-1=0
0-1=-1

Умножение:
0*0=0
0*1=0
1*0=0
1*1=1

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1110
1111

© 2007–2024, konyakov.ru