在 Corda 中使用自定义加密算法
Using custom crypto algorithms in Corda
有没有办法将自定义加密算法插入 CordApps?例如,用于俄罗斯政府的应用程序应满足一些特定的限制政策。如果存在,请分享一些关于自定义入口点的信息。
关于交易签名,目前,Corda 支持 5 种签名算法,Pure EdDSA,使用 K1 曲线的 ECDSA,使用 NIST P-256 曲线的 ECDSA,RSA 和 post-quantum secure Sphincs- 256 种算法,详见 here。
尽管该平台在密码学上似乎是 DLT/Blockchain space 中最敏捷的平台之一,但它不可插拔;您不能只添加新的加密提供程序并自动支持新的加密功能。
请注意,支持的签名算法集构成了分布式账本技术网络共识规则的一部分。因此,实现不支持无条件可插拔性并采取措施防止任何底层加密库支持的算法被意外访问是很重要的。
为什么?使用不属于基本规范的算法签署交易将导致交易被某些对等节点视为无效,从而导致共识丢失。随着时间的推移引入新算法将需要对所有节点进行全局升级。
另一方面,在特殊的 DLT 网络中支持自定义算法是完全有意义的,例如当算法 restrictions/laws 应用时,正如 OP 提到的那样。我假设这些新算法应该首先在 Corda 中 supported/implemented,然后每个网络只启用所需的方案。
有没有办法将自定义加密算法插入 CordApps?例如,用于俄罗斯政府的应用程序应满足一些特定的限制政策。如果存在,请分享一些关于自定义入口点的信息。
关于交易签名,目前,Corda 支持 5 种签名算法,Pure EdDSA,使用 K1 曲线的 ECDSA,使用 NIST P-256 曲线的 ECDSA,RSA 和 post-quantum secure Sphincs- 256 种算法,详见 here。
尽管该平台在密码学上似乎是 DLT/Blockchain space 中最敏捷的平台之一,但它不可插拔;您不能只添加新的加密提供程序并自动支持新的加密功能。
请注意,支持的签名算法集构成了分布式账本技术网络共识规则的一部分。因此,实现不支持无条件可插拔性并采取措施防止任何底层加密库支持的算法被意外访问是很重要的。
为什么?使用不属于基本规范的算法签署交易将导致交易被某些对等节点视为无效,从而导致共识丢失。随着时间的推移引入新算法将需要对所有节点进行全局升级。
另一方面,在特殊的 DLT 网络中支持自定义算法是完全有意义的,例如当算法 restrictions/laws 应用时,正如 OP 提到的那样。我假设这些新算法应该首先在 Corda 中 supported/implemented,然后每个网络只启用所需的方案。