go-signal-protocol:使用Go的信号协议实现示例

时间:2024-03-14 19:04:34
【文件属性】:

文件名称:go-signal-protocol:使用Go的信号协议实现示例

文件大小:25KB

文件格式:ZIP

更新时间:2024-03-14 19:04:34

Go

范例(DRAFT) 扩展三重Diffie-Hellman(X3DH) 术语 KeyServer-提供公钥存储功能的服务。 参加者 爱丽丝-一个人想发送一条消息。 Bob-收到邮件的人。 按键 所有键均为Curve 25519键。 身份密钥(Ik)-长期密钥。 创建参与者后,密钥将生成一次。 签名的预密钥(Spk)-具有ID和签名的中期密钥。 方案用于生成预密钥签名。 一次性密钥(Opk)-具有ID的短期密钥。 它应该在服务器上保存了一堆密钥。 每个密钥只能使用一次。 临时密钥(Ek)-短期密钥。 密钥在每次协议运行期间生成。 它就是所谓的“会话”键。 功能 Curve()-生成Curve25519键对的函数。 DH(k1,k2) 椭圆曲线Diffie-Hellman函数。 从传递的密钥计算共享机密输出。 KDF(km,salt)-代表算法的函数。 km是使用DH函数计算的共享


【文件预览】:
go-signal-protocol-master
----go.mod(202B)
----kdf()
--------hkdf.go(395B)
--------util.go(463B)
--------keys.go(2KB)
----go.sum(1KB)
----doc()
--------communication.puml(2KB)
--------protocol-run.svg(24KB)
--------communication.svg(22KB)
--------protocol-run.puml(2KB)
----example()
--------session()
----README.md(3KB)
----curve()
--------dh()
--------keys.go(497B)
--------eddsa()
----Makefile(96B)
----x3dh()
--------alice.go(1KB)
--------dratchet()
--------bob.go(1KB)
--------keys.go(759B)
----cipher()
--------cbc()

网友评论