荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: baty (新一代懒人), 信区: Database
标  题: [转载] 加密与数字签名
发信站: BBS 荔园晨风站 (Sat Jan 13 16:50:00 2001), 转信

【 以下文字转载自 Security 讨论区 】
【 原文由 nttiger 所发表 】
一、加密

  数据加密技术从技术上的实现分为在软件和硬件两方面。按作用不同,数据加密技
术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术这四种。

  在网络应用中一般采取两种加密形式:对称密钥和公开密钥,采用何种加密算法则
要结合具体应用环境和系统,而不能简单地根据其加密强度来作出判断。因为除了加密
算法本身之外,密钥合理分配、加密效率与现有系统的结合性,以及投入产出分析都应
在实际环境中具体考虑。

  对于对称密钥加密。其常见加密标准为DES等,当使用DES时,用户和接受方采用64
位密钥对报文加密和解密,当对安全性有特殊要求时,则要采取IDEA和三重DES等。作为
传统企业网络广泛应用的加密技术,秘密密钥效率高,它采用KDC来集中管理和分发密钥
并以此为基础验证身份,但是并不适合Internet环境。

  在Internet中使用更多的是公钥系统。即公开密钥加密,它的加密密钥和解密密钥
是不同的。一般对于每个用户生成一对密钥后,将其中一个作为公钥公开,另外一个则
作为私钥由属主保存。常用的公钥加密算法是RSA算法,加密强度很高。具体作法是将数
字签名和数据加密结合起来。发送方在发送数据时必须加上数据签名,做法是用自己的
私钥加密一段与发送数据相关的数据作为数字签名,然后与发送数据一起用接收方密钥
加密。当这些密文被接收方收到后,接收方用自己的私钥将密文解密得到发送的数据和
发送方的数字签名,然后,用发布方公布的公钥对数字签名进行解密,如果成功,则确
定是由发送方发出的。数字签名每次还与被传送的数据和时间等因素有关。由于加密强
度高,而且并不要求通信双方事先要建立某种信任关系或共享某种秘密,因此十分适合
Internet网上使用。

  下面介绍几种最常见的加密体制的技术实现:

  1.常规密钥密码体制

  所谓常规密钥密码体制,即加密密钥与解密密钥是相同的。

  在早期的常规密钥密码体制中,典型的有代替密码,其原理可以用一个例子来说明


  将字母a,b,c,d,…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,
…,Z,A,B,C分别对应(即相差3个字符)。若明文为student则对应的密文为VWXGHQ
W(此时密钥为3)。

  由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以
很容易对这种代替密码进行破译。

  2.数据加密标准DES

  DES算法原是IBM公司为保护产品的机密于1971年至1972年研制成功的,后被美国国
家标准局和国家安全局选为数据加密标准,并于1977年颁布使用。ISO也已将DES作为数
据加密标准。

  DES对64位二进制数据加密,产生64位密文数据。使用的密钥为64位,实际密钥长度
为56位(有8位用于奇偶校验)。解密时的过程和加密时相似,但密钥的顺序正好相反。


  DES的保密性仅取决于对密钥的保密,而算法是公开的。DES内部的复杂结构是至今
没有找到捷径破译方法的根本原因。现在DES可由软件和硬件实现。美国AT&T首先用LS
I芯片实现了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推荐为公开密钥数据加密标准。

二、数字签名

  数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。在这
里,我们介绍数字签名的基本原理。

  以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传
送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下几点


  接收者能够核实发送者对报文的签名;发送者事后不能抵赖对报文的签名;接收者
不能伪造对报文的签名。现在已有多种实现各种数字签名的方法,但采用公开密钥算法
要比常规算法更容易实现。下面就来介绍这种数字签名。

  发送者A用其秘密解密密钥SKA对报文X进行运算,将结果DSKA(X)传送给接收者B。
B用已知的A的公开加密密钥得出EPKA(DSKA(X))=X。因为除A外没有别人能具有A的解
密密钥SKA,所以除A外没有别人能产生密文DSKA(X)。这样,报文X就被签名了。

  假若A要抵赖曾发送报文给B。B可将X及DSKA(X)出示给第三者。第三者很容易用P
KA去证实A确实发送消息X给B。反之,如果是B将X伪造成X',则B不能在第三者面前出示
DSKA(X')。这样就证明B伪造了报文。可以看出,实现数字签名也同时实现了对报文来
源的鉴别。

  但是上述过程只是对报文进行了签名。对传送的报文X本身却未保密。因为截到密文
DSKA(X)并知道发送者身份的任何人,通过查问手册即可获得发送者的公开密钥PKA,
因而能够理解报文内容。则可同时实现秘密通信和数字签名。SKA和SKB分别为A和B的秘
密密钥,而PKA和PKB分别为A和B的公开密钥。

三、密钥的管理

  对称密钥加密方法致命的一个弱点就是它的密钥管理十分困难,因此它很难在电子
商务的实践中得到广泛的应用。在这一点上,公开密钥加密方法占有绝对的优势。不过
,无论实施哪种方案,密钥的管理都是要考虑的问题。当网络扩得更大、用户增加更多
时尤其如此。一家专门从事安全性咨询的公司Cypress Consulting的总裁CyArdoin说:
“在所有加密方案中,都必须有人来管理密钥。”

  目前,公认的有效方法是通过密钥分配中心KDC来管理和分配公开密钥。每个用户只
保存自己的秘密密钥和KDC的公开密钥PKAS。用户可以通过KDC获得任何其他用户的公开
密钥。

  首先,A向KDC申请公开密钥,将信息(A,B)发给KDC。KDC返回给A的信息为(CA,
CB),其中,CA=DSKAS(A,PKA,T1),CB=DSKAS(B,PKB,T2)。CA和CB称为证书(
Certificate),分别含有A和B的公开密钥。KDC使用其解密密钥SKAS对CA和CB进行了签
名,以防止伪造。时间戳T1和T2的作用是防止重放攻击。
最后,A将证书CA和CB传送给B。B获得了A的公开密钥PKA,同时也可检验他自己的公开
密钥PKB。
--
要软件的自己找啦!
ftp://192.168.0.96

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.0.96]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.118]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店