怎么样取消苹果五S下载软件时需要密码 S盒IP密码 S盒

原标题:网络安全之密码技术

本文主要对密码技术的相关背景、发展历程和一些常见的数据加密技术以及加密技术的部分应用做简要的概述和介绍。其目的是让您对于密码技术有初步的认识和了解,同时,尽可能地激发您学习和应用密码技术的兴趣。

密码学(Cryptography)是研究编制密码和破译密码的技术科学。研究编制密码的科学称为密码编码学,而研究密码破译的科学称为密码分析学,两者共同组成了密码学。密码编制的基本思想在于“伪装”信息,使未授权者不能理解它的真正含义。而密码破译则是未授权者想尽一切办法从“伪装后”的消息中获取“有用”的信息。

在现代,密码学特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,此外,它还和信息论、电子学、声学、语言学等密切相关。随着信息化和互联网技术的发展,人们对于信息安全和保密的重要性认识不断提高,如网络银行、电子商务、电子邮件等正在悄悄融入普通百姓的日常生活中,人们自然要关注其安全性如何。而密码学在解决信息的隐私性、可鉴别性、完整性和信息的抗抵赖等方面都发挥着极其重要的作用,它已经成为解决网络信息安全的关键技术和现代数据安全的核心。

密码学的起源几乎可以追溯到人类刚刚出现,并且尝试去学习如何通信的时候。它的发展大致可以分为古典密码学和现代密码学2个阶段。

20世纪中期以前出现的密码都属于是古典密码学的范畴。

早在公元前1900年左右,一位佚名的埃及书吏在碑文中就使用了非标准的象形文字。公元前1500年左右,美索不达米亚的一块板上记录了被加密的陶器上釉规则。斯巴达克人最早将加密技术用于军事消息的传递。他们使用一根有固定面的竿,把一块布缠在竿上,再在竿上书写消息。当把布解开后,上面的字母顺序就全乱了。要想恢复原文,必须将布缠回类似的竿上。

从19世纪末期到20世纪中期左右,随着军事、数学、通信等相关技术的发展,特别是二次世界大战中对军事信息保密传递和破坏敌方信息的需求,密码学得到了比较大的发展,并广泛应用于军事情报部门的决策。

这个阶段的密码学可以说是一种艺术,是一种技巧和经验的综合体。不论是构造好的编码,还是破解已有的编码,都依赖于创造性和个人技巧。密码专家常常凭直觉和信念来进行密码的设计与分析,只有非常少的理论可以依靠,甚至没有一个清晰的定义来说明什么样的编码才是好的。同时,它的主要使用者是军事和智囊机构。

在20世纪中后期,随着计算机信息产业的飞速发展,密码学的面貌从根本上得到了改变,出现了丰富的理论。

1949年,香农(Shannon) 发表了论文《保密系统的通信理论》(《Communication Theory of Secrecy Systems》),首次将信息论引入密码技术的研究中,为现代密码学的研究与发展奠定了坚实的理论基础。

1976年,美国斯坦福大学的著名密码学家Diffie和Hellman发表了论文《密码学的新方向》(《New Directions in Cryptography》),首次提出了公钥密码体制的概念和设计思想,正式掀开了公钥密码研究的序幕,也极大地促进了密码学各个领域的发展。

1977年,Rivest、Shamir 和Adleman首次提出了比较完善的公钥密码算法,即著名的RSA 加密算法。1977年,美国国家标准局首次颁布由 IBM 公司开发设计的数据加密标准(DES,Data Encryption Standard)。这也是密码史上的一个创举。原定服役10年,但是由于在这期间,DES并未受到真正的威胁,因此,它在国际保密通信的舞台上一直活跃了20多年。近年来,随着计算机技术的快速发展,已经有了比较现实的威胁。

2001年,由美国国家标准与技术研究院颁布了高级加密标准(AES,Advanced Encryption Standard)用来替换原来的标准DES。在密码学中,AES又被称为Rijndael加密算法,它是由比利时密码学家Joan Daemen和Vincent Rijmen所设计,已成为当前最为流行的一种密码算法。

这些都是现代密码学发展史上重要的里程碑。密码学已经从一种军事中处理秘密通信的艺术变成一种全世界普通人都可以使用并且非常需要的一门科学。在现代,密码学已经与人们的生活息息相关。例如,为了防止别人查阅你的文件,你可以将文件进行加密;为了防止别人盗刷你的信用卡,你可以设置密码等。

密码技术的一个核心功能是实现保密通信,如图1所示。参与的个体包括发送者(Sender)、接收者(Receiver)和攻击者(Attacker),攻击者也叫敌手。发送者将需要传输的消息或明文(Plaintext)和某一个密钥(Key)输入到一个加密算法中,由加密算法经过一定的运算输出相应的密文(Ciphertext)。然后,经过一定的信道(Channel)传递给接收者。接收者在收到密文后,结合自己拥有的密钥,通过解密算法对密文进行解密而得到相应的明文。通常情况下,信道是不安全的。因此,攻击者可以从中截获密文,其目的是设法在不知道解密密钥的情况下,从密文中获得明文的一些信息。而保密通信就是为了保证攻击者在这种情况下不能成功的一项技术。

图1 保密通信基本模型

对加密体制分类的方法有很多种,下面介绍几种常见的分类方法。

在图1的保密通信模型中,如果发送者的加密密钥与接收者的解密密钥相同,称为对称加密体制;反之,则称为非对称加密体制。习惯上,也称对称加密体制为私钥加密体制(Secret-Key Cryptosystem),而非对称加密体制则称为公钥加密体制(Public-Key Cryptosystem)。在非对称加密体制中,加密密钥一般是公开的,即任何人都可以得到它而进行加密运算。但是,相对应的解密密钥则(必须)是保密的。显然,要实现保密通信,自然要求从加密密钥难以推导出解密密钥。

常见的对称加密方案有DES、AES等。而非对称加密体制中,最典型且最常用的主要有RSA加密体制、El Gamal加密体制等。

2、根据对明文信息的处理方式可以将加密体制分为分组密码(Block Cipher)和流密码(Stream Cipher),流密码也称为序列密码。

简单来说,分组密码是将明文消息按某种方式进行分组形成数据块,而每次进行加密或解密运算时是按数据块来处理的。常用的分组大小是64bit或者128bit。DES和AES都属于分组密码的范畴。而流密码则一般是逐比特进行的。在后面将介绍一个非常经典的流密码算法——Grain。

3、根据加密过程中是否使用随机数可以将加密体制分为概率加密体制和确定性加密体制。

如果在加密算法中使用了除明文和加密密钥以外的随机数,则称它为概率加密体制;相反,如果加密算法除了明文和加密密钥外没有使用任何的随机数,则称为确定性加密体制。显然,对于确定性加密体制来说,一个明文在相同密钥下的密文是确定的,而对概率加密体制来说,则不一定。后面将会看到,在公钥加密体制中,RSA方案就是确定性的,而El Gamal方案则是概率性的。

(四)现代密码学中的其他重要分支

消息认证码和数字签名都是用来验证消息的完整性的。当接收方收到发送方发出的消息时,能够验证该消息是真实、未被篡改的。区别在于消息认证中的接收方和发送方验证密钥是相同的;而数字签名中的接收方密钥和发送方密钥则不相同,而且接收方的验证密钥是可以公开的。

密钥交换协议用于解决通信双方的密钥分配问题。尤其在私钥加密体制中,需要发送方和接收方事先共享一个共同的密钥。而密钥交换协议可以解决通信双方如何共享这一密钥的问题。

认证交换协议是以交换信息的方式来确认对方身份的机制。访问控制机制可以防止非授权的个体使用资源,即控制谁可以访问资源、在什么条件下可以访问、可以访问哪些资源等。此外,一些新型的密码技术也正在不断涌现,如混沌密码、量子密码、DNA密码等,这些新的技术也与传统的密码技术相互结合而不断发展。

对于私钥加密体制,介绍流密码和分组密码的工作机制和原理;对于公钥加密体制,介绍非常著名的RSA密码方案和ElGamal加密方案。

(一)私钥加密体制:流密码

流密码,也叫序列密码,是一种重要的对称密码体制,它具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此,在实际应用中,特别是专用或机密机构中保持着优势。其基本思想是,在加密明文串x=x1x2…时,首先产生一个密钥流z=z1z2…,然后根据式规则进行加密。

