参考文章:信息加密技术简介
AES算法的详细介绍与实现
RSA非对称加密算法详解
1 加解密简介
加密的目的就是,不能让发送方和接收方以外的其他第三方明白两者之间传送的数据的意义。举个例子:上课,小明给小红传纸条,中间会途径小王, 那么这个传送的过程中,不能保证小王是否会偷看这个纸条的内容。但是小明想这个纸条只能是我和小红看不想给别人看。于是他跟小红在课下定了一个文字规则, 纸条上的“哈哈”,代表“我”, “呵呵”代表“你”,“老狐狸”代表“老师”, “**”代表“答案”等等。。于是乎他俩传纸条,传出去的字都是经过这种规则去写出来的。小王即使打开了纸条,对于一个不懂文字规则的人简直就是天书。更别提获取啥有价值的八卦信息了。但是小红收到了纸条之后,按照跟小明定好的规则进行还原。就能看明白纸条到底写了啥。
其实这样一个场景,模拟的正是加密和解密的过程。互联网对数据的加解密,大致也就这样的套路。只不过,双方之间加密的规则肯定是要比例子中要复杂的多。
任何一个加密系统至未少包括以下四个部分组成:
1 未加密的报文,称为铭文
2 加密后的报文, 称为密文
3 加密解密的设备或者算法
4 加密解密的秘钥
发送方用加密秘钥,通过加密的设备或者算法,将信息加密后发送出去。接收方在接收到秘闻之后,用解密的秘钥进行密文解密,将密文恢复为铭文。如果传输途中有人窃取,他只能得到无法理解的密文,从而对信息起到保护作用。
2 加密技术分类
加密技术的分类按照标准不同往往有不同的分类。这里只探讨以秘钥为标准划分的分类
对称式加密 收发双方使用相同秘钥的密码,叫做对称式加密。传统的密码都是此类。
非对称式加密 收发双方使用不同秘钥的密码,叫做非对称式加密。如现代密码中的公共秘钥密码就是此类。
3 常见的加密技术介绍
参考文章: 浅谈加密技术
加密技术分为两个元素, 算法和秘钥。算法是将普通的文本或者是可以理解的信息,与一串数字(秘钥)相结合,产生不可理解的密文的步骤。秘钥是用来对数据进行编码和解码的一种参数。在安全保密中,可以通过适当的秘钥加密技术和管理机制来保证网络的信息通信安全。秘钥加密的技术密码分为对称密钥和费对称密钥两种。相应的,对数据加密的技术也分为两类。即对称加密(私人秘钥加密)和非对称加密(公开密钥加密)。
对称加密以数据加密标准DES(Data Encryption Standard)算法为代表。
非对称加密以RSA(Rivest Shamir Adleman)算法为代表。
对称加密的加密秘钥和解密密钥相同,而非对称加密的加密秘钥和解密密钥不同并且其中一把钥匙(公钥)可以公开,而另一把钥匙(私钥)需要自己保密。
3.1对称密码(置换和代换):
如图:
X:为明文,算法的输入
Y: 通过密钥K,加密后的密文
K:为密钥
对称密码(单密密码或传统密码):发送方和接收方使用相同的密钥
步骤: