对称加密算法与非对称加密算法

合集下载

说明对称密码算法和非对称密码算法的原理和优缺点

说明对称密码算法和非对称密码算法的原理和优缺点

说明对称密码算法和非对称密码算法的原理和优缺点
对称密码算法:
原理:对称密码算法是一种加密算法,发送方和接收方使用相同的密钥进行加密和解密。

加密过程中,将明文按照一定的规则和算法进行混淆和置换,以产生密文。

解密过程中,使用相同的密钥和算法对密文进行逆向操作,还原出明文。

优点:
1. 加密和解密速度快,适用于大量数据的加密和解密操作。

2. 密钥长度相对较短,不占用过多的存储空间。

3. 实现简单,操作容易。

缺点:
1. 密钥的分发和管理较为困难,存在安全性问题。

2. 无法有效解决密钥传递问题,即如何确保密钥在发送和接收之间的安全传递。

非对称密码算法:
原理:非对称密码算法是一种加密算法,发送方和接收方使用不同的密钥进行加密和解密。

加密过程中,发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。

优点:
1. 安全性高,公钥可以随意公开,只有私钥持有者才能解密密文。

2. 解决了对称密码的密钥分发和管理问题。

缺点:
1. 加密和解密速度较慢,适用于少量数据的加密和解密操作。

2. 密钥长度相对较长,占用较多的存储空间。

3. 实现较为复杂,操作稍微复杂。

总结:
对称密码算法的优点在于速度快、实现简单,但安全性相对较低;非对称密码算法的优点在于安全性高,但加密和解密速度较慢、实现较为复杂。

因此,实际应用中常常采用对称密码算法和非对称密码算法的结合,即非对称密码算法用于密钥分发和管理,对称密码算法用于实际的数据加密和解密。

密码学中的对称加密算法与非对称加密算法比较

密码学中的对称加密算法与非对称加密算法比较

密码学中的对称加密算法与非对称加密算法比较密码学中的对称加密算法和非对称加密算法是两种常见的加密方式。

它们各有优势和不足,下面我将从三个方面进行对比:基本原理、安全性、应用领域。

一、基本原理对比对称加密算法使用相同的密钥进行加密和解密。

常见的对称加密算法有DES、3DES、AES等。

对称加密算法中,明文被分成若干个固定长度的数据块,然后通过一系列的加密操作将明文转换为密文,加密和解密操作是互逆的,即密钥相同时,加密操作的逆操作就是解密操作。

非对称加密算法使用一对密钥,即公钥和私钥进行加密和解密。

常见的非对称加密算法有RSA、ECC等。

公钥可以公开给任何人使用,而私钥必须保密。

非对称加密算法中,通过公钥对明文进行加密,然后使用私钥对密文进行解密。

二、安全性对比对称加密算法的安全性主要依赖于密钥的保密性。

由于加密和解密使用相同的密钥,所以密钥的泄露可能导致所有的加密数据被破解。

因此,对称加密算法的密钥管理非常重要。

另外,由于对称加密算法的加密速度较快,因此很适合对大量数据进行加密。

非对称加密算法的安全性主要依赖于数学难题的复杂性,如大数分解问题、离散对数问题等。

通过使用不同的密钥进行加密和解密,非对称加密算法可以实现相对较高的安全性。

但是,由于非对称加密算法的计算复杂度较高,所以在对大量数据进行加密时,效率较低。

三、应用领域对比对称加密算法通常用于保证数据的机密性,如文件加密、网络通信加密等。

由于对称加密算法的加密速度快,因此在需要高效加密和解密的场景下很常用。

非对称加密算法除了保证数据的机密性,还可以实现数字签名、密钥交换等功能。

数字签名用于对数据的完整性和认证性进行保护,密钥交换用于在通信双方之间安全地传输对称加密算法的密钥。

非对称加密算法由于其安全性较高的特点,适用于需要保证数据安全性和身份验证的场景。

总的来说,对称加密算法和非对称加密算法各有优势,可以根据具体的需求选择合适的加密方式。

对称加密算法适用于加密大量数据,并需要高效加密和解密的场景;非对称加密算法适用于保证数据安全性和身份验证的场景,但在加密速度方面相对较低。

对称加密算法与非对称加密算法

对称加密算法与非对称加密算法

对称加密算法与非对称加密算法对称加密算法,也称为秘密密钥算法,是使用同一个密钥进行加密和解密的一种加密算法。

