什么是加密货币中的公钥加密?
公钥加密是一种密码学方法,使用公钥加密数据,并使用与之匹配的私钥解密数据。
在加密货币领域,公钥加密属于更广泛的公钥密码学体系,该体系还包括数字签名、钱包密钥对、安全通信、区块链身份等。
NIST 公钥密码学术语表将公钥密码学定义为使用两个不同密钥的密码学:一个密钥可用于加密数据或验证签名,另一个密钥可用于解密数据或创建签名。
简单来说,其中一个密钥可以公开分享,另一个则必须保密。
如果 Alice 想给 Bob 发送加密消息,Alice 可以使用 Bob 的公钥加密消息。
只有与之匹配的 Bob 私钥才能解密该消息。
这与普通密码系统截然不同:在普通密码系统中,双方可能都需要知道同一个秘密。
公钥加密的优势在于,人们无需先通过私人渠道共享密钥,也能接收加密数据。
在加密领域,这一机制有助于实现安全的钱包通信、加密备份、隐私工具、加密消息、安全 API,以及区块链服务相关的互联网安全。
不过,大多数公有区块链交易默认并未加密,因为交易数据通常对网络可见。
公钥加密的工作原理
公钥加密从一对密钥开始。
这对密钥包括一个公钥和一个私钥。
公钥可以分享给其他人、应用、服务器或协议。
私钥必须保密,因为它可以用于解密数据,或在相关密码学系统中证明控制权。
有人想发送加密消息时,会使用接收者的公钥加密数据。
加密后的结果称为密文。
密文可以通过互联网传输、存储在数据库中或出现在存储系统里,而不会暴露原始消息。
随后,接收者使用匹配的私钥将密文解密为可读数据。
在设计合理的系统中,没有私钥的人无法读取消息。
这种从公钥到私钥的单向流程是公钥加密的核心。
公钥加密与数字签名
公钥加密和数字签名都使用公钥与私钥,但解决的是不同问题。
公钥加密用于保护机密性。
数字签名用于验证真实性和完整性。
在加密过程中,发送者使用接收者的公钥隐藏数据,接收者再使用私钥读取数据。
在数字签名过程中,签名者使用私钥签署数据,其他人则使用公钥验证签名。
NIST 数字签名术语表将数字签名描述为一种非对称密钥操作:使用私钥签署数据,并使用公钥验证签名。
这一区别很重要,因为加密货币钱包主要使用密钥对签署交易,而不是加密普通转账。
官方Ethereum 交易文档将交易描述为账户发出的、经过密码学签名的指令。
签名可以证明钱包所有者授权了交易,而加密则是为了隐藏信息,避免无权查看的人读取。
公钥加密与对称加密
公钥加密也不同于对称加密。
对称加密使用同一个密钥加密和解密数据。
公钥加密则使用一个密钥加密,并使用与之匹配的另一个密钥解密。
对称加密通常速度更快,更适合加密大量数据。
公钥加密通常更适合安全密钥交换、身份验证,以及在双方尚未共享密码时向对方发送秘密信息。
现代安全系统通常会结合使用这两种方法。
例如,公钥密码学可以帮助双方协商共享密钥,然后使用对称加密保护更大的数据流。
Cloudflare 公钥加密指南解释称,TLS 握手会使用公钥密码学对服务器进行身份验证,并交换用于生成会话密钥的信息。
这种混合设计很常见,因为它兼顾了安全连接建立和高效加密。
在加密应用中,钱包、应用和服务器需要安全通信时,也可能采用类似的通用模式。
公钥加密为何对加密货币很重要
公钥加密对加密货币很重要,因为加密货币用户通过软件、网络、钱包、API 和私有数据管理数字资产。
用户可能需要保护钱包备份、助记词存储、私人消息、API Key、身份文件、交易指令或链下记录。
区块链可以是公开的,但并非所有与加密货币相关的信息都应该公开。
例如,托管服务提供商可能需要在内部系统之间进行加密通信。
钱包应用可能需要先加密本地数据,再将其保存到设备上。
去中心化应用可能需要保护存储在链下的用户数据。
注重隐私的工具可能需要通过加密,让指定用户查看特定信息,同时不向所有人公开这些信息。
在这些情况下,公钥加密有助于建立安全通信。
它还可以帮助用户理解,为什么在某些情况下公钥可以公开分享,而私钥绝不能泄露。
如果没有强大的加密技术,要在开放的互联网上安全使用加密货币将困难得多。
公钥加密与加密钱包
加密钱包会使用公钥和私钥,但钱包交易通常基于数字签名,而不是加密。
Ethereum 账户文档解释称,外部拥有账户由公钥和私钥组成,私钥用于签署交易。
Bitcoin Developer Guide 的钱包页面说明,钱包程序会生成公钥来接收 Bitcoin,并使用对应的私钥进行支付。
这意味着钱包私钥通常用于证明支出权限。
它通常不能用于解密公有区块链上的交易历史。
大多数 Bitcoin 和 Ethereum 交易数据都可以在链上查看,因为公有区块链依赖共同验证。
用户发送加密货币时,交易会广播到网络,以便节点进行检查。
用户的钱包会为交易签名,以证明用户已授权该交易。
因此,用户不应因为区块链转账使用了密码学技术,就认为转账是私密的。
密码学可以证明所有权,但不会自动隐藏所有交易数据。
公钥加密与钱包地址
钱包地址与公钥密码学有关,但通常不等同于用于公钥加密的地址。
在许多区块链中,钱包地址由公钥或相关密码学数据推导而来。
钱包地址通常用于接收资金。
公钥则用于验证签名或执行相关密码学操作。
用户可以分享钱包地址来接收加密货币,但这并不意味着发送者是使用该地址加密资金。
区块链转账会更新公共账本,而不是将加密文件从一个人发送给另一个人。
对新手来说,区分这两者很重要。
向某个地址发送加密货币,不等于向公钥发送加密数据。
钱包地址指向链上价值可以分配到的位置,而公钥加密则保护信息,使只有私钥持有者才能读取。
这两个概念都使用基于密钥的密码学,但用途不同。
公钥加密与 HTTPS
公钥加密对 HTTPS 至关重要。HTTPS 保护着加密货币用户日常访问的网站和服务。
用户访问钱包网站、文档页面、区块链浏览器、分析面板或托管门户时,连接通常会使用 TLS。
IETF TLS 1.3 规范定义了用于保护互联网通信的现代 TLS 协议。
TLS 会在握手期间使用公钥方法,帮助建立安全的会话密钥。
会话密钥建立后,通常会使用对称加密来保护实际传输的数据。
这很重要,因为加密货币用户经常通过浏览器和移动应用访问高价值系统。
如果连接不安全,攻击者可能会尝试读取、修改或重定向数据。
HTTPS 并不能保证加密项目诚实可靠。
诈骗网站也可以为自己的虚假域名启用 HTTPS。
在连接钱包或下载软件之前,用户应同时检查连接是否安全以及域名是否准确。
公钥加密与助记词保护
助记词是最敏感的加密数据之一。
助记词通常可以在钱包中重新生成多个私钥。
正确使用公钥加密可以帮助保护助记词备份,但不应因此产生错误的安全感。
如果钱包加密了本地备份,其安全性取决于加密方法、密码强度、设备安全性和备份存储方式。
如果用户使用弱密码将加密备份上传到云存储,该备份仍可能面临风险。
如果用户在钓鱼页面输入助记词,加密也无济于事,因为秘密已经泄露。
用户绝不能向任何网站或客服账户分享助记词、私钥或恢复词。
公钥加密可以保护静态存储或传输中的数据,但无法保护用户主动向攻击者透露的秘密。
对于高价值资产,离线备份、硬件钱包、多重签名和周密的恢复计划,可能比单纯依赖加密文件更安全。
加密是一种工具,并非完整的托管方案。
公钥加密与加密消息
加密消息对加密货币领域很有用,因为用户、团队、DAO、开发者和机构经常需要交换敏感信息。
例如,财库指令、治理提案草案、安全漏洞披露、私人协调消息、身份文件或运营细节。
公钥加密可以让发送者发送只有指定接收者才能读取的消息。
某些消息系统会使用公钥密码学建立安全会话,然后使用对称加密保护消息内容。
这与许多安全通信系统采用的混合模式类似。
在加密社区中,加密消息尤为重要,因为攻击者经常监控公开频道以寻找目标。
不过,不应随意通过加密消息分享助记词或私钥。
即使是加密聊天,如果设备遭到入侵或接收者账户被劫持,也可能变得不安全。
最稳妥的做法是完全不要通过普通消息渠道发送私钥和助记词。
加密可以降低风险,但无法弥补不良的秘密分享习惯。
公钥加密与去中心化存储
去中心化存储系统可以在用户数据存储到分布式网络之前先对其加密。
如果数据公开存储或分散存储在许多节点上,加密对保护隐私就至关重要。
用户可以先在本地加密文件再上传,这样存储服务提供商看到的就只有密文。
之后,用户可以通过公钥方法或加密访问密钥,将解密权限分享给指定人员。
这种模式可用于私密文件、NFT 相关元数据、DAO 文档、身份数据、研究档案或应用记录。
不过,用户必须了解谁控制解密密钥。
如果用户丢失解密密钥,加密数据可能永远无法读取。
如果密钥泄露,任何同时拥有密文和密钥的人都可能读取数据。
去中心化存储并不意味着存储内容自动私密。
隐私取决于加密、密钥管理、访问控制和安全的应用设计。
公钥加密与隐私币
一些注重隐私的加密系统会使用与加密相关的技术,隐藏或限制交易详情的访问权限。
根据协议不同,这些系统可能使用查看密钥、隐身地址、承诺、零知识证明或其他隐私工具。
公钥加密可以用于让指定用户访问私密交易信息。
例如,钱包可能允许所有者解密某些交易详情,而外部人员只能看到有限的公开数据。
不同协议的具体设计各不相同,因此用户不应认为所有隐私系统的工作方式都一样。
有些系统隐藏金额,有些隐藏接收者,有些隐藏发送者,还有些会组合使用不同的隐私技术。
隐私功能也可能带来合规和易用性方面的挑战。
使用隐私工具前,用户应了解当地规则和特定协议的风险。
关键在于,加密可以帮助控制谁能读取信息,而区块链仍可提供验证规则。
在隐私与验证之间取得平衡,是加密领域最棘手的设计难题之一。
公钥加密与智能合约
智能合约通常无法对普通链上数据保密,因为公有区块链旨在实现透明验证。
如果数据直接存储在公有链上,通常任何人都可以读取。
当智能合约与加密的链下数据或密文承诺交互时,公钥加密可以发挥作用。
例如,用户可以在链下加密私密数据,并仅将哈希、指针或加密引用存储在链上。
合约可以管理访问规则、付款、所有权或权限,而实际私密数据则继续加密存储在其他位置。
一些高级设计会使用门限加密、承诺-揭示方案或零知识证明来减少信息泄露。
这些设计可用于密封报价拍卖、私密投票、游戏、身份系统和机密数据市场。
不过,在智能合约系统中实现加密并不容易,因为密钥、时间安排和公开执行都可能导致信息泄露。
开发者应避免将秘密直接放入公有智能合约存储中。
除非协议专门设计了保护机制,否则应将写入公有区块链的任何内容视为公开信息。
公钥加密与 DAO
DAO 可以使用公钥加密保护敏感协调信息,同时不隐藏最终的链上决策。
DAO 可能需要就安全报告、法律文件、资助、薪酬、投票凭证或财库运营进行私下讨论。
加密通信有助于限制只有获准成员才能访问相关信息。
加密文件可以在公开发布之前保护机密提案。
公钥加密还可以帮助 DAO 在不使用同一个共享密码的情况下,向多名成员分发私人信息。
不过,DAO 必须妥善管理成员变更。
成员离开时,DAO 可能需要轮换密钥或更改访问权限。
如果旧加密文件已经分享给该成员,DAO 就很难收回其已经解密的数据访问权限。
加密有助于控制访问权限,但治理和运营流程同样重要。
即使使用了强大的密码学,密钥管理不善的 DAO 仍可能泄露信息。
公钥加密与 API Key
加密领域的开发者经常在节点服务、分析工具、托管工具、支付系统和数据提供商中使用 API Key。
API Key 必须妥善保护,因为攻击者可能利用它访问服务、耗尽配额或滥用权限。
公钥加密可以帮助保护存储、共享或在系统之间传输的 API Key。
例如,开发团队可以在将机密信息存入配置系统前先对其加密。
服务器可以先使用公钥方法建立加密连接,再发送敏感数据。
一些基础设施系统会使用证书和公钥密码学验证机器和服务的身份。
对于内部系统可能处理交易、托管、合规和结算流程的机构级加密货币业务,这一点尤为重要。
开发者应避免将 API Key 放入公开代码仓库、前端代码、截图、聊天消息或未加密文件中。
加密很有帮助,但密钥轮换、最小权限、监控和访问控制同样不可或缺。
即使钱包私钥安全,泄露的 API Key 仍可能造成严重后果。
公钥加密与公钥基础设施
公钥加密与公钥基础设施(Public Key Infrastructure)有关,但两者并不相同。
公钥加密是使用公钥加密数据、再用私钥解密数据的密码学方法。
公钥基础设施是用于签发、管理、验证和撤销数字证书的系统;这些证书将公钥与身份绑定。
PKI 很重要,因为用户需要一种方法来确认某个公钥是否属于他们预期访问的网站、服务器、公司或服务。
如果没有身份验证,攻击者就可能出示自己的公钥,诱使用户将数据加密发送给错误的对象。
在加密领域,PKI 有助于保护网站、API、钱包下载、托管门户和机构系统。
公钥加密提供机密性,而 PKI 有助于管理对公钥的信任。
安全系统可能需要同时具备两者。
例如,HTTPS 使用证书验证服务器身份,并使用公钥方法建立安全通信。
这种组合可以在用户使用钱包或区块链应用之前提供保护。
混合加密
混合加密将公钥加密与对称加密结合起来。
这种方式很常见,因为公钥加密通常速度较慢,处理大量数据时效率较低。
在混合系统中,发送者会为实际数据生成一个随机对称密钥。
发送者使用该对称密钥加密数据。
然后,发送者使用接收者的公钥加密对称密钥。
接收者使用私钥还原对称密钥。
随后,接收者使用对称密钥解密数据。
这样,系统既具备公钥加密的便利性,也具备对称加密的速度。
许多安全系统都采用了这种思路,因为与直接使用公钥加密所有内容相比,这种方式更容易扩展。
需要存储或分享大型文件的加密应用通常应使用混合加密,而不是对所有内容都直接使用公钥加密。
常见算法与密钥交换方法
公钥加密及相关密钥交换系统可以采用多种算法体系。
RSA 是较早出现且广为人知的公钥系统之一。
椭圆曲线密码学广泛用于签名和密钥协商,因为与较早的系统相比,它可以用更短的密钥提供强大的安全性。
Diffie-Hellman 和椭圆曲线 Diffie-Hellman 通常用于密钥协商,而不是直接加密。
现代系统可能会使用密钥封装机制(通常简称 KEM)来安全地建立共享密钥。
NIST 后量子加密标准公告指出,FIPS 203 对 ML-KEM 进行了标准化,旨在将其作为后量子迁移过程中通用加密的主要标准。
这很重要,因为未来的系统需要采用能够抵御大型量子计算机攻击的加密和密钥建立方法。
加密货币开发者应使用经过审查的库和标准,而不是自行设计加密方案。
自定义密码学很危险,因为微小错误也可能破坏安全性。
公钥加密与量子计算
量子计算是公钥密码学面临的长期挑战。
大型容错量子计算机可能破解许多基于 RSA 或椭圆曲线假设的旧式公钥系统。
NIST 的后量子密码学项目致力于制定标准,以保护电子信息免受未来量子威胁。
在加密货币领域,量子风险通常与钱包签名有关,但钱包、网站、托管系统、API 和加密备份周边的加密系统也需要进行规划。
后量子加密并不意味着用户需要量子计算机。
它意味着普通计算机会使用专门设计来抵御量子攻击的算法。
ML-KEM 是后量子密钥封装机制的重要示例之一。
随着时间推移,加密基础设施可能需要采用后量子方法来实现安全通信和密钥交换。
这一转型应谨慎进行,因为更换密码学技术会影响兼容性、性能、钱包、浏览器、硬件设备和机构系统。
正确的做法是冷静准备,而不是恐慌。
公钥加密与交易隐私
公钥加密不会自动让区块链交易变得私密。
用户可以使用私钥签署交易,但根据区块链的不同,交易仍可能暴露发送者、接收者、金额、代币、合约调用、时间戳和其他数据。
许多公有区块链从设计上就是透明的,因为节点必须验证相同的共享状态。
加密可以保护链外数据,也可以用于特定隐私协议中的数据。
但它无法隐藏用户主动广播到透明账本上的信息。
这是新手常见的误解。
有些用户认为加密货币使用了密钥,因此所有交易都必然经过加密。
事实上,许多交易经过了签名,但并未加密。
签名用于证明授权,加密用于隐藏内容。
了解这一区别有助于用户更妥善地做出隐私决策。
公钥加密与密钥管理
公钥加密的安全性取决于其背后的密钥管理。
如果私钥被盗,攻击者可能会解密受保护的数据。
如果私钥丢失,所有者可能永远无法解密数据。
如果使用了错误的公钥,数据可能会被加密给攻击者,或加密给无人控制的密钥。
良好的密钥管理包括安全生成、妥善存储、备份、轮换、访问控制和撤销规划。
对用户而言,这可能意味着离线保存钱包恢复数据,并避免使用来源不明的软件。
对开发者而言,这可能意味着使用硬件安全模块、安全隔区、经过审计的库和受控的部署流程。
对机构而言,这可能意味着制定正式政策、审批流程、职责分离、日志记录和灾难恢复机制。
加密不仅仅是简单的数值计算过程。
它也是一项运营责任。
公钥加密的优势
公钥加密的首要优势是,无需预先共享秘密也能安全通信。
发送者可以使用接收者的公钥将数据加密给对方。
第二项优势是可扩展的访问控制。
同一个数据密钥可以分别加密给不同接收者的公钥。
第三项优势是更安全的互联网通信。
公钥方法有助于系统在不可信网络上建立加密会话。
第四项优势是更好地保护链外加密数据。
钱包备份、私人消息、DAO 文件、用户记录和 API 机密信息都可以通过加密得到保护。
第五项优势是能够兼容数字身份和证书系统。
公钥可以通过证书或其他信任框架与身份关联。
第六项优势是支持未来的隐私保护应用。
经过谨慎设计后,加密数据可以与公有区块链协同工作。
公钥加密的风险与局限
第一项局限是性能。
对于大量数据,公钥加密通常比对称加密慢。
第二项局限是密钥管理。
私钥丢失可能导致加密数据永久无法读取。
第三项局限是身份风险。
如果加密时使用了错误的公钥,数据可能会暴露给错误的人。
第四项局限是对隐私产生错误预期。
普通的公有区块链交易通常经过签名,而非加密。
第五项局限是实现风险。
质量不佳的库、随机性不足、算法过时或填充方式错误,都可能造成严重漏洞。
第六项局限是网络钓鱼。
如果用户把秘密发送给虚假网站,或签署恶意交易,加密无法提供保护。
第七项局限是量子风险。
随着后量子标准逐步成熟,一些较旧的公钥算法可能需要替换。
用户和开发者应将加密视为安全体系的一部分,而不是万无一失的防护。
给用户的最佳实践
用户绝不能分享私钥、助记词或恢复词。
用户应了解,钱包地址用于接收资金,并不能证明消息经过了加密。
用户应避免将助记词存储在云端备忘录、截图、电子邮件草稿或未加密文件中。
用户应仅从官方网站或经过验证的应用来源下载钱包。
在信任 HTTPS 或连接钱包之前,用户应检查网站的准确域名。
在适当情况下,用户应使用硬件钱包或多重签名保护重要的长期持仓。
用户应仔细阅读钱包提示,因为签名和加密是不同的操作。
用户不应认为公有区块链上的活动是私密的。
用户只有在了解隐私工具的风险和当地规则后,才应使用可信的隐私工具。
用户应及时更新钱包软件,因为加密和安全工具会不断改进。
给开发者的最佳实践
开发者应使用经过充分审查的密码学库,而不是编写自定义加密代码。
对于大型数据,开发者应使用混合加密,而不是直接使用公钥方法加密所有内容。
开发者应将签名密钥、加密密钥、API Key 和管理密钥分开。
开发者应避免将秘密直接放入公有智能合约存储中。
开发者应在生成密钥时使用强随机数。
在适当情况下,开发者应支持密钥轮换和恢复流程。
开发者应在向接收者加密敏感数据之前,验证其公钥或证书。
开发者应说明哪些内容经过加密、哪些内容经过签名,以及哪些内容仍然公开。
开发者应关注后量子标准,并设计具备密码算法敏捷性的系统。
开发者应牢记,用户经常会误解密码学,因此界面应清楚说明签名和加密的区别。
关于公钥加密的常见误解
一种误解是所有加密货币交易都经过了加密。
大多数公有区块链交易对网络可见,并通过签名获得授权,而不是通过加密隐藏。
另一种误解是公钥和钱包地址始终相同。
钱包地址通常由公钥推导而来,但通常并不是公钥本身的完整内容。
另一种误解是分享公钥始终没有风险。
公钥本来就可以分享,但不必要的暴露仍可能影响隐私和长期量子风险规划。
另一种误解是加密可以防范网络钓鱼。
如果用户把助记词交给虚假网站,加密无法提供保护。
另一种误解是强加密可以弥补弱密码。
如果加密备份使用了弱密码,攻击者仍可能猜出密码。
另一种误解是公钥加密与数字签名可以互换。
两者都使用密钥对,但加密用于隐藏数据,签名用于证明授权或真实性。
常见问题
公钥加密是什么意思?
公钥加密是指使用公钥加密数据,使其只能由匹配的私钥解密。
加密货币会使用公钥加密吗?
会。公钥密码学在加密货币领域应用广泛,但普通钱包交易通常使用数字签名,而不是直接加密。
加密货币交易经过加密吗?
大多数公有区块链交易默认并未加密,因为网络参与者需要查看交易以进行验证。
加密和签名有什么区别?
加密用于隐藏数据,避免未经授权的人读取;签名则用于证明数据或交易已获得私钥持有者授权。
我可以使用加密钱包的公钥加密数据吗?
某些系统在技术上可能支持此操作,但钱包密钥通常是为交易签名设计的,因此用户应使用受支持的加密工具,而不是自行尝试。
公钥和钱包地址相同吗?
不相同。钱包地址通常由公钥数据推导而来,但并不总是与完整公钥相同。
有人可以用公钥解密数据吗?
不可以。在公钥加密中,公钥用于加密数据,匹配的私钥用于解密数据。
有人可以用公钥盗取加密货币吗?
在目前的正常情况下,仅凭公钥通常无法盗取资金,因为支出需要匹配的私钥或有效的授权路径。
为什么现代系统使用混合加密?
现代系统使用混合加密,是因为公钥加密适合共享密钥,而对称加密更适合快速保护大量数据。
什么是 ML-KEM?
ML-KEM 是 NIST 标准化的一种后量子密钥封装机制,旨在帮助安全建立共享密钥,以抵御未来的量子威胁。
如果我在钓鱼网站输入助记词,加密能保护它吗?
不能。用户一旦直接将助记词交给攻击者或虚假网站,加密就无法提供保护。
公钥加密最大的风险是什么?
主要风险包括密钥管理不善、使用错误的公钥、实现质量不佳、网络钓鱼,以及误以为加密能够在实际上并未提供隐私的情况下保护隐私。
结语
公钥加密是一种核心密码学方法:任何人都可以使用公钥加密数据,但只有匹配的私钥才能解密。
在加密领域,它与数字签名、钱包地址、公钥基础设施、TLS、加密存储、隐私工具和安全应用设计相辅相成。
最重要的一点是,公钥加密和交易签名彼此相关,但并不相同。
加密保护机密性,而签名用于证明授权和真实性。
大多数公有区块链交易经过签名且公开可见,并未完全加密。
公钥加密仍然至关重要,因为加密货币用户依赖安全网站、加密备份、受保护的 API、私人消息、链外数据和安全通信渠道。
其安全性取决于可靠的算法、可信的实现、正确的公钥验证以及谨慎的私钥管理。
随着较旧的公钥系统面临长期量子计算风险,其未来也取决于后量子迁移。
理解公钥加密最简单的方式是:公钥锁定数据,私钥解锁数据;安全的加密货币系统必须知道何时加密、何时签名,以及何时数据仍然公开。
您可能也喜欢
反恐融资(CTF)
框架
波动性爆发
热门
目前热门备受市场关注的加密货币
最高成交量
按交易量计算交易量最大的加密货币

