密码学的基础概念

Cissp Learning
早期密码系统的算法是必须保密的,没什么所谓的密钥;算法一旦公开或被破解,就没任何保密性了。而现代密码系统的算法是全公开的,安全性靠密钥来实现;也就是说各类系统都使用相同原理的“锁”,给不同的用户主体配不同的“钥匙”就行了。密钥就是一长串的字符,长度是2的很多次方,很长很长。

一、密码学的目标

1.可用性;

2.机密性;

3.完整性;

除了上述信息安全的三大核心原则外,密码工具还可提供其他几个好处。

4.不可抵赖性:

防止接收者篡改消息并谎称消息的原始状态就是如此。只有公钥(或非对称密钥)密码系统才提供不可否认性;

5.身份认证:

主要通过密钥控制实现,因为只有掌握了密钥的人才能加密消息;

6.访问控制:

只有有权访问正确密码密钥的人才能进行访问。

二、术语

1.明文:P;

2.密文:C;

3.Kerchoff 原则:

算法应当公开,但是所有密钥都应当保密。(AugusteKerckhoff于1883年发表了一篇论文,指出一个密码系统唯一需要保密的部分应当是密钥。他声称算法应当公开,并且断言:如果安全基于过多的秘密,那么就会有更多的脆弱性可供利用。)

4.单向函数(One-Way Functions):

不可能逆向运算出原始值的函数。理论上没有,实际上很多,因为人们还没算出破解函数来。

5.随机数(Nonce)/初始向量(IV):

这是一个与消息长度相同的随机比特串,并且与原始信息相异或。在每次使用相同密钥加密相同的消息时,密文总不一样。

6.零知识证明(Zero-Knowledge Proof):

不告诉你密码是什么,但是我可以通过开门来证明我拥有这个密码。

7.分割知识(Split Knowledge):

和职责分离差不多。要得到一个密钥、或者要开一个门,不能让一个系统搞定、或一个人搞定;必须要几个系统或人同时工作才行。避免密钥被轻易篡改。

8.工作函数/工作因素(Work Function/Work factor),即工作量:工作函数或工作因数这个概念,用来衡量密码的强度或解密的难度,一般用成本或时间来表示。也就是暴力破解一个密码所需的计算时间。

9.加密算法的简写

在一些资料中,你可能会遇到RC5-w/r/b或RC5-32/12/16 这类符号。它是说明算法配置的简略表达形式。

w=word=分组长度(字长),单位为位,长度可为16、32或64位。

r=round=转换轮数,其值介于0——255之间。

b=bit=密钥长度,16字节为128位。

三、逻辑运算

1.与,AND,∧

双真才为真,其它为假

2.或,OR,∨

有真就是真,双假才是假。

3.非,NOT,!,~

取反。

4.异或,ExclusiveOR,XOR,⊕。最重要的计算机运算。

不同就是真,相同就是假。

5.模,MOD。最重要的密码学运算。

求整除后的余数。

四、什么是密钥

早期密码系统的算法是必须保密的,没什么所谓的密钥;算法一旦公开或被破解,就没任何保密性了。而现代密码系统的算法是全公开的,安全性靠密钥来实现;也就是说各类系统都使用相同原理的“锁”,给不同的用户主体配不同的“钥匙”就行了。密钥就是一长串的字符,长度是2的很多次方,很长很长。

密钥聚类(Key Clustering):

使用相同加密算法但不同密钥对同一明文进行加密产生相同密文的情况。这种情况实际减小了密钥空间,从而降低了密码强度。

密码术(cyptograpgy):

通过加密和解密使通信双方对外界隐藏和验证通信信息的技术或科学。AIO用这个词,其它其它教材叫“密码学”。

密码分析(cryptanalysis):

在不知道加密算法中使用的原始密钥的情况下,把密码转换成明文的和运算。

密码学(cryptology):

研究密码术和密码分析的科学。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论