密码技术专题(二)——古典密码体制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码技术专题(二)—古典密码体制

∙1、密码体制的概念

o明文信源

o密文

o密钥与加密运算

o密码体制

∙2、古典密码体制的发展

o古典加密方法

o代替密码

o换位密码

o转轮密码

∙3、几种典型的古典密码体制

o CAESAR体制

o双字的Playfair体制

o维吉尼亚体制

o Hill体制

我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。

1、明文信源

直观地讲,明文信源就是明文字母表或者明文字母。比如所有的英文字母、全部的中文字符就是典型的明文字母表。准确一点,明文信源还应当包含明文字母的概率分布。如果用X表示明文字母表,则它的元素x∈X则就是明文字母。在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。

所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。

2、密文

密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。密文字母表可以与明文字母表相同,也可以不同。

3、密钥与加密运算

密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个

字符之后。通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。加密方法的组合复杂度取决于在此方法下密钥的数量。如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。

加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。

通常要求用户对密钥的选择是随机的,而且密钥的选择与明文无关。这样密钥的使用概率p(k),k∈K与明文的出现概率就是互相独立的。

4、密码体制

在明确了密码体制的几个组成要素的数学模型后,我们就可以给出一个密码体制的数学模型。我们定义S={X,Y,K,p(x,k),Ek(x), x∈X,k∈K}为一个密码体制。实际上从运算的角度讲,密码体制包含加密系统和解密系统两部分。

如果一个密码体制设计完成,则相应的明文、密文、密钥之间的关系也就随之确定,用概率方法表示为:对任何x∈X,k∈K,y∈E(X),p(x,y,k)=p(x,k)=p(x)p(k)。

密码技术的应用一直伴随着人类文化的发展,其古老甚至原始的方法奠定了现代密码学的基础。使用密码的目标就是使一份消息或记录对非授权的人是不可理解的。可能有人认为这很容易,但你必须考虑原定的接收方是否能解读消息。如果接收方是没有经验的,随便写个便条他也可能很长时间无法读懂。因此不一定要求加密和解密方法特别复杂,它必须适应使用它的人员的智力、知识及环境。下面我们介绍古典密体制发展演化的过程。

1、古典加密方法

最为人们所熟悉的古典加密方法,莫过于隐写术。它通常将秘密消息隐藏于其它消息中,使真正的秘密通过一份无伤大雅的消息发送出去。隐写术分为两种,语言隐写术和技术隐写术。技术方面的隐写比较容易想象:比如不可见的墨水,洋葱法和牛奶法也被证明是普遍且有效的方法(只要在背面加热或紫外线照射即可复现)。语言隐写术与密码编码学关系比较密切,它主要提供两种类型的方法:符号码和公开代码。

符号码是以可见的方式,如手写体字或图形,隐藏秘密的书写。在书或报纸上标记所选择的字母,比如用点或短划线,这比上述方法更容易被人怀疑,除非使用显隐墨水,但此方法易于实现。一种变形的应用是降低所关心的字母,使其水平位置略低于其它字母,但这种降低几乎让人觉察不到。

一份秘密的信件或伪装的消息要通过公开信道传送,需要双方事前的约定,也就是需要一种公开代码。这可能是保密技术的最古老形式,公开文献中经常可以看到。东方和远东的商人和赌徒在这方面有独到之处,他们非常熟练地掌握了手势

和表情的应用。在美国的纸牌骗子中较为盛行的方法有:手拿一支烟或用手挠一下头,表示所持的牌不错;一只手放在胸前并且跷起大拇指,意思是“我将赢得这局,有人愿意跟我吗?”右手手掌朝下放在桌子上,表示“是”,手握成拳头表示“不”。

特定行业或社会阶层经常使用的语言,往往被称为行话。一些乞丐、流浪汉及地痞流氓使用的语言还被称为黑话,它们是这些社会群体的护身符。其实也是利用了伪装,伪装的秘密因此也称为专门隐语。

黑社会犯罪团伙使用的语言特别具有隐语的特性,法语中黑话有很多例子,其中有的现在还成了通俗用法。比如rossignol (夜茑)表示“万能钥匙”,最早始于1460年;mouche(飞行)表示“告密者”,等等。

公开代码的第二种类型就是利用虚码和漏格进行隐藏:隐藏消息的规则比较常见的有:“某个特定字符后的第几个字符”,比如空格后的下一个字母(“家庭代码”,二战中在参战士兵中广为流传,但引起了审查机关的极大不满);更好一点的还有空格后的第三个字母,或者标点符号后的第三个字母。

漏格方法可以追溯到卡达诺(Cardano,1550年)时代,这是一种容易掌握的方法,但不足之处是双方需要相同的漏格,特别是战场上的士兵,使用时不太方便。

2、代替密码

代替密码就是将明文字母表中的每个字符替换为密文字母表中的字符。这里对应密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。代替密码有五种表现形式:

单表代替

即简单代替密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。这是所有加密中最简单的方法。

多名码代替

就是将明文字母表中的字符映射为密文字母表中的多个字符。多名码简单代替早在1401年就由DuchyMantua公司使用。在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如e可能被密文5、13或25替代。

多音码代替

就是将多个明文字符代替为一个密文字符。比如将字母“i” 和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于1563年由波他的《密写评价》(De furtiois literarum notis)一书。

多表代替

即由多个简单代替组成,也就是使用了两个或两个以上的代替表。比如使用有5个简单代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第

相关文档
最新文档