| 浅析信息传输的安全需求与密码算法(图)(2) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2004年09月08日 14:02 计算机与信息技术 | |||||||||
|
文/钱树明 吴灏
密码算法
可以说,没有密码技术就没有信息安全,密码技术是保护信息安全的关键技术。到目前为止,密码技术已经从军事、外交领域走向公开,是结合数学、通信技术和计算机科学等学科于一身的交叉学科。 使用密码技术从根本上来说是对密码算法的使用。根据密码算法所使用的加密密钥和解密密钥是否相同,能否由加密过程推导出解密过程,或由解密过程推导出加密过程,可将密码算法分为对称密码算法(也称单钥密码算法、秘密密钥密码算法、对称密钥密码算法)和公开密钥密码算法(非对称密码算法、也称双钥密码算法、非对称密钥密码算法),除此之外,密码学中还较多使用Hash函数作为辅助的加密算法。 1、公开密钥密码算法 如果一个密码算法的加密密钥和解密密钥不同,或者由其中的一个推导不出另一个,则该算法就是公开密钥密码算法,简称公钥密码算法。使用公钥密码的每一个用户都拥有基于特定公钥算法的一个密钥对(e,d),公钥e公开,公布于用户所在系统认证中心(CA)的目录服务器上,任何人都可以访问,私钥d为所有者保管并严格保密,两者不相同且互为对方的解密密钥。 公钥密码的典型算法有:RSA,ECC,DSA,ElGamal,Diffie-Hellman(DH)密钥交换算法等。公钥密码能够用于数据加密、密钥分发、数字签名、身份认证、信息的完整性认证、信息的非否认性认证等。其中可以用于加密的算法有:RSA,ECC,ElGamal等;可以用于密钥分发的算法有:RSA,ECC,DH等;可以用于数字签名、身份认证、信息的完整性认证、信息的非否认性认证的有RSA,ECC,DSA,ElGamal等。 2、对称密码算法 如果一个密码算法的加密密钥和解密密钥相同,或由其中一个很容易推导出另一个,该算法就是对称密码算法。对称密码的特点是速度快、安全强度高,主要用作数据加密算法。 对称密码根据加密模式又可分为分组密码和序列密码。分组密码的典型算法有:DES, 3DES,IDEA,AES,SKIPJACK,Karn,RC2和RC5等,分组密码是目前在商业领域比较重要使用较多的密码,广泛用于信息的保密传输和加密存储;序列密码的典型算法有:RC4,SEAL,A5等,序列密码多用于流式数据的加密,特别是对实时性要求比较高的语音和视频流的加密传输。 3、单向密码算法 单向密码体制使用单向的散列(Hash)函数,它是从明文到密文的不可逆函数,也就是说只能加密不能还原。单向散列函数H作用于任意长度的信息M,返回一固定长度的散列值(也称摘要信息)h=H(M)。 好的单向散列函数必须具有以下特性: 1) 计算的单向性:给定M和H,求h=H(M)容易,但反过来给定h和H,求M=H-1(h)在计算上是不可行的。 2) 弱碰撞自由:给定M,要寻找另一信息 M′,满足 H(M′)=H(M)在计算上不可行。 3) 强碰撞自由:,要寻找不同的信息M 和M′,满足 H(M′)=H(M)在计算上不可行。 单向散列函数的使用方法为:用散列函数对数据生成散列值并保存,以后每次使用时都对数据使用相同的散列函数进行散列,如果得到的值与保存的散列值相等,则认为数据未被修改(数据完整性验证)或两次所散列的原始数据相同(口令验证)。 典型的散列函数有:MD5,SHA-1,HMAC,GOST等。单向散列函数主要用在一些只需加密不需解密的场合:如验证数据的完整性、口令表的加密、数字签名、身份认证等。 4.密码算法在信息安全需求中的应用 假设在一个电子商务系统中,A公司向B软件公司购买了一套管理软件m,由于相距太远、防止邮寄泄密、追求时效等原因,所以B公司欲通过Internet向A公司交付m(图1)。
[上一页]  [1]  [2]  [3]  [下一页] |


