其中,e是加密算法,y是对明文x加密所得的密文。

严格来说,序列密码(Stream Cipher)是一个密码学意义上伪随机数生成器(PRG, Pseudorandom Generator),它以密钥(Key)和初始向量(IV)作为输入,输出一串看起来随机的比特串,或者称为密钥流(Keystream)。为了加密明文数据(Data Stream),只需要将这些密钥流与明文简单地按位异或,而在解密时只需要将密文(Ciphertext Stream)与密钥流进行按位异或。具体操作如图2所示。

图2 流密码的工作模式

尽管具体的序列密码方案之间差别很大,但它们有一些共同的特征。一个序列密码一般包括一定数量的内部存储单元,为了抵抗穷搜索攻击,内部存储单元的数量应至少为密钥长度的两倍。给定密钥和初始向量(IV)后,先进行初始化,在这个阶段,密钥和IV以非线性的方式进行混合。初始化完成之后,开始输出密钥流,密钥流的每一比特都是内部状态的某个函数值(这个函数由具体方案定义)。在输出每个比特的同时,内部状态也在不断地更新(更新函数也由具体方案定义),为输出下一个比特做准备。一个特定的序列密码需要明确说明:

①每个密钥与IV对能够输出多长的密钥流;

②多少个IV被用过后需要更换密钥。

线性反馈移位寄存器曾经被广泛用来构造序列密码,常用的模式有前馈模式、非线性组合模式和钟控模式。关于线性移位寄存器的很多理论问题已经得到解决,比如,它们生成序列的周期等于它们的特征多项式的周期;它们生成极大周期序列(m序列)当且仅当特征多项式是本原的等。由于这类生成器内在的线性性质,它们容易遭受代数攻击和相关攻击。后来人们渐渐开始使用非线性反馈移位寄存器,但对于非线性反馈移位寄存器,到现在为止知道的结果还很少,比如,它们生成序列的周期性质、线性复杂度、相关函数、统计特性等。这是序列密码面对的一个重要问题,目前这方面研究仍在进行中。

关于序列密码的安全性,一般假设敌手拥有除密钥以外的任何信息。也就是说,敌手可以适应性地选择一些IV,并得到在未知密钥和此IV下的密钥流序列。而敌手的目标是:

①将密钥流和真正的随机串区分出来(区分攻击);

②将某个中间状态恢复出来(状态恢复攻击);

③将密钥恢复出来(密钥恢复攻击)。

显然,这些目标按照顺序一个比一个更困难。对于一个密钥长度为k bit的序列密码,如果用穷搜索算法,能够在2k时间内将未知密钥恢复出来。因此,一般认为,如果敌手不能在2k时间内达到上述某个目标,则该算法是安全的。目前,常用的流密码攻击方法主要有立方攻击、代数攻击、相关攻击、猜测确定攻击等。

为了推动序列密码的发展,2004年,欧洲启动了eSTREAM序列密码的研究项目,其主要目标是帮助密码研究人员展开对序列密码的研究和设计,并征集“适合广泛应用的新的序列密码方案”。该计划征集了多达34个序列密码方案,这些密码方案几乎涉及了序列密码的各个方面。经过3轮测评,最终有8个算法被选为候选算法。其中,基于带进位反馈移位寄存器的算法F-FCSR,因在2008年9月被发现有漏洞而被从候选算法中除去。eSTREAM计划的提交算法中涌现了很多新的设计思路,同时很多新的漏洞和攻击方法也被挖掘出来,因此,e STREAM计划的候选算法反映了当时序列密码的发展水平。

下面给出eSTREAM计划的7个候选算法之一——Grain的算法描述。Grain有2个版本,Grain?80和Grain?128,密钥长度分别是80bit和128bit。2个版本的设计思路是相同的,为避免重复,只给出Grain?80参数设置。

Grain?80的初始向量IV的长度是64bit。它包含3个主要的部件,即一个线性移位寄存器(LFSR)、一个非线性移位寄存器(NFSR)和一个输出函数(Output Function)。2个移位寄存器的级数和密钥的长度相同,都是80bit。为了描述方便,将LFSR和NFSR在t时刻的状态分别记作:

2个移位寄存器以级联的方式连接,如图3所示。

图3 移位寄存器的连接方式

2个移位寄存器的反馈函数分别为:

在输出密钥流之前要先进行初始化,设密钥为:

初始化向量为IV=(IV, IV1,…, IV63),其中,ki和IVi分别是密钥K和初始化向量(IV)的第i位。初始化过程如下。

首先,将密钥K和初始化向量IV放到2个移位寄存器中:

线性移位寄存器LFSR中剩余的那些位置都赋值为1,即:

然后,触发2个移位寄存器进行160轮迭代,并且在此期间输出函数输出的比特并不进行输出,而是附加到2个移位寄存器上,如图4所示。在完成初始化过程之后就可以进行密钥流输出了。

至此,就完成了Grain?80的算法描述。

(二)私钥加密体制:分组密码

从社会应用密码的需求来看,分组密码是目前国际上最关心的2种加密技术之一(另外一种是后面要介绍的公钥加密体制)。分组密码具有速度快、易于标准化和便于软硬件实施等特点,通常作为信息与网络安全中实现数据加密、消息鉴别、认证以及密钥管理的核心密码算法。最典型的分组密码如DES和AES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转账等非常广泛。

分组密码是将明文串x1x2…划分成长为m的组x=(x1,x2,…,xm),各组分别在密钥k=(k1,k2,…,kt)的控制下变成等长的输出数字序列y=(y1,y2,…,yn)。若n>m,称为有数据扩展的分组密码;若n<m,称为有数据压缩的分组密码;若n=m,称为无数据扩展和压缩的分组密码,通常为这种情况。

设明文x和密文y均为二元数字(0和1)的序列。F2为二元域(含有0和1这2个元素)。

1、数据加密标准DES

Standards),现改为美国国家标准技术研究所(NIST),开始了一项计算机数据保护标准的发展规划。1973年5月15日,NBS在联邦记录中公开征集密码算法,这一举措最终导致了数据加密标准(DES)的研制。它曾是世界上使用最广泛的密码体制,由IBM公司开发,早期被认为是Lucifer密码的改进。DES在1975年3月17日首次被公布在联邦记录中,经过大量公开讨论,于1977年2月15日被批准作为美国联邦信息处理标准,即FIPS-46。大约每隔5年DES会被评估一次,最后一次是在1999年1月。当时已经开始征集DES的替代物。当前DES的地位已经被新的高级加密标准AES替代。但是DES对于推动密码理论的发展和应用起了重大作用。

DES是一个16轮的Feistel型密码,它用长度为56bit的密钥去加密长度为64bit的明文块,产生一个长度为64bit的密文。接下来,描述一下Feistel型密码。

Feistel型密码的第i轮进行步骤如图5所示。首先,将这一轮的输入分为等长的两半Li?1和Ri?1,如果密文的长度是n bit,那么,Li?1和Ri?1的长度都为:

第i轮的轮函数fi的输入和输出也都为:

这一轮的输出Li和Ri定义为:

其中,⊕表示2个比特串的异或。

在一个t轮的Feistel型密码中,将n bit的输入分为(L, R),输出是一个n bit的值(Lt, Rt)。

轮函数不需要满足任何单射条件,Feistel型密码是可逆的。只需要给出任意轮都是可逆的。给定第i轮的输出(Li, Ri),按式规则计算(Li?1, Ri?1)

在上述的介绍中并没有涉及密钥的问题。设Feistel型密码的主密钥为k,从k中可以得到每一轮的子密钥,设第i轮的子密钥为ki。通常,设计Feistel型密码时会给每一轮公开指定Mangler函数,设第i轮的Mangler函数为:

DES的轮函数的输入和输出都是32bit。每一轮的轮函数都是由相同的Mangler函数得到的。轮密钥ki长为48bit,是由一个长为56bit的主密钥k得到的。

DES的加密算法如下。

(1)给定一个明文x,先对x做一个固定的初始置换IP,得到IP(x)=LR,L和R长度都为32bit。

(2)进行16轮式运算

(3)对比特串L16R16做初始置换的逆运算IP?1,获得密文y。

① 根据一个固定的扩展函数E,将f的第一部分输入A扩展成长度为48bit的串。

