课程应用密码学关键词数字货币、区块链、数字签名、哈希算法、密码学、数字人民币前言近年来数字货币逐渐从一个技术概念走向现实生活。从比特币、以太坊等去中心化数字货币到我国正在推广试点的数字人民币数字货币已经成为金融科技发展的重要方向。数字货币能够安全运行并不是依靠某一种加密算法而是综合运用了哈希函数、数字签名、公钥密码、共识机制、身份认证、密钥管理等多种密码学技术共同保障资产安全和交易可信。本文结合《应用密码学》课程内容对数字货币安全机制进行了系统调研并总结其中涉及的核心密码学知识以及现实中的安全风险。一、什么是数字货币数字货币Digital Currency是以数字形式存在、能够进行支付、转账以及价值存储的一类货币。根据发行主体不同可以大致分为三类① 去中心化数字货币代表Bitcoin、Ethereum特点不依赖中心机构发行基于区块链维护账本使用密码学保证交易真实性② 稳定币代表USDT、USDC特点与法币或者资产挂钩波动较小广泛用于数字资产交易③ 央行数字货币CBDC代表数字人民币e-CNY特点国家发行法定货币更强调支付安全、监管能力以及隐私保护虽然三种数字货币运行方式不同但是底层都离不开现代密码学。二、数字货币需要解决哪些安全问题如果把传统现金换成一串数字那么首先需要解决几个非常关键的问题。1. 如何证明这笔钱属于我现实生活中一张百元人民币拿在谁手里就是谁拥有。但是数字文件可以无限复制。因此数字货币必须能够证明只有真正拥有私钥的人才能使用这笔资产。这就是数字签名发挥作用的地方。2. 如何保证交易不会被修改例如原本转账100 元如果攻击者把数据改成1000 元整个支付系统就失去了意义。因此所有交易都必须具有完整性保护。3. 如何避免双花Double Spending数字文件可以复制。如果没有特殊机制一个人理论上可以同一枚数字货币 ↓ 支付给A 同时 支付给B这就是著名的双花问题。区块链通过共识机制解决了这一难题。4. 如何保证用户隐私交易记录不能随便泄露。但另一方面监管部门又需要打击洗钱电信诈骗非法融资因此数字货币必须在隐私保护与监管能力之间取得平衡。三、数字货币中的核心密码学技术一Hash 哈希函数Hash 可以理解成一种数字指纹。任何一段数据都能够计算得到唯一的摘要值。它具有三个重要特点单向性只能计算数据 ↓ Hash几乎无法反推出原始数据。抗碰撞不同数据几乎不会得到相同Hash。例如Hello ↓ 185f8db3...哪怕改一个字符hello ↓ 5d41402a...整个结果都会完全不同。雪崩效应输入改变一点点输出完全改变。因此区块链利用Hash把区块连接起来。如果修改历史数据区块1 ↓ Hash改变 ↓ 区块2失效 ↓ 区块3失效 ↓ 整个链全部失效这就是区块链不可篡改的重要原因。二数字签名数字签名是数字货币最核心的技术。每个用户都有私钥Secret Key ↓ 生成签名 ↓ 公钥Public Key ↓ 验证签名数字签名主要实现三个目标身份认证证明这笔交易确实是我发出的。完整性保护交易一旦被修改签名立即失效。不可否认性签过名以后无法否认自己发起过交易。目前大量区块链项目都采用椭圆曲线数字签名ECDSA。三共识机制区块链没有中心服务器。那么到底谁负责记账答案就是共识机制Consensus目前最常见有两种。PoW工作量证明代表Bitcoin矿工不断计算Hash。谁最先找到正确答案谁获得记账权。优点安全去中心化程度高缺点耗电效率较低PoS权益证明代表Ethereum 2.0不再拼算力。而是根据质押资产获得记账资格。优点节能TPS更高缺点节点集中风险增加四密钥管理很多人认为数字货币最大的风险来自黑客。实际上并不是。现实中更多资产损失来自私钥泄露助记词丢失钓鱼网站木马病毒因此私钥就是资产。常见钱包包括软件钱包硬件钱包冷钱包多重签名钱包对于大额资产更推荐使用冷钱包 硬件钱包进一步提高安全性。四、数字货币面临哪些安全风险除了密码算法本身现实中还存在很多安全问题。例如私钥泄露很多用户喜欢手机截图云盘备份微信发送助记词这些行为都十分危险。钓鱼攻击攻击者伪造钱包官网交易平台客服页面诱导用户输入私钥助记词验证码由于区块链交易不可撤销因此损失通常无法追回。交易平台攻击如果交易平台数据库泄露API泄露热钱包被盗同样可能造成巨大损失。智能合约漏洞智能合约一旦上线几乎不能修改。如果代码存在漏洞攻击者可能直接转走大量资金。近年来DeFi项目中出现过大量类似案例。五、如何提高数字货币安全针对普通用户可以做到以下几点✅ 妥善保存助记词不要截图。不要上传云盘。最好纸质离线保存。✅ 开启双因素认证2FA例如密码 Google Authenticator安全性远高于短信验证码。✅ 使用正规钱包下载软件时一定选择官方网站。不要点击陌生链接。✅ 大额资产使用冷钱包热钱包方便。冷钱包安全。建议零钱放热钱包 大额放冷钱包这样能够降低风险。六、学习体会通过这次调研我最大的感受是密码学并不仅仅停留在数学公式和算法推导上而是真正支撑着现实世界中的金融支付系统。数字货币安全也不是某一种算法能够独立完成而是由哈希函数、数字签名、密钥管理、身份认证、共识机制以及系统安全共同组成的一整套安全体系。作为信息安全专业学生在学习应用密码学时不仅需要掌握算法原理更应该理解这些算法如何应用到真实系统中以及系统在实际运行过程中可能遇到的各种攻击方式。只有理论结合实践才能真正理解密码学的价值。参考资料《应用密码学》课程内容中国人民银行《数字人民币研发进展白皮书》中国信息通信研究院《区块链白皮书》中国政府网公开资料公安部公开案例资料如果本文对你有所帮助欢迎点赞、收藏一起学习应用密码学