非对称加密是什么?原理和应用介绍
在资讯领域中,加密是指透过加密演算法与一组特定参数(称为「金钥」),将「可直接阅读的明文资讯」经过多轮运算(如切割、替换、改变顺序与重新组合),转换为「无法直接阅读的乱码(密文)」。如此一来,即使讯息在传输或储存过程中遭到窃取或外泄,没有金钥的人也无法解读内容,从而避免机敏资讯被滥用。
在加密过程中,金钥会与明文一同输入演算法,并在每一步运算中影响最终结果;解密时,同样必须使用正确的金钥,才能将密文还原为原本的明文。
【加密与解密示意图】
依金钥的使用方式不同,加密可分为对称加密与非对称加密。本文将深入介绍非对称加密的原理与应用,并比较两种加密方式的差异与优势。
非对称加密(Asymmetric Encryption)是什么?
在非对称加密中,加密和解密所使用的金钥不同,也因此被称为「非对称加密」。
非对称加密在将明文转换为乱码密文时,所使用的是「公开的金钥(Public Key,简称公钥)」,也就是可以与任何人分享的金钥。在解密时,则以仅有特定使用者持有的「私密的金钥(Private Key,简称私钥)」进行将乱码还原的过程。
对称加密(Symmetric Encryption)是什么?
相对于使用不同金钥加密与解密的非对称加密,对称加密在加密和解密过程中都使用同一把钥匙。因此,对称加密中的金钥是不公开的,无论是加密或是解密资讯的那方,都需要把金钥妥善保存,避免遭窃。
而也因为对称加密使用相同金钥,利用对称加密传输资讯时,传送者和接收者之间,除了传送资讯本身的管道以外,还有另一个管道互相确认使用者身份和交换金钥(通常为安全协定、实体安全管道等)。
而相较于非对称加密中的金钥较复杂,对称加密的金钥是一串数值,每次加密的数值可能不同。但通常来说,字元数较非对称加密金钥短。
加密中的演算法与金钥是什么?
前面提过,加密过程中最不可或缺的就是「演算法」与「金钥」两项。那它们分别是什么呢?
- 演算法:是一套数学公式或数学模型,规定了加密与解密的计算规则。演算法本身通常是公开的,安全性依赖于金钥的保密。
- 金钥:是一组特定的参数,在加密过程中会与明文一起进入演算法,影响每一步运算的结果。不同的金钥,即使用同一套演算法,加密后的密文也会完全不同。
下面段落会进一步介绍在非对称与对称加密中,演算法和金钥扮演了什么样的角色。
非对称加密的演算法
在非对称加密中,加密和解密的过程,仰赖数学难题,常使用的演算法为以「质因数分解为基础的 RSA」和「根据椭圆离散对数问题为主的椭圆曲线密码学(ECC)」两种:RSA 演算法的金钥长度较长,破解难度高;ECC 的金钥长度较短,但可以达到与 RSA 同等的加密强度。
對稱加密的演算法
对称加密有「区块加密(Block Cipher)」与「串流加密(Stream Cipher)」两种方式。区块加密会将明文资料切割成小块,以分块、替换、置换、混合、多轮迭代等方式转换为乱码,常用的演算法有 AES、DES 和 3DES。串流加密则是一次处理明文资料中的一个位元或一个字节,就不再另外切割成小块。
【想要更进一步了解加密演算法,欢迎阅读《加密是什么? 7 种常见的加密演算法》】
非对称加密中的金钥
在非对称加密中,金钥是数学模型中的核心参数(例如 RSA 的模数与指数),安全性依赖于解特定数学难题的困难度,例如质因数分解或椭圆曲线离散对数问题。由于这些数学问题可能有已知的最佳解法,比起靠暴力破解对称加密金钥要快得多,因此若要达到相同的安全等级,非对称加密需要更长的位元长度。金钥长度越长安全性越高,但加密与解密所需的运算资源与时间也会增加。
在非对称加密中,首先由接收者生成解密用的私钥,再由私钥推导出对应的公钥。公钥可公开分享给任何人进行加密,但只有持有私钥的使用者能解密。
对称加密的金钥
对称加密的金钥为随机的数值,功用就像一份专属的「加密指令表」,告诉演算法要如何替换、排序与混合资料。在加密和解密时,使用相同的数值。
由于对称加密金钥的本质为随机数值,可以透过暴力破解逐一尝试可能的组合破解。而金钥字元越长,要使用暴力破解获得金钥的困难度就越高。因此,对称加密中的金钥长度,也同样对加密安全性有关键的影响。
非对称加密 vs 对称加密:差异与优势
非对称加密和对称加密最主要的差别在于,使用的金钥和演算法类别。在实际应用上,也会有所差异,特别在以下 3 个面向:
-
速度
对称加密因为金钥位元数通常较短,且演算法运算量小,加密和解密的速度都比非对称加密快。此外,对称加密只需要一把双方共用的金钥即可完成加解密,不必在加密与解密时使用不同金钥,因此相对于非对称加密,在运算与流程上更简单。
-
金钥管理
使用非对称加密,就需要管理不同的公钥与私钥,因此系统会需要更多运算资源,也让加密与解密的流程更复杂。对称加密只需要管理 1 组私密金钥,流程较简单。
-
金钥分发
对称加密中,加密与解密共用的金钥,在每一次资料传输交换前,分发金钥时,都有可能外泄。这点是对称加密的安全风险。
对称加密 | 非对称加密 | |
金钥生成 | 随机数列 | 数学问题 |
安全性原理 | 暴力破解难度 | 破解数学问题难度 |
优势 | 加密和解密速度快 | 以公钥加密无需分发金钥 |
缺点 | 金钥外泄风险较高 | 加密和解密速度慢 |
虽然对称加密与非对称加密在原理与应用上不同,但实务上常会结合使用,以兼顾安全性与效能。例如,先用对称加密演算法加密明文内容,再用非对称加密演算法加密该次使用的对称金钥。这样既能利用对称加密的高速度处理大量资料,也能利用非对称加密安全地传输金钥,降低金钥外泄风险。
非对称加密的实际使用场景
虽然非对称加密可能需要花比较多时间,但在日常生活中应用十分广泛,常见的例子包括:
-
网页浏览:用于 HTTPS 网页浏览,在建立连线时利用非对称加密交换对称金钥,确保后续传输安全。
-
数位签章(Digital Signature)/身份验证:私钥签名、公钥验证,确认讯息或交易的真实性与完整性。
-
交换密钥:防止对称加密金钥在传输时外泄。
-
区块链技术:公钥生成钱包地址,私钥签署交易。
非对称加密的挑战与趋势
虽然非对称加密提供高安全性,但随着科技发展,也面临新的挑战。目前主要的挑战即为:量子计算和 AI 技术。
量子计算利用量子力学原理,大幅提升数学运算的效率与能力,使破解非对称加密背后数学难题的速度显著加快。为了解决这个问题,密码学界正积极发展后量子加密(Post-Quantum Cryptography,PQC)。
AI 透过对大量资料的分析与模式识别,可协助发现加密系统的潜在弱点。虽然 AI 在模式辨识方面难以直接破解强加密演算法,但能加速分析系统实作上的漏洞,例如旁通道攻击(Side-Channel Attack)与金钥管理不当等问题。同时,AI 也可用于强化加密安全性,例如测试演算法的抗攻击能力、分析安全漏洞、优化演算法设计,以及改善对称与非对称加密的金钥管理流程。
对企业而言,加密机敏资料是资讯安全防护中不可或缺的一环。无论采用哪种加密方式,关键在于能与企业的运作流程、使用习惯及资料保密需求完美契合,打造最适合的加密机制。欢迎联络晟崴科技,让我们为您科技可为您量身规划专属的企业文件加密解决方案,全方位强化资料安全防护、守护数位资产!
立即联络晟崴科技为您提供文件加密规划