安全通论作业一(1),系列篇
]C = max
C=max(这里最大值是针对 X 为所有大概的二元离散随机变量来计算的)。
在此处一对一的信道中,其容量
C
=
m
a
x
0
<
a
,
p
<
1
[
I
(
X
,
Z
)
]
C = max_{0<a,p<1}
C=max0<a,p<1,这里的最大值是对仅仅两个变量 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
[*]
a
−
p
−
q
)
log
1
[*]
a
−
(
p
[*]
q
)
(
1
−
p
)
(
1
[*]
2
a
−
p
−
q
)
[*]
(
q
−
a
)
log
q
−
a
(
1
−
p
)
(
p
[*]
q
−
2
a
)
[*]
a
log
a
p
(
1
[*]
2
a
−
p
−
q
)
[*]
(
p
−
a
)
log
p
−
a
p
(
p
[*]
q
−
2
a
)
]
\begin{aligned} C &= max_{0<a,p<1} \ &= max_{0<a,p<1} [ (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}
C=max0<a,p<1=max0<a,p<1[(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]
下面给出以 q 为自变量的攻击信道容量的数值分析函数:
Compute mutual information
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
<
1
[
I
(
X
,
Z
)
]
C = max_{0<a,p<1}
C=max0<a,p<1 计算信道容量,即最大的互信息。画出攻击信道容量的数值分析图像如下:
https://img-blog.csdnimg.cn/e019620163ff497d8e5d40efb358ffb2.png#pic_center
import numpy as np
import matplotlib.pyplot as plt
_p = np.arange(0.01, 1.00, 0.01)
_q = np.arange(0.01, 1.00, 0.01)
Meshgrid for 2D array creation
p, q = np.meshgrid(_p, _q)
2D array outer product
a = np.outer(_p, _q)
Compute mutual information
def get_i(a, p ,q):
c1 = 1 + a - p - q
c2 = q - a
c4 = p - a
c5 = 1 + 2 * a - p - q
c6 = p + q - 2 * a
i1 = c1 * np.log(c1 / ((1 - p) * c5))
i2 = c2 * np.log(c2 / ((1 - p) * c6))
i3 = a * np.log(a / (p * c5))
i4 = c4 * np.log(c4 / (p * c6))
i = i1 + i2 + i3 + i4
return i
i = get_i(a, p ,q)
Plotting
fig = plt.figure()
ax = fig.add_subplot(111, projection=‘3d’)
ax.plot_surface(p, q, i, cmap=‘jet’)
Axis labels
ax.set_xlabel(‘p’)
ax.set_ylabel(‘q’)
ax.set_zlabel(‘I(X,Z)’)
Title
ax.set_title(‘Image of I(X,Z) when a=pq’)
plt.show()
plt.savefig(‘Ivspq.png’, dpi=200)
print(np.argmin(i), np.max(i))
Reshape the 2D array i into a 1D array
i_flat = i.flatten()
Find the index of the maximum value in the 1D array
max_idx = np.argmax(i_flat)
Find the corresponding p and q values using the index
max_p_idx, max_q_idx = np.unravel_index(max_idx, i.shape)
max_p = p
max_q = q
print(“Maximum I(X,Z) value:”, i_flat)
print(“Corresponding p value:”, max_p)
print(“Corresponding q value:”, max_q)
完备绘图代码见 hw1-Cvsq.py 文件。从图中可以看到:攻击信道容量 C 随 q 的增大呈现先减小后增大的趋势,即攻击信道容量 C 是一个凹函数。在 q = 0.5 附近时,攻击信道容量 C 达到最小值 0.069。
a = pq (p 和 q 互相独立) 时,互信息与 p 和 q 的关系
https://img-blog.csdnimg.cn/2825423aa1e44d0fa254ab46252aa985.png#pic_center
完备绘图代码见 hw1-Ivspq.py 文件。从图中可以看到:
[*]当 q 趋近于 0 或 1 时,互信息最大;
[*]当 q 趋近于 0.5 时,互信息最小;
[*]当 q 不变,p 趋近于 0.5 时,互信息相对较大。
import numpy as np
import matplotlib.pyplot as plt
a_range = np.arange(0.01, 1.00, 0.001)
p_range = np.arange(0.01, 1.00, 0.001)
q_range = np.arange(0.02, 0.99, 0.001)
Meshgrid for 2D array creation
a, p = np.meshgrid(a_range, p_range)
Compute mutual information
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
max_i = np.zeros_like(q_range)
for i, q in enumerate(q_range):
i = get_i(a, p ,q)
max_i = get_max_i(a, p ,q)
Plotting
fig = plt.figure()
ax = fig.add_subplot()
ax.plot(q_range, max_i)
Axis labels
ax.set_xlabel(‘q’)
ax.set_ylabel(‘max I(X,Z)’)
Title
ax.set_title(‘Image of C = max I(X,Z) vs q’)
plt.show()
plt.savefig(‘Cvsq.png’, dpi=100)
print(q_range, np.min(max_i))
print(q_range, np.max(max_i))
固定 q 时,互信息与 p 和 a 的关系
以下为 q = 0.1 到 q = 0.9 时, 互信息 I(X, Z) 与 p 和 a 的关系。(代码见 hw1-Ivsap.py)
https://img-blog.csdnimg.cn/be661ba3e3a64d5a966d9c224364c778.png#pic_center
https://img-blog.csdnimg.cn/acab1610c33f43d2ac21854a27bdd8d9.png#pic_center
https://img-blog.csdnimg.cn/ead7414b910a448b870517d02e7b575b.png#pic_center
https://img-blog.csdnimg.cn/08ba059e1dbf45118f3740aa6b722f61.png#pic_center
https://img-blog.csdnimg.cn/410b0030f781434eb4a7d90d82318bf5.png#pic_center
https://img-blog.csdnimg.cn/097dcf44f8cb493a82e101d5ba5f2e8f.png#pic_center
https://img-blog.csdnimg.cn/c07722bcd27c4abaa0332eb0ca28e1c3.png#pic_center
https://img-blog.csdnimg.cn/e7d5344ca01d4d9082d210a4d9937b94.png#pic_center
https://img-blog.csdnimg.cn/b8cebf6b2dc743689f5d676788c468b3.png#pic_center
import numpy as np
import matplotlib.pyplot as plt
q = 0.1
Compute mutual information
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)
自我先容一下,小编13年上海交大结业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能故步自封!
因此收集整理了一份《2024年网络安全全套学习资料》,初志也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋侪。
https://img-blog.csdnimg.cn/img_convert/64bdfa41b153833a226a3f53fda6ac26.png
https://img-blog.csdnimg.cn/img_convert/a7358225d3d66f8c0e230b7c2abad409.png
https://img-blog.csdnimg.cn/img_convert/857f0814b5e0a1ea82dfcb1be1921d3b.png
https://img-blog.csdnimg.cn/img_convert/a1f4335e4f11910297e6be1aa7a95661.png
https://img-blog.csdnimg.cn/img_convert/3f7f2da314a1b2cec0665743ae796440.png
https://img-blog.csdnimg.cn/img_convert/d06f06e532c55099aeb57e5d8abbc123.png
既有得当小白学习的零基础资料,也有得当3年以上履历的小同伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比力大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会一连更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
https://img-blog.csdnimg.cn/img_convert/116d725505e24b88130fe1783c1f64b2.png
如何自学黑客&网络安全
黑客零基础入门学习蹊径&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相干背景,前景,确定发展方向。
②学习网络安全相干法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、尺度
②信息收集技能:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作体系基础(一周)
①Windows体系常见功能和命令
②Kali Linux体系常见功能和命令
③操作体系安全(体系入侵排查/体系加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模子、数据转发流程
③常见协议剖析(HTTP、TCP/IP、ARP等)
④网络攻击技能与网络安全防御技能
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相干的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面临复杂多变的网络环境,当常用工具不能满足实际需求的时间,往往必要对现有工具举行扩展,大概编写符合我们要求的工具、自动化脚本,这个时间就必要具备肯定的编程能力。在分秒必争的CTF竞赛中,想要高效地利用自制的脚本工具来实现各种目的,更是必要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库举行编程学习;搭建开辟环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE猛烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python焦点编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并誊写一个简单的博客体系;熟悉MVC架构,并试着学习一个PHP框架大概Python框架 (可选);·了解Bootstrap的结构大概CSS。
8、超级黑客
这部分内容对零基础的同学来说还比力迢遥,就不展开细说了,附上学习蹊径。
https://img-blog.csdnimg.cn/img_convert/3fd39c2ba8ec22649979f245f4221608.webp?x-oss-process=image/format,png
网络安全工程师企业级学习蹊径
https://img-blog.csdnimg.cn/img_convert/931ac5ac21a22d230645ccf767358997.webp?x-oss-process=image/format,png
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会复兴的
视频配套资料&国表里网安书籍、文档&工具
固然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
https://img-blog.csdnimg.cn/img_convert/153b2778a3fe5198265bed9635d63469.webp?x-oss-process=image/format,png
一些笔者自己买的、其他平台白嫖不到的视频教程。
https://img-blog.csdnimg.cn/img_convert/32eb4b22aa740233c5198d3c161b37e8.webp?x-oss-process=image/format,png
一个人可以走的很快,但一群人才能走的更远。岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待扫码加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
https://img-blog.csdnimg.cn/img_convert/f2c97adb564e1dd6ed2e3fc96d7519c6.png
看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并誊写一个简单的博客体系;熟悉MVC架构,并试着学习一个PHP框架大概Python框架 (可选);·了解Bootstrap的结构大概CSS。
8、超级黑客
这部分内容对零基础的同学来说还比力迢遥,就不展开细说了,附上学习蹊径。
https://img-blog.csdnimg.cn/img_convert/3fd39c2ba8ec22649979f245f4221608.webp?x-oss-process=image/format,png
网络安全工程师企业级学习蹊径
https://img-blog.csdnimg.cn/img_convert/931ac5ac21a22d230645ccf767358997.webp?x-oss-process=image/format,png
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会复兴的
视频配套资料&国表里网安书籍、文档&工具
固然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
https://img-blog.csdnimg.cn/img_convert/153b2778a3fe5198265bed9635d63469.webp?x-oss-process=image/format,png
一些笔者自己买的、其他平台白嫖不到的视频教程。
https://img-blog.csdnimg.cn/img_convert/32eb4b22aa740233c5198d3c161b37e8.webp?x-oss-process=image/format,png
一个人可以走的很快,但一群人才能走的更远。岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待扫码加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-6x56adID-1712623049825)]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]