gost-cryptography
v1.0.1
Published
Криптографические алгоритмы, закреплённые в стандартах ГОСТ.
Downloads
5
Maintainers
Readme
Криптография по ГОСТ
Основной набор криптографических алгоритмов, реализованных в соответствии со стандартами ГОСТ:
- Симметричное шифрование по ГОСТ 28147-89.
- Хэшевание по алгоритму ГОСТ Р 34.11-2012.
- Электронная цифровая подпись по алгоритму ГОСТ Р 34.10-2012.
Установка
npm install gost-cryptography
Использование
Подключение:
const Криптография = require("gost-cryptography");
Проверка соответствия результатов работы алгоритмов проверочным векторам:
Криптография.Проверить_алгоритмы();
Пример шифрования:
const
Данные = "Проверка...",
Ключ = [
0x33206D54, 0x326C6568, 0x20657369, 0x626E7373,
0x79676120, 0x74746769, 0x65686573, 0x733D2C20
];
const Шифротекст = Криптография.Шифрование.Гаммование_с_обратной_связью(
Данные, Ключ, null, null, false
);
const Открытый_текст = Криптография.Шифрование.Гаммование_с_обратной_связью(
Шифротекст, Ключ, null, null, true
);
console.log(Открытый_текст); // "Проверка..."
Пример хэшевания:
const
Данные = "Проверка...",
Хэш = Криптография.Хэшевание.Вычислить(
Данные, false
);
console.log(Хэш.toString(16)); // ea05b4f13a...a4efec4ecb
Пример вычисления ЭЦП:
const
Данные = "Проверка...",
{d, Q} = Криптография.ЭЦП.Сгенерировать_ключи(),
Подпись = Криптография.ЭЦП.Подписать(
Данные, d
),
Результат = Криптография.ЭЦП.Проверить(
Данные, Подпись, Q
);
console.log(Подпись); // Например: ФbштFЦKLfЩ...ЙЩyўщАШZЧЄ
console.log(Результат); // true