文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>加密技术、密钥和证书(二)

加密技术、密钥和证书(二)

时间:2005-10-23  来源:rickyweiwei

1.常规密钥密码体制
   常规密钥密码体制,即加密密钥与解密密钥是相同的。
   在早期的常规密钥密码体制中,典型的有代替密码;由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种代替密码进行破译。
2、数字签名
     以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下几点:
   接收者能够核实发送者对报文的签名;发送者事后不能抵赖对报文的签名;接收者不能伪造对报文的签名。
3、CA (Certification Authrity)
CA的出现有效的解决了中间人的攻击。CA(certification authrity)把一个特定的实体和公钥绑在一起。我们把信任建立在一个大家都信任的第三方,从信任第三方来达到信任对方的目的。
4、数字签名 
对文件进行加密只解决了传送信息的保密问题,而防止他人对传输的文件进行破坏,以及如何确定发信人的身份还需要采取其它的手段,这一手段就是数字签名。应用广泛的数字签名方法主要有三种,即:RSA签名、DSS签名和Hash签名。这三种算法可单独使用,也可综合在一起使用。
小结:数字摘要、数字信封 、数字证书、数字签名、数字时间戳

1.常规密钥密码体制

   常规密钥密码体制,即加密密钥与解密密钥是相同的。
   在早期的常规密钥密码体制中,典型的有代替密码;由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种代替密码进行破译。
   2.数据加密标准DES
   DES算法原是IBM公司研制功的,并于1977年颁布使用。ISO也已将DES作为数据加密标准。
   DES对64位二进制数据加密,产生64位密文数据。使用的密钥为64位,实际密钥长度为56位(有8位用于奇偶校验)。解密时的过程和加密时相似,但密钥的顺序正好相反。
DES的保密性仅取决于对密钥的保密,而算法是公开的。DES内部的复杂结构是至今没有找到捷径破译方法的根本原因。现在DES可由软件和硬件实现。美国AT&T首先用LSI芯片实现了DES的全部工作模式,该产品称为数据加密处理机DEP。
   3.公开密钥密码体制
   公开密钥(public key)密码体制出现于1976年。它最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥 ,公开密钥PK和秘密密钥SK。因此,这种体制又称为双钥或非对称密钥密码体制。
   在这种体制中,PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。加密算法E和解密算法D也都是公开的。虽然SK与PK是成对出现,但却不能根据PK计算出SK。公开密钥算法的特点如下:
   1、用加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK(EPK(X))=X  
    2、加密密钥不能用来解密,即DPK(EPK(X))≠X ;加、解密密钥不同
   3、在计算机上可以容易地产生成对的PK和SK。    
      4、从已知的PK实际上不可能推导出SK。
   5、加密和解密的运算可以对调,即:EPK(DSK(X))=X 
        
   在公开密钥密码体制中,最有名的一种是RSA体制。它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密标准。

2、数字签名

      以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下几点:
   接收者能够核实发送者对报文的签名;发送者事后不能抵赖对报文的签名;接收者不能伪造对报文的签名。

   现在已有多种实现各种数字签名的方法,但采用公开密钥算法要比常规算法更容易实现。下面就来介绍这种数字签名。

   A·发送者A用其秘密解密密钥SKA对报文X进行运算,将结果DSKA(X)传送给接收者B。
      B·B用已知的A的公开加密密钥得出EPKA(DSKA(X))=X。因为除A外没有别人能具有A的解密密钥SKA,所以除A外没有别人能产生密文DSKA(X)。这样,报文X就被签名了。(因为私钥只有自己使用,所以用私要处理过的数据具有不可抵赖性)
   C·假若A要抵赖曾发送报文给B。B可将X及DSKA(X)出示给第三者。第三者很容易用PKA去证实A确实发送消息X给B。
      B·反之,如果是B将X伪造成X',则B不能在第三者面前出示DSKA(X')。这样就证明。

电子签名与现实世界中的签名类似,必须保证其唯一性,也就是说别人无法伪造。如果使用公钥的话,无法保持这个属性。因此,一般都是使用私钥作为签名算法密钥。而且,出于安全的目的,现在通常使用两对密钥对,分别用于加密和签名。

私钥公钥的区别不是在他们的用途上,而是在于他们所处的位置;

私钥就是只能在用户端使用,不能给其他人的;而公钥必须分发给所需通讯的对方;

对于加密,公钥私钥都可以进行;而签名只能通过私钥做,公钥做的hash或加密,并不能做为签名来用;

数字签名应该算是不对称加密的一个应用,其中一个必需的过程就是用私钥对前一步生成的摘要进行加密。如果私钥的加密不能提供机密性的保护,那数字签名的效用就要打折扣了。

数字签名中私钥的确不是保证机密性的(尽管RSA算法中私钥可用于加密),而且数字签名是用私钥对消息摘要进行的加密运算,但数字签名是为了保证不可抵赖性的,而保证机密性通常是利用混合加密方式对消息进行对称加密。

相关阅读 更多 +
排行榜 更多 +
枪战特训2

枪战特训2

飞行射击 下载
方块枪战战场安卓版

方块枪战战场安卓版

飞行射击 下载
战斗火力射击安卓版

战斗火力射击安卓版

飞行射击 下载