② 计算E(A) ⊕J , 并将计算结果写成8个长度为6的比特串,记为A

③ 使用8个S盒:S1S2…S8。每个S盒输入为6bit的串,输出为4bit,由一个固定的4×16 阶矩阵来描述,矩阵的每个元素都来自整数0~15。给定一个长度为6的比特串Bi=b1b2…b6,按如下方法计算Si(Bi):用2个比特b1b6对应的整数r(0≤r≤3)决定Si某一i行(将b1b6看做r的二进制表示),4个比特b2b3b4b5对应的整数c(0≤c≤15)决定Si某一列,Si(B i)的取值就是Si的第r行第c列的整数所对应的二进制表示。记Ci=Si(Bi),(0≤i≤8)。

为了参考方便,给出并描述DES 的轮函数f中所使用到的具体函数。分别为S盒、扩展函数E、置换P。具体如下。

例1 如何应用上述的表达来计算一个S盒的输出。考虑S盒S2,并设输入的6元组100110,第一个和第六个比特是10,表示整数2。中间的4个比特0011,表示整数3。S2的标号为行2,列3的数字是11(行标和列标都是从0开始的),二进制表示为1011,所以, S2在输入为100110时的输出是1011。

扩展函数E(如图8所示)。

置换P(如图9所示)。给定一个比特串C=(c1,c2,…,c32), 置换后输出的比特串P(C)为:

DES的解密算法:解密采用同一算法实现,把密文y作为输入,以逆序k16,k15,…, k1使用密钥方案,输出就是明文x。

2、高级加密标准(AES)

1997年1月,美国国家标准技术研究院(NIST)开始筛选新的分组密码的工作来代替DES,该替代者叫作高级加密标准,即AES。AES的基本要求是至少要比三重DES快而且至少要与三重的DES一样安全。分组的长度为128bit,密钥的长度分别为128bit、192bit和256bit。在AES的筛选过程中,NIST主要以3条原则进行评判:安全性、代价、算法的实现特性。算法的安全性是最主要的,如果一个算法不是安全的,就没有实际应用价值;代价是指该算法的实现效率,包括算法的运行速度和存储需求:算法的实现特性是指该算法的灵活性、简洁性以及一些其他的因素。NIST一共收到了15个候选算法,经过公开评测,NIST宣布最终获胜者是比利时学者Daemen和Rijmen提交的Rijndael算法,并于2001年11月作为美国新的数据加密标准(FIPS-197)对外公布。

AES的分组长度为128 bit,它可以使用128 bit、192 bit、256 bit长度的密钥。密钥的长度会影响加密的轮数,但是不会影响每轮加密的方式。当密钥的长度为128 bit时,加密轮数为Nr=10;当密钥长度为192 bit时,加密轮数为Nr=12;当密钥长度为256 bit时,加密轮数为Nr=14。不同于DES的Feistel加密方式,AES的设计主要是基于代换和置换的工作方式。在AES算法执行过程中,加密和解密都会涉及到一个状态(State),每个状态是一个128 bit的字符串。下面先给出一个AES算法的总体操作过程,然后再对每一步做详细描述。

① 输入明文x,将x更新成初始状态State,然后,进行AddRounKey操作,也就是用轮密钥和初始状态做异或操作。

④ 将最后的状态State作为密文输出。

明文x和中间状态State都是由16个字节组成的。State用式4×4字节矩阵表示为:

称该矩阵为状态数组。AES中每一步的变化都是对状态数组来进行处理的。用十六进制来代表一个字节的内容,这样每个字节将含有2个十六进制数字。

它是一个关于字节的非线性变换,将状态中的每个字节非线性的变换为另一个字节。每个字节做两步变换:首先,将一个字节变换为有限域:

中的乘法逆元素,规定00变为00;然后,对结果做式的仿射变换。

也可以通过查表直接得到(十六进制),行标号为X、列标号为Y的项是πs(XY),如图10所示。

图10 πs的矩阵表示

下面,举例说明上面的字节代替变换SubBytes。以十六进制的B9开始。可以得到B9在二进制下的表示为,然后把它表示为域元素:

计算它的乘法逆元,在有限域中为:

一直算到b′7,得到结果是:

以十六进制表示为56,也可以通过查表B9得到56,如图10所示。

它是对一个状态数组的每一行循环左移不同的位移量。第一行保持不变,第二行左移一个位置,第三行左移2个位置,第四行左移3个位置,具体为:

将对一个状态数组每一列进行变换,它将一个状态的每一列视为有限域GF(28)上的多项式

将一个轮子密钥按位异或到一个状态上。子密钥加交换是面向字的(一个字由4个字节组成,即32bit),轮子密钥的长度是4个字。轮子密钥按顺序取自扩展密钥。扩展密钥是原始密钥经过扩展后得到的。扩展密钥的长度为4(Nr+1)个字

至此,已把AES加密所需的所有操作描述完毕。解密算法只需要把所有的操作逆序进行,并逆序使用密钥编排方案。操作ShiftRows、MixColumns、AddRounKey都需要它们的逆操作来代替。

与私钥加密体制不同的是,公钥加密体制不需要加密密钥和解密密钥相同。因此,可以将公钥公开,任何人(包括敌手)都可以得到,而安全性完全依赖于私钥的安全性。一个自然要求是:敌手得到公钥后不能恢复出私钥。公钥密码体制往往是建立在一定的困难性假设上,如大整数分解问题(Factoring)、离散对数问题(Discrete Logarithms)等。

1977年,Rivest、Shamir和Adleman基于大整数分解问题的变体(称为RSA假设)设计了著名的RSA加密。1985年,ElGamal基于离散对数问题的变体(称为判定性Diffie-Hellman假设,即DDH假设)设计了ElGamal加密方案。它们是公钥密码学中最经典的2个方案,下面分别介绍这2个方案。

简单介绍一些所需要的背景知识。首先来介绍大整数分解问题。粗略来讲,大整数分解问题是说,对于随机选择的2个很大的素数p和q,计算N=pq,则任何计算能力受限的算法在得到N后,“很难”计算出N的分解p和q。

定义1 大整数分解假设

当安全参数为1n时,随机选择2个(二进制)长度为n的素数p和q,计算N=pq。对于任意运行时间为n的多项式的算法A在得到1n和N后,计算并输出p和q的概率是“可忽略的”,则称与N相关的大整数分解假设是成立的。

对于满足与φ(N)互素且小于φ(N)的正整数 e,一定存在小于φ(N)的正整数d使ed=1modφ(N),即d=e?11modφ(N)。由欧拉定理可知,对于任意,有αed=αmodN。

与大整数分解假设密切相关的假设是RSA假设。

另外,随机选择。若对于任意运行时间为n的多项式的算法A在得到1n和N,e和y后,输出,满足xe=y mod N的概率是“可忽略的”,则称与N相关的RSA假设成立。

显然,若大整数分解假设不成立,则RSA假设也不成立。因为,若多项式时间的敌手可以将N分解得到p和q,则它可以计算φ(N)=(p?1)(q?1)和d=e?1modφ(N)。输出x=ydmodN即可。

下面给出基于RSA假设的RSA公钥密码体制。具体来说,该密码体制由3个算法组成:密钥生成算法Gen、加密算法Enc和解密算法Dec。

需要强调的是,上述的RSA密码体制是确定性的。即每一个消息在固定的公钥下的加密结果都是确定的。

589=448,然后把密文448通过信道发出。当接收者收到密文448,他将用秘密解密指数来计算44861mod 589=235。

假设G是一个q阶的循环群,则存在一个生成元g∈G使{g,g1,…,gq?1}=G。也就是说,对任意的h∈G,存在一个唯一的x∈ZN,使gx=h成立。称x为h的(在群G中关于g的)离散对数,并记为x=loggh。

直观上说,离散对数假设是指对于计算能力受限的敌手在得到生成元g和一个随机选择的h G∈ 后,“很难”求出h关于g的离散对数。

当安全参数为1n时,生成一个带有生成元g的q阶循环群G,其中,q的(二进制)长度为n。随机地得到1n和(G,g,q)后,输出x∈Zq满足gx=h的概率是“可忽略的”,则称在G中离散对数假设成立。

对于带有生成元g的循环群G和2个群元素h1=gx∈G,h2=gy∈G,定义

选择h∈G。如果对于任意运行时间为n的多项式的算法A在

