给信息加把安全锁
2019-04-29郑东秦宝东
郑东 秦宝东
当你在用手机与他人进行通信时,你是否担心手机里的隐私数据被其他人知道?曾经有这样一则报道:一个黑客来到一家咖啡馆,在20分钟之内,他获取了咖啡馆中所有人的出生地、就读学校和他们最近在谷歌上搜索过的关键词等信息。无独有偶,2016年3月15日,央视“3·15晚会”曝光了公共Wi-Fi存在的严重安全隐患。在晚会现场,设有免费的公共Wi-Fi,参加试验的观众在连上公共Wi-Fi之后,打开自己常用的一两个消费类软件,比如打车、订餐、购物类软件,浏览一下过去的订单和消费记录。令人惊讶的一幕出现了——现场的大屏幕上显示出了各种地址、姓名、身份证号、银行卡号。看到这儿,你是否有一种想赶快删除手机里敏感的数据、图片、聊天记录等信息的冲动呢?
其实,除了将数据删除掉,还有更聪明的方式来保护它,那就是给数据加密!也许你已经听说过很多数据加密方式,比如恺撒密码和二战时期的恩尼格玛密码等古典密码,然而在破译技术飞速发展的今天,这些古典密码技术已经不再安全,且不被使用了。那当今流行什么样的数据加密技术呢?
数据加密是信息安全的核心技术之一,它主要用于保障数据在不安全环境中的安全存储和通信。通过数据加密,我们手机里的敏感信息将变成一堆乱码。即使公布这堆乱码。也只有你的那个他才能读懂它的真正含义。在这一过程中,敏感信息就是待加密的数据,专业术语称为明文(Plaintext),被公布的乱码称为密文(Ciphertext),从明文到密文的变换过程称为加密(Enclyption),而从密文恢复出明文的过程称为解密(Decryption)。显然,加密过程必须是可逆的,即从密文一定能够正确地恢复出明文。
从数学角度讲,加密的本质是一种数学变换函数。它的定义域和值域则分别为数据加密中的明文集合和密文集合。无论我们要加密的信息是各种符号还是图片,都可以用一串数字来表达这些信息。例如,变换函数厂将每个大写英文字母往后平移3位,即A替换为D,B替换为E,依此类推。假如你要传递信息“ILOVEYOU”,那么变换后的密文则为“LORYHBPCK”。如果知道该函数的变换技巧,就能很容易地从密文中恢复出明文。如果用整数0~25分别表示26个大写英文字母,这种变换函数就可以简单地写成y=x+3。除了你,也许还有别人和他通信,选择的变换函数也大同小异,比如y=x+5。那么,這类函数可以统一写成y=f(k,x)=x+k的形式,区别在于你们选择的k不同。在专业术语里,k称为密钥。
我们的密码系统就是由这些明文、密文、加密算法、解密算法和密钥五种元素组成的。那么,密码系统的安全性依赖哪些元素呢?一种观点是依赖加密和解密算法的保密性。一旦算法泄露,就要重新设计算法,但这种成本很高。另一种观点是依赖密钥的保密性。一旦密钥泄露,仅需要更新一个密钥。相比之下,在泄露事件发生后,依赖密钥保密性的系统付出的代价较低。
依赖密钥保密性的观点被称为密码学的柯克霍夫原则,它由奥古斯特·柯克霍夫在19世纪提出:即使密码系统的任何细节已为人悉知,只要密钥未泄露,它也应是安全的。依据柯克霍夫原则,大多数民用加密系统都使用公开的算法。但相对地。用于政府或军事机密的算法还是保密的。
(郑东 秦宝东/文,选自《知识就是力量》2018年第10期,有删改)
1.文章说明的对象是什么?
______________________________
2.文中的画线句子运用了什么说明方法?有什么作用?
______________________________
3.有人说文章开头叙述的两个事例没什么作用,可以删去,你怎么看?
______________________________
(梁吴芬/设题)