我本科是学通信工程的,刚进入密码学读硕士研究生的时候,心里很兴奋。因为大家都觉得密码学很神秘,身边朋友们都询问我以后会不会成为谍战剧中的特工进入国家安全部门整天破译密码,有的人甚至将我等同于黑客。但由于之前听说过密码学很难,需要的数学理论比较深,对于密码学我也有些惶恐。刚入密码学的大门时,果不其然,很头疼。我们最初学习的主要是数学理论,相当抽象,同学们纷纷感慨:怎么能有人把这些密码算法弄出来?是怎么想的啊?好在随着学习的深入,当看到各种密码算法和密码协议将各种安全的挑战匪夷所思地解决的时候,不得不开始赞叹数学的魅力。
密码学,是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。作为信息安全的主干学科,西安电子科技大学的“密码学”名列前茅。1960年,西安电子科技大学创建了我国高校最早的信息论专业,70年代中期开始向密码学方向扩展,并分别于1990年和1993年,在全国高校中最早取得密码学硕士点和博士点,成为中国培养密码和信息安全人才及从事密码与信息安全研究的核心基地。
问题:你们学密码学的,能给我们破译一下qq密码、邮箱密码吗?
杨博士:身为密码学专业的学生,经常有同学问我能不能帮他们破解qq 密码。到底密码是什么?其实这些密码并不是真正意义上的密码,只是口令,就像“天王盖地虎,宝塔镇河妖”一样的暗号。密码指的是一个系统,密码学分为密码设计和密码分析两部分。密码设计就是建立各种类型的密码系统,我们要设计一个密码算法,建立一个密码方案等等,这些都属于密码设计;密码分析就是对这些系统进行攻击,进行破译。
密码系统用于***事和外交的保密通信已有几千年的历史。前两年热播电视剧《潜伏》中就常有这样的情节:余则成通过广播接收上级的消息时,抄写一段数字,再拿出一本书,就可以译出上级的指令,这就是一段保密通信的过程。在这个过程中,余则成和他的上级双方要事先约定好一本书,抄写的那些数字的含义,也是事先约定的。比如3789,就可以表示第37页第8行第9个字,这样余抄写下收到的数字,再按照约定好的方式在书中查找就可以译出相应的文字了。这是一种“替代”加解密的方式,就是将明文(要加密的信息)按一定方式用密文(加密后的信息)替代。除了“替代”法,常用的还有“移位”法,比如英文字母每一个都向后移3位,a变成d,b变成e,依此类推,最后的x、y、z在循环回来变成a、b、c。经过这样移位,如apple就写成了dssoh,达到保密的效果。实用中,“替代”和“移位”都是同时或者交替着多次使用,可以使得破译难度增大。这些都属于古典密码,密码的设计和分析大多都针对具体的语言,主要依靠人的聪明才智和直觉信念,比较少的依靠数学理论,目的就是进行保密通信。
问题:我在网上看到过有人用摩斯密码来表白的,你用过这一招吗?你们学习密码学的学生在日常生活中会用摩斯密码等密码来交流吗,比如用一排数字或字母来写留言条?
杨博士:没有。向您所说的摩斯密码是属于古典密码学,包括像我上面谈到的《潜伏》里头的例子。古典密码学比较有趣,好玩。普通的密码爱好者也都可以玩,但是相对现代密码学而言,安全性低一些,容易被破解。
随着现代信息理论的重大突破以及计算机技术的发展,密码学也产生了天翻地覆的变化,如果说古典密码是充满着神秘色彩的艺术,那么现代密码学则才称得上是真正的科学。因为现代密码学是以数学理论作为基础,现代的密码算法的安全性都是有数学理论作为支撑,并且在算法中分离出一个参数,称作密钥,密码的保密性依赖于密钥,算法可以公开(便于统一标准)。
现代的密码学就是解决信息安全的问题,是信息安全的基础,各种密码系统就在计算机,通信系统中。一般别人问我的专业我要是说密码学,就总是要被问半天,后来我都直接说是信息安全,追问的就少了,其实对普通人,这两者差不多就是一回事。
问题:作为信息学科中的密码学,你们平时研究是不是非常依赖计算机,整天对着电脑?
杨博士:虽然现在是信息时代,我们专业也算是属于信息学科,但其实我们并不是整天面对着计算机。
密码系统的安全性主要依赖于数学,所以我们学习的主要都是数学理论,计算机只是辅助我们验证或者编程计算一些例子时才使用到。在平时的研究中,只需要有一张纸,一支笔就可以作研究。我和朋友说起这些,他们总是很吃惊,看我的眼神,好像我的脑子就是一台计算机一样。其实,只用纸和笔,当然不会是具体的计算,具体数据的计算肯定是要用计算机的,我们更多的是考虑怎么算,考虑的是运算的规则和原理。这些运算规则是很复杂和抽象的,比如我们在研究布尔函数作为密码函数时,有一个8个变元的非线性度达到最大118的平衡布尔函数是不是存在的问题。这是一个理论性的问题,但对密码系统的设计非常有价值,因为非线性度在多数情况下是保证单钥密码系统安全的首要的指标,初看起来这个问题并没有什么,但是解决起来并不容易,首先用计算机搜索一个一个计算是不行的,因为所有8元布尔函数的数量近似等于宇宙中的所有原子的数量,大约10的77次方,按现在的计算机的速度,要算上若干年。所以只能从理论上研究它的代数结构,这需要坚持不懈的思考和一定的数学功底,再加上一点点运气,这个问题至今还是一个公开的难题。
问题:密码学除了跟外交、***事相关外,我们在日常生活有哪些地方是用得上密码学的?
杨博士:电子商务中就大量的使用了公钥密码技术来保障信息安全,比如现在网上购物消费,***支付越来越普遍,这都得益于电子现金这样的概念,电子现金里面是具有很多密码方案组成一个复杂的系统,它是通常现金在网上的一种数字形式,包含用户、银行、还有商家几者之间的关系,比如说,在你提取电子现金时,就是一个盲签名的过程,银行并不知道你的具体身份,但是能验证出你是合法的用户。你到商家去购买一样东西,要从银行提电子现金出来,然后商家要能够验证这是多少钱,并且确定是你的钱,到银行能够存到他的帐户上,他才能支付你的货物,这个过程的实现就要依靠零知识证明协议。
在我们***支付或转帐时,不但信息要被保密,更重要的是信息要完整的传输和存储,不能被篡改和否认,比如支付1000元,不能被修改成10000元,用户买了东西不能赖帐,这就要用到电子现金的支付系统。我们在使用网银时需要***一个网银证书,这里就包含了数字证书技术,我们的操作信息经过一个密码方案的处理,生成一个数字证书,由于其内在的数学原理,使得操作信息若被修改就会被发现。
再比如我们常用的银行卡,其芯片就采用硬件加密技术,应用加密算法设置了卡片加密验证码,如果利用银行卡信息制作假卡,在银行卡的发行银行解密就可以识别出来,这就属于身份认证。
还有像有的银行有电子银行口令卡,口令卡每次随机生成一次密码,或者有些网站登录时可以用短信密码,系统以短信形式发送随机的若干位密码到客户的手机上,客户在交易认证或者登录时候输入此动态密码。系统产生的若干位随机密码是通过密码算法来产生的。还有就是我们安装一些软件经常要的序列号,注册码,它们的生成算法也可以是密码算法。
问题:你们同学毕业后都从事什么行业啊?真的有人会成为间谍、黑客吗?
杨博士:密码分析科学家和黑客不同。黑客是盗取密码保护的信息以获取利益,而密码分析家从事的是基础理论研究,是为了评估密码算法的安全性,找到其漏洞,以设计出更安全的密码算法,一般“黑客”达不到这种设计水平。西电密码学毕业的学生,主要都是各个高校和研究所,还有一些国企或旗下的设计院,比如我们现在的一个将要毕业的研究生就在某国企的芯片设计院实习,设计芯片的硬件加密,还有就是和通信,计算机专业一样去各个IT公司。