Open dtco-kimi opened 7 years ago
Here are my private keys and public keys
prv1: D7530AB9D444ABB5B16AA45EE8169009E69E03E205F53BF8C05CBE74D67D35A0 pub1: 0413AC625843EA89D3D8B80A1885CE0667061150987788BAA589CB33186440C83A1E80EE7B11B48B3F3DE0EFC1320ABB966EECC2CB597CF61F7E8A33D390E4252F prv2: 293F03DE5E01277563DC1F91896097CB3E13DA250788BC48B69D77CFE2862E0C pub2: 0431ED7C796FA3CAF480557A274A621DC183D2BE508551EE018BA307DF82D678FCAAD36E11999DC85499270DC48DEA698BC322715A6FDDF79B79C74B9F171D94C6
Here is my code snippet
BTCKey* ecKey1 = [[BTCKey alloc] initWithPrivateKey:[Utility hexStringToBytes: @"d7530ab9d444abb5b16aa45ee8169009e69e03e205f53bf8c05cbe74d67d35a0"]]; BTCKey* ecKey2 = [[BTCKey alloc] initWithPrivateKey:[Utility hexStringToBytes: @"293f03de5e01277563dc1f91896097cb3e13da250788bc48b69d77cfe2862e0c"]]; GMEllipticCurveCrypto* ecc1 = [GMEllipticCurveCrypto cryptoForKey:ecKey1.privateKey]; NSData* shareScrect1 = [ecc1 sharedSecretForPublicKey:ecKey2.compressedPublicKey]; // shareScrect1 ==> 7E0D7CE5EC530853F65C23A2A92832A489D5D9771E4B87C1F5E64614201F8170 GMEllipticCurveCrypto* ecc2 = [GMEllipticCurveCrypto cryptoForKey:ecKey2.privateKey]; NSData* shareScrect2 = [ecc2 sharedSecretForPublicKey:ecKey1.compressedPublicKey]; // shareScrect2 ==> 861B25E187E384564DE5D2BD8D1609F0F05DA5E94D4E98FD56831356BF7BA3E8
What happened? Did I do anything wrong? A compressed public key seems like the only choice for 'sharedSecretForPublicKey:'. Is this the reason?
Thanks.
Here are my private keys and public keys
Here is my code snippet
What happened? Did I do anything wrong? A compressed public key seems like the only choice for 'sharedSecretForPublicKey:'. Is this the reason?
Thanks.