与离散对数假设类似,当安全参数为1n时,生成一个带有生成元g的q阶循环群G,其中,q的(二进制)长度为n。随机地选择2个群元素h1=gx∈G2,h=gy∈G。如果对于任意运行时间为n的多项式的算法A在得到(1n,G,g,q,h1,h2)后,可以将DH g(h1,2h)和一个随机群元素区分开来的概率是“可忽略的”,则称在G中DDH假设成立。

显然,若在G中离散对数假设不成立,则相应的DDH假设也不成立。

下面描述基于DDH假设的ElGamal公钥密码体制。具体来说,它由3个算法组成:密钥生成算法Gen、加密算法Enc和解密算法Dec。

① Gen:输入安全参数1n。生成一个带有生成元g的q阶循环群G,其中,q的(二进制)长度为n,随机选取 x∈Zq并计算h=gx。输出公钥为pk=(G,q,g,h),私钥为sk=(G,q,g,x)。

需要强调的是,与前面的RSA密码体制不同,上述ElGamal密码体制是概率性的。即每一个消息在固定的公钥下加密结果不是唯一的,而是随着随机数y的变化而变化。

例3 设q=101,g=2。g是模q的生成元。令x=31,则可以得到h=gx=231mod 101=34。假定发送者要传送消息m=55给接收者。如果发送者选择随机数y=43,则计算:

当接收者收到密文(c1=86,c2=6)后,计算

就得到了发送者加密的消息55。

在现代,加密技术已经被广泛应用于计算机科学的各个领域,包括网络通信、信息隐藏、数字版权保护、文件加密、软件加密、电子邮件加密以及数字签名技术等。下面简单介绍一些关于加密技术的常见应用。

TLS(Transport Layer Security)和它的前身SSL(Secure Socket Layer)位于传输层和应用层之间,是为网络通信建立安全通道的协议。它们是针对HTTP通信的安全风险提出并设计的,使用,它工作在OSI模型的第二层或第三层,使用Open SSL库加密数据与控制信息,支持预享私钥、第三方证书、用户名/口令等多种身份认证方法。其技术核心虚拟网卡在很多操作系统下都有相应的实现,是其能够跨平台使用的一个重要原因。

PKI(Public Key Infrastructure)是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,可通过创建、管理、分发、使用、存储和撤销数字证书来支持公钥管理,并提供机密性、认证性、完整性和抗抵赖服务。

一个典型的PKI系统包括PKI策略、软硬件系统、证书机构(CA)、注册机构(RA)、证书发布系统和PKI应用等基本组成部分。

基于PKI技术的IPSec协议现在已经成为架构VPN的基础,它可为路由器之间、防火墙之间或路由器与防火墙之间的通信提供加密和认证。

PGP(Pretty Good Privacy)是一套基于混合加密体系、为数据通信提供机密性和认证性的加密技术,PGP的出现与应用很好地解决了电子邮件的安全传输问题。

SSH协议主要有3个组件:传输层协议、用户认证协议和连接协议。其中,传输层协议提供通信前协商、服务器认证、数据加密、压缩和完整性校验等服务;用户认证协议提供多种认证方式,为服务器提供对客户端的身份鉴别;连接层协议将加密的信息隧道复用成若干个逻辑信道,供更高层的应用协议使用。

(六)数字版权保护技术:DRM

数字版权保护(DRM,Digital Right Management)是一种使用较多的对数字作品进行版权保护的技术手段。DRM 是通过在交易过程中对数字作品的分发和使用进行控制,来对该作品知识产权进行保护的。DRM 的主要服务对象是数字化的书籍、图像、音频、视频资料等出版物。通过在这些数字化的出版物中应用数字版权保护技术,可以有效地防止非授权用户获取或者阅读数字出版物的内容。

DRM综合性地利用了密码学的研究成果,不仅使用了加密技术来对数字媒体进行加密,防止非法获得者得到数字媒体中的明文信息,还充分利用了数字签名对用户身份进行认证,确保只有合法用户才能得到和打开相应的数字媒体。

DRM 的工作原理:首先建立一个可信的授权中心,将编码后的数字媒体利用密钥进行加密保护,加密的数字媒体头部存放着密钥标识(Key ID)和媒体授权中心的网络地址(URL),用户在点播时,根据节目头部的Key ID和URL的信息,就可以通过数字节目授权中心的验证授权后送出相关的密钥解密,此后数字媒体就能进行播放。

DRM 的加密采用公钥加密的方式。公钥用于加密节目内容本身,私钥用于解密节目,私钥还可以防止当媒体头部有被改动或破坏的情况,利用密钥就可以判断出来,从而阻止节目被非法使用。

文件加密是一种在计算机操作系统层上的对写入存储介质的数据进行加密的技术,要求计算机操作系统能够完成对文件中数据的加密操作和输入输出的合理控制。

随着数字化进程的发展,越来越多的不易携带的传统纸介质文档已经被更为方便的移动存储设备所代替。在使用这些方便的移动存储设备进行文件传递或移动的过程中,可能会出现移动设备的丢失或被盗等情况。在这种情况下,移动设备中存放有较为机密的文件就可能会被未经授权的人员查看,从而可能出现机密信息的泄露,导致严重的后果。为了尽可能降低在移动设备失窃情况下机密信息被泄露的可能性,文件加密技术应运而生。为了防止离职人员泄密,自动文件加密成为对文件类数据安全的基本要求。自动文件加密要求在用户使用计算机进行文件编写和复制剪切等操作的过程中,被操作的文件能够自动完成加密和解密过程,不需要操作人员的参与。由于自动加密能够减少人为因素带来的泄密危险,自动化文件加密技术称为文件加密技术的主流趋势。

根据加密对象的不同,可以将文件加密技术分为三类:应用层加密技术、磁盘加密技术、驱动级加密技术。

应用层加密技术主要是通过应用程序来直接进行文件的加解密操作,如Win RAR可以在使用时就设置密码来对所选择的压缩文件进行加密,当用户需要阅读文件的时候,只有输入正确的密码才能够解密得到相应的明文文件。由于这种加密方式对执行加解密的应用程序的依赖程度较高,同时,也存在着很多兼容性上的问题,应用层加密技术已经不再被各大安全厂商所青睐。

磁盘加密技术是对整个磁盘空间进行加密的技术,它能够给用户提供一个安全的工作环境,同时不需要用户对每个文件进行加密。在操作系统启动过程中,用户看不见整个加密过程,在操作系统启动完成后,磁盘中的文件是以明文的形式显示的。但是,由于磁盘加密技术是对整个磁盘的信息进行安全管控,所以大大增加整个系统的负载。

驱动级加密工作于操作系统内核,随着操作系统开机运行,在运行过程中不会被恶意停止。相比于磁盘加密技术,驱动级加密技术会对用户的数据本身进行保护。同时,由于驱动级加密位于操作系统内核,对于用户来说完全是透明的,使用者感觉不到加密过程的存在。这么做的好处是可以在不改变用户习惯操作的基础上保证文件的安全。脱离了安全环境的文件将无法被阅读和使用。

目前,国内外各个安全厂商都有提供针对文件加密的解决方案,其中最出名的加密技术为微软在其操作系统中绑定的Bit Locker,可以进行磁盘加密和驱动级加密。

软件加密技术指的是用户在发送数据之前,首先利用密码学手段对即将传递的数据进行加密,在接收方拿到数据之后使用相应的解密软件进行解密并还原的技术。其中,传递数据的手段可以通过物理传输介质,如光盘或者移动硬盘,也可以通过网络进行传输。软件加密技术广泛应用于软件保护领域,最著名的应用包括软件序列号,用来保护正版软件,通过外界硬件加密设备进行软件的加解密,通过“加壳”来防止黑客进行软件的反编译等。

软件序列号是使用最为广泛的软件加密模式。大多数收费的商业软件都是采用软件序列号的形式进行正版软件的销售和授权。当用户从合法渠道获取到正版软件后,需要注册后才能合法地使用。注册的过程,就是用户通过购买软件公司提供的序列号,再将购买到的序列号输入到软件的认证界面中,通过软件内部的认证机制或者经过网络传输到软件公司的服务器上进行验证。一旦通过验证,用户就可以无阻碍地使用该款软件。但是,在注册过程中,如果软件公司采用的加密算法中有明显的漏洞,恶意用户就可以通过诸如软件注册机、激活工具等软件完成非法注册,从而获得合法的使用权限。

