Стандарты хэш функций действующие в российской федерации

ГОСТ Р ИСО 3411-99

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

МАШИНЫ ЗЕМЛЕРОЙНЫЕ

Антропометрические данные операторов
и минимальное рабочее пространство вокруг оператора

ГОССТАНДАРТ РОССИИ

Москва

Предисловие

1 РАЗРАБОТАН И ВНЕСЕН Техническим комитетом по стандартизации ТК 295 «Машины землеройные»

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 30 ноября 1999 г. № 460-ст

3 Настоящий стандарт представляет собой полный аутентичный текст международного стандарта ИСО 3411-95 «Машины землеройные. Антропометрические данные операторов и минимальное рабочее пространство вокруг оператора»

4 ВВЕДЕН ВПЕРВЫЕ

ГОСТ Р ИСО 3411-99

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

МАШИНЫ ЗЕМЛЕРОЙНЫЕ

Антропометрические данные операторов и минимальное рабочее пространство вокруг оператора

Earth-moving machinery. Human physical dimensions of operators and minimum operator space envelope

Дата введения 2000-07-01

1 Область применения

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

Стандарт распространяется на землеройные машины по ГОСТ Р ИСО 6165 .

Требования настоящего стандарта являются обязательными.

2 Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие стандарты.

ГОСТ 27258-87 (ИСО 6682-86) Машины землеройные. Зоны комфорта и досягаемости для органов управления

ГОСТ 27715-88 (ИСО 5353-95) Машины землеройные, тракторы и машины для сельскохозяйственных работ и лесоводства. Контрольная точка сиденья

3) Размеры ширины головы даны без учета ушей.

4) Размеры головы:

в каске: длина » 310 мм, ширина » 270 мм;

в шлеме: длина » 280 мм, ширина » 230 мм.

Таблица 2

В миллиметрах

Условное обозначение

Параметры оператора

Рост оператора

низкий

средний

высокий

высокий (в арктической одежде)

Высота в положении сидя 1), 2)

Высота расположения глаз в положении сидя 2)

Высота расположения плеч

3D

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

Высота расположения горизонтальной поверхности сиденья

3 F

Толщина бедра

3 G

Удаленность икры от вертикали

Удаленность колена от вертикали

3 I

Высота колена

3 J

Длина кисти руки с предплечьем

Предел досягаемости вытянутой вперед руки

3 L

Уменьшение предела досягаемости за счет сжатия кисти руки

Длина кисти руки

3 N

Ширина кисти руки 3)

3 O

Толщина кисти руки 4)

Удаленность SIP от вертикали

3 R

Высота расположения SIP от горизонтальной поверхности сиденья

Ширина плеч

Ширина по прижатым локтям

Ширина по бедрам в положении сидя

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

2) См. .

3) Ширина кисти руки приведена без учета большого пальца руки.

4) Толщина кисти руки дана по основанию пальцев и соответствует толщине ладони.

4.3 Выпрямленное положение

Все размеры, приведенные в таблицах - , указаны для операторов в выпрямленном положении. В нормальном положении тело человека как бы дает осадку и результаты измерений в этом случае будут несколько заниженными: значения роста () и предела досягаемости с поднятой рукой (2 A ) будут занижены приблизительно на 15 мм, а высота в положении сидя () и высота расположения глаз () в положении сидя будут занижены примерно на 25 мм.

Таблица 3

В миллиметрах

Условное обозначение

Параметры оператора

Рост оператора

низкий

средний

высокий

А

Высота лодыжки (с обувью)

В

Длина голени

С

Длина бедра

D

Расстояние (по вертикали) от точки бедра до ягодицы 1)

E

Расстояние (продольное) от точки бедра до ягодицы

F

Длина туловища

G

Расстояние от точки бедра до точки поворота шеи 1)

Н

Длина верхней части руки

I

Расстояние от запястья до точки сжатия

J

Длина предплечья

К

Расстояние от глаз до осевой линии туловища

L

Рост (с учетом обуви)

1550

1715

1880

М

Расстояние от уровня глаз до точки поворота шеи

N

Ширина по точкам поворота плеч

O

Ширина по точкам поворота бедер

Р

Расстояние от лодыжки до точки приложения усилия к педали

1) Для оператора в положении сидя.

Примечани е - Размеры соответствуют требованиям приложения А ГОСТ 27258 .

Таблица 4

В миллиметрах

Условное обозначение

Параметр

d 1

Зазор между кабиной, устройствами ROPS, FOPS и органами управления при их ближайшем положении к стенке кабины и устройствам ROPS, FOPS

Не менее 50

