-
密码学的基础知识
< br>在公钥加密系统中,
为了保障加密操作的便捷,
产生了密
钥技术。
目前,
公钥加密系统
都使用两个不同的密钥,其中一个密钥是私有的,另一个是公有
p>
的。根据不同的应用要求,
发送方可使用其私钥或者接收方的公钥或
同时使用
二者来执行密码加密功能。
密钥体制的
应用一般可分为三类
;
(1)
加密
/
解密
< br>:
发送方用接收方的公钥对消息加密
; (2)
数字签名
:
发送方用自己的私钥对消息
“签名”
,
可以对整条消息或者对
消息的一个小的数据块来产生,
接受方利用公钥
验证数据源
;
(3)
密钥交换
p>
:
通信双方交换会话密钥,
一般都要借用通
信第三
方的私钥。
非对称加密算法进
行数字签名时使用两个密钥
:
公开密钥
(public
key)
和
私有密
钥
(private
key)
,分别用于对数据的加密和解密,即如果使用公开密
钥对数据进行加密,
只有用对应的私有密钥才能进行解密
;
如果用私有密钥对
数据进行加密,则只有用对应的公
开密钥才能解密。
任何拥有
发送方公开密钥
的人都可以通过密钥验证明文来源的正确性。
由
于发送方私有密钥的保密性,
p>
使得接收方可以根据验证结果来拒收该报文,
也能使其他人无
法伪造报文。
密钥
密钥是一个数值,它和加密算法一起生成特别的密文。密钥本质上是非常
非常大的数。
密钥的尺寸用位
(bit)
来衡量,
1024
位密钥代表的数是非常巨大的
.
在公
开密钥加密方法中,
密钥的尺寸越大
,
密文就越安全。
然而,
公钥的尺寸
< br>和传统加密方法中密钥的尺寸是不相关
的。
传统
80
位密钥的强度等同于
1024
位的公钥,
传统
128
位密钥的强度等同于
3000
位<
/p>
的公钥。
在同种加密算法中,
密钥越大越安全。
但是传统方法和公开密钥方法所用的加密算
法不一样,
因此
它们的
密钥尺寸不能直接比较公钥和私钥是算术相关的,
仅凭公钥推算出私
钥
是非常困难的。然而如果有足够的时间和计算能力,总
是可能导出私钥的。这
使得选择
合适
尺寸的密钥变得非常重要。为了安全需要足够大的密钥,为了速
度有要足够小的密钥。
而且,
要考虑是谁想要读取你的文件,
他有多大的决心,
多少时间和多少可
以利用的资源。
长的密钥会在很长一段时间内是安全的。
如
p>
果想保密许多年。
应该选择非常长的密钥
。
当然,
谁也不知道使用未来速度更快更有效的计算机来测定你
的密钥会花费多长时间。曾经有一段
时间人们认为
56
位的对称密钥是非常安全的。
密钥以加密后的形式保存
.PGP
在硬盘的两
个
文件中保存密钥,一个文件保存公钥,另一个保存私钥。这两个文件称为钥匙
环。在使
用
PGP
时,用户会经常向公钥环中加入接收者的公钥。用户自己的私
钥保存在私钥环上。
如果丢失了私钥环
,
就无法解密依赖于该环的。
密钥的组织结构
现有的密钥管理系统都采用了层次化的密钥结构。
层次化的密钥结构与整<
/p>
个系统的密钥
控制关系是对应的,
p>
按照密钥的作用与类型及它们之间的相互控
制关系,
可以将不同类型的
的密钥划分为一级密钥、
二级密钥、
??
n
级
密钥,
从而构成一个层次化密钥系统。
其中,
系统使用一级密钥
K:
通过算法
f,
保护二级密钥
p>
(
一级密钥使用物理
方法或者其他方法进行
保护
)
,<
/p>
使用二级密钥通过算法
f:
保护三级密钥,
以此
类推,
直到最后使用
n
级密钥通过
算法
f
。
保护明文数据
< br>.
随着加密过程的进行,
各层
密钥的内容动态变化,
而这种变化的规
则由相应层次的密钥协议
控制
最底层的密钥
K
。
也称为工作密钥,
或称数据加密密钥,
它直
接用于对明
文数据
的加
/
解密
;
所有上层密钥可称为密钥加密密钥,它们用于保护数据加密
密
钥或者其他低层的密钥加密密钥
;
最高层的密钥
K
,
也叫做主密钥,
一般来说,
主密钥
应采用最保险的方式进行保护。
在进行数据的加
/
解密时,数据加密密
钥将在上层密钥的保
护下动态的产
生
(
例如,在上层密钥的保护下,通过密钥协商产生本次数据通信
所使用的数
据加密密钥
;
或在文件加密时,产生一个新的数据加密密钥,在使用完毕后,
立即使用上层
密钥进行加密后存储,
这样,
p>
除了加密部件外,
密钥仅以密文的
形式出现在密码系统其余部
分中
);
数据加密密钥在使用完毕后,将立即清除,
不再出现在密码系统中的任何部分当中。
层次化的密钥结构具有以下优点:
(1)
安全性大大提高。
层次化密钥
结构中,
密钥位于的层
次越低,则更换的越快,最底层
(
第
n
层
)
密钥可以做到每加密一份报文就更换一次。另外,
在层次化的密钥结构中,
下层的密钥破译将不会影响到上
层密钥的安全。
在少量最初的处于
最高层次的
< br>
密钥注入系统之后,下面各层密钥的内容可以
按照某种协议不断地变化
(
例如
p>
可以通过
使用安全算法以及高层密钥产生低层密钥
< br>).
对于
破
译
者来说,层
次化密钥结构意味着他<
/p>
所攻击的已不再是一个静止的密钥系统,
而是一个动态
的密钥系统。
对于一个静止的密钥系
统,一份报文
(
得到加密该报文所使用的
密钥
)
就可以导致使
用该密钥的所有报文的泄露
;
而
在动态
密钥系统中,
密钥处
在不断的变化中
,
在底层密钥受到攻击后,
高层密钥可以有效的
保护底层密钥
进行更换,
从
而最大限度的削弱了底层密钥被攻击所带来的影响,
使得攻击者
无法一劳永逸地破译密码系统,有效地保证了密钥整体的安全性。
(2)
为密钥管理自动化带
来了方便。
由于计算机的普及和飞速发展,计算机系统的信息量和计算机网络的通
< br>
信量也
在不断增加。
为了达到
较高的安全性,
所使用的密钥量也随之增加,
人
工更换密钥已经无法
满足需要
;
同时,一些新的应用场景的出现,例如电子商
务,在双方并不相识的情况下进行
秘密通信,在这种情况下,已经不可能进
行
人工分配密钥
.
< br>研究自动化的密钥管理方案已经
成为现代密码系统急待解决的
问题。层次化密钥结构中,除了一级密钥需要人工装入以外,
其他各层的密钥
均可以设计由密钥管理系统按照某种协议
进行自动地分配、更换、销毁等。
密
钥管理自动化不仅提高了工作效率,
也提高了数据安全性。
它可
以使得核心的
密钥
(
一级
密钥
)
仅仅掌握在少数安
全管理人员的范围内,这些安全管理人员不
会直接接触到用户
所使
用的密钥
(
由各层密钥进行自动地
协商获得
)
与明文数
据,
而用户又不可能接触到安全管理人
员所掌握的核心
密钥,这样,核心密钥
的扩散面达到最小,有助于保证密钥的安全性。
密钥的种类
与密钥的层次化结构及其功能相适应的,
在一个密码系统中所使用的密钥
种类也非常繁
p>
杂。
不同种类的密钥在层次结构上位于不同的层次,
相同层次中
的密钥也可能具有不同的功
能
(
例如,
文件加密密钥与数据加密密钥等
)
,
另外,
同一密钥在不同的
使用环境下也可能
属于不同的种类。
一般的密码系统有以下几种密钥:
(1)
基本密钥
基本密钥也称为初始密
p>
钥,
是由用户选定或由系统分配给用户的、
可在较长时间内
(
相对于会话密钥
)<
/p>
由一对用户
(
例
如密钥分配中心与某一用户之间,
或两个用户之间
)
所专用的秘密密钥。基本密钥起也到了
标识用户
的作用。因
此也可以称为用户密钥。
(2)
会话密钥
在一次通信或数据交
换中,用
户之间所使用的密钥。
会话密钥可由通信用
户之间进行协商得到。
它一般是动态地仅在需要
进行会话数据加密时产生并在
使用完
毕后立即清除掉
(
当然也可以由用户双方进行预先约
定
)
。
会话密
钥可
以使用户不必频
繁地更换基本密钥,
而通过密钥分配或密钥协商的方法得
到某<
/p>
次数据通信所使用的数据加密密钥,这样可以做到一报一密,从
而大大提高通
信的安
全性,
并方便密钥的管理。
(3)
密钥加密密钥
密钥加密密钥一
般是用来对传送的会话密钥或
文件加密密钥进行加密时所
p>
采用的密钥,也称为二级密钥
.
密钥加密密
钥所保护的对象是实
际用来保护通
信
或文件数据的会话密钥或文件加密密钥。
在通信网中,
一般在每
个节点都分
配有一个这类密钥,
为保
证安全,
各节点的密钥加密密钥应互不相同。
节点之
间进行密钥协
商时,
应
使用各节点的密钥加密密钥进行。
(4)
主机主密钥
主机主密钥对应于
层次化密钥结
构中的最高层次,
它是对密钥加密密钥进
行加密的密钥。
一般情况下,
主机主密钥受到严格
的保护。
密钥的生成
一个密码体制的关键在于怎样生成好的密钥,
密钥选择的不当将会极大影
响密码体制的
p>
安全性
.
密钥
的
生成目前主要是利用噪声源技术。噪声源的功
能是产生二进制的随机序列
或与之对应的随机数,它是密钥生成的核心部件
p>
.
噪声源的另一个用途是在物理层加密的环
境下进行信息填充,
使网络具有防止
流量分析的功能。
当采用序列密码时,
也有防止乱数空
发的功能
.
噪声源还被
用于某些身份验证技术中,如对等实体。为了防止口令被窃取,常常
使用随机
应答技术,
这时的
提问与应答是由噪声源控制的
.
密钥生成所使用的噪声源一
p>
般有
以下几种:
(1)
物理噪声源,
基于物理的噪声源包括
:
基于力学的噪声源,
基于电子学的噪声
< br>源,基于混沌理论的噪声源。
(2)
只用具有足够复杂度与安全性的算法生成伪随机序列。
密钥的保护
(1)
密钥的保护措施
p>
密钥的注入通常采用人工方式。在可能的情况下,重要密钥可由多
人
分批
次分开完成注入,为了掌握密钥的注入过程,所有的密钥
按编号进行管理密钥
常用
的注入方法
有键盘输入、
软盘输入、
专用密钥注入设备
(
即密钥枪
)
输入
(2)
密钥的存储
在密<
/p>
钥注入以后,
所有存储在加密设备里的密钥平时都应以加密的形式
存
放,
而对这些密钥的操
作口令应该由密码操作人员掌握。
这样,
即使装有
密钥
的加密设备被破译者拿到,
也可
以保
证密钥系统的安全。
(3)
密钥的更换
密钥的使用是有寿
命的,一旦密钥到达或超过有效期,
必须消除原密钥存
储区,
或者用随机生成的噪声重写。
为了保证
加密设备能够连续工作,
可
以在
p>
新密钥生效后,旧密钥仍可以继续保持一段时间,以防止在密钥更换期间不能
解密的
死锁。
(4)
保密装置
密钥变换和数据加密
的基本操作都是在一个保密装置内来实现的,
它是
一
种专用的、具有很高安全性和可靠性的数据保护工具。保密装置可以用硬
件和
软件方式
来实现,用硬件方式实
现更有利于保密和提高效率,但同时也增加了费用。
密钥管理
< br>传统加密方法是有优势的。它的速度很快,而且特别适用于不需要移动的
数据。然而,
由于安全地发布密钥非常困难,
单独使用传统加密方法来安全传
输数据的代价是非常昂贵的。
在间谍影片中常可以看到这样的情节,
特工将一
个密码箱用手铐和自己的手腕铐在一起。
密
码箱中有什么呢?多数情况下里面
不是导弹发
射密码,
不是化学公式,
也不是入侵计划,
而
是用来解密的密钥。
对于使用
传统加密方法进行安全通讯的手法双方来说,
他们必须拥有相
同
的密
钥而且不能让别人知道。
如果他
们处在不同的物理位置,
必须相信信使,
加密电话或
者其他的安全通讯介质,防止在传输过程中泄露密钥。在传输过程中
, <
/p>
偷听或截获到密钥的
任何人,就能够阅读,修改和伪造用这个密钥
加密或认证
的所有信息。无论
DES
还是
midnight
上尉的秘密译码器圆环,
传统加密方法
的永恒问题就是密钥的发布
,
怎样才能
使接
收者得到密钥而不被其他人截获
呢?
根据美国的数字签名的数字式
multisignature
标准
DSA
提出二份计划。
他们中的一个是一新的连续数字式
multisignature
,
并且其他是一新
的广播
数字式
multisignature
。
这些计划安全根据解决分离对数问题。
署名的参量
在计
划任意地被选择,
并且计划是高安全。
而且,
计划的最初的阶段是简
单的
;
他们比广播
数字式
multisignature
计划可以防止有些参加者欺诈其他
和有更低的通信费用,
并且计
划是实用的。
The Basics of Cryptography
In
public
key
cryptographic
system,
in
order
to
safeguard
the
encryption
operation the
convenience, has had the key technology. At
present, the public key
cryptographic
system
all
uses
two
different
keys,
key
is
private,
another
is
public.
According to the different
applicationrequest, the transmission only then
uses its
private key or the receiving
end public key or simultaneously uses the two to
carry
out
the
password
encryption
function.
The
asymmetrical
encryption
algorithm
carries
on
when
the
digital
signature
uses
two
keys:The
public
key
(publick
ey)
and
the
private
key
(private
key),
uses
in
separately
to
the
data
encryption
and
the
decipher,
namely
if uses the public
key to carry on the encryption for the data,only
then can carry
on
the
decipher
with
the
corresponding
private
key;If
carries
on
the
encryption
with
the
private
key
to
the
data,
then
only
then
can
decipher
with
the
corresponding
public
key. Any has the transmitting end
public key people all to be possible to originate
true through the key confirmation
definite orders. As a result of the transmitting
end
private
key
secrecy,
causes
the
receiving
end
to
be
possible
to
refuse
to
accept
this text according
to the confirmation result, also can cause other
people to be
unable the forge text.
Keys
A
key
is
a
value
that
works
with
a
cryptographic
algorithm
to
produce
a
specific
ciphertext. Keys
are basically really, really, really big numbers.
Key size is
measured
in
bits;
the
number
representing
a
1024-bit
key
is
darn
huge.
In
public
key
cryptography, the bigger the key, the
more secure the ciphertext. However, public
key size and conventional
cryptography's secret key size are totally
unrelated. A
conventional 80-bit key
has the equivalent strength of a 1024-bit public
key. A
conventional 128-bit key is
equivalent to a 3000-bit public key. Again, the
bigger
the key, the more secure, but
the algorithms used for each type of cryptography
are
very
different
and
thus
comparison
is
like
that
of
apples
to
oranges.
While
the
public
and
private
keys
are
mathematically
related,
it's
very
difficult
to
derive
the
private
key given only the
public key; however, deriving the
private
key is
always possible
given enough
time and computing power. This makes it very
important to pick keys of
the right
size; large enough to be secure, but small enough
to be applied fairly
quickly.
Additionally,
you need
to consider who might be trying to
read your files,
how
determined
they
are,
how
much
time
they
have,
and
what
their
resources
might
be.
Larger keys will be
cryptographically secure for a longer period of
time. If what
you want to encrypt needs
to be hidden for many years, you might want to use
a very
large key. Of course, who knows
how long it will take to determine your key using
tomorrow's
faster,
more
efficient
computers?
There
was
a
time
when
a
56-bit
symmetric
key
was
considered
extremely
safe.
Keys
are
stored
in
encrypted
form.
PGP
stores
the
keys in two files on your hard disk;
one for public keys and one for private keys.
These files are called keyrings. As you
use PGP, you will typically add the public
keys
of
your
recipients
to
your
public
keyring.
Your
private
keys
are
stored
on
your
private
keyring.
If
you
lose
your
private
keyring,
you
will
be
unable
to
decrypt
any
information encrypted to keys on that
ring.
Key organizational structure
The
existing
key
management
system
management
system
has
all
used
the
hierarchical key structure. The
hierarchical key structure and the overall system
key
control
relations
are
the
correspondence,
according
to
the
key
function
and
the
type and between them the mutual
control relations, may the different type the key
divides into the level key, two levels
of keys,
?
n level key, thus
constitutes a
hierarchical
key
system.
Among
them,
system
use
level
key
K:Through
algorithm
f,Protects two levels of keys (level
key use physics method or alternative means
carries on protection), uses two levels
of keys to pass algorithm f:Protects three
levels
of
keys,
by
this
analogy,
until
finally
uses
the
n
level
key
to
pass
algorithm
f.
Protection definite orders with encryption
process march, each key
content dynamic
change, but this kind of change rule controls the
lowest level by
-
-
-
-
-
-
-
-
-
上一篇:数据库用户接口英文文献翻译
下一篇:文言文翻译方法