除了软件序列号外,还有通过外接硬件设备的方式进行软件的加解密操作。“加密锁”是最为常用的一种外接式软件加密产品。“加密锁”(也成为“加密狗”),是一种能够插在计算机USB接口上的即插即用式的软硬件结合式加密产品。计算机软件的开发者可以通过“加密锁”提供的接口函数对加密锁的内容进行读写,用以检查计算机是否已插入加密锁,并利用“加密锁”对软件进行加密。被开发者加过密的软件只有利用硬件“加密锁”才能打开,没有插入加密锁或加密锁不匹配都无法使软件正常执行。因此,这种基于硬件保护技术的加密锁可以对软件和数据进行较好的保护,防止知识产权被非法使用。

除了上面 2 种防止用户非法使用具有知识产权的软件的加密技术之外,还有一种专门防止软件非法分析的加密技术——软件加壳。普通的软件在进行反编译之后,会形成开发人员可阅读的代码,从而可以帮助黑客对软件进行分析,窃取该软件的核心技术。软件加壳通过对软件本身的保护性处理,使黑客不能够获得可读的代码,从而保护了软件的核心技术。

软件加壳类型主要有3种:保护型壳、压缩型壳、密码型壳。保护型壳中加入了大量防止调试程序进程分析与脱壳的代码,加壳的时候会先对源程序的代码进行分析,然后进行关键代码替换与加密,替换的过程中会生成相应的解密代码插入到程序中,加壳后的程序执行是分段解密执行的。压缩型壳程序在执行的时候首先会将解压代码自身进行解码,然后再对原程序进行解压。密码型壳一般应用在共享软件的注册上。密码型加壳程序根据用户输入的密码以相应的算法对程序代码区进行加密工作,当程序执行的时候会提示用户输入口令或注册码。如果破解者强行更改密码检测指令,会导致程序不正确地执行,因为被加密的代码并没有用相应的口令进行解码,因而程序不能够被还原。

隐蔽通信技术是信息隐藏技术的一个重要分支。信息隐藏技术是利用载体中存在的冗余信息来隐藏秘密对象的技术,是一个涉及了密码学、信息论、计算机视觉等学科的交叉技术。传统的信息隐藏与信息加密的目的不同,传统的信息加密注重隐藏信息的内容,而信息隐藏注重于隐藏信息的存在性。但两者不能截然分离。现在的信息隐藏打破了传统的密码学的思维方式,从一个全新的角度审视信息安全。现在的信息隐藏技术结合了这2项技术,先将秘密信息进行加密处理,再把加密后的秘密信息放入载体中进行隐藏,使秘密信息的机密性和不可察觉性的效果更好。

隐蔽通信将通信网络和信息隐藏结合起来,以达到隐藏通信的效果。在隐蔽通信中,信息是通过隐藏信道进行传送的,根据可公开的资料来看,隐藏信道主要包括阈下信道和隐蔽信道2种方式。阈下信道是指在基于公钥密码技术的数字签名、认证等应用密码体制的输出密码数据中建立起来的一种隐蔽信道,除指定的接收者外,任何人都不知道有这条信道的存在。此外,由于敌手可以在信道中作为中间人进行消息的监听,通过获取通信双方的数据分组进行通信量分析,从而得到通信双方所要交互的敏感信息,选择一条不会被敌手发现并监听的信道就变得尤为重要。隐蔽信道的主要目标就是为了保护信息不会被敌手发现并进行通信量分析的技术手段。这种技术提供了基于TCP/IP协议的匿名连接,能够从数据流中去掉用户的身份信息。在建立连接时,并不是直接连到目的端主机,而是经过多个代理服务器,层层传递后到达目的端主机。在传递过程中,由第一层的路由设备对整个连接进行多次加密处理,之后每经过一层路由设备,就会进行一次解密操作,直到到达目的端主机后,才将明文完全解密出来,并在连接终止后,清空各层路由设备的信息。由于每层路由设备处理的数据都不一样(加密的原因),敌手就无法持续跟踪整个通信过程,也就无法得到敏感信息了。

在隐蔽通信的实现上,最出名的是洋葱路由器(Tor,The Onion Router)。Tor是第二代洋葱路由的一种实现,用户通过Tor可以在互联网上进行匿名交流。Tor专门防范流量过滤、嗅探分析。其在由“onion routers”(洋葱)组成的表层网(Overlay Network)上进行通信,可以实现匿名对外连接、匿名隐藏服务。

数字签名是通过使用公钥加密领域的技术实现的,用于鉴别数字消息的方法。一套数字签名通常定义2种互补的运算:一个用于签名;另一个用于验证签名的有效性。常用的签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnoor-Shamir算法、Digital Signature Algorithm(DSA)等。除此之外,还有用于特殊环境下的签名方法。盲签名、代理签名、群签名等针对特殊环境下的签名算法大大丰富了数字签名的应用。

虽然数字签名方法多种多样,但是这些方法可以分为2类:直接数字签名和仲裁数字签名。

直接数字签名只涉及通信双方,发送方通过自己的私钥来对整个消息或者消息的散列值进行加密,生成数字签名。之后,再使用接收方的的公钥或者通信双方的共享密钥来对整条消息和签名进行加密,进一步保护消息的机密性。先对消息进行签名,再对签名之后的消息进行加密,这样在发生纠纷时,第三方能够查看消息以及其签名。但是,直接签名方法有一个通用的弱点,这种方法的有效性依赖于发送方私钥的安全性。如果发送方想否认以前曾经发送过的消息,他可以冒称其私钥丢失或者被盗。这样,发送方就可以抵赖自己曾经签名过的消息。为了避免发生发送方抵赖的情况,仲裁数字签名发挥了重要的作用。

仲裁签名中的仲裁者A扮演的是可信第三方的角色,仲裁数字签名的方法也有很多种,但是它们的执行过程很相似。首先,发送方S将要送到接收方R的每条已签名的消息都先送到仲裁者A处。经过仲裁者A对消息和其签名的检查以验证消息的来源和内容,然后给消息加上时间戳并发送给接收方R,同时指出这条消息已经通过仲裁者的检验。如果仲裁者A是可信第三方,A的加入可以有效地避免直接签名中出现的发送方的可抵赖性。一旦A也变得不可信,它就可以伙同发送方共同否认一个已签名的消息,或者伙同接收方共同伪造发送方的签名。为了解决这个问题,采用了公钥加密的方式。首先,发送方S对消息M进行2次加密,先用S自己的私钥sk对消息M进行加密;之后,再用接收方R的公钥对消息进行加密,得到加密后的签名。S再用它的私钥sk对S自己的标识s-ID和之前加密后的签名加密并连同自己的s-ID一同发给A。此时,A收到的消息是经过2次加密的,由于其中使用了接收方R的公钥加密,所以,对除了R外的所有人来说,消息均不能被解密。但是,A可以通过对外层的加密进行解密用以验证消息确实发自S,但是不能够看到消息本身的内容。这样,就可以防止仲裁者A伙同发送方或者接收方来进行联合欺骗。

相对于不加公钥的直接数字签名和仲裁签名,加上公钥的仲裁数字签名的优点有:

(1)通信各方在通信前不共享任何消息,从而避免合作欺骗行为;

(2)即使发送方私钥泄露,但是只要仲裁者的私钥没有泄露,那么时间戳不正确的消息是不会被仲裁者发送的;

(3)消息对于除了发送方和接收方以外的所有人(包括仲裁者)来说是保密的。

数字签名已经被广泛地应用于多种认证协议中。例如,Kerberos认证协议中使用RSA签名技术作为其认证用户身份的数字签名。

为了保障我国商用密码安全,国家密码管理局制定了一系列密码标准,包括SM1、SM2、SM3、SM4、SM7、SM9、ZUC、SSF33等算法。其中,SM1、SM4、SM7、ZUC算法、SSF33是对称算法;SM2、SM9是非对称算法;SM3是散列算法。下面分别进行介绍。

1、SM1分组密码算法

SM1 算法是分组密码算法,分组长度为128 bit,密钥长度也是128 bit,算法安全保密强度及相关软硬件实现性能与AES(高级加密标准)相当,算法不公开,仅以IP核的形式存储于芯片中。

采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

2、SM2椭圆曲线公钥密码算法

