导航:首页 > 文档加密 > 对称加密还原

对称加密还原

发布时间:2022-09-20 15:01:40

㈠ 分组密码加密模式选择有哪些

分组密码工作模式的应用背景:多次使用相同的密钥对多个分组加密,会引发许多安全问题。为了应对不同场合,因而需要开发出不同的工作模式来增强密码算法的安全性。ECB特别适合数据较少的情况,对于很长的信息或者具有特定结构的信息,其大量重复的信息或固定的字符开头将给密码分析者提供大量的已知明密文对。若明文不是完整的分组,ECB需要进行填充。CBC(Cipher Block Chaining)由于加密算法的每次输入和本明文组没有固定的关系,因此就算有重复的明文组,加密后也看不出来了。为了配合算法的需要,有一个初始向量(IV)。与ECB一样有填充机制以保证完整的分组。CFB(Cipher Feedback)和OFB,CTR模式一样,均可将分组密码当做流密码(实际是将分组大小任意缩减)使用。

㈡ 求简单的对称加密算法!!!!!!!!

其实很简单,所谓解密就是逆过程,你将加密算法的结果设置为x,然后用你加密的公式求解,得到的计算公式就是解密算法,看你用的算法,你可以参考“仿射加密算法”就行了

㈢ 什么是加密技术

1.什么是加密技术?

加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DNS,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。

2.什么是对称加密技术?

对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DNS),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DNS的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。

