ГОСТ Р 53556.3—2012
Таблица 98 позиций импульсов временно генерируется тем же самым алгоритмом декодирования,
что и фиксированная книга шифров. Временная таблица позиций импульса изменяется следующим обра
зом:
for (п = 0:п< num_enh: п++)
{
for (7
=
пит[п}-1. к = 0; i >= О:
/-
•)
{
pul_k>c = 0:
for (j
=
0;
у <
bit_pos[ij;j++)
{
pul_loc
|=
((idx[n)»k)&0x1)«j:
к
++;
puljoc-chn_pos(i’len+pul_loc);
for (I = 0; К 10; l*+)
{
for (m = 0: m< (1 « bit_pos_org[IJ). m++)
{
if(pulJoe
==
chn_pos_org[rion+m))
chn_ctr[l)++:
break:
}
}
}
}
for (i
=
0: i
<
10; i++)
{
ctrjmp(i]
=
chn_ctr[i]:
}
for (i
=
0: i
<
num[n+1]; i+*)
{
min_ctr
=
len:
for (j
=
0; j
<
10; j*+)
{
if (ctr tmplj] < min ctr)
{
minjetr - ctrjmpf}]:
min_chn =j;
}
}
ctrjmp[min_chn]
=
len
.
bit_pos[i]
=
bit_pos_org[min_chn]:
for (j
=
0: j< ( 1<<bit_pos_org[min_chn]):j++)
{
chn _pos[i’len+j]=chnj>os_org[min_chn*ten+j];
}
}
)
for (i
=
0: i <num[num_enh];i**)
{
bitp]
=
bit_pos[iJ:
for (j
=
O.j
<
(1«bit[i]).j++)
{
56