国家商用密码算法简介 密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来
密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系
密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等
一.密码学简介 密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法
1 对称密码 对称密码学主要是分组密码和流密码及其应用
分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密
世界上应用较为广泛的包括 DES、3DES、AES,此外还有 Serpent,Tw ofish,MARS 和RC6 等算法
对称加密的工作模式包括电码本模式 (ECB 模式),密码反馈模式(CFB 模式),密码分组链接模式(CBC 模式),输入反馈模式(OFB 模式)等
2 非对称密码 公钥密码体制由 Diffie 和Hellman 所提出
1978 年 Rivest,Shamir 和Adleman 提出 RAS 密码体制,基于大素数分解问题
基于有限域上的离散对数问题产生了 ElGamal 密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制
此外出现了其他公钥密码体制,这些密码体制同样基于困难问题
目前应用较多的包括 RSA、DSA、DH、ECC 等
3 杂凑算法 杂凑算法又称 hash 函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数
这个输出串称为该消息的杂凑值
一个安全的杂凑函数应该至少满足以下几个条件
1) 输入长度是任意的; 2) 输出长度是固定的,根据目前的计算技术应至少取 128bits 长,以便抵抗生日攻击; 3) 对每一个给定的输入,计算