SM2算法是椭圆曲线密码机制,但在签名、密钥交换方面不同于椭圆曲线数字签名算法(ECDSA)、椭圆曲线Diffie-Hellman密钥交换协议(ECDH)等国际标准,而是采取了更为安全的机制。SM2标准包括总则、数字签名算法、密钥交换协议和公钥加密算法4个部分,并在每个部分的附录详细说明了实现的相关细节及示例。另外,SM2推荐了一条素数域256bit的曲线作为标准曲线。

SM2总则中首先介绍了算法中用到的域的表示、运算以及域上的椭圆曲线的点的表示、运算。然后介绍了编程语言中的数据转换,包括整数和字节串、字节串和比特串、域元素和字节串、域元素和整数以及点和字节串之间的数据转换规则。详细说明了有限域上椭圆曲线的参数生成方法,并给出了选取的标准以便于验证。最后,给出了用户密钥对的生成方法,用户的密钥对为(d,P),其中,d为用户的私钥,P为用户的公钥,并针对素域和二元扩域给出了公钥有效性的验证方法。总则中的知识也适用于SM9算法。

数字签名算法适用于商用密码应用中的数字签名和验证,可满足多种密码应用中的身份认证、数据完整性和真实性的安全需求。密钥交换协议适用于商用密码应用中的密钥交换,可满足通信双方经过2次或3次信息传递过程,通过计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。公钥加密算法适用于国家商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解密,获取消息。

数字签名算法、密钥交换协议以及公钥加密算法都使用了国家密码管理局批准的 SM3密码杂凑算法和随机数生成器。数字签名算法、密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线的相关参数,并生成密钥对,具体算法和流程可查阅SM2标准。

3、SM3密码杂凑算法

SM3密码杂凑算法给出了杂凑算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求,在SM2、SM9标准中使用。此算法对输入长度小于264bit的消息,经过填充和迭代压缩,生成长度为256 bit的杂凑值。其中,使用了异或、模、模加、移位、与、或、非运算,由填充、迭代过程、消息扩展和压缩函数所构成。具体算法及运算示例可查阅SM3标准。

4、SM4分组密码算法

SM4算法是分组密码算法,用于无线局域网产品。该算法的分组长度和密钥长度均为128 bit。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中,轮函数由一个非线性变换和一个线性变换复合而成,非线性变换由S盒所给出。SM4算法的具体描述和示例可查阅SM4标准。

5、SM7分组密码算法

SM7算法是一种分组密码算法,分组长度和密钥长度都是128bit。SM7的算法文本目前没有公开发布。SM7适用于非接触式IC卡应用,包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。

6、SM9非对称密码算法

SM9是基于标识的密码算法,与SM2类似,包含4个部分:总则、数字签名算法、密钥交换协议以及密钥封装机制、公钥加密算法。在这些算法中使用了椭圆曲线上的双线性对,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,即公钥与用户的身份信息相关,从而比传统意义上的公钥密码体制优越,省去了证书管理等。

数字签名算法适用于接收者通过签名者的标识验证数据的完整性和数据发送者的身份,也适用于第三方确定签名的真实性及所签数据的完整性。密钥交换协议可以实现通信双方通过双方的标识和自身的私钥经过2次或者3次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。密钥封装机制可以封装密钥给特定的实体。公钥加密和解密算法是基于标识的非对称密码算法,该算法使消息发送者可以利用接收者的标识对消息进行加密,唯有接收者可以用相应的私钥对密文进行解密,从而获取消息。基于双线性对的数字签名算法、密钥交换协议以及密钥封装机制、公钥加密算法的具体算法,流程图和示例见SM9标准。

祖冲之算法集(ZUC算法)是由我国学者自主设计的加密和完整性算法,包括祖冲之算法、加密算法128?EEA3和完整性算法128?EIA3,已经被国际组织3GPP推荐为4G无线通信的第三套国际加密、完整性标准的侯选算法。祖冲之密码算法的名字源于我国古代数学家祖冲之,是一种流密码。它是2个新算法的核心,这2个算法分别是加密算法128?EEA3和完整性算法128?EIA3。祖冲之算法由3个基本部分组成:比特重组、非线性函数F、线性反馈移位寄存器。祖冲之密码算法成为国际标准,代表我国商用密码算法首次走出国门参与国际标准竞争并取得重大突破。

SSF33算法是由国家密码管理局编制的一种商用分组密码算法,分组长度和密钥长度都为128 bit,该算法不公开,仅以IP核的形式存在于芯片中。但是SSF33算法性能比较差,因此在实用中,逐步被SM1、SM4代替。

目前国际上的密码技术标准主要包括由美国国家标准技术研究所(NIST)制定的加密技术标准(DES、3DES、AES)、安全散列标准(SHS)以及数字签名标准(DSS),还有美国RSA实验室制定的PKCS系列公钥密码标准。

前面已经详细地介绍了这一标准。目前,DES现在已经不被视为一种安全的加密算法,主要因为它使用的56 bit密钥过短。1999年1月,distributed.net与电子前哨基金会合作,在22 h 15 min内即公开破解了一个DES密钥。

Algorithm)的通称。它相当于对每个数据块应用3次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的分组密码算法。由于密钥长度增加,安全性比DES虽有所增强,但性能有所下降。使用2个密钥的3DES已经广泛地替代了DES,并已用于密钥管理标准ANS

前面详细地介绍过AES标准。如今,它已经成为对称密码加密中最流行的算法之一。

PKCS是由美国RSA实验室及其合作伙伴制定的一系列公钥密码学标准,其中包括公钥加密算法、密钥交换协议、数字签名算法、数字信封的格式以及证书申请、证书更新、证书作废表发布、扩展证书内容等方面的相关协议。标准中使用的核心算法是RSA算法。

SHS,即安全散列标准(Secure Hash Standard),它包含SHA?1和SHA?2这2种算法。安全散列算法(SHA)是一种将任意长度的消息变换成固定长度的消息摘要的算法,用于消息的完整性检验,一般和其他的密码算法(如数字签名算法、消息验证码)结合使用。消息摘要的长度从160~512 bit,依赖于所使用的具体算法。SHA?1在许多安全协议中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的杂凑函数)的后继者。SHA?2包括SHA?224、SHA?256、SHA?384、SHA?512、SHA?512/224和SHA?512/256。散列算法运行很快,其中,SHA2的性能略低于SHA1。

Standard),是由美国国家标准与技术研究所制定的一种联邦信息处理标准。数字签名,也称为电子签名,是附加在电子形式消息上的一些数据,用于确认消息的来源和消息的完整性。目前,数字签名主要是基于公钥密码体制,签名者用自己的私钥对消息签名,验证者用签名者的公钥进行验证,数字签名必须至少具备手写签名的2个性质,即可验证性与不可伪造性。数字签名可以用于电子商务、电子政务和电子选举,在电子邮件、电子资金转账、电子数据交换、软件分发和数据存储等方面有着广阔的应用前景。

DSS最初的版本是1991年的FIPS 186,该版本只包含一种算法,即数字签名算法(DSA),之后经过修订,最新版本中除了DSA,还包括RSA数字签名算法和椭圆曲线数字签名算法(ECDSA)。DSA是El Gamal数字签名算法的变形,它的安全性是基于乘法群上求解离散对数的困难性。DSA的优势为签名更短、效率更高。RSA数字签名算法是由Rivest、Shamir和Adleman于1978年提出的,它是现有签名方案中最易于理解和实现的签名方案,也是目前应用最广泛的公钥密码体制,也被用于ISO/IEC14888?2:2008、ANS X9.31和PKCS #1等标准中。RSA签名算法的缺点为速度较慢、签名较长。椭圆曲线数字签名算法是使用椭圆曲线对数字签名算法的模拟。它先后成为ANSI、IEEE、NIST和ISO的标准,其他的一些组织也正在考虑将其作为标准。由于ECDSA具有处理速度快、系统参数小、密钥尺寸小、抗攻击性强和带宽要求低等优点,它在电子商务、电子政务和电子选举等领域中得到了广泛应用。

139.热点是(无线接入点)

140.以下属于防范假冒热点攻击的措施是(要打开WIFI的自动连接功能)

141.关闭WIFI的自动连接功能可以防范(假冒热点攻击)

142.乱扫二维码,支付宝的钱被盗,主要是中了(木马)

143.以下可能携带病毒或木马的是(二维码)

