q
−
2
a
)
\begin{aligned} I(X, Z) &= [1+a-p-q]\log\frac{1+a-(p+q)}{(1-p)(1+2a-p-q)} \ &+ (q-a)\log\frac{q-a}{(1-p)(p+q-2a)} \ &+ a\log\frac{a}{p(1+2a-p-q)} + (p-a)\log\frac{p-a}{p(p+q-2a)} \end{aligned}
I(X,Z)=[1+a−p−q]log(1−p)(1+2a−p−q)1+a−(p+q)+(q−a)log(1−p)(p+q−2a)q−a+alogp(1+2a−p−q)a+(p−a)logp(p+q−2a)p−a
利用此
I
(
X
,
Z
)
I(X, Z)
I(X,Z) 就可知:以 X 为输入,Z 为输出的信道 F 的信道容量
C
=
m
a
x
[
I
(
X
,
Z
)
]
C = max[I(X, Z)]
C=max[I(X,Z)](这里最大值是针对 X 为全部可能的二元离散随机变量来盘算的)。
在此处一对一的信道中,其容量
C
=
m
a
x
0
<
a
,
p
<
1
[
I
(
X
,
Z
)
]
C = max_{0<a,p<1}[I(X,Z)]
C=max0<a,p<1[I(X,Z)],这里的最大值是对仅仅两个变量 a 和 p 在条件 0 < a,p < 1 下之取的,也就是说 攻击信道容量 C,实在是 q 的函数。
攻击信道容量的数值分析
根据攻击信道容量公式
C
=
m
a
x
0
<
a
,
p
<
1
[
I
(
X
,
Z
)
]
=
m
a
x
0
<
a
,
p
<
1
[
(
1
def get_i(a, p ,q):
c1 = 1 + a - p - q
c2 = q - a
c3 = p - a
c4 = 1 + 2 * a - p - q
c5 = p + q - 2 * a
i1 = c1 * np.log(c1 / ((1 - p) * c4))
i2 = c2 * np.log(c2 / ((1 - p) * c5))
i3 = a * np.log(a / (p * c4))
i4 = c3 * np.log(c3 / (p * c5))
i = i1 + i2 + i3 + i4
return i
def get_max_i(i):
def get_max_i(a, p ,q):
i = get_i(a, p ,q)
i = np.nan_to_num(i)
max_i = np.max(i)
print(max_i)
print(i)
return max_i
此中 get_i 函数是根据公式 I(X, Z) 盘算互信息,get_max_i 函数是根据
C
=
m
a
x
0
<
a
,
p
< 自我介绍一下,小编13年上海交大结业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里不停到现在。 深知大多数网络安全工程师,想要提拔技能,每每是自己探索发展,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能停滞不前! 因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是盼望可以或许资助到想自学提拔又不知道该从何学起的朋友。