密码在英文中对应有两个单词,一个是 password,另一个是 cipher。对于大部分人来说,日常生活中所接触的密码是 password,比如手机解锁密码、计算机解锁密码、保险箱密码、网站登录密码、银行卡密码和网络交易密码等,这些是设备用来证明用户可以访问信息或者授权的秘密字符串。它可以是一串数字或一串字母,也可以由一串数字加字母或者其他特殊符号组合而成,甚至可以是人的指纹或者面部,主要用于确认用户的身份,通常还需要与用户名结合起来使用。而密码学研究的密码,通常指的是 cipher,主要是在保密通信中对所传递的信息进行加密,从而确保信息不被发送方和接收方以外的第三方知晓。 cipher 通常是一套复杂的密码系统,通过加密数据来保证数据的安全。
密码学 (Cryptology) 一词源自希腊文 kryptós 及 logos,直译即为“隐藏”及“信息”之意。根据《辞海》的解释,密码主要是指“按特定法则编成,用以对通信双方的信息进行明密变换的符号”。换句话说,密码是通过某种可逆的信息编码的方式,把真实信息转化为一种除通信双方外,第三方无法理解的信息。
密码学是研究以加密形式发送信息的方法,只有掌握此加密技术的特定人群才能破解加密,从而获得有效信息。密码学是一门既古老又年轻的学科,在数千年的发展历史中,经历了古典密码学、近代密码学和现代密码学 3 个阶段。古典密码学主要关注信息的加密过程和传递过程,以及研究对应的破译方法;而近代密码学和现代密码学不只关注信息传输时的保密问题,还涉及信息完整性和信息发布的不可否认性,以及在分布式计算中产生的来源于内部和外部的攻击的所有信息安全问题。
本章将介绍密码学简史,描述密码学最早期的应用场景,以及现代密码学发展的重要节点;同时介绍现代密码学的一些基本概念,并列出密码学的基本要素、基本原则及密码分析方法,帮助读者掌握一定的编码知识,为后续阅读做好充分的准备。