文章横幅PC版
文章横幅iPad版
文章横幅手机版

加密的定义_加密是什么?

TIME:2018-05-22 16:53  click: 259 次 来源: 未知

“密码”或“加密系统”用于“加密”数据。对于原始的未加密的数据,我们称之为“明文”;对于加密的结果,我们称之为“密文”。通过称为“解密”的过程,我们把密文恢复成原始的明文。“密钥”是一个重要的概念,我们用它来配置密码系统以实施加密和解密。

在“对称密钥”密码体系中,加密和解密使用的是同样的密钥,另外,还有所谓“公开密钥”加密技术的概念,其中用到的加密和解密密钥是不同的。既然使用不同的密钥,公开加密密钥就成为可能的了一这就是公开密钥这个名字的由来。在公开密钥加密中,加密密钥被相应地称为“公钥”,而解密密钥则需要确保机密,被称为“私钥”。在对称密钥加密中,密钥被称为“对称密钥”。

对于理想的密码系统,要能够确保:在没有密钥的情况下,想从密文恢复出明文是不可能的。也就是说,即使攻击者,如 Trudy,完全了解系统使用的算法以及许多其他的相关信息,她也不能在没有密钥的情况下恢复出明文。这是加密系统的目标,虽然现实往往并非能够如愿以偿。

密码学的基本原则之一是:密码系统的内部工作原理对于攻击者,如 Trudy,是完全可见的,唯一的秘密就是密钥。这就是所谓的 Kerckhoffs原则, kerckhoffs原则由 Anguste kerckhoffs提出:所谓密码系统是安全的,表明可以公开除了密钥之外的整个密码系统的一切内容。与之相对的原则或理念是 security through obscurity其强调通过对系统或算法的保密来实现安全),信不信由你,这个原则确实是因一个名叫Kerckhoffs的家伙而命名的。1883年, Kerckhoffs作为荷兰语言学者和密码专家,列举了6条关于密码设计和使用的基本原则。如今以他的名字命名的原则指出:密码系统决不能强制保密,必须容许可以轻而易举地落入敌方之手,也就是说,密码系统的设计不再是秘密。

Kerckhoff原则的关键是什么呢?毕竟,对于 Trudy来说,如果她不知道密码系统如何工作,攻击加密系统时就必定会更加困难。那么,为什么我们会想要让 Trudy的日子过得更惬意呢?事实上,如果你的安全依赖于秘密设计的系统,那么至少会有下面几个问题。

首先,即使可以保密,所谓“秘密”加密系统的细节也极少会长期保持机密性。逆向工程可能会被用于从软件恢复出算法实现,而且,即使算法嵌入到所谓的防篡改硬件中,有时也仍然会遭受逆向工程攻击,进而被泄露。其次,更加令人担忧的是这样一个事实:当算法本身一旦暴露在公众明察秋毫的视野之下,秘密的加密算法和系统将不再有任何安全性可言,而这样的例子由来已久,层出不穷。你可以找到一个相对而言比较近的例子,其中微软就违背了 Kerckhoffs原则。

密码专家们不会轻易相信加密算法是值得使用的,除非经受住大量密码专家在跨度较长的一段时间内的广泛和公开的分析。最起码的一点就是任何不满足 Kerckhoffs原则的加密算法都是不可信的。换句话说,对于密码系统,要假设都是有问题的,除非被证明是有效可用的。

上一篇:物联网网络安全问题如何解决? 下一篇:数字证书是什么?