2009-02-18

密码学学习笔记


毕业设计要做密码学相关的东西,所以趁现在没什么,借点密码学的书来看,补充点密码学的基础知识。

虽说要做的项目是椭圆曲线什么的,但古典密码学还是相当吸引人的。

就拿移位码来说,将所有字母向后移动一个确定的位置来得到一个新的字符串。很简单的一个加密过程,在攻击的过程中却运用到了数论跟英语语言学相关知识。在英文书写中字母e的频率最高,这不仅为判定移位码提供依据,也为找到密钥提供线索。仿射码字母的对应则不像移位码那么简单,312个密钥在古人解来也是相当繁琐的。Vigenere密码攻击又涉及到密钥长度的确定和密钥的确定,其中则更加频繁的运用到数论跟概率论的知识。

在替换密码中要找到26个字母一一对应的对应表也是件难事。福尔摩斯在这方面似乎做得很好,短短四则密文就已经把各个小人所代表的意思弄清楚了,还依此破了一起谋杀案。

二战的Enigma给人映像很深,一台机器完成了所有的加密解密过程,而且在当时达到了相当好的安全性。

当密码学发展到近代,才真叫做叹为观止。我觉得公开密钥密码的概念真是一项伟大的突破,一种任何人都能加密,但只有本人才能解密的算法大大的提高了它的应用范围。RSA巧妙的运用素数的性质来解决单向函数的问题,破解一个百位的密钥以现在计算机的水平很难实现。这就好比手算平方很简单,但你想反过来手算开方就不那么容易了。

今天就大概看到这里,里面很多关于数论余数的符号、定理看着很不习惯,希望后面会慢慢适应。

毕业设计做的是SHA的VLSI设计,至今没看到跟它相关的东西……

1 comment:

Anonymous said...

感觉不像是信息安全专业的,你是数学系的吗?