如图所示:
在网络上传输时,方框内的数据,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);