curve25519的简单使用——oc版

如图所示:

curve25519的原理

    在网络上传输时,方框内的数据,public string 9, Alice的public key, Bob的public key,就算被截获了,数据也也不能被破解。

    因为解密数据是用shared key,shared key的运算又有alice 和 Bob的private key参与,private key 只有 Alice 和Bob自己知道。

使用pod导入库         pod '25519'

代码使用:导入头文件

#import <Curve25519.h>

ECKeyPair *key1 = [Curve25519 generateKeyPair];

    NSData *puplicKey1 = [key1 publicKey];


    ECKeyPair *key2 = [Curve25519 generateKeyPair];

    NSData *puplicKey2 = [key2 publicKey];


    NSData *shareData1 = [Curve25519 generateSharedSecretFromPublicKey:puplicKey2 andKeyPair:key1];

    NSString *shareString1  =[shareData1 base64EncodedStringWithOptions:0];

    NSLog(@"shareString1:%@ ",shareData1);

    NSData *shareData2 = [Curve25519 generateSharedSecretFromPublicKey:puplicKey1 andKeyPair:key2];

    NSString *shareString2  =[shareData2 base64EncodedStringWithOptions:0];

    NSLog(@"shareString2:%@ ",shareData1);


交换公钥,得出的sharedata结果一致

推荐阅读更多精彩内容