程序对提供的点 G(输入)和提供的 256 位随机生成的私钥 d(输入)执行标量乘法。 程序默认为 secp256k1 基点。 输入应为大端十六进制。 程序仅使用各种私钥在几个点上进行了测试。 用户通过 Q=dG 生成用户的公钥并提供给另一个用户。 另一个用户提供他们的公钥 (q),它通过再次运行算法生成共享密钥 S=dq。 共享密钥 (S) 用于使用 AES (Advanced_Encryption_Standard) 等算法对两个用户之间共享的消息进行加密和解密。 该程序不是为高速而设计的,但执行速度仍然相当快。 程序不会运行检查来验证输入点是否在椭圆曲线上 (y^2=Y=x^3+7)。
2021-06-30 12:59:14
3KB
matlab
1