加密,究竟有几秘密?|星岛教室

2023-05-18 12:21

众所周知,密码与我们的日常生活息息相关,而数学在密码学中扮演着一个非常重要的角色。「加密」(Encryption)是将原来的讯息(明文)改变为难以理解及读取的密文。经过「解密」(Decryption)过程,密文才能还原为明文。加密法分为「对称加密法」及「非对称加密法」,本文将扼要介绍对称加密法及非对称加密法,并提供简化例子予读者研习,以加深各位对相关课题的认识及理解。


对称加密法

Alice想给Bobby传递一个讯息 m ( m 称为明文),为让读者更易理解,我们可假设m为一个整数,Alice将 m 加上一个整数 e ( e 为一个密钥)后讯息变为 m+e ,以上过程是为加密法。加密后讯息由 m 转变为 m+e ,我们称 m+e 为 c ( c 可称为密文),在解密过程中,将 c 减去 e 后Bobby便可得到讯息 m 。由于在加密及解密的过程中我们使用相同的密钥,故此以上的加密法称为对称加密法。

例子︰

讯息 m=3,密钥 e 为-100,由此密文 c=m+e=3-100=-97。

解密之后,讯息为 c-e=-97-(-100)=3,即Bobby可接收原来的讯息。

RSA加密演算法(非对称加密法)

在对称加密法中,由于加密及解密的密钥相同,如在过程中被黑客发现密钥,讯息便会被破解,为提高安全性,在1977年,3名在麻省理工学院工作的科学家,罗纳德.李维斯特(Ronald Linn Rivest)、阿迪.萨莫尔(Adi Shamir)和伦纳德.阿德曼(Leonard Adleman)共同提出了一种非对称加密演算法,即RSA加密演算法,RSA加密演算法在电子商业中被广泛使用。RSA加密演算法就是以他们3人姓氏开头字母拼在一起组成的。RSA加密演算法是一种非对称式密码学,它需要两个密钥,一个是公开密钥,其作用是为讯息加密;另一个是私有密钥,用作解密。公开密钥把明文(原本讯息)加密后所得的密文,只能用相对应的私有密钥才能解密并得到原本的明文,最初用来加密的公开密钥并不能用作解密。由于加密和解密需要使用两个不同的密钥,故此RSA加密演算法被称为非对称加密法。


RSA加密演算法原理及流程

1. 先随机选择两个非常大的质数 p 及 q 。

2. 设 n=pq。

3. 设 =(p-1)(q-1)。

4. 选定一个足够大的整数 e 使得 1<e< 及 e 与 互质(即 e 和 的最大公因数为 1)。

5. 求 d 唯一的值使得 1<d< 及 e×d≡1(mod ) 。
[e×d≡1(mod ) 表示 e×d-1 可被 整除]

6. (e, n) 及 (d, n) 分别为公开密钥及私有密钥。

7. 假设Alice想给Bobby传递一个讯息 m (mn) ,使用公开密钥加密后的密文 c 为 me 被 n 除后的馀数。

8. 使用私有密钥 (d, n) 解密,Bobby可得到原本的明文 m ,其中 m 为 cd 被 n 除后的馀数。


RSA 加密演算法流程

为使读者更易明白RSA加密演算法原理及流程,以下例子中使用了数值很小的质数示范RSA加密演算法的原理,在实际操作上, p 和 q 均为非常大的质数。选取大质数是基于保安理由,黑客在得到公开密钥 (e, n) 后想设法得到私有密钥 (d, n) ,他必须知道 的值(e×d≡1(mod ) ),而由于 =(p-1)(q-1),他要计算 p 和 q 的值,换句话说,他须使用电脑因式分解一个非常大的整数 n (n=pq),n 愈大,破解私有密钥的困难便会愈大,故此对于足够大的 n 而言,RSA加密演算法颇为安全。


例子

我们选取两个质数p及q,其中p=7及q=13 。

n=pq=91 及 =(7-1)(13-1)=72 。

取 e=29 使得 1<e< 及 e 与 互质。

由此 d=5 (因为 e×d-1=29×5-1=144=72×2 ,即是 e×d≡1(mod ))

公开密钥及私有密钥分别为 (29, 91) 及 (5,91) 。

设 m=2 (mn) ,c 为 me 被 n 除后的馀数,即 c 为 229 被 91 除后的馀数,得 c=32 。

使用私有密钥 (5, 91) 解密密文, m 为 cd 被 n 除后的馀数,即 m 为 325 被 91 除后的馀数,得 m=2 。


练习

我们选取两个质数p及q,其中 p=3 及q=11 。

设 m=6 。

求 n, , d, e 及 c 的值,并证明使用私有密钥可将密文还原为明文。


建议答案︰

n=33, =20, d=7, e=3 及 c=18


文:仁济医院罗陈楚思中学副校长谭在能、仁济医院罗陈楚思中学数学科老师曾韦怡及仁济医院罗陈楚思中学数学科老师邓颂贤

本栏逢周四刊登,由教育评议会邀请资深中小学老师、校长及大学讲师撰稿,旨在为学生提供多元化的STEAM学习材料,引发学生探求知识的兴趣,将学习融入生活,培养学生的世界观、敏锐的触觉、积极学习的态度。


延伸阅读:

〈天问〉|星岛教室


《星岛头条》APP经已推出最新版本,请立即更新,浏览更精彩内容:https://bit.ly/3yLrgYZ
 

關鍵字

最新回应

關鍵字

相關新聞

You are currently at: std.stheadline.com
Skip This Ads
close ad
close ad