对称加密算法的主要特点是加密和解密过程使用的密钥是相同的,即发送方和接收方使用相同的密钥对数据进行加密和解密。

常见的对称加密算法有DES、3DES、AES等。

非对称加密算法,也称为公钥密码算法,是使用不同的密钥进行加密和解密的一种加密算法。

非对称加密算法的主要特点是加密和解密过程使用的密钥是不同的,发送方和接收方使用不同的密钥对数据进行加密和解密。

常见的非对称加密算法有RSA、DSA等。

非对称加密算法的原理是使用一对密钥,分别称为公钥和私钥。

公钥可以公开向外界传播,私钥只有持有者自己知道。

发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。

这样,即使公钥被截获,也无法获取到私钥,保证了数据的安全性。

非对称加密算法的优点是密钥的传输和管理较为简单,发送方和接收方无需共享密钥。

然而,非对称加密算法的缺点是算法运算速度较慢,适合对少量数据进行加密和解密。

对称加密算法和非对称加密算法在实际应用中有不同的应用场景。

对称加密算法适用于需要高效加密和解密大量数据的场景,比如网络传输中的数据加密、文件加密等。

非对称加密算法适用于需要保证数据安全性的场景,比如数字签名、加密密钥的分发等。

综上所述,对称加密算法和非对称加密算法是现代密码学中常用的两种加密算法。

它们在加密和解密的原理、密钥的使用方式、应用场景等方面有所差异。

对称加密算法适用于高效加密大量数据的场景,非对称加密算法适用于保证数据安全性的场景。

在实际应用中,可以根据具体需求选择适合的加密算法。

计算机对称加密与非对称加密算法对比

计算机对称加密与非对称加密算法对比

计算机对称加密与非对称加密算法对比目录:一、引言二、对称加密算法1. 原理与过程2. 优点与缺点三、非对称加密算法1. 原理与过程2. 优点与缺点四、对称加密算法与非对称加密算法对比1. 安全性2. 效率3. 使用场景五、结论一、引言随着计算机网络与信息安全的快速发展,加密算法成为保护数据安全的重要手段之一。

对称加密算法和非对称加密算法是常见的两种加密算法,它们各自具有一定的优劣势。

本文将对对称加密算法和非对称加密算法进行对比,以便更好地理解它们的差异和适用场景。

二、对称加密算法1. 原理与过程对称加密算法,也称为私钥加密算法,使用相同的密钥进行加密和解密。

其过程为:发送方将明文使用密钥进行加密,得到密文后发送给接收方,接收方使用相同密钥解密密文,还原成明文。

2. 优点与缺点- 优点:对称加密算法计算速度快,加密解密效率高;密钥较短,传输更方便;适用于大量数据的加密和解密任务。

- 缺点:密钥需提前共享,安全性依赖于密钥的保密性;一旦密钥泄露,数据容易被破解;无法实现安全的密钥交换。

三、非对称加密算法1. 原理与过程非对称加密算法,也称为公钥加密算法,使用一对密钥进行加密和解密:公钥用于加密,私钥用于解密。

发送方使用接收方的公钥对明文加密后得到密文,接收方使用自己的私钥解密密文还原成明文。

2. 优点与缺点- 优点:非对称加密算法安全性高,由于私钥保密,即使公钥被泄露,攻击者也无法解密密文;可实现安全的密钥交换;适用于通信双方之间的安全通信。

- 缺点:计算量大,加密解密效率相对较低;密钥长度长,占用存储空间和传输带宽;不适合加密大量数据,通常用于小数据量的信息加密。

四、对称加密算法与非对称加密算法对比1. 安全性- 对称加密算法的安全性依赖于密钥的保密性,一旦密钥泄露,数据容易被破解。

而非对称加密算法的安全性由于私钥保密,即使公钥泄露,攻击者也无法解密密文。

- 非对称加密算法的安全性更高,但计算量大,适合用于保护少量关键数据;对称加密算法的安全性相对较低,但计算速度快,适用于大量数据的加密。

对称加密和非对称加密

对称加密和非对称加密

对称加密和⾮对称加密⼀、对称加密算法对称加密采⽤了对称密码编码技术,它的特点是⽂件加密和解密使⽤相同的密钥加密也就是密钥也可以⽤作解密密钥,这种⽅法在密码学中叫做对称加密算法,对称加密算法使⽤起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另⼀个对称密钥加密系统是国际数据加密算法(IDEA),它⽐DES的加密性好,⽽且对计算机功能要求也没有那么⾼对称加密算法在电⼦商务交易过程中存在⼏个问题:1、要求提供⼀条安全的渠道使通讯双⽅在⾸次通讯时协商⼀个共同的密钥。

