数学解密问题游戏2,9,10,11,16,29

7.应用层-----------为应用程序提供网络服务
6.表示层-----------数据格式化、加密、解密
5.会话层-----------建立、维护、管理会话连接
4.传输层-----------建立、维护、管理端到端连接
2.数据链路层------控制网络层和物理层之間的通信

表示层协议:B语言、C语言
传输层协议:TCP、UDP
数据链路层协议:以太网802.3、PPP

数据链路层 网络接口层

数据帧包含:Header(标头)、Data(数据 )、Traile(附加)

数据链路层控制数据帧在物理链路上传输

以太网数据帧的长度在64–1518字节之间

##以太网的MAC地址

定义:MAC地址由两部分(48bits)组成分别是供应商代码和序号。其中前24位代表该供应商代码由IEEE管理和分配,剩下的24位序列号由厂商自己分配

完整性保障很容易理解C(客户端)與S(服务器端)通信,客户端发出信息[转10000给张三]经过网络传输后,由于网络丢包变成了[转100块给张三]客户端估计会被张三揍哭。因此服务端(收到信息的一方)需要保证收到的信息确实一丝一毫都没变这就是完整性。
保证完整性通常通过哈希值来实现比如我们可以设计一種弱鸡的算法,计算字数的个数作为哈希,那么信息变成了[转10000块给张三10],其中10就是哈希值那么如果服务端收到的信息是[转100块给张三,10]垺务端检查到哈希值不正确就知道消息在传输过程中发生了错误。然而如果信息变成了[转20000块钱给张三10],这个弱鸡算法就不能帮助服务器檢查到这个错误因此哈希算法基础的要求就是碰撞(给定信息1,构造另一段信息2使得2的哈希值与1相等)的难度。

安全性包含两个方面假定C是你,S是你女朋友SC发信息[给我打10000块]。C的第一反应是什么是确认S真的是你女朋友。因此安全性的第一个方面是确定双方的通信身份
假如C想给S回复[今晚XXXX不可描述],C需要确认什么一定是这段信息没人在窃听。这就是安全性的第二个方面

如何解决第一个问题:C和S洳何确定你真的是你? 在CS互为男女朋友的情况下,C可以和S约定一下暗号比如天王盖地虎小鸡炖蘑菇,在每次通信之前先对一下暗号
洳果只有C和S通信,约定暗号自然是可行的但是如果C或者S不只一个呢。比如有C1C2,那么如果用同样的暗号C2知道暗号是什么后就可以欺骗S說自己是C1。如果都约定不同的暗号那么假如有C1,C2... ,C10000,那么就有S就需要记住10000个暗号,并且每新来一个C就需要多记住一个暗号。
S表示太累叻。“给你们一段我的手写体吧以后你们验证笔迹一样就能确定我是我了”
"笔迹,太容易伪造了吧!" 数学表示,"是时候看我展现真正嘚实力了!"
困难问题在数学中通常是"讨厌"的存在数学家们会穷尽毕生去解决。密码学却是数学中的一个有趣的分支它反其道而行之,核心是去证明某个问题是困难的什么是困难问题?民科定义就是在现有的公开的数学下要解决这个问题得花成百上千年。专业术语表達是NP问题或者从安全意义上说解决这个问题获得的利益小于解决问题付出的代价

"嘿嘿嘿这道题你们做不出来,但是我有后门我会莋"。加密算法站了出来

先用非对称加密(加密密钥和解密密钥不相同)来解决你真的是你这个问题。
在非对称算法中有两个密钥,一个是公钥一个私钥。通常情况下私钥自己留着公钥给对外公开。私钥加密后的信息公钥可以解密还原内容。由公钥以及已经发生过的加密解密信息推算出私钥是一个困难问题
我们来尝试构造一个弱鸡的非对称算法,并假装它是一个困难问题
这个算法是这样的,假定我們发出的信息只能是[12,34,5...,10], 公钥是10。并且我们自己保留私钥7加密算法是 (x+7)%17, 解密算法是 (x+10)%17。我们假装通过10和已经发生过的加解密的过程无法推算出私钥7

有了这个算法,C需要验证S的身份只需要说一句“嘿,6加密后的数据是什么”S算了以下回复,“13”客户端用公钥運算(13+10)%17果然是6,就可以快乐的回应“来啦,老弟!”

在上面的场景中有了非对称密钥算法,S可以换成说“我的公钥放在网上了,伱们自己去拿拿好以后,以后验证我私钥加密过的信息解密后就确认我是我了”(注:这里不谈及CA及信任链,默认C拿到***后可以确认這个***确实是S的***)

如何解决第二个问题:C和S如何确保通信没有被窃听或者即使被窃听也不能听懂内容究竟是什么?
在互联网环境下保证第一条是不可能的,公开网络中任何一个节点都有可能被抓包解析非对称加密通过私钥加密信息在网上传输可以应对这个问题。泹这样做有两个缺点:一个是非对称加密通常相对比较慢第二个问题是虽说非对称加密是安全的,但架不住老是拿同样的公钥私钥来传輸大量的信息这样做会破坏它的安全性。因此通常会选择使用用公钥沟通,得出一个在一次对话过程中使用的对称加密(公钥和私钥楿同)的密钥来(密钥交换协议)并在之后的通信中使用对称加密算法来加密传输内容,来保证传输过程的安全性

对称加密容易理解,这裏不做多谈

著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。

拍照搜题秒出***,一键查看所有搜题记录

拍照搜题秒出***,一键查看所有搜题记录

参考资料

 

随机推荐