R 1

Расстояние от SIP до потолка кабины, устройств ROPS, FOPS в поперечной плоскости:

оператор в защитном шлеме; сиденье имеет регулировку и подвеску; мощность двигателя 150 кВт

Не менее 1050

оператор без защитного шлема; сиденье имеет регулировку и подвеску; мощность двигателя от 30 до 150 кВт

Не менее 1000

оператор без защитного шлема, сиденье не имеет регулировки и подвески, мощность двигателя менее 30 кВт

Не менее 920

R 2

Радиус закругления в месте соединения внутренних стенок кабины и устройств ROPS, FOPS друг с другом и с потолком

Не более 250

R 3

Расстояние до задней стенки кабины, устройств ROPS, FOPS

Примечание 1

h 1

Расстояние по вертикали от SIP до нижней границы верхней части боковых стенок кабины, устройств ROPS, FOPS

Не более 150

h 2

Расстояние по вертикали от SIP до нижней границы верхней части задней стенки кабины, устройств ROPS, FOPS

Примечание 2

l 1

Ширина пространства для ног

Не менее 560

L 1

Зазор для предплечья руки в верхнем боковом пространстве кабины, устройств ROPS, FOPS

Не менее 500

L 2

Зазор между кабиной и устройствами ROPS, FOPS и арктической обувью оператора для любого положения педали и ножного органа управления

Не менее 30

Примечания

1 Не менее b + 400 мм, где b равно половине размера регулирования сиденья по горизонтали, см. .

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

5 Минимальное рабочее пространство вокруг оператора

5.1 Минимальное рекомендованное рабочее пространство вокруг оператора в спецодежде, ограниченное внутренними размерами кабины и устройствами ROPS , FOPS , приведено на рисунке для оператора в положении сидя и на рисунке для оператора в положении стоя. Размеры приведены относительно контрольной точки сиденья ( SIP ) согласно требованиям ГОСТ 27715 .

1 ) SIP - контрольная точка сиденья.

Рисунок 5 - Минимальное рабочее пространство вокруг оператора в спецодежде для работы в положении сидя, ограниченное внутренними размерами кабины и устройствами ROPS , FOPS

Примечани е - Размеры - по таблице .

Рисунок 6 - Минимальное рабочее пространство вокруг оператора в спецодежде для работы в положении стоя, ограниченное внутренними размерами кабины и устройствами ROPS , FOPS

Примечани е - Размеры d 1 и R 2 - по таблице . Размеры рабочего пространства по ширине и зазор для ножных органов управления соответствуют указанным на рисунке .

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

5.2 Минимальное рабочее пространство вокруг оператора указано с учетом антропометрических данных оператора высокого роста, приведенных на рисунках и , и измеряется по внутренней поверхности кабины и устройств ROPS , FOPS , не имеющих видимых следов деформации.

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

Возможные изменения рабочего пространства вокруг оператора приведены ниже:

5.3.1 Минимальная высота рабочего пространства вокруг оператора, равная 1050 мм относительно SIP , рекомендуется для размещения широко используемых сидений и обеспечения зазора для защитного шлема оператора. Минимальная высота ограждения вокруг рабочего пространства может быть уменьшена до 1000 мм относительно SIP в случаях, когда оператор не пользуется защитным шлемом (ГОСТ 27715 ).

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

для сиденья без вертикальной подвески - уменьшена на 40 мм;

для сиденья без вертикального регулирования высоты - уменьшена на 40 мм;

для сиденья с регулируемой спинкой - регулировкой спинки на угол более 15°.

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

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

5.6 Если оператор при работе с органами рулевого управления или для доступа к органам управления, расположенным сзади SIP , наклоняется вперед, минимальный зазор между задней стенкой и оператором может быть уменьшен до 250 мм плюс 1/2 значения продольной регулировки сиденья.

5.7 Расположение органов управления - по ГОСТ 27258 .

Примечани е - В некоторых районах мира более чем у 5 % операторов длина ног меньше значений, указанных для операторов низкого роста. Это следует учитывать при корректировке расположения зон комфорта и досягаемости для органов ножного управления согласно ГОСТ 27258.

Ключевые слова: машины землеройные, операторы машин, размеры операторов, рабочее пространство

