安全通论作业一(1),系列篇

打印 上一主题 下一主题

主题 852|帖子 852|积分 2556

]
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



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}[I(X,Z)] \ &= 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​[I(X,Z)]=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}[I(X,Z)]
C=max0<a,p<1​[I(X,Z)] 计算信道容量,即最大的互信息。画出攻击信道容量的数值分析图像如下:

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_p_idx, max_q_idx]
max_q = q[max_p_idx, max_q_idx]
print(“Maximum I(X,Z) value:”, i_flat[max_idx])
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 的关系


完备绘图代码见 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.argmin(max_i)], np.min(max_i))
print(q_range[np.argmax(max_i)], np.max(max_i))
固定 q 时,互信息与 p 和 a 的关系

以下为 q = 0.1 到 q = 0.9 时, 互信息 I(X, Z) 与 p 和 a 的关系。(代码见 hw1-Ivsap.py)









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年网络安全全套学习资料》,初志也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋侪。






既有得当小白学习的零基础资料,也有得当3年以上履历的小同伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比力大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会一连更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)

如何自学黑客&网络安全

黑客零基础入门学习蹊径&规划

初级黑客
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、超级黑客
这部分内容对零基础的同学来说还比力迢遥,就不展开细说了,附上学习蹊径。

网络安全工程师企业级学习蹊径


如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会复兴的
视频配套资料&国表里网安书籍、文档&工具
固然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

一些笔者自己买的、其他平台白嫖不到的视频教程。

一个人可以走的很快,但一群人才能走的更远。岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待扫码加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并誊写一个简单的博客体系;熟悉MVC架构,并试着学习一个PHP框架大概Python框架 (可选);·了解Bootstrap的结构大概CSS。
8、超级黑客
这部分内容对零基础的同学来说还比力迢遥,就不展开细说了,附上学习蹊径。

网络安全工程师企业级学习蹊径


如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会复兴的
视频配套资料&国表里网安书籍、文档&工具
固然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

一些笔者自己买的、其他平台白嫖不到的视频教程。

一个人可以走的很快,但一群人才能走的更远。岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待扫码加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-6x56adID-1712623049825)]

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表