《网络与信息安全》课程设计报告
班级: 网络07-1班
学号:310709040101
姓名:陈友娜
题目:加密软件设计
评阅:
成绩:

摘要
使用维吉尼亚密码加密只是众多密码加密方法中的一个,本设计是基于维吉尼亚密码的一种扩展,能起到更强的加密,完成所有属于ACSII的加密,本人主要负责设计的规划,程序设计,界面设计,报告的完成等工作,整个程序是Java平台下实现的。本次设计方法的原理以及方法仍然以维吉尼亚通用的方法来介绍。
关键词:维吉尼亚加密,密钥,加密,解密。
一、密码分析及密码系统设计原则分期买车
对通信双方而言,通信的一方将信息加密后发送给另一方,是为了使攻击者即使得到密文也无法读懂。对于攻击者来说,在不知道密钥的情况下,要想读懂密文,就要根据他的知识以及掌握的情报来进行密码分析。
    密码分析是研究密钥未知的情况下恢复明文的科学。通常假设攻击者知道正在使用的密码体制,当然,如果分析者不知道正在使用的密码体制,分析起来将更加困难。成功的密码分析可能直接恢复明文或密钥,也可能出保密系统的弱点来恢复明文或密钥。根据攻击者具有的知识和掌握的情报,可以将密码分析分为以下几种类型:
    (1)只有密文的攻击。攻击者有一些密文,它们是使用同一加密算法和同一密钥加密的。
    (2)已知明文的攻击。攻击者不仅得到一些密文,而且能得到这些密文对应的明文。
    (3)选择明文的攻击。攻击者不仅得到一些密文和对应明文,而且能选择用于加密的明文。
    (4)选择密文的攻击。攻击者可以选择不同的密文来解密,并能得到解密后的明文。
      在每种情况下,攻击者的目标是确定正在使用的密钥或待破译密文所对应的明文。上述几种攻击方式是以强度递增排列的,只有密文的攻击是最容易防护的攻击。然而,目前最常见的是已知明文和选择明文的攻击。事实上,攻击者欲得到一些明、密文对或加密一些选择好的明文并不困难,攻击者可以知道很多信息具有标准的头部和尾部。一般来说,密码系统应该经得起已知明文的攻击。
      密码系统的安全依赖于破译该系统的困难程度。如果破译一个密码系统的费用超过了被加密数据本身的价值,或者破译所需的时间超过了被加密数据所需保密的时间,或者由一个密码系统加密的数据少于破译该算法所需的数据量,就可以认为这个系统是安全的。
      如果攻击者无论得到多少密文,都没有足够的信息去恢复明文,那么该密码系统就是无条件安全的。在理论上,只有一次一密的系统才能真正实现这一点。除此之外的系统都至少可以使用只有密文的攻击来破译。
      设计密码系统必须至少满足下面的一个准则:
    (1)破译该密码的成本超过被加密信息的价值;
    (2)破译该密码的时间超过被加密信息的生命周期。
      如果一个密码系统能够满足上述准则,就认为该系统在计算上是安全的。然而困难之处就在于难以估计成功破译密码的努力有多大。只能使设计的密码系统抗击已知的攻击,尤其要能抗击穷举密钥攻击,即强力攻击。
      穷举密钥攻击方法是对截获的密文用所有可能的密钥解密,直到得到有意义的明文为止。从理论上来说,除了一次一密密码系统,其它任何密码系统都可以用穷举密钥攻击法破解,但实际上,任何一个实用的密码设计都会使这一方法在计算上失去可行性。
青春斗向真结局      密码分析方法可以分为确定性和统计性两类。确定性分析法是利用若干已知数学关系式表示出所求的未知量,这种关系式是从加密和解密算法得来的;统计分析法则是利用明文的已知统计规律进行破译的方法。例如经典密码分析的许多技术利用了英文语言的统计特性。通过分析英文字母中单字母、双字母、三字母组合出现的频率并通过猜词法达到破译密码的目的。
二、维吉尼亚密码
(一)维吉尼亚密码的介绍
维吉尼亚密码多表代换密码中最著名的一种,这是以移位代换为基础的周期代换密码,m个移位代换表由m个字母组成的密钥字确定(这里假设密钥学中的M个字母不同,如果有相同的,则代换表的个数是密钥字中不同字母的个数)
如果密钥字为deceptive,
明文we are discovered save youselelf被加密为:
    明文: wearediscoverdsaveyouselelf
密钥: deceptivedeceptivedeceptive
其中,密钥字母a,b,c…y,z对应数字0,1,2…24,25。密钥字母d对应数字3,因此明文字母W在密钥字母d的作用下向后移位3,得到密文字母Z。
例子:q=26, 明文x=polyalphabetic cipher,
K=radio
明文x=p o l y a l p h a b e t i c c i p h e r
密钥k=r a d i o r a d i o r a d i o r a d i o
密文y=g o o g o c p k t p n t l k q z p k m f
谢娜入院解密时,密文字母在密钥字母的作用下向前移位。   
用算法表示:
加密:C=(m+k)mod26
解密:m=(c-k)mod26
设d为一固定的正整数,d个移位代换表π=(π1 ,π2 ,… πd) , 由密钥序列K=( k1,k2,…,kd)给定,第i+td个明文字母由表πi决定,即密钥ki决定赵霁被骂
    ek(xi+td)=(xi+td+ki)mod q =y
    dk(yi+td)=(yi+td-ki)mod q =x
(二)维吉尼亚密码的原理
  比如明文为JACKOZOO, 秘匙为LOVE, 则我们的密文是这样得到的:
      J对应的密文我们查秘匙为L, 则在第L行中, 到与第一行中的J对应的字母为 U.
筷子兄弟解散    A对应的密文我们查秘匙为O, 则在第O行中, 到与第一行中的A对应的字母为 O.
    C对应的密文我们查秘匙为V, 则在第V行中, 到与第一行中的C对应的字母为 X.
    K对应的密文我们查秘匙为E, 则在第E行中, 到与第一行中的K对应的字母为 O.
    O对应的密文我们查秘匙为L, 则在第L行中, 到与第一行中的O对应的字母为 Z. (如果秘匙不够了,我们就循环使用秘匙, LOVELOVELO ... )
    Z对应的密文我们查秘匙为O, 则在第O行中, 到与第一行中的Z对应的字母为 N.
船舶电子电气技术    O对应的密文我们查秘匙为V, 则在第V行中, 到与第一行中的O对应的字母为 J.
    O对应的密文我们查秘匙为E, 则在第E行中, 到与第一行中的O对应的字母为 S.
 
    由此得到JACKOZOO在以LOVE作为秘匙的情况下, 其密文为: UOXOZNJS.