144.二维码中存储的是信息(网址)

145.恶意二维码一般出现在(D)

146.越狱是针对公司产品的(苹果)

147.在使用苹果公司产品时,为了想获得root权限,很多用户采取违反法律的手段,这个手段通常被称为(越狱)

148.越狱是为了获得权限(.Root权限

149.为什么很多人在使用智能手机时选择越狱(安装非官方软件)

150.越狱的好处是(安装免费软件)

1988年Morris蠕虫事件,就是作为其入侵的最初突破点的

(利用邮件系统的脆弱性)

152.下列对垃圾邮件说法错误的是(A)

A.用户减少电子邮件的使用完全是因为垃圾邮件的影响

B.降低了用户对Email的信任

C.邮件服务商可以对垃圾邮件进行屏蔽

D.有价值的信息淹没在大量的垃圾邮件中,很容易被误删

154.以下无助于减少收到垃圾邮件数量的是(C)

A.使用垃圾邮件筛选器帮助阻止垃圾邮件

B.共享电子邮件地址或即时消息地址时应该小心谨慎

D.收到垃圾邮件后向有关部门举报

155.抵御电子邮箱口令破解的措施中,不正确的是(D)

A.不要用生日做密码B.不要使用少于5位的密码

C.不要使用纯数字D.自己做服务器

156.抵御电子邮箱口令破解的措施中,正确的是(D)

A.不要用生日做密码B.不要使用少于5位的密码

C.不要使用纯数字D.以上全部

157.邮件炸弹攻击是指(添满被攻击者邮箱)

159.为了防范垃圾电子邮件,互联网电子邮件服务提供者应当按照信息产业部制定的技术标准建设互联网电子邮件服务系统,电子邮件服务器匿名转发功能(关闭)

160.互联网电子邮件服务提供者对用户的和互联网电子邮件地址负有保密的义务(个人注册信息)

161.互联网电子邮件服务提供者对用户的个人注册信息和负有保密的义务(互联网电子邮件地址)

163.任何组织或个人不得利用互联网电子邮件从事传播淫秽色情信息、窃取他人信息等违法犯罪活动,否则构成犯罪的,依法追究刑事责任,尚不构成犯罪的,由公安机关等依照有关法律、行政法规的规定予以处罚;电信业务提供者从事上述活动的,并由电信管理机构依据有关行政法规处罚(故意传播计算机病毒)

164.服务用来保证收发双方不能对已发送或接收的信息予以否认防抵赖

165.在网络安全中,中断指攻击者破坏网络系统的资源,使之变成无效的或无用的。

这是对(可用性的攻击)

166.下列情况中,破坏了数据的完整性的攻击是(数据在传输中途被篡改)

167.破坏可用性的网络攻击是(向网站发送大量垃圾信息,使网络超载或瘫痪)

168.定期对系统和数据进行备份,在发生灾难时进行恢复。该机制是为了满足信息安全的属性(可用性)

169.从安全属性对各种网络攻击进行分类,阻断攻击是针对的攻击(可用性)

170.数据加密是为了达到网络信息安全建设的目的(“看不懂”)

171.从安全属性对各种网络攻击进行分类,截获攻击是针对的攻击(机密性)

172.可以被数据完整性机制防止的攻击方式是(数据在途中被攻击者篡改或破坏)

174.下列情况中,破坏了数据的保密性的攻击是(数据在传输中途被窃听)

176.得到授权的实体需要时,就能得到资源和获得相应的服务,这一属性指的是(可用性)

177.通信双方对其收、发过的信息均不可抵赖的特性指的是(不可抵赖性)

178.信息安全风险是指人为或自然的利用信息系统及其管理体系中存在的导致安全事件的发生及其对组织造成的影响(威胁、脆弱性)

179.风险评估的三个要素是(资产,威胁和脆弱性)

180.风险评估包括(D)

A.资产评估B.脆弱性评估C.威胁评估D.以上都是

181.风险评估不包括(D)

A.资产评估B.脆弱性评估C.威胁评估D.安全性评估

182.风险评估的方法主要有(D)

A.定性B.定量C.定性和定量相结合D.以上都是

184.就是要考虑由于人为的或自然的威胁因素可能对信息系统造成的危害及由此可能带来的损失(风险分析)

185.信息安全风险评估报告不当包括(B)

A.评估范围B.评估经费C.评估依据D.评估结论和整改建议

186.信息安全风险评估报告应当包括(D)

A.评估范围B.评估依据C.评估结论和整改建议D.以上全部

187.风险是丢失需要保护的资产的可能性

188.风险是的综合结果(漏洞和威胁)

191.信息安全风险缺口是指(IT的发展与安全投入,安全意识和安全手段的不平衡)

192.美国国防部发布的可信计算机系统评估标准(TCSEC)定义了个等级(七)

193.橘皮书定义了4个安全层次,从D层(最低保护层)到A层(验证性保护层),属于D级的系统是不安全的,以下操作系统中不属于C级的是(D)

194.所谓的可信任系统(TrustedSystem)是美国国防部定义的安全操作系统标准,常用的操作系统UNIX和WindowsNT等可以达到该标准的级(C2)

195.下面是我国自己的计算机安全评估机构的是(ITSEC

196.TCSEC定义的属于D级的系统是不安全的,以下操作系统中属于D级的是(DOS)

198.《信息系统安全等级保护基本要求》中对不同级别的信息系统应具备的基本安全保护能力进行了要求,共划分为级(4)

199.根据《信息系统安全等级保护定级指南》,信息系统的安全保护等级由哪两个定级要素决定(受侵害的客体、对客体造成侵害的程度)

200.对称密钥密码体制的主要缺点是(密钥的分配和管理问题)

201.下面属于对称算法的是(B)

A.数字签名B.序列算法C.RSA算法D.数字水印

202.下面不属于对称算法的是(D)

203.DES算法密钥是64位,因为其中一些位是用作校验的,密钥的实际有效位是位(56)

204.以下选项属于对称算法的是(AES)

205.假设使用一种加密算法,它的加密方法很简单:将每一个字母加5,即a加密成f。这种算法的密钥就是5,那么它属于(对称加密技术)

206.假设使用一种加密算法,它的加密方法很简单:在26个英文字母范围内,依次将a加密成f,b加密成g,...,z加密成e。这种算法的密钥就是(5)

207.DES加密的三个重要操作不包括(D)

A.扩展置换B.S盒变换C.P盒变换D.随机变换

208.在计算机密码技术中,通信双方使用一对密钥,即一个私人密钥和一个公开密钥,

密钥对中的一个必须保持秘密状态,而另一个则被广泛发布,这种密码技术是(C)

A.对称算法B.保密密钥算法C.公开密钥算法D.数字签名

209.若A给B发送一封邮件,并想让B能验证邮件是由A发出的,则A应该选用对邮件加密(A的私钥)

210.“公开密钥密码体制”的含义是(将公开密钥公开,私有密钥保密)

211.以下算法中属于非对称算法的是(RSA算法)

212.非对称密码算法具有很多优点,其中不包括(B)

A.可提供数字签名、零知识证明等额外服务

B.加密/解密速度快,不需占用较多资源

C.通信双方事先不需要通过保密信道交换密钥

D.密钥持有量大大减少

214.PGP加密技术是一个基于RSA公钥加密体系的邮件加密软件

215.是最常用的公钥密码算法(RSA)

216.除了秘密传输以外,下列A.公用目录表B.公钥管理机构C.公钥证书都属于公钥的分配方法

217.关于散列函数,叙述不正确的是(C)

A.输入任意大小的消息,输出是一个长度固定的摘要

B.散列函数是陷门的单向函数,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息C.输入消息中的任何变动都不会对输出摘要产生影响

D.可以防止消息被篡改

218.数字签名要预先使用单向Hash函数进行处理的原因是缩短待签名信息的长度

219.对散列函数最好的攻击方式是(生日攻击)

220.弱口令可以通过穷举攻击方式来破解

221.身份认证的含义是(验证合法用户)

222.口令是的组合(字母与数字)

223.认证技术不包括IP认证)

A.消息认证B.身份认证D.数字签名

224.消息认证的内容不包括(C)

A.证实消息发送者和接收者的真实性

B.消息内容是否曾受到偶然或有意的篡改

225.以下生物鉴定设备具有最低的误报率的是(指纹识别)

226.以下鉴别机制不属于强鉴别机制的是(B)

227.有三种基本的鉴别的方式:你知道什么,你有什么,以及(你是什么)

228.家里可在ATM机上使用的银行卡为什么说是双重鉴定的形式(它结合了你知道什么和你有什)

229.网络防火墙防的是指(网络攻击)

231.有名的国产软件防火墙有(瑞星防火墙)

232.网络防火墙的作用是(保护网络安全)

233.以下关于防火墙的说法,正确的是(防火墙虽然能够提高网络的安全性,但不能保证网络绝对安全)

234.目前在企业内部网与外部网之间,检查网络传送的数据是否会对网络安全构成威胁的主要设备是(防火墙)

235.保护计算机网络免受外部的攻击所采用的常用技术称为(网络的防火墙技术)

236.下面关于防火墙说法正确的是(防火墙必须由软件以及支持该软件运行的硬件系统构成)

237.下面关于防火墙说法不正确的是(A)

A.防火墙可以防止所有病毒通过网络传播

B.防火墙可以由代理服务器实现

C.所有进出网络的通信流都应该通过防火墙

D.防火墙可以过滤所有的外网访问

238.关于防火墙的说法,以下错误的是(C)

A.防火墙提供可控的过滤网络通信

B.防火墙只允许授权的通信

C.防火墙只能管理内部用户访问外网的权限

D.防火墙可以分为硬件防火墙和软件防火墙

239.关于包过滤防火墙的特点,下列说法错误的是(A)

A.安全性好B.实现容易

C.代价较小D.无法有效区分同一IP地址的不同用户

240.关于防火墙的说法,下列正确的是(防火墙从本质上讲使用的是一种过滤技术)

241.关于防火墙技术,说法正确的是(防火墙不可能防住所有的网络攻击)

242.入侵检测系统的第一步是(信息收集)

243.对于入侵检测系统(IDS)来说,如果没有(响应手段或措施)

,仅仅检测出黑客的入侵就毫无意义

  1. (入侵检测)是一种能及时发现和成功阻止网络黑客入侵,并在事后对入侵进行分析,查明系统漏洞并及时修补的安全技术

245.下列关于访问控制模型说法不准确的是(C)

A.访问控制模型主要有3种:自主访问控制、强制访问控制和基于角色的访问控制

B.自主访问控制模型允许主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问

C.基于角色的访问控制RBAC中“角色”通常是根据行政级别来定义的

D.强制访问控制MAC是“强加”给访问主体的,即系统强制主体服从访问控制政策

246.下列访问控制模型是基于安全标签实现的是(强制访问控制

247.文件的拥有者可以决定其他用户对于相应的文件有怎样的访问权限,这种访问控制是(自主访问控制)

248.信息系统实现访问控制有多种方式,其中以用户为中心建立起的描述访问权限的表格,这种方式指的是(访问控制能力表)

249.访问控制根据实现技术不同,可分为三种,它不包括(自由访问控制)

基于角色的访问控制自主访问控制强制访问控制

250.让合法用户只在自己允许的权限内使用信息,它属于(访问控制技术)

251.限制某个用户只允许对某个文件进行读操作,这属于(访问控制技术)

252.下列对于基于角色的访问控制模型的说法错误的是(D)

A.它将若干特定的用户集合与权限联系在一起

B.角色一般可以按照部门、岗位、工种等与实际业务紧密相关的类别来划分

C.因为角色的变动往往远远低于个体的变动,所以基于角色的访问控制维护起来

D.对于数据库系统的适应性不强,是其在实际使用中的主要弱点

253.下列访问权限控制方法便于数据权限的频繁更改的是(基于角色)

254.在安全评估过程中,采取手段,可以模拟黑客入侵过程,检测系统安全脆弱(渗透性测试)

255.渗透测试步骤不包括(D)

A.发现B.脆弱性映射C.利用D.分析

256.对于渗透团队,了解测试目标的本质,是测试(A)

A.白盒测试B.黑盒测试C.灰盒测试D.红盒测试

257.渗透测试步骤不包括(D)

A.枚举B.脆弱性映射C.利用D.研究

258.对于蜜罐的认识,蜜罐最大的作用是(监控)

259.是在蜜罐技术上逐步发展起来的一个新的概念,在其中可以部署一个或者多个蜜罐,来构成一个黑客诱捕网络体系架构(蜜网)

260.棱镜门事件的发起者是(美国国家安全局)

261.邮件炸弹攻击主要是(添满被攻击者邮箱)

262.逻辑炸弹通常是通过(指定条件或外来触发启动执行,实施破坏

263.根据《信息系统安全等级保护定级指南》,信息系统的安全保护等级由两个定级要素决定(受侵害的客体、对客体造成侵害的程度业务)

264.以下存在安全隐患的行为是(D)

A.手机扫描优惠券二维码B.连接免费WIFI

C.打开手机的wifi自动连接功能D.以上都是

265.为了防御网络监听,最常用的方法是(信息加密)

267.影响网络安全的因素不包括(B)

A.信息处理环节存在不安全的因素

B.计算机硬件有不安全的因素

268.以下四项中,不属于网络信息安全的防范措施的是(B)

A.身份验证B.查看访问者的身份证

C.设置访问权限D.安装防火墙

269.关于计算机中使用的软件,叙述错误的是(B)

A.软件凝结着专业人员的劳动成果

B.软件像书籍一样,借来复制一下并不损害他人

C.未经软件著作权人的同意复制其软件是侵权行为

D.软件如同硬件一样,也是一种商品

270.影响网络安全的因素不包括C)

A.输入的数据容易被篡改B.计算机病毒的攻击

C.IO设备产生的偶发故障D.系统对处理数据的功能还不完善

271.影响网络安全的因素不包括B)

A.操作系统有漏洞B.内存和硬盘的容量不够

C.数据库管理系统的安全级别高D.通讯协议有漏洞

272.影响网络安全的因素不包括D)