直接的⾯对⾯协商可能是不现实⽽且难于实施的,所以双⽅可能需要借助于邮件和电话等其它相对不够安全的⼿段来进⾏协商;2、密钥的数⽬难于管理。

因为对于每⼀个合作者都需要使⽤不同的密钥,很难适应开放社会中⼤量的信息交流;3、对称加密算法⼀般不能提供信息完整性的鉴别。

它⽆法验证发送者和接受者的⾝份;4、对称密钥的管理和分发⼯作是⼀件具有潜在危险的和烦琐的过程。

对称加密是基于共同保守秘密来实现的,采⽤对称加密技术的贸易双⽅必须保证采⽤的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防⽌密钥泄密和更改密钥的程序。

假设两个⽤户需要使⽤对称加密⽅法加密然后交换数据,则⽤户最少需要2个密钥并交换使⽤,如果企业内⽤户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的⽣成和分发将成为企业信息部门的恶梦。

常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES常⽤算法介绍:(1)DES(Data Encryption Standard,数据加密算法) DES是最基本的对称加密算法,也是使⽤频率最⾼的⼀种算法,加密密钥与解密密钥相同。

DES出⾝⽐较好,出⾃IBM之⼿,后被美国军⽅采纳,之后便⼴泛流传,但是近些年使⽤越来越少,因为DES使⽤56位密钥,以现代计算能⼒,24⼩时内即可被破解。

虽然如此,在某些简单应⽤中,我们还是可以使⽤DES加密算法。

对称加密和非对称加密

对称加密和非对称加密

对称加密和⾮对称加密
1. 对称加密
对称加密指的就是加密和解密使⽤同⼀个秘钥,所以叫做对称加密。

对称加密只有⼀个秘钥,作为私钥。

常见的对称加密算法:DES,AES,3DES等等。

2. ⾮对称加密
⾮对称加密指的是:加密和解密使⽤不同的秘钥,⼀把作为公开的公钥,另⼀把作为私钥。

公钥加密的信息,只有私钥才能解密。

私钥加密的信息,只有公钥才能解密。

常见的⾮对称加密算法:RSA,ECC
md5是⼀种不可逆的加密,⼀定记住是不可逆的。

虽然现在很多算法也可以将md5解密出来但是md5还是具有很⼤程度上的不可逆,⽽且加⼤解密难道使⽤双重加密,很多登录的地⽅⽤到md5加密,那么有些⼈会问我⽤md5加密了服务器怎么解密呢,你要是这么想就错了。

登录时输⼊⽤户的密码这个密码被md5加密后在服务器也存的是这个md5的字符格式,也就是说服务器的数据库存的就是这个格式的字符串,所以服务器那边为什么要解密呢,只要⽐较你客户端发送的md5字符串和它数据库字符串进⾏⽐较就⾏了,⽽且现在APP运营商也很多都不敢保存⽤户的明⽂密码这是对⽤户信息的不负责。

所以在这⾥⼀定记住md5加密是不可逆的。

很多⽹上的解密也只是简单的解密,⽐如你解密得到9,你知道是1+8=9还是2+7=9还是3+6=9呢,想解密也就不⽤md5了,现在md5也只是⽤于数据库存储数据。

常见的几种加密算法

常见的几种加密算法

常见的几种加密算法在信息安全领域中,加密算法被广泛应用于保护数据的机密性、完整性和可靠性。

常见的几种加密算法包括对称加密算法、非对称加密算法和哈希算法。

1. 对称加密算法:对称加密算法使用同一个密钥对信息进行加密和解密。

常见的对称加密算法包括DES(Data Encryption Standard)、3DES(Triple Data Encryption Standard)、AES(AdvancedEncryption Standard)等。

对称加密算法速度快且适合加密大数据量,但由于密钥同样需要传输,因此密钥的安全性成为对称加密算法的一个主要问题。

2. 非对称加密算法:非对称加密算法使用一对密钥,即公钥和私钥,分别用于加密和解密。

公钥可以公开,任何人都可以用公钥加密数据,但只有私钥的持有者才能解密数据。

常见的非对称加密算法包括RSA算法、DSA(Digital Signature Algorithm)算法和ECC(Elliptic Curve Cryptography)算法。

非对称加密算法安全性较高,但加密和解密的过程相对较慢,因此通常与对称加密算法结合使用,提高效率。

