❶ 公元前500年的古希腊人曾使用了一种着名的加密方法,叫什么名字
公元前500年的古希腊人曾使用了一种着名的加密方法,叫什么名字?
Scytale密码
历史上最早的有记录的密码术应用大约是在公元前5世纪。那个时候,古希腊的斯巴达人使用一种叫作scytale的棍子来传递加密信息。在scytale上,斯巴达人会呈螺旋形地缠绕上一条羊皮纸或皮革。发信人在缠绕的羊皮纸上横着写下相关的信息,然后将羊皮纸取下,这样羊皮纸上就是一些毫无意义的字母顺序。如果要将这条消息解码,收件人只要将羊皮纸再次缠绕在相同直径的棍棒上,这样就可以读出信件的内容了。
有一个故事是这样的:公元前404年,斯巴达的Lysander遇到了一个从波斯回来的信使,他们一行5人中只有这一个人从这趟艰险的旅程中回来了。这个信使解下他的皮带,Lysander将皮带卷在scytale上,读出了信的内容,知道了波斯将要进攻他的意图,因而提前做好了准备
在我以前看过的一本书里,还有这样一个版本(多半是没有什么历史依据的):在古希腊,有个奴隶要通过一个关隘,斯巴达人检查了一下,没有发现什么问题。就在要放行的时候,有个将军突然发现奴隶身上的皮带上刻有字母,于是就把皮带拿来检查,发现这些字母是杂乱无章的,也没有什么头绪。当他无意把皮带卷起来的时候,却发现了上面的秘密,一下子这些字母就排列得规律起来了。就这样,这位将军发现了敌人的阴谋,这个奴隶也被处死了。
其实scytale密码和栅栏密码本质上没有什么区别。
大家可以用一根细长的长方形纸条和一支六角形的铅笔来试着写一下scytale密码比如,我写下了一句话,把纸条取下来后,得到了下面这样的密文:
stte_ _erh_ _ _noe_ _ _dob_ _ _mpr_ _ _osi_ _ _rtd_ _eog
这里用 _ 表示空格,因为铅笔刚好六条边,所以知道空格的多少。(通常可以把空格省略了,或者一般也不知道具体有多少空格。不过我们将会发现,除非整个纸条都写满了,不然总是会有空格的,这也为我们破译时分段带来了方便。)因为这里知道密钥k=6,所以按6个一行(包括空格)来分段,得到下面的样子:
stte_ _
erh_ _ _
noe_ _ _dob_ _ _
mpr_ _
osi_ _ _
rrtd_ _
eog
然后从上到下,一列一列的连起来,就得到了明文:sendmoretroopstothebridge
(send more troops to the bridge)
这里缠绕方向有两个,一个左旋,一个右旋。如果纸条卷的时候,方向反了,比如写的时候是左旋,读的时候是右旋,那么就会是从右到左来读出这条消息的内容。大家可以试一下。Xb1r2YD HV:i
另外,如果写的时候是另一个缠绕方向的话,同样是上面那句话,把纸条取下来后,就可能会得到下面这样的密文: `Vyf/l,iA F
eti_ _ _rsr_ _ _opb_ _ _moe_ _ _dohe_ _nrtg_ _etod_ _sy5tkK!~gv
密钥k=6,所以还是按6个一行(包括空格)来分段,得到下面的样子
eti_ _ _
rsr_ _ _
opb_ _ _
moe_ _ _dohe_ _
nrtg_ _
etod_ _
s
这时候怎样得到明文呢? 哈哈,反过来,从下到上,一列一列的连起来,就得到了明文:
sendmoretroopstothebridge
给大家个练习
练习2. 下面是我把纸条缠在一根火腿肠上,写下的一个句子,得到的密文如下:
toitdarwiuyhwghbdwsnt,这里我把空格省略掉了,看大家破译得出来不?
❷ 加密技术有哪几种
采用密码技术对信息加密,是最常用的安全交易手段。在电子商务中获得广泛应用的加密技术有以下两种:
(1)公共密钥和私用密钥(public key and private key)
这一加密方法亦称为RSA编码法,是由Rivest、Shamir和Adlernan三人所研究发明的。它利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户,而一旦信息加密后,只有用该用户一个人知道的私用密钥才能解密。具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在Internet上传输信息的保密和安全。
(2)数字摘要(digital digest)
这一加密方法亦称安全Hash编码法(SHA:Secure Hash Algorithm)或MD5(MD Standards for Message Digest),由Ron Rivest所设计。该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。这样这摘要便可成为验证明文是否是“真身”的“指纹”了。
上述两种方法可结合起来使用,数字签名就是上述两法结合使用的实例。
3.2数字签名(digital signature)
在书面文件上签名是确认文件的一种手段,签名的作用有两点,一是因为自己的签名难以否认,从而确认了文件已签署这一事实;二是因为签名不易仿冒,从而确定了文件是真的这一事实。数字签名与书面文件签名有相同之处,采用数字签名,也能确认以下两点:
a. 信息是由签名者发送的。
b. 信息在传输过程中未曾作过任何修改。
这样数字签名就可用来防止电子信息因易被修改而有人作伪;或冒用别人名义发送信息;或发出(收到)信件后又加以否认等情况发生。
数字签名采用了双重加密的方法来实现防伪、防赖。其原理为:
(1) 被发送文件用SHA编码加密产生128bit的数字摘要(见上节)。
(2) 发送方用自己的私用密钥对摘要再加密,这就形成了数字签名。
(3) 将原文和加密的摘要同时传给对方。
(4) 对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要。
(5) 将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比。如两者一致,则说明传送过程中信息没有被破坏或篡改过。否则不然。
3.3数字时间戳(digital time-stamp)
交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。
在电子交易中,同样需对交易文件的日期和时间信息采取安全措施,而数字时间戳服务(DTS:digital time-stamp service)就能提供电子文件发表时间的安全保护。
数字时间戳服务(DTS)是网上安全服务项目,由专门的机构提供。时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:1)需加时间戳的文件的摘要(digest),2)DTS收到文件的日期和时间,3)DTS的数字签名。
时间戳产生的过程为:用户首先将需要加时间戳的文件用HASH编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。由Bellcore创造的DTS采用如下的过程:加密时将摘要信息归并到二叉树的数据结构;再将二叉树的根值发表在报纸上,这样更有效地为文件发表时间提供了佐证。注意,书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS来加的,以DTS收到文件的时间为依据。因此,时间戳也可作为科学家的科学发明文献的时间认证。
3.4数字凭证(digital certificate, digital ID)
数字凭证又称为数字证书,是用电子手段来证实一个用户的身份和对网络资源的访问的权限。在网上的电子交易中,如双方出示了各自的数字凭证,并用它来进行交易操作,那么双方都可不必为对方身份的真伪担心。数字凭证可用于电子邮件、电子商务、群件、电子基金转移等各种用途。
数字凭证的内部格式是由CCITT X.509国际标准所规定的,它包含了以下几点:
(1) 凭证拥有者的姓名,
(2) 凭证拥有者的公共密钥,
(3) 公共密钥的有效期,
(4) 颁发数字凭证的单位,
(5) 数字凭证的序列号(Serial number),
(6) 颁发数字凭证单位的数字签名。
数字凭证有三种类型:
(1) 个人凭证(Personal Digital ID):它仅仅为某一个用户提供凭证,以帮助其个人在网上进行安全交易操作。个人身份的数字凭证通常是安装在客户端的浏览器内的。并通过安全的电子邮件(S/MIME)来进行交易操作。
(2) 企业(服务器)凭证(Server ID):它通常为网上的某个Web服务器提供凭证,拥有Web服务器的企业就可以用具有凭证的万维网站点(Web Site)来进行安全电子交易。有凭证的Web服务器会自动地将其与客户端Web浏览器通信的信息加密。
(3) 软件(开发者)凭证(Developer ID):它通常为Internet中被下载的软件提供凭证,该凭证用于和微软公司Authenticode技术(合法化软件)结合的软件,以使用户在下载软件时能获得所需的信息。
上述三类凭证中前二类是常用的凭证,第三类则用于较特殊的场合,大部分认证中心提供前两类凭证,能提供各类凭证的认证中心并不普遍
❸ S/MIME是如何满足电子邮件的加密性、完整性、认证性要求
�绻�挥忻苈胍参薹ǘ链擞始���园踩�C埽��敲苈氡蝗似埔搿� 完整性:使用发件人的电子证书,在邮件发送前对邮件进行数字签名,这样不但可以保证发件人的身份,而且在输送过程中不能被人修改。 认证性:internert是一个虚拟网络,对方无法见面,通过电子证书进行数字签名,可保证认证身份。 PGP和S/MIME的对比:PGP最早出现在1990年,是一种长期在学术圈和技术圈内得到广泛使用的安全邮件标准。其特点是通过单向散列算法对邮件内容进行签名,保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。vPGP和S/MIME这两种协议对一般用户来说,在使用上几乎没有什么差别。但是事实上它们是完全不同的,主要体现在格式上,这就有点像GIF和JPEG两种图形文件,对用户来说,查看图片是没有区别,但它们是两种完全不一样的文件。这也就意味着,由于格式的不同,一个使用PGP的用户不能与另一个使用S/MIME的用户通讯,且他们也不能共享证书。而S/MIME同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。 在outlook中启动加密功能的步骤为:1. 首先在网上申请经过认证的数字证书,例如:中国电子商务网。 2. 进行安装数字证书的过程。 3. 安装完数字证书后,将安装休息反馈给中国电子商务网。 4. 信息得到确认后即表明加密功能已经启用。
❹ 甲要发给乙一封信,他希望信的内容不会被第三方了解和篡改,他应该()。
【答案】:C
希望不会被第三方了解应该对消息进行加密,还希望不被篡改,则应该对消息添加认证码,以证实消息内容是否曾受到篡改。因此甲应该先对明文生成消息认证码,加密附有消息认证码的明文,将得到的密文传输。接收方在接收到密文后,解密得到明文和消息认证码,对明文再次生成消息认证码,对比两个消息认证码便可得知消息内容是否被篡改。
❺ 谁知道加密软件PGP的加密原理是什么
PGP是一个基于RSA公匙加密体系的邮件加密软件。可以用它对你的邮件保密以防止非授权者阅读,它还能对你的邮件加上数字签名从而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了:审慎的密匙管理,一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大有很快的速度。而且它的源代码是免费的。
实际上PGP的功能还不止上面说的:;PGP可以用来加密文件,还可以用PGP代替UUencode;生成;RADIX;64;格式(就是MIME;的;BASE;64格式)的编码文件。
PGP;的创始人是美国的;Phil;Zimmermann。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。
PGP是一种供大众使用的加密软件。加密是为了安全,私密权是一种基本人权。在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分。邮件的安全问题就日益突出了,大家都知道在Internet上传输的数据是不加密的。如果你自己不保护自己的信息,第三者就会轻易获得你的隐秘。;还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,就需要数字签名技术。RSA公匙体系的特点使它非常适合用来满足上述两个要求:
保密性(Privacy)和认证性(Authentication)。
RSA(Rivest-Shamir-Adleman)算法是一种基于大数不可能质因数分解假设的公匙体系。简单地说就是找两个很大的质数,一个公开给世界,一个不告诉任何人。一个称为“公匙”,另一个叫“私匙”(Public;key;&;Secretkey;or;Private;key)。这两个密匙是互补的,就是说用公匙加密的密文可以用私匙解密,反过来也一样。假设甲要寄信给乙,他们互相知道对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可以给乙发信,那么乙就无法确信是不是甲的来信。认证的问题就出现了,这时候数字签名就有用了。
在说明数字签名前先要解释一下什么是“邮件文摘”(message;digest),单地讲就是对一封邮件用某种算法算出一个能体现这封邮件“精华”的数来,一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。确切地说PGP是用一个128位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message;digest;5),MD5的提出者是Ron;Rivest,PGP中使用的代码是由Colin;Plumb编写的,MD5本身是公用软件。所以PGP的法律条款中没有提到它。MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的邮件而与原件具有一样的“精华”。
回到数字签名上来,甲用自己的私匙将上述的128位的“精华”加密,附加在邮件上,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私匙将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的 “精华”来再用甲的公匙解密签名得到的数比较,如果符合就说明这份邮件确实是甲寄来的。这样两个要求都得到了满足。
PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私匙签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。
那么为什么说PGP用的是RSA和传统加密的杂合算法呢?因为RSA算法计算量极大在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法。我先解释一下什么叫传统加密,简单地说就是用一个密匙加密明文,然后用同样的密匙解密。这种方法的代表是DES(US;Fed eral;DataEncryption;Standard),也就是乘法加密,它的主要缺点就是密匙的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。
IDEA;是一个有专利的算法,专利持有者是ETH和一个瑞士公司:Ascom-Tech;AG。
❻ 加密的标准
最早、最着名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年代发展起来的,并经政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI)承认。
DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的每轮密钥值由56位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常快。幸运的是,当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。当时DES被认为是一种十分强大的加密方法。
随着计算机硬件的速度越来越快,制造一台这样特殊的机器的花费已经降到了十万美元左右,而用它来保护十亿美元的银行,那显然是不够保险了。另一方面,如果只用它来保护一台普通服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。
另一种非常着名的加密算法就是RSA了,RSA(Rivest-Shamir-Adleman)算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为公钥(Public key) ,另一个不告诉任何人,称为私钥(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。
假设用户甲要寄信给用户乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信是不是甲的来信呢?那就要用到基于加密技术的数字签名了。
甲用自己的私钥将签名内容加密,附加在邮件后,再用乙的公钥将整个邮件加密(注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和数字签名,然后用甲的公钥解密签名,这样一来就可以确保两方面的安全了。