Стандарт ГОСТ 34.11-2012 пришел на смену ГОСТ 34.11-94, который к настоящему времени уже считается потенциально уязвимым (хотя до 2018 года ГОСТ 1994 года выпуска все же применять не возбраняется). Отечественные стандарты хеширования обязательны к применению в продуктах, которые будут крутиться в ответственных и критических сферах и для которых обязательно прохождение сертификации в уполномоченных органах (ФСТЭК, ФСБ и подобных). ГОСТ 34.11-2012 был разработан Центром защиты информации и специальной связи ФСБ России с участием открытого акционерного общества «Информационные технологии и коммуникационные системы» (ИнфоТеКС). В основу стандарта 2012 года была положена функция хеширования под названием «Стрибог» (если что, такое имя носил бог ветра в древнеславянской мифологии).


Хеш-функция «Стрибог» может иметь две реализации с результирующим значением длиной 256 или 512 бит. На вход функции подается сообщение, для которого необходимо вычислить хеш-сумму. Если длина сообщения больше 512 бит (или 64 байт), то оно делится на блоки по 512 бит, а оставшийся кусочек дополняется нулями с одной единичкой до 512 бит (или до 64 байт). Если длина сообщения меньше 512 бит, то оно сразу дополняется нулями с единичкой до полных 512 бит.

Немного теории

Основу хеш-функции «Стрибог» составляет функция сжатия (g-функция), построенная на блочном шифре, построенном с помощью конструкции Миягучи - Пренеля, признанной одной из наиболее стойких.

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


WARNING

При чтении ГОСТа учти, что во всех 64-байтовых массивах (в том числе и в массивах значений итерационных констант C1 - C12) нулевой байт находится в конце массива, а шестьдесят третий, соответственно, в начале.

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

Базовые функции стандарта

Поскольку при вычислении хеша мы имеем дело с 64-байтовыми блоками (в стандарте они представлены 512-разрядными двоичными векторами), для начала определим этот самый двоичный вектор:

#define BLOCK_SIZE 64 // Размер блока - 64 байта... typedef uint8_t vect; // Определяем тип vect как 64-байтовый массив

Сложение двух двоичных векторов по модулю 2

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

Static void GOSTHashX(const uint8_t *a, const uint8_t *b, uint8_t *c) { int i; for (i = 0; i < 64; i++) c[i] = a[i]^b[i]; }

Побитовое исключающее ИЛИ над 512-битными блоками

В тексте ГОСТа название данной операции звучит как сложение в кольце вычетов по модулю 2 в степени n. Такая фраза кого угодно может вогнать в уныние, но на самом деле ничего сложного и страшного в ней нет. Два исходных 64-байтовых вектора представляются как два больших числа, далее они складываются, и переполнение, если оно появляется, отбрасывается:

Static void GOSTHashAdd512(const uint8_t *a, const uint8_t *b, uint8_t *c) { int i; int internal = 0; for (i = 0; i < 64; i++) { internal = a[i] + b[i] + (internal >> 8); c[i] = internal & 0xff; } }

Нелинейное биективное преобразование (преобразование S)

При биективном отображении каждому элементу одного множества соответствует ровно один элемент другого множества (более подробно про биекцию можешь почитать в Википедии). То есть это просто банальная подстановка байтов в исходном векторе по определенному правилу. В данном случае правило задается массивом из 256 значений:

Static const unsigned char Pi = { 252, 238, 221, ... 99, 182 };

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

Итак, если в исходном векторе у нас встречается какой-либо байт со значением, например, 23 (в десятичном выражении), то вместо него мы пишем байт из массива Pi, имеющий порядковый номер 23, и так далее. В общем, код функции преобразования S получается такой:

Static void GOSTHashS(uint8_t *state) { int i; vect internal; for (i = 63; i >= 0; i--) internal[i] = Pi]; memcpy(state, internal, BLOCK_SIZE); }

Перестановка байтов (преобразование P)

Преобразование P - простая перестановка байтов в исходном массиве в соответствии с правилом, определяемым массивом Tau размером в 64 байта:

Static const unsigned char Tau = { 0, 8, 16, 24, 32, ... 55, 63 };

Здесь, так же как и в предыдущем случае, для экономии места показаны не все значения массива Tau.

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

Static void GOSTHashP(uint8_t *state) { int i; vect internal; for (i = 63; i >= 0; i--) internal[i] = state]; memcpy(state, internal, BLOCK_SIZE); }

Линейное преобразование (преобразование L)

Это преобразование носит название «умножение справа на матрицу A над полем Галуа GF(2)» и по сравнению с первыми двумя будет немного посложнее (по крайней мере, вкурить всю суть от и до с первого прочтения стандарта удается далеко не всем). Итак, есть матрица линейного преобразования A, состоящая из 64 восьмибайтовых чисел (здесь приведена не в полном объеме):

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

Криптографическая хэш-функция

Название

Разработчики

ФСБ России , ОАО «ИнфоТеКС»