3. 哈希算法:哈希算法将任意长度的数据映射为固定长度的哈希值,并具有不可逆性和唯一性。

哈希算法常用于验证数据的完整性和真实性,常见的哈希算法有MD5(Message Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)和SHA-256等。

哈希算法计算速度较快,但由于将不同长度的数据映射为固定长度的哈希值,可能存在哈希碰撞的问题,即不同的数据产生相同的哈希值。

除了上述几种常见的加密算法,还有一些特殊用途的加密算法,例如同态加密算法、椭圆曲线加密算法等。

同态加密算法可以在不解密的情况下对加密数据进行特定运算,保护数据的隐私性。

椭圆曲线加密算法是一种基于椭圆曲线数学问题的加密算法,具有较高的安全性和性能。

三种加密算法范文

三种加密算法范文

三种加密算法范文加密算法是数据安全领域的重要组成部分,用于对敏感数据进行转换,使其难以被未经授权的人解读。

以下是三种常见的加密算法:对称加密算法、非对称加密算法和哈希函数。

1.对称加密算法:对称加密算法是一种使用相同的密钥来加密和解密数据的加密算法。

最常见的对称加密算法包括DES(Data Encryption Standard)、3DES (Triple Data Encryption Algorithm)和AES(Advanced Encryption Standard)。

对称加密算法的优点是加密和解密速度快,适用于对大量数据进行加密。

然而,由于密钥的共享,对称加密算法容易受到密钥泄露和中间人攻击的威胁。

2.非对称加密算法:非对称加密算法使用了一对密钥,公钥用于加密数据,而私钥用于解密数据。

其中最常见的非对称加密算法是RSA(Rivest-Shamir-Adleman)和椭圆曲线加密算法(ECDSA)。

非对称加密算法的优点是安全性较高,由于私钥是保密的,即使公钥泄露,攻击者也无法得到私钥从而解密数据。

然而,由于非对称加密算法运算复杂,加密和解密速度较慢。

3.哈希函数:哈希函数是一种将任意长度的数据转换为固定长度的数据的算法。

最常用的哈希函数包括MD5(Message Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)和SHA-256等。

哈希函数的特点是不可逆和唯一性。

不可逆性指的是无法通过哈希值反向推导出原始数据,唯一性指的是不同的输入会产生不同的哈希值。

哈希函数常用于数据完整性校验和密码存储。

总结:三种加密算法各有优劣。

对称加密算法速度快,但密钥共享容易受到攻击;非对称加密算法安全性较高,但运算复杂;哈希函数可以用于数据完整性校验,但无法逆向计算原始数据。

在实际应用中,通常会结合使用这些算法,以达到更好的数据安全性。

