密码学概述

我们首先设想一个场景来看看咱们在日常生活中需要哪些方面的安安全需求,然后从需求出发来说说解决方案也就是相应的密码技术.
场景:Alice给Bob发邮件

密码学概述_第1张图片

在这个场景中我们首先思考一下如果是咱们是Alice或者Bob那么我们不希望在这次发邮件的整个过程出现什么安全类型的问题.

Alice

  1. 不希望此次邮件的内容被其他人知道
  2. 不希望此次邮件的内容被其他人篡改曲解我的原意

Bob

  1. 不希望此次邮件是别人伪装发送来的
  2. 不希望此次邮件后对方否认自己没有发送此次邮件
上面的安全类型的问题其实都有相应的威胁名称和技术来解决以下用一张图标来表示出来

密码学概述_第2张图片
上图基本涵盖了密码学中所需要涉及的内容,当然其中的解决方案都是随着技术的不断发展的.
在这里插入图片描述
Attention:

  • 不要使用保密的密码算法,这里的保密的密码算法指的是将密码算法的整个实现过程不公布当众的一种隐藏性的算法.原因,一是从历史上来看,密码算法最终无一例外都会被暴露出来,研究者可以通过逆向工程的手段对齐进行分析,并找出漏洞进行破解,一旦密码算法的详尽信息被纰漏了,那么依靠密码算法本身进行确保机密性的密码系统也就瓦解了.反之,那些公开的算法一开始就没与设想过要保密,因此算法的暴露对他完全没有影响.其次,要比较密码算法的优劣是很困难的,只有通过专业密码破译者数年的尝试任然没有被破解的某个算法,才能说明这种算法是强度较高的,其实稍微聪明的程序员都可以编写出自己的密码系统,这样的密码再外行看起来似乎不肯能破解,但是在专业的密码破译者的眼里是很脆皮的,现在公认的被认为强度较高的密码算法里,几乎都是经过密码者长期尝试的没有被破解而存活下来的.

你可能感兴趣的:(密码学)