Стандарты

ГОСТ Р 34.11-2012, RFC 6986

Размер хэша

256 или 512 бит

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

хеш-функция

    Размер хеша: 256 или 512 бит

    Размер блока входных данных: 512 бит

    Разработчики : Центр защиты информации и специальной связиФСБ России с участиемОАО «ИнфоТеКС»

Стандарт определяет алгоритм и процедуру вычисления хеш-функции для последовательности символов. Этот стандарт разработан и введён в качестве замены устаревшему стандарту ГОСТ Р 34.11-94 .

«Необходимость разработки <…> вызвана потребностью в создании хеш-функции, соответствующей современным требованиям к криптографической стойкости и требованиям стандартаГОСТ Р 34.10-2012 наэлектронную цифровую подпись ».

Название хеш-функции - «Стрибог», по имени славянского божества, - часто используется вместо официального названия стандарта, хотя в его тексте явно не упоминается. Настоящий стандарт содержит описание алгоритма и процедуры вычисления хэш-функции для любой последовательности двоичных символов, которые применяются в криптографических методах защиты информации, в том числе в процессах формирования и проверки электронной цифровой подписи. Стандарт разработан взаменГОСТ Р 34.11-94 . Необходимость разработки настоящего стандарта вызвана потребностью в создании хэш-функции, соответствующей современным требованиям к криптографической стойкости и требованиям стандартаГОСТ Р 34.10-2012 к электронной цифровой подписи. Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО 2382-2 , ИСО/МЭК 9796 , серии ИСО/МЭК 14888 и серии ИСО/МЭК 10118 ________________Область применения

Настоящий стандарт определяет алгоритм и процедуру вычисления хэш-функции для любой последовательности двоичных символов, которые применяются в криптографических методах обработки и защиты информации, в том числе для реализации процедур обеспечения целостности, аутентичности, электронной цифровой подписи (ЭЦП) при передаче, обработке и хранении информации в автоматизированных системах. Определенная в настоящем стандарте функция хэширования используется при реализации систем электронной цифровой подписи на базе асимметричного криптографического алгоритма по ГОСТ Р 34.10-2012 . Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.

Гост р 34.10-2012

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

Процессы формирования и проверки электронной цифровой подписи

Принят и введён в действие Приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 года № 215-ст вместо ГОСТ Р 34.10-2001 . До ГОСТ Р 34.10-2001 действовал стандарт ГОСТ Р 34.10-94

Алгоритм формирования хэш-функции ГОСТ Р 34.11-94

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

Хэш - последовательность битов, полученная в результате расчета хэш-функции.

ГОСТ Р34.11-94 - российский криптографический стандарт вычисления хэш-функции. Был введен 23 мая 1994 года. Размер хэша 256 бит. Размер блока входных данных 256 бит. Алгоритм был разработан ГУБС ФАПСИ и ВНИИС.

Стандарт определяет алгоритм и процедуру вычисления хэш-функции для последовательности символов. Этот стандарт является обязательным для применения в качестве алгоритма хэширования в государственных организациях РФ и ряде коммерческих организаций.

ЦБ РФ требует использовать ГОСТ Р 34.11-94 для электронной подписи предоставляемых ему документов.

Особенностями ГОСТ Р 34.11-94 являются:

При обработке блоков используются преобразования по алгоритму ГОСТ 28147-89;

Обрабатывается блок длиной 256 бит, и выходное значение тоже имеет длину 256 бит;

Применены меры борьбы против поиска коллизий, основанном на неполноте последнего блока;

Обработка блоков происходит по алгоритму шифрования ГОСТ 28147-89, который содержит преобразования на S-блоках, что существенно осложняет применение метода дифференциального криптоанализа к поиску коллизий.

Функция используется при реализации систем цифровой подписи на базе асимметричного криптоалгоритма по стандарту ГОСТ Р 34.10-2001. Сообщество российских разработчиков СКЗИ согласовало используемые в Интернет параметры ГОСТ Р 34.11-94:

Использование в сертификатах открытых ключей;