例如,在传输敏感数据时,可以使用非对称加密算法加密对称加密算法的密钥,再用对称加密算法对数据进行加密,同时使用哈希函数对整个数据进行完整性验证。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对称加密
概述
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
{
PasswordDeriveBytes pdb =newPasswordDeriveBytes(password, salt,"SHA256", 1000);
SymmetricAlgorithm sma = Rijndael.Create();
sma.KeySize = 256;
sma.Key = pdb.GetBytes(32);
sma.Padding = PaddingMode.PKCS7;
returnsma;
}
staticvoidEncryptFile(stringinFile,stringoutFile,stringpassword)
{
using(FileStream inFileStream = File.OpenRead(inFile), outFileStream = File.Open(outFile, FileMode.OpenOrCreate))
{
byte[] bytes =newbyte[bufferSize];
intreadSize = -1;
intnumReads = (int)(inFileStream.Length / bufferSize);
intslack = (int)(inFileStream.Length % bufferSize);
首先,简单介绍下这两类算法。图2-1是对称算法的示意图:
图2-1对称算法
在对称算法中,首先需要发送方和接收方协定一个密钥K。K可以是一个密钥对,但是必须要求加密密钥和解密密钥之间能够互相推算出来。在最简单也是最常用的对称算法中,加密和解密共享一个密钥。上图中,我们为了简单期间,使用的就是一个密钥。密钥K为了防止被第三方获取,可以通过一个秘密通道由发送方传送给接收方。当然,这个秘密通道可以是任何形式,如果觉得可以,你甚至可以寄送一封邮件给对方告诉他密钥。
outFileStream.Write(bytes, 0, readSize);
}
outFileStream.Flush();
}
}
}
如上图所以,发送者用接收方公开出来的公钥PK进行加密。接受方在收到密文后,再用与公钥对应的私钥SK进行解密。同样,密文可以被截获,但是由于截获者只有公钥,没有私钥,他不能进行解密。
特性
对称算法的加密和解密表示为:
Ek(M)=C
Dk(C)=M
这种算法具有如下的特性:
Dk(Ek(M))=M
由算法原理所决定的,加密密钥是能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。这些算法要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只有保密需要的通信,密钥才能保密。
应用
网站安全登录,用户身份验证。
软件版权。
加密算法简介
以下是我在Visual Studio 2010中,算法测试中的部分代码。
staticvoidMain()
{
EncryptFile(@"c:\temp.txt",@"c:\tempcm.txt","123");
Console.WriteLine("加¨®密¨¹成¨¦功|!ê?");
对称算法和非对称算法各有优缺点。非对称加密的突出优点是用于解密的密钥(也就是私钥)永远不需要传递给对方。但是,它的缺点也很突出:非对称加密算法复杂,导致加解密速度慢,故只适合小量数据的场合。而对称加密加解密效率高,系统开销小,适合进行大数据量的加解密。由于文件一般比较大,这个特性决定了适合它的加密方式最好是对称加密。非对称加密的实现主要依赖于RSA、Elgamal、背包算法、Rabin、D-H和ECC(椭圆曲线加密算法)。使用最广泛的是RSA算法,Elgamal是另一种常用的非对称加密算法。
特性
非对称加密非对称加密算法的核心就是加密密钥不等于解密密钥,且无法从任意一个密钥推导出另一个密钥,这样就大大加强了信息保护的力度,而且基于密钥对的原理很容易的实现数字签名和电子信封。比较典型的非对称加密算法是RSA算法,它的数学原理是大素数的分解,密钥是成对出现的,一个为公钥,一个是私钥。公钥是公开的,可以用私钥去解公钥加密过的信息,也可以用公钥去解私钥加密过的信息。
非对称加密算法与对称加密算法的区别
首先,用于消息解密的密钥值与用于消息加密的密钥值不同;
其次,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。
AES是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的AES即将作为新标准取代DES。
计算机网络安全
******
学院:软件学院
学生:周宇
学号:**********
时间:2011\10\21
作业1
பைடு நூலகம்作业3
前言:
对加密技术的小感悟:
最近有个小项目需要提供注册码功能,当时对我来说是很纠结的。因为反编译总是有可能的,任何人得到源代码后都有可能将软件破解。可在最近对对称加密和非对称加密的研究中,我发现如果用对称加密做用户的身份验证,而同时把公钥、私钥技术应用于注册码验证,以上的困难就迎刃而解了。因为私钥的所有人是我,既是反编译拿到源代码也无法知道我的私钥,从而保证软件版权。
}
cryptoStream.Flush();
}
}
}
staticvoidDecryptFile(stringinFile,stringoutFile,stringpassword)
{
using(FileStream inFileStream = File.OpenRead(inFile), outFileStream = File.OpenWrite(outFile))
传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。
//初始化向量
staticbyte[] iv = { 134, 216, 7, 36, 88, 164, 91, 227, 174, 76, 191, 197, 192, 154, 200, 248 };
//初始化并返回对称加密算法
staticSymmetricAlgorithm CreateRijndael(stringpassword,byte[] salt)
{
byte[] bytes =newbyte[bufferSize];
intreadSize = -1;
while((readSize = inFileStream.Read(bytes, 0, bytes.Length)) != 0)
{
cryptoStream.Write(bytes, 0, readSize);
DecryptFile(@"c:\tempcm.txt",@"c:\tempm.txt","123");
Console.WriteLine("解a密¨¹成¨¦功|!ê?");
}
//缓冲区大小
staticintbufferSize = 128 * 1024;
//密钥
staticbyte[] salt = { 134, 216, 7, 36, 88, 164, 91, 227, 174, 76, 191, 197, 192, 154, 200, 248 };
using(SymmetricAlgorithm algorithm = CreateRijndael(password, salt))
{
algorithm.IV = iv;
using(CryptoStream cryptoStream =newCryptoStream(outFileStream, algorithm.CreateEncryptor(), CryptoStreamMode.Write))
对称加密中明文通过对称加密成密文,在公开通道中进行传输。这个时候,即便第三方截获了数据,由于他没有掌握密钥,也是解密不了密文的。
非对称加密(公钥、私钥)
概述
非对称加密(又称不对称加密)使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
相关文档
最新文档