3.什么是非对称加密技术?

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密 (privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

㈣ 十大常见密码加密方式

一、密钥散列

采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。

二、对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

三、非对称加密

非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

四、数字签名

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。

五、直接明文保存

早期很多这样的做法,比如用户设置的密码是“123”,直接就将“123”保存到数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。

六、使用MD5、SHA1等单向HASH算法保护密码

使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。

七、特殊的单向HASH算法

由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。

八、PBKDF2

该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。

九、BCrypt

BCrypt 在1999年就产生了,并且在对抗 GPU/ASIC 方面要优于 PBKDF2,但是我还是不建议你在新系统中使用它,因为它在离线破解的威胁模型分析中表现并不突出。

十、SCrypt

SCrypt 在如今是一个更好的选择:比 BCrypt设计得更好(尤其是关于内存方面)并且已经在该领域工作了 10 年。另一方面,它也被用于许多加密货币,并且我们有一些硬件(包括 FPGA 和 ASIC)能实现它。 尽管它们专门用于采矿,也可以将其重新用于破解。

㈤ 如何用VB实现RSA加密算法,网上找到了一份代码,没有注释看不懂,请大神解释!!!

RSA算法非常简单,概述如下:
找两素数p和q
取n=p*q
取t=(p-1)*(q-1)
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
取d*e%t==1

这样最终得到三个数: n d e

设消息为数M (M <n)
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。

在对称加密中:
n d两个数构成公钥,可以告诉别人;
n e两个数构成私钥,e自己保留,不让任何人知道。
给别人发送的信息使用e加密,只要别人能用d解开就证明信息是由你发送的,构成了签名机制。
别人给你发送信息时使用d加密,这样只有拥有e的你能够对其解密。

rsa的安全性在于对于一个大数n,没有有效的方法能够将其分解
从而在已知n d的情况下无法获得e;同样在已知n e的情况下无法
求得d。

<二>实践

接下来我们来一个实践,看看实际的操作:
找两个素数:
p=47
q=59
这样
n=p*q=2773
t=(p-1)*(q-1)=2668
取e=63,满足e<t并且e和t互素
用perl简单穷举可以获得满主 e*d%t ==1的数d:
C:\Temp>perl -e "foreach $i (1..9999){ print($i),last if $i*63%2668==1 }"
847
即d=847

最终我们获得关键的
n=2773
d=847
e=63

取消息M=244我们看看

加密:

c=M**d%n = 244**847%2773
用perl的大数计算来算一下:
C:\Temp>perl -Mbigint -e "print 244**847%2773"
465
即用d对M加密后获得加密信息c=465

解密:

我们可以用e来对加密后的c进行解密,还原M:
m=c**e%n=465**63%2773 :
C:\Temp>perl -Mbigint -e "print 465**63%2773"
244
即用e对c解密后获得m=244 , 该值和原始信息M相等。

<三>字符串加密

把上面的过程集成一下我们就能实现一个对字符串加密解密的示例了。
每次取字符串中的一个字符的ascii值作为M进行计算,其输出为加密后16进制
的数的字符串形式,按3字节表示,如01F

代码如下:

#!/usr/bin/perl -w
#RSA 计算过程学习程序编写的测试程序
#watercloud 2003-8-12
#
use strict;
use Math::BigInt;

my %RSA_CORE = (n=>2773,e=>63,d=>847); #p=47,q=59

my $N=new Math::BigInt($RSA_CORE{n});
my $E=new Math::BigInt($RSA_CORE{e});
my $D=new Math::BigInt($RSA_CORE{d});

print "N=$N D=$D E=$E\n";

sub RSA_ENCRYPT
{
my $r_mess = shift @_;
my ($c,$i,$M,$C,$cmess);

for($i=0;$i < length($$r_mess);$i++)
{
$c=ord(substr($$r_mess,$i,1));
$M=Math::BigInt->new($c);
$C=$M->(); $C->bmodpow($D,$N);
$c=sprintf "%03X",$C;
$cmess.=$c;
}
return \$cmess;
}

sub RSA_DECRYPT
{
my $r_mess = shift @_;
my ($c,$i,$M,$C,$dmess);

for($i=0;$i < length($$r_mess);$i+=3)
{
$c=substr($$r_mess,$i,3);
$c=hex($c);
$M=Math::BigInt->new($c);
$C=$M->(); $C->bmodpow($E,$N);
$c=chr($C);
$dmess.=$c;
}
return \$dmess;
}

my $mess="RSA 娃哈哈哈~~~";
$mess=$ARGV[0] if @ARGV >= 1;
print "原始串:",$mess,"\n";

my $r_cmess = RSA_ENCRYPT(\$mess);
print "加密串:",$$r_cmess,"\n";

my $r_dmess = RSA_DECRYPT($r_cmess);
print "解密串:",$$r_dmess,"\n";

#EOF

测试一下:
C:\Temp>perl rsa-test.pl
N=2773 D=847 E=63
原始串:RSA 娃哈哈哈~~~
加密串:
解密串:RSA 娃哈哈哈~~~

C:\Temp>perl rsa-test.pl 安全焦点(xfocus)
N=2773 D=847 E=63
原始串:安全焦点(xfocus)
加密串:
解密串:安全焦点(xfocus)

㈥ 基于对称密钥的认证协议的安全性靠什么来保证

为了保证企业信息的安全性,企业CIMS网至少应该采取以下几项安全措施: (1)数据加密/解密 数据加密的目的是为了隐蔽和保护具有一定密级的信息,既可以用于信息存储,也可以用于信息传输,使其不被非授权方识别。数据解密则是指将被加密的信息还原。通常,用于信息加密和解密的参数,分别称之为加密密钥和解密密钥。对信息进行加密/解密有两种体制,一种是单密钥体制或对称加密体制(如DES),另一种是双密钥体制或不对称加密体制(如RSA)。在单密钥体制中,加密密钥和解密密钥相同。系统的保密性主要取决于密钥的安全性。双密钥体制又称为公开密钥体制,采用双密钥体制的每个用户都有一对选定的密钥,一个是公开的(可由所有人获取),另一个是秘密的(仅由密钥的拥有者知道)。公开密钥体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的信息只能由一个用户解读,或者实现一个用户加密的消息可以由多个用户解读。数据加密/解密技术是所有安全技术的基础。 (2)数字签名 数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充等问题。它与手写签名不同,手写签名反映某个人的个性特征是不变的;而数字签名则随被签的对象而变化,数字签名与被签对象是不可分割的。数字签名一般采用不对称加密技术(如RSA): 通过对被签对象(称为明文)进行某种变换(如文摘),得到一个值,发送者使用自己的秘密密钥对该值进行加密运算,形成签名并附在明文之后传递给接收者;接收者使用发送者的公开密钥对签名进行解密运算,同时对明文实施相同的变换,如其值和解密结果一致,则签名有效,证明本文确实由对应的发送者发送。当然,签名也可以采用其它的方式,用于证实接收者确实收到了某份报文。 (3)身份认证 身份认证也称身份鉴别,其目的是鉴别通信伙伴的身份,或者在对方声称自己的身份之后,能够进行验证。身份认证通常需要加密技术、密钥管理技术、数字签名技术,以及可信机构(鉴别服务站)的支持。可以支持身份认证的协议很多,如Needham-schroedar鉴别协议、X.509鉴别协议、Kerberos鉴别协议等。实施身份认证的基本思路是直接采用不对称加密体制,由称为鉴别服务站的可信机构负责用户的密钥分配和管理,通信伙伴通过声明各自拥有的秘密密钥来证明自己的身份。 (4)访问控制 访问控制的目的是保证网络资源不被未授权地访问和使用。资源访问控制通常采用网络资源矩阵来定义用户对资源的访问权限;对于信息资源,还可以直接利用各种系统(如数据库管理系统)内在的访问控制能力,为不同的用户定义不同的访问权限,有利于信息的有序控制。同样,设备的使用也属于访问控制的范畴,网络中心,尤其是主机房应当加强管理,严禁外人进入。对于跨网的访问控制,签证(Visas)和防火墙是企业CIMS网络建设中可选择的较好技术。 (5)防病毒系统 计算机病毒通常是一段程序或一组指令,其目的是要破坏用户的计算机系统。因此,企业CIMS网必须加强防病毒措施,如安装防病毒卡、驻留防毒软件和定期清毒等,以避免不必要的损失。需要指出的是,病毒软件也在不断地升级,因此应当注意防毒/杀毒软件的更新换代。 (6)加强人员管理 要保证企业CIMS网络的安全性,除了技术上的措施外,人的因素也很重要,因为人是各种安全技术的实施者。在CIMS网中,不管所采用的安全技术多么先进,如果人为的泄密或破坏,那么再先进的安全技术也是徒劳的。因此,在一个CIMS企业中,必须制定安全规则,加强人员管理,避免权力过度集中。这样,才能确保CIMS网的安全。

㈦ 通过工行手机银行转账,遇到“96300170,客户密码加密异常”,怎么解决

通过手机银行转账时,如遇“96300170,客户密码加密异常”提示,是由于电子密码器出现异常,请到柜台更换密码器。

㈧ 对称加密与非对称加密的技术有什么区别

对称加密与非对称加密
对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。
发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密
钥将密文还原成明文。RSA
RC4算法,数据加密标准(DES),国际数据加密
算法(IDEA)以及Skipjack加密技术都属于对称加密方式。
非对称加密,当发送信息时,
发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,
这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,
也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
公用密钥加密技术允许对信息进行数字签名。数字签名使用发送发送一方的
专用密钥对所发送信息的某一部分进行加密。接受方收到该信息后,使用发
送方的公用密钥解密数字签名,验证发送方身份。在对称加密(或叫单密钥
加密)中,只有一个密钥用来加密和解密信息。尽管单密钥加密是一个简单
的过程,但是双方都必须完全的相信对方,并都持有这个密钥的备份。但要
达到这种信任的级别并不是想象中的那么简单。当双方试图建立信任关系时
可能一个安全破坏已经发生了。首先密钥的传输就是一个重要问题,如果它
被截取,那么这个密钥以及相关的重要信息就没有什么安全可言了。非对称
加密在加密的过程中使用一对密钥,而不像对称加密只使用一个单独的密钥
。一对密钥中一个用于加密,另一个用来解密。重要的概念是在这对密钥中一个密钥用来公用
,另一个作为私有的密钥;用来向外公布的叫做公钥,另一半需要安全保护
的是私钥。非对称加密的一个缺点就是加密的速度非常慢,因为需要强烈的
数学运算程序。如果一个用户需要使用非对称加密,那么即使比较少量的信
息可以也要花上几个小时的时间。
非对称加密的另一个名称叫公钥加密
。尽管私钥和公钥都有与数学相关的,但从公钥中确定私钥的值是非常困难
的并且也是非常耗时的。在互联网上通信,非对称加密的密钥管理是容易的
因为公钥可以任易的传播,私钥必须在用户手中小心保护。

㈨ 最着名的对称密码是什么

对称加密系统

随着大型企业管理软件的发展,其应用越来越广泛,企业数据平台涉及局域网、广域网、Internet等,在各类系统中保存的企业关键数据量也越来越大,许多数据需要保存数十年以上,甚至是永久性保存。于是关键业务数据成了企业生存的命脉和宝贵的资源,数据安全性问题越来越突出。如何增强企业软件系统的安全性、保密性、真实性、完整性,成为每一位软件开发人员关注的焦点。
为了解决关键业务的数据安全问题,首先对数据系统进行全面、可靠、安全和多层次的备份是必不可少的,除此以外,各种安全产品,无论防火墙、防病毒、防黑客、防入侵等等,都或多或少地肩负着一些保护数据的责任。从保护数据的角度讲,对数据安全这个广义概念,可以细分为三部分:数据加密、数据传输安全和身份认证管理。
数据加密就是按照确定的密码算法将敏感的明文数据变换成难以识别的密文数据,通过使用不同的密钥,可用同一加密算法将同一明文加密成不同的密文。当需要时,可使用密钥将密文数据还原成明文数据,称为解密。这样就可以实现数据的保密性。数据加密被公认为是保护数据传输安全惟一实用的方法和保护存储数据安全的有效方法,它是数据保护在技术上最重要的防线。
数据传输安全是指数据在传输过程中必须要确保数据的安全性,完整性和不可篡改性。
身份认证的目的是确定系统和网络的访问者是否是合法用户。主要采用登录密码、代表用户身份的物品(如智能卡、IC卡等)或反映用户生理特征的标识鉴别访问者的身份。
数据加密
数据加密技术是最基本的安全技术,被誉为信息安全的核心,最初主要用于保证数据在存储和传输过程中的保密性。它通过变换和置换等各种方法将被保护信息置换成密文,然后再进行信息的存储或传输,即使加密信息在存储或者传输过程为非授权人员所获得,也可以保证这些信息不为其认知,从而达到保护信息的目的。该方法的保密性直接取决于所采用的密码算法和密钥长度。
根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。在对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。目前最着名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等,目前加密强度最高的对称加密算法是高级加密标准AES。
对称加密算法、非对称加密算法和不可逆加密算法可以分别应用于数据加密、身份认证和数据安全传输。
对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。
AES是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的AES即将作为新标准取代DES。
不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。

阅读全文

与对称加密还原相关的资料

热点内容
什么是编译器指令 浏览:219
微控制器逻辑命令使用什么总线 浏览:885
程序员在学校里是学什么的 浏览:601
oraclejava数据类型 浏览:890
程序员考注册会计师 浏览:957
怎么使用access的命令按钮 浏览:899
有点钱app在哪里下载 浏览:832
博途v15解压后无法安装 浏览:205
什么是根服务器主机 浏览:438
安卓手游怎么申请退款 浏览:555
安卓系统如何分享网页 浏览:278
ad如何编译pcb工程 浏览:414
除了滴滴app哪里还能用滴滴 浏览:399
截图怎么保存文件夹然后压缩 浏览:8
幻影服务器怎么样 浏览:27
具体哪些广东公司招程序员 浏览:870
嵌入式编译器教程 浏览:306
ssl数据加密传输 浏览:86
51单片机定时器方式2 浏览:332
命令行查看开机时间 浏览:814