Использование для защиты сообщений в S/MIME (Cryptographic Message Syntax, PKCS#7);

Использование для защиты соединений в TLS (SSL, HTTPS, WEB);

Использование для защиты сообщений в XML Signature (XML Encryption);

Защита целостности Интернет адресов и имён (DNSSEC).

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

Алгоритм формирования ЭЦП ГОСТ Р 34.10-2001

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

Электронная цифровая подпись, или ЭЦП, становится всё более распространённым способом удостоверить документ. В некоторых случаях цифровая отметка не имеет альтернатив. К примеру, при проведении электронных торгов или участии в аукционах, проводимых в Интернете. В таком случае, наличие ЭЦП регламентируется законодательством. В соответствии с Федеральным законом 1-ФЗ от 10.01.2002 года «Об электронной цифровой подписи», ЭЦП в электронном документе является аналогом собственноручной подписи в бумажном документе. Благодаря наличию таковой, электронный документ приобретает юридическую значимость. Наличие ЭЦП гарантирует его подлинность и защищает от подделки, а также помогает идентифицировать владельца сертификата цифровой подписи и предотвратить искажения в документе.

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

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

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

Защиту от изменений (подделки) документа: гарантия выявления подделки при контроле целостности делает подделывание нецелесообразным в большинстве случаев;

Доказательное подтверждение авторства документа: Так как создать корректную подпись можно, лишь зная закрытый ключ, а он должен быть известен только владельцу, то владелец пары ключей может доказать своё авторство подписи под документом. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.

Все эти свойства ЭЦП позволяют использовать её для следующих целей:

Декларирование товаров и услуг (таможенные декларации);

Регистрация сделок по объектам недвижимости;

Использование в банковских системах;

Электронная торговля и госзаказы;

Контроль исполнения государственного бюджета;

В системах обращения к органам власти;

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

Организация юридически значимого электронного документооборота;

В расчетных и трейдинговых системах.

ГОСТ Р 34.10-2001 алгоритм разработан главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации при участии Всероссийского научно-исследовательского института стандартизации. Разрабатывался взамен ГОСТ Р 34.10-94 для обеспечения большей стойкости алгоритма.

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94. Принцип подписания электронного документа заключается в шифровании по ГОСТ Р 34.10-2001 полученного хэш алгоритма ГОСТ Р 34.11-94 закрытым ключом на передающей стороне. Проверка подписи на приемной стороне осуществляется путем получения хэш от сообщения и расшифрование открытым ключом зашифрованного значения хэш переданного вместе с сообщением, если эти хэши равны, то подпись верна (рисунок 2.1).

Рисунок 2.1 - Процесс подписания и проверки электронно-цифровой подписи

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

Анализ программного криптопровайдера «КриптоПро CSP» показал его эффективность при использовании криптографических алгоритмов шифрования, хэш-функции, электронной цифровой подписи, которые соответствуют стандарту ГОСТ и прошли сертификацию в ФСБ.

Использование на основе криптопровайдера «КриптоПро CSP» приложения позволит автоматизировать процессы: шифрования, электронно-цифровой подписи сразу нескольких документов из пакета программного обеспечения Microsoft Office 2007-2010 Word, Excel, проверки подписи. Это значительно повысит эффективность работы и снизит процент ошибок в процессе обработки электронных документов. Использование шифрования с ГОСТ 28147-89 алгоритмом позволяет передавать по открытым каналам связи информацию содержащую коммерческую тайну, так же возможно сокрытия в зашифрованные архивы особо важную информацию, тем самым ограничив доступ к ней строго определенному кругу лиц.

Что требуется

Так как алгоритм отечественного производства, необходимо установить программные продукты КриптоПро CSP и КриптоПро CADESCOM. После установки программных продуктов КриптоПро будет доступен COM-объект HasheData с ProgID - CAdESCOM.HashedData . Этот объект предоставляет свойства и методы для вычисления хэш-суммы данных.

Реализация

Объект HashedData имеет метод Hash , в который передаются данные для вычисления хэш-суммы. Свойство Value содержит результат вычисления. Напишем функцию, которая принимает строку и возвращает хэш-сумму. Незабываем, что строки в разных кодировках имеют различные хэш-суммы, поэтому строку следует привести к кодировке UTF-8.

// Функция вычисляет хэш-сумму по алгоритму ГОСТ 34.11-94
// Параметры
// Строка - Строка - исходная строка.
// Возвращаемое значение:
// Строка - хэш-сумма в виде 64-х символьной строке в шестнадцатеричном формате.
Функция ВычислитьХэшСуммуПоГОСТ_3411(Строка) Экспорт

CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;

HashedData = Новый COMОбъект("CAdESCOM.HashedData");
// Указываем алгоритм хэширования.
HashedData.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
// Передаем данные, строку кодируем в последовательность байтов UTF-8.
UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding");
HashedData.Hash(UTF8Encoding.GetBytes_4(Строка));

// Возвращаем вычисленную хэш-сумму.
Возврат HashedData.Value;

КонецФункции // ВычислитьХэшСуммуПоГОСТ_3411()

Результат работу функции:
Обработку можно скачать по этой