UNPKG

@logismika/crypto

Version:
28 lines (27 loc) 932 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GOST_Kuz_L_testPackage = exports.GOST_Kuz_L = void 0; const consts_1 = require("./consts"); const GOST_Kuz_GF_mul_1 = require("./GOST_Kuz_GF_mul"); const utils_1 = require("./utils"); const GOST_Kuz_L = (in_data) => { let result = in_data.slice(); for (let i = 0; i < 16; i += 1) { result = GOST_Kuz_R(result); } return result; }; exports.GOST_Kuz_L = GOST_Kuz_L; const GOST_Kuz_R = (in_data) => { let a_15 = 0; const internal = new Uint8Array(16); for (let i = 15; i >= 0; i -= 1) { if (i > 0) { internal[i - 1] = in_data[i]; } a_15 ^= (0, GOST_Kuz_GF_mul_1.GOST_Kuz_GF_mul)((0, utils_1.toByte)(in_data[i]), (0, utils_1.toByte)(consts_1.l_vec[i])); } internal[15] = (0, utils_1.toByte)(a_15); return internal; }; exports.GOST_Kuz_L_testPackage = { GOST_Kuz_R };