总体来说,密码算法主要包括对称密码算法和公钥密码算法Р对称密码算法有时也叫秘密密钥算法或单密钥算法,数据发信方将明文(原始数据)和密钥一起经过密码算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,使用密钥及算法的逆运算对密文进行解密,使其恢复成可读明文。Р密码算法简介Р密码算法简介Р公钥密码算法又称为“非对称密码算法”,1976年Diffie和Hellman以及Merkle分别提出,要求密钥成对出现,一个为加密密钥,可以对外公开(又称为公钥),另一个为解密密钥,用户自己唯一拥有(称为私钥)Р两密钥之间存在相互依存关系,用其中任一个密钥加密的信息只能用另一个密钥进行解密,且不可能从其中一个推导出另一个Р密码算法简介Р由对称密码算法和公钥密码算法定义可以看出,采用对称密码算法需要通信双方事先获得共享密钥,而采用公钥密码算法时,人人都可以通过收信者的公钥对文件进行加密,然后发给收信者;而有且只有收信者使用其私钥才能对文件进行解密,这使得通信双方无需事先交换密钥就可进行保密通信。?非对称密码算法较对称密码算法处理速度慢,因此,通常把非对称密码算法与对称密码算法结合起来实现最佳性能,即用非对称密码算法在通信双方之间传送对称密钥,而用对称密码算法来对实际传输的数据加密解密。Р分组密码算法?分组密码算法是将明密文分成固定长度分组,采用相同密钥对每一块加密,输出也是固定长度的密文的密码算法。?比较有名的分组密码算法是上世纪70年代美国确立的数据加密标准DES算法,加密时把明文以64bit为单位分成块,而后通过运算把每一块明文转化成同样长度的密文块。?AES算法是上世纪末,美国为替换3DES算法,面向世界评估确定的高级加密标准算法,明密文分块是128比特。?比较有名的分组密码算法还有3DES算法,IDEA算法,TUOFISH算法等。Р密码算法简介Р密码算法简介Р分组密码算法结构图