A.操作系统有漏洞B.网页上常有恶意的链接

C.通讯协议有漏洞D.系统对处理数据的功能还不完善

275.软件盗版是指未经授权对软件进行复制、仿制、使用或生产。下面不属于软件盗版的形式是(D)

A.使用的是计算机销售公司安装的非正版软件

B.网上下载的非正版软件——“非正版软件”是指使用没花钱的软件

C.自己解密的非正版软件

276.主要用于加密机制的协议是SSL

277.小学生上网设置密码最安全的是(10位的综合型密码)

278.抵御电子邮箱入侵措施中,不正确的是(自己做服务器)

279.不属于常见的危险密码是(10位的综合型密码

281.以下不可以防范口令攻击的是(D)

A.设置的口令要尽量复杂些,最好由字母、数字、特殊字符混合组成

B.在输入口令时应确认无他人在身边

D.选择一个安全性强复杂度高的口令,所有系统都使用其作为认证手段

282.国务院新闻办公室2010年6月发布的《中国互联网状况》白皮书阐明,中国政府的基本互联网政策是(积极利用,科学发展,依法管理,确保安全)

283.2009年1月,国务院新闻办、工业和信息化部、公安部、文化部、工商总局、广电总局、新闻出版总署七部门开展专项行动,对网上低俗信息进行集中整治(整治互联网低俗之风)

284.2006年4月19日中国互联网协会发布,号召广大网民从自身做起,承担起应负的社会责任,始终把国家和公众利益放在首位,坚持文明上网(《文明上网自律公约》)

285.(《未成年人保护法》)规定,国家采取措施,预防未成年人沉迷网络;禁止任何组织、个人制作或者向未成年人出售、出租或者以其他方式传播淫秽、暴力、凶杀、恐怖、赌博等毒害未成年人的电子出版物以及网络信息等A.《信息网络传播权保护条例》B.《互联网信息服务管理办法》

286.通过互联网传播他人享有版权的作品,以下说法正确的是(.应当经过著作权人的许可,支付报酬)

287.青少年上网时要(善于运用网络帮助学习和工作,学会抵御网络上的不良诱惑)

289.为净化网络环境,保障未成年人健康上网,2006年5月30日,由“我们的文明”主题系列活动组委会、中央文明办未成年人工作组、中央外宣办网络局等共同主办的(中国未成年人网脉工程在北京人民大会堂正式启动)

我要回帖

更多关于 密码 S盒 的文章

 

随机推荐