加密

在密码学中,加密()是将原始信息(称为明文)转换为另一种形式(称为密文),使之不可读的过程。在理想情况下,只有被授权者才能将密文解密回明文,并访问原始信息。加密本身并不能防止信息在传输中被窃取或干扰,但能防止窃取信息者获得可理解的内容。

因为种种技术原因,加密方法通常使用一个通过算法生成的伪随机密钥。虽然任何加密后的消息即使不知道密钥也可能被破解,但对于一个良好的加密算法而言,破解需要相当多的技术和算力。被授权读取信息的人可以轻松通过发信人所提供的密钥解密信息,但未经授权的人员则不行。

在历史上,密码学中有众多加密方法。早期的加密方法常用于军事通讯。从此开始,现代计算中也出现了众多加密技术,并且加密在现代计算中也变得越来越常见。现代的加密方式通常使用公钥或对称密钥。现代加密技术依赖现代计算机在破解密钥上并不高效的事实来保证其安全性。

历史
古代
最早的加密形式之一是符号替换(代换式密码),被发现于公元前1900年埃及的赫努姆霍特普二世的墓葬中。符号替换加密是一种“非标准的”加密,这意味着符号需要密码算法(即替换规则)或密钥才能被理解。这种早期的加密方式在整个古希腊和罗马范围内被用于军事用途。其中最为知名的军用加密算法之一是凯撒密码(Caesar Cipher):这一算法通过将明文中的字母在字母表中向后移动固定数量的位置来得到密文实现。使用这种方法加密的消息可以使用凯撒密码中的这一“固定数量”(即偏移量)来解密。

约公元800年时,阿拉伯数学家 Al-Kindi 开发了频率分析法——一种对凯撒密码进行系统性破解的尝试。而盟军利用算力严格限制他们需要每天检查的合理组合数量,从而导致了恩尼格玛密码机的失效。

现代
如今,加密被用于商业与安全用途的互联网传输通信中。而随着算力的不断增长,计算机加密也在持续进化,以防止窃听攻击。1999年时,首个现代密码算法之一DES(其使用56位密钥,具有72,057,594,037,927,936种密钥可能性)在22小时15分钟内被EFF的DES破解器通过暴力破解方式破解。而现代加密标准通常使用更为强壮的密钥长度,通常可达256位,如AES-256、Twofish、ChaCha20、Serpent等。一般认为使用128位或更高强度的密钥的加密算法无法被暴力破解,因为总共存在约3.4×10^38种密钥可能性,对于大多数现代计算机的算力无法在可接受的时间内得到密钥(并非绝对不可破解,只是暴力破解需要的成本过高)。对较长密钥的密码的破解的最可能选择是发现密码算法本身漏洞,如流密码RC4由于固有偏移量和缺陷被破解。

分类
对称密钥加密
在对称密钥加密方案中,加密和解密密钥是相同的。通信方必须具有相同的密钥才能实现安全通信。对称密钥的一个典型例子:德国军方的恩尼格玛密码机。这种密码机每天都有密钥设置。当盟军弄清楚机器如何工作时,他们能够在发现给定日期传输的加密密钥后立即解密消息中编码的信息。

公钥加密
在公钥加密(即公开密钥加密)方案中,发布加密密钥供任何人使用和加密消息。但是,只有接收方才能访问能够读取消息的解密密钥。公钥加密最早是在1973年的一份秘密文件中描述的; 之前所有加密方案都是对称密钥加密(也称为私钥)。

應用
加密可以用于保证安全性,但是其它一些技术在保障通信安全方面仍然是必须的,尤其是关于数据完整性和信息验证。例如,訊息鑒別碼(MAC)或者数字签名。

相關軟件
加密或软件编码隐匿(Code Obfuscation)同时也在软件版权保护中,用于对付反向工程,未授权的程序分析,破解和软件盗版及數位內容的數位版權管理(DRM)等。

加密算法
加密算法就是加密的方法。

加密算法可以分为两类:对称加密和非对称加密。

在密码学中,加密是将明文信息隐匿起来,使之在缺少特殊信息时不可读。

对称加密就是将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。

非对称加密,又称公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中。

参见
*密碼學
*數位簽章
*蛮力攻击
*替换式密码
*冷启动攻击
*

参考资料

评论 (0)

  • 还没有评论,来抢沙发吧。