Curve25519 是一种快速、安全的曲线,用于密钥协商。不幸的是,它不支持签名。此 pod 将点曲线转换为使用 curve25519 密钥进行 ed25519 签名。
生成 curve25519 密钥
ECKeyPair *curve25519Key = [Curve25519 generateKeyPair];
ECKeyPair
服从 NSCoding
,使得其存储更加方便。
生成 curve25519 共享密钥
NSData *sharedSecret = [Curve25519 generateSharedSecretFromPublicKey:aPublicKey andKeyPair:anECKeyPair];
使用 curve25519 密钥对对消息进行 ed25519 签名
NSData *signature = [Ed25519 sign:message withKeyPair:ecKeyPair]
使用 curve25519 密钥对对消息进行 ed25519 验证
BOOL validSignature = [Ed25519 verifySignature:signature publicKey:ecPublicKey msg:message;
API 参考文档可在 CocoaDocs 上找到。
将以下行添加到您的 Podfile
pod '25519', '~> version number'
The Curve25519 密钥对和 ECDH 使用 Adam Langley 的 curve25519-donna。点转换算法是由无与伦比的 Trevor Perrin 编写的。
在 GPLv3 许可下: http://www.gnu.org/licenses/gpl-3.0.html