为防止广告,目前nocow只有登录用户能够创建新页面。如要创建页面请先登录/注册(新用户需要等待1个小时才能正常使用该功能)。

加密算法

来自NOCOW
跳转到: 导航, 搜索
 这篇文章可以证实是由NOCOW用户原创,不存在任何版权争议。
 本文未注明的内容都使用GFDL版权发布(不包括翻译文章中属于原始所有者的部分版权)。
 如果你添加了一些原文中缺少的非GFDL版权内容,应当标出适当的模板并注明来源,否则可能会被删除

目录

[编辑] 说明

所谓密码算法,其实就是将文字转化为其他的语言,并能够通过某些方式还原的算法,所以大而言之,我们的生活处处要用到密码算法。

[编辑] 凯撒移位

说到密码算法,就必须要从凯撒算法说起了。相传这是世界上最早的密码算法,诞生于凯撒时期。凯撒密码的精华存于一个字母中,那就是K,我们称它K值。

首先,我们将21个字母顺序排列(那时候拉丁字母共21个),然后我们给出一个K值,当K=*时,所有字母向前移*位。比如说:ABCDEF……,给定K=3,则序列变为DEF……ABC,移动后得到的序列即为密文序列(即凯撒序列)。如LOVA的密文为ORYD。

说完最简单的密码算法,就可以开始深入学习了。可以说所有的密码算法都源于凯撒密码,它是密码之祖,当之无愧。

[编辑] 摩斯电码

第二类密码大家都很熟悉,那就是摩斯电码,由长音、短音组成,一般写成横杠(长音)和点(短音),由此代表0和1,如二进制ASCII一般(注意是如,并非完全一样),由专门人员翻译出来,再次成为文字。二次大战战时通讯极为重要,为防止无线电内容被窃听,各国分别制定了属于自己的密码算法,自然是各种凯撒密码的变种,如先倒序,再移位,再回文,再移位,再合并(我们可以将多个字符组成的序列固定地使用另一个字符所替代,前提是它没有被使用过,如固定AB序列由;代替,这种替代方法更多地用于压缩算法

[编辑] 简单加密

这两种加密衍生出各种各样的加密手段,凡不超过5次组合加密的,我们都称之为简单加密

可以被容易反解码成功的密码算法也叫做简单加密算法,不符合这条规则的加密算法首先被定义为不可逆加密算法。(GWB和QB程序极易被反编译,故被称为简单编译)

[编辑] 栅栏加密

对于一个长度为n*m的原文,我们可以将其排列成矩阵形状,然后将其顺序进行一定的修改。

例子:
  原文为"abcdefghi",长度为9=3*3。
  转换成矩阵形状后即为: a b c
                      d e f 
                      g h i
  修改顺序 a d g b e h c f i (从上至下,从左至右)

[编辑] 基于手机键盘的加密算法

一个很有用的加密算法。

大家都知道手机键盘上的一个数字键对应着3-4个字母。我们可以将英文与数字进行互译。

例子:
  
  原文为"I love you my darling."
  
  加密后为"4 5683 968 69 4175464."    当然亦可译为"444 55566688833 99966688 6999 41777555444664"
  但后者很容易被看出来是手机键盘密码。


[编辑] OI界常引用密码算法

OI界常引用的密码算法据我所知有两种,一种是素数加密,一种是插牛倒序加密(就是在文本中插入COW三个字母,CO和OW之间内容互换,重复多次,不过此算法。。。太内个,做USACO的都知道。。。)

[编辑] 关于素数加密

就是筛法先筛出足够多的素数,然后每一个字典序或字母用一个素数替代。。。这个算法真的很垃圾,做到这种问题笑笑就过去吧。

[编辑] MD系列

目前最流行保护密钥算法群。据我所知用于Windows 9x及以上系列,Office数字签证系列,迅雷(4是MD4,5、7都是MD5,凭记忆写的)等所有网络上下行软件以及在HTTP、SMTP、POP3、FTP等等协议下所有基本加密皆是MD系列加密组。

[编辑] MD2

关于这个算法,我这样的90后应该是都没机会接触了,百度给出的简单描述是“在这个算法中,首先对信息进行数据补位,使信息的字节长度是16的倍数。然后,以一个16位的检验和追加到信息末尾,并且根据这个新产生的信息计算出散列值。”这是一具高度概括的描述,仔细推敲,我们可以得出:这是一个简单加密蛋疼形式!!!

[编辑] MD4&5

等我找到源码再写。如果想深入理解MD5可以看Secure Coding in C&C++(By Robert C.Seacord)一切等源码。

路过有空就把它补上吧,我要等到考完TOEFL才有空完成这个词条了,关于Office、zip、QQ所提供文件加密方式我不了解,了解的把它们加上,OIers加油!--SepHiRoTH 08:23 2011年8月1日 (CST)

个人工具