密码学中的签名、哈希、加密及病毒防护技术解析
1. 不可否认签名
不可否认签名是一种数字签名,其验证需要签名者的协助。与普通数字签名不同,普通数字签名任何拥有签名者公钥的人都可验证,而不可否认签名需与签名者进行通常为交互式的协议来验证。协议结果会告知验证者签名是否来自声称的签名者。
1.1 不可否认签名方案操作
- 密钥生成 :生成私钥签名密钥和公钥验证密钥对。
- 签名 :对消息进行签名。
- 确认操作 :证明签名有效(确认)或无效(否认)。该操作有两个明确输出以区分三种情况:签名有效、签名无效、签名者不愿或无法配合让验证者确定签名是否有效。
1.2 安全要求
- 不可伪造性 :抵抗计算受限攻击者在自适应选择消息攻击下的存在性伪造。
- 不可见性 :作弊验证者无法以不可忽略的概率判断签名是否有效。
- 稳健性 :作弊签名者不能滥用确认操作证明有效签名无效或无效签名有效。
- 不可转移性 :作弊验证者无法从确认操作中获取能说服第三方签名有效性的信息。
1.3 附加特性
- 确认操作可非交互式。
- 可将确认签名的权力分配给一组代表。
- 存在不可否认阈值签名概念。
- 有可转换不可否认失败停止签名,签名者可将不可否认签名转换为失败停止签名。
- 还有不可否认盲签名。
2. 可转换不可否认签名
可转换不可否认签名是不可否认签名的有趣扩展。签名者可将每个不可否认签名转换为普通数字签名,实现普遍可验证。
2.1 操作
- 个体转换操作 :输入消息、不可否认签名、签名者私钥,输出普通可验证签名。
- 通用转换操作 :输入签名者私钥,返回通用收据,可将所有有效不可否认签名转换为普通可验证签名。
- 通用验证操作 :输入消息、转换后的不可否认签名、签名者公钥,返回签名是否有效。
2.2 应用示例
软件公司破产时,可发布通用收据,使任何人能随时验证其软件包签名。
3. 通用单向哈希函数
通用单向哈希函数(UOWHF)是一类由公共参数(密钥)索引的哈希函数,找到第二原像较难。
3.1 与碰撞抗性哈希函数对比
UOWHF 比碰撞抗性哈希函数(CRHF)弱。在 CRHF 中,对手先拿到密钥再产生两个碰撞输入;而 UOWHF 先选挑战输入,再选函数实例,对手之后找与挑战输出相同的第二输入。
3.2 构造
- 基于强通用哈希函数和单向置换构造。
- 将任何单向函数转换为 UOWHF。
- 基于子集和问题构造。
3.3 优化构造
- 线性构造:需 2t 次固定大小 UOWHF 调用和 t 个 m 位字符串密钥,将长度为 2t(m - n) + m 位的消息哈希为 m 位。
- 树构造:允许 t 倍并行性,以稍大密钥为代价。
4. 不可链接性
不可链接性指在攻击者观察下,两个事件在过程前后的关联程度不变。
4.1 应用到密码方案
需明确攻击者模型,如被动攻击者(如窃听者)或主动攻击者,以及其观察通信线路的情况、与诚实参与者的交互方式、计算能力等。基于精确模型,可定义密码方案中某些事件不可链接。
4.2 实现方式
个体可在不同交易中使用不同假名,但这通常只是必要非充分条件。匿名性、不可追踪性和隐私都与不可链接性密切相关。
5. 不可追踪性
不可追踪性指攻击者无法追踪对象从一个参与者或位置到另一个的轨迹。常见例子如某些匿名网络中的电子邮件和某些电子现金方案中的电子硬币。
6. 用户认证
用户认证与实体认证类似,但“实体”限于人类用户。实际中,认证技术通常限于基于密码的方案。
7. 可验证加密
可验证加密是一种加密方案,能在消息加密形式下证明其某些属性。
7.1 应用场景
- 密钥托管方案:发送者证明加密密钥是解密消息的正确密钥。
- 群签名方案:识别签名者的信息加密,权威可在争议时追踪签名者。
- 电子投票:确保投票是 1 或 -1 的加密。
7.2 验证方式
通常采用零知识协议证明对加密消息属性的知识。
8. 可验证秘密共享
基本秘密共享方案仅抵抗被动攻击,可验证秘密共享(VSS)方案能抵抗主动攻击。
8.1 主动攻击类型
- 分发协议中,分发者向部分参与者发送不一致或错误份额。
- 重建协议中,参与者提交错误份额。
8.2 示例方案
-
Feldman 的 VSS 方案
:
- 分发 :分发者选择随机多项式,发送份额给参与者并广播一些值,参与者验证份额有效性。
- 重建 :验证每个参与者的份额,使用 t 个有效份额恢复秘密。
- Pedersen 的 VSS 方案 :非交互式,除提交投诉外无需分发者与参与者或参与者之间交互。
- 公开可验证秘密共享(PVSS)方案 :无需交互,任何人都能验证分发者分发的份额。
- 交互式 VSS 方案 :常见于安全多方计算协议,依赖认证标签、检查向量等。
8.3 应用
VSS 方案用于分布式密钥生成(DKG)协议,是门限密码学的基本工具。
9. Vernam 密码
Vernam 密码对 5 位字组进行加密,通过按位模 2 加法操作,通常使用 CCIT2 代码,密钥应为完全随机的一次性密钥。
9.1 Vernam 表示例
| | 0 | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | 2 | 3 | 4 | 5 | 1 |
| — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 0 | 0 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 2 | 3 | 4 | 5 | 1 |
| A | A | 0 | G | F | R | 5 | C | B | Q | S | 4 | N | Z | 1 | K | 3 | Y | H | D | I | W | 2 | X | T | V | P | L | U | O | J | E | M |
| B | B | G | 0 | Q | T | O | H | A | F | 1 | L | P | J | S | Y | E | K | C | W | M | D | V | U | R | 2 | N | 4 | X | 5 | Z | 3 | I |
|… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |… |
10. Vigenère 加密
Vigenère 加密使用移位标准字母表,利用 Vigenère 表进行加密。
10.1 Vigenère 表示例
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| B | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A |
| C | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B |
| … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
10.2 加密示例
| 明文 | m | u | c | h | h | a | v | e | i | t | r | a | v | e | l | l | e | d |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 密钥 | G | O | L | D | G | O | L | D | G | O | L | D | G | O | L | D | G | O |
| 密文 | S | I | N | K | N | O | G | H | O | H | C | D | B | S | W | O | K | R |
11. 病毒防护
计算机病毒是计算机安全的常见威胁,会造成数据删除或损坏、发起攻击、浪费计算资源等危害。
11.1 病毒定义
病毒是一种计算机程序,能复制自身到其他程序或文档,在程序运行或文档打开时执行。其恶意行为包括删除文件、破坏 BIOS、留后门、窃取信息、发起拒绝服务攻击等,还可能影响计算机正常运行。
11.2 感染文件方式
- 传统可执行病毒 :针对可执行文件,可覆盖整个文件或附着在文件上,通常先运行病毒再运行程序。附着到二进制可执行文件时,利用硬盘块未使用空间,修改起始地址指针指向病毒代码。
- 宏病毒 :利用软件包数据文件可包含脚本代码的特性,附着到数据文件,如 Microsoft Office 软件中的 Word 和 Excel 文件。
11.3 传播和启动方式
- 电子邮件 :如 Melissa、The Love Bug 等病毒通过电子邮件传播,利用用户好奇心和软件特性。
- 互联网下载 :下载感染文件导致本地机器感染。
- 软盘 :移动感染文件或感染软盘引导扇区。
- 感染引导扇区 :将病毒安装在主机磁盘驱动器的引导扇区或分区扇区,系统启动时激活。
11.4 预防感染指南
- 不随意打开下载或邮件附件中的可执行文件或支持宏的文档,可验证文件真实性和完整性,通过杀毒软件检查。
- 禁用文档中的宏支持,特别是 Microsoft Office 软件。
- 不允许操作系统隐藏文件扩展名或自行做出安全关键决策。
- 谨慎从软盘启动系统,检查软盘是否干净,禁用 BIOS 中的软盘启动选项。
- 采用异构计算环境。
11.5 杀毒软件
- 检测技术 :基本检测技术是将文件模式与病毒“签名”数据库匹配,需不断更新数据库。
- 启发式检测 :分为静态和动态。静态启发式分析文件结构找恶意模式;动态启发式在受控虚拟环境中运行程序并监控行为。
11.6 最新病毒类型
- 多态病毒 :不断改变自身代码,检测窗口小。
- 加密病毒 :加密病毒代码,不匹配常规模式,加密密钥可更改形成多态加密病毒。
12. 视觉秘密共享方案
视觉秘密共享方案(VSSS)是秘密共享方案的特殊情况,允许联盟通过视觉方式恢复秘密。
12.1 定义
考虑将一位视觉信息(黑白像素)作为秘密 s 分配给 n 个参与者。分发者使用两组二进制矩阵 B 和 W,分发黑色秘密(s = 1)时随机选矩阵 B 发送给参与者,分发白色秘密(s = 0)时选矩阵 W。允许联盟通过堆叠透明片恢复秘密,计算黑色子像素数量并与阈值比较。
12.2 (n, k)VSSS 条件
- 对于任何 B ∈ B,B 的任意 k 行的 OR 运算的汉明重量至少为 d1。
- 对于任何 W ∈ W,W 的任意 k 行的 OR 运算的汉明重量至多为 d0。
- 对于任何 l < k 的子集,限制 B 和 W 到这些行得到的两个集合不可区分。
12.3 参数
- 对比度 α :α = (d1 - d0) / m。
- m :共享中的子像素数量。
- r :集合 B 和 W 中的矩阵数量。
12.4 构造
- 对于(n, n)阈值方案,有最优视觉版本。
- 对于一般视觉阈值(n, k)方案,有多种构造方法,且可通过线性规划评估最大可能对比度。还考虑了彩色情况的推广。
13. 总结
本文介绍了密码学中的多种技术,包括不可否认签名、可转换不可否认签名、通用单向哈希函数等签名和哈希技术,以及可验证加密、可验证秘密共享等加密和共享技术。同时,还涉及了用户认证、不可链接性、不可追踪性等安全概念,以及 Vernam 密码、Vigenère 加密等传统加密方法。此外,对计算机病毒防护和视觉秘密共享方案也进行了详细阐述。这些技术和概念在保障信息安全、实现隐私保护等方面具有重要作用。
通过对这些技术的了解和应用,可以更好地应对各种安全挑战,如防止签名伪造、确保消息完整性、保护用户隐私、抵御病毒攻击等。在实际应用中,应根据具体需求选择合适的技术,并结合安全策略和最佳实践,以构建更安全可靠的信息系统。
mermaid 格式流程图示例:
graph LR
A[不可否认签名方案] --> B[密钥生成]
A --> C[签名]
A --> D[确认操作]
D --> E[签名有效]
D --> F[签名无效]
D --> G[签名者不配合]
graph LR
A[病毒感染过程] --> B[传播]
A --> C[启动]
B --> D[电子邮件]
B --> E[互联网下载]
B --> F[软盘]
B --> G[感染引导扇区]
C --> H[执行病毒代码]
H --> I[寻找其他文件感染]
14. 技术对比与综合应用分析
14.1 签名技术对比
| 签名类型 | 验证方式 | 安全性特点 | 应用场景 |
|---|---|---|---|
| 不可否认签名 | 需要签名者协助,通过交互式协议验证 | 不可伪造、不可见、稳健、不可转移 | 保护非公开敏感信息,如安全关键系统软件签名 |
| 可转换不可否认签名 | 可转换为普通数字签名,实现普遍可验证 | 具备不可否认签名特性,可灵活增加签名可验证性 | 软件公司破产等情况,需开放签名验证权限 |
14.2 哈希函数对比
| 哈希函数类型 | 安全要求 | 特点 | 应用场景 |
|---|---|---|---|
| 通用单向哈希函数(UOWHF) | 找到第二原像困难 | 弱于碰撞抗性哈希函数,生日悖论不适用 | 构建高效数字签名方案 |
| 碰撞抗性哈希函数(CRHF) | 攻击者需产生两个碰撞输入 | 安全性要求更高 | 对安全性要求极高的场景 |
14.3 加密与共享技术对比
| 技术类型 | 功能 | 应用场景 |
|---|---|---|
| 可验证加密 | 在加密形式下证明消息属性 | 密钥托管、群签名、电子投票 |
| 可验证秘密共享(VSS) | 抵抗主动攻击,安全分发和恢复秘密 | 分布式密钥生成、门限密码学 |
14.4 综合应用示例
在一个复杂的电子交易系统中,可以综合运用上述技术来保障安全。例如,使用不可否认签名对交易信息进行签名,确保交易的不可抵赖性;利用可验证加密对敏感交易数据进行加密,同时证明数据的合法性;采用通用单向哈希函数对交易记录进行哈希处理,保证数据完整性;通过可验证秘密共享方案来管理系统的密钥,提高系统的安全性和可靠性。
15. 未来技术发展趋势展望
15.1 签名技术发展
- 随着云计算和物联网的发展,不可否认签名和可转换不可否认签名可能会在更多分布式系统中得到应用,需要进一步优化其验证效率和安全性。
- 可能会出现新的签名方案,结合量子技术,以应对量子计算对传统签名技术的威胁。
15.2 哈希函数发展
- 随着数据量的不断增大,对哈希函数的性能和安全性要求也会越来越高。通用单向哈希函数可能会朝着更高效、更安全的方向发展。
- 研究人员可能会探索基于新的数学难题的哈希函数,以提高其抗攻击能力。
15.3 加密与共享技术发展
- 可验证加密和可验证秘密共享技术可能会在多方安全计算、区块链等领域得到更广泛的应用,需要进一步降低其计算复杂度和通信开销。
- 随着量子加密技术的发展,可能会与传统加密和共享技术相结合,形成更强大的安全解决方案。
15.4 病毒防护技术发展
- 面对不断变化的病毒威胁,杀毒软件需要不断更新检测技术,提高对新型病毒的识别能力。
- 可能会出现基于人工智能和机器学习的病毒防护技术,能够自动学习和识别新的病毒模式。
16. 总结与建议
16.1 总结
本文全面介绍了密码学中的多种技术,包括签名、哈希、加密、共享等方面,以及计算机病毒防护和视觉秘密共享方案。这些技术在保障信息安全、实现隐私保护等方面发挥着重要作用。不同的技术具有不同的特点和应用场景,在实际应用中需要根据具体需求进行选择和组合。
16.2 建议
- 对于开发者和安全工程师,应深入了解各种技术的原理和特点,根据项目需求选择合适的技术方案,并结合安全策略和最佳实践,构建安全可靠的信息系统。
- 对于普通用户,应提高安全意识,遵循预防病毒感染的指南,定期更新杀毒软件,保护个人信息安全。
- 研究人员应继续探索新的技术和方法,应对不断变化的安全挑战,推动密码学和信息安全领域的发展。
mermaid 格式流程图示例:
graph LR
A[电子交易系统安全保障] --> B[不可否认签名]
A --> C[可验证加密]
A --> D[通用单向哈希函数]
A --> E[可验证秘密共享]
B --> F[交易不可抵赖]
C --> G[数据合法性证明]
D --> H[数据完整性保障]
E --> I[密钥安全管理]
graph LR
A[未来技术发展趋势] --> B[签名技术]
A --> C[哈希函数]
A --> D[加密与共享技术]
A --> E[病毒防护技术]
B --> F[分布式系统应用]
B --> G[量子签名方案]
C --> H[高效安全发展]
C --> I[基于新难题的哈希函数]
D --> J[多方安全计算应用]
D --> K[量子加密结合]
E --> L[新型检测技术]
E --> M[人工智能防护]
超级会员免费看
81

被折叠的 条评论
为什么被折叠?



