Browse Source

1

nodeinfo-routing-update
jeka 1 month ago
parent
commit
a37d343410
  1. 15
      src/secure_channel.c

15
src/secure_channel.c

@ -823,27 +823,22 @@ sc_status_t sc_sha_transcode(const uint8_t *key, size_t key_len, uint8_t *data,
} }
sc_status_t sc_obfuscate_pubkey(const uint8_t *salt, const uint8_t *peer_pubkey, const uint8_t *pubkey, uint8_t *output) { sc_status_t sc_obfuscate_pubkey(const uint8_t *salt, const uint8_t *peer_pubkey, const uint8_t *pubkey, uint8_t *output) {
if (!salt || !peer_pubkey || !pubkey || !output) { if (!salt || !peer_pubkey || !pubkey || !output) return SC_ERR_INVALID_ARG;
return SC_ERR_INVALID_ARG;
}
uint8_t sha1[SC_HASH_SIZE]; uint8_t sha[SC_HASH_SIZE*2];
uint8_t sha2[SC_HASH_SIZE];
SC_SHA256_CTX ctx; SC_SHA256_CTX ctx;
sc_sha256_init(&ctx); sc_sha256_init(&ctx);
sc_sha256_update(&ctx, salt, SC_PUBKEY_ENC_SALT_SIZE); sc_sha256_update(&ctx, salt, SC_PUBKEY_ENC_SALT_SIZE);
sc_sha256_update(&ctx, peer_pubkey, SC_PUBKEY_SIZE); sc_sha256_update(&ctx, peer_pubkey, SC_PUBKEY_SIZE);
sc_sha256_final(&ctx, sha1); sc_sha256_final(&ctx, sha);
sc_sha256_init(&ctx); sc_sha256_init(&ctx);
sc_sha256_update(&ctx, peer_pubkey, SC_PUBKEY_SIZE); sc_sha256_update(&ctx, peer_pubkey, SC_PUBKEY_SIZE);
sc_sha256_update(&ctx, salt, SC_PUBKEY_ENC_SALT_SIZE); sc_sha256_update(&ctx, salt, SC_PUBKEY_ENC_SALT_SIZE);
sc_sha256_final(&ctx, sha2); sc_sha256_final(&ctx, sha+SC_HASH_SIZE);
for (size_t i = 0; i < SC_PUBKEY_SIZE; i++) { for (size_t i = 0; i < SC_PUBKEY_SIZE; i++) output[i] = pubkey[i] ^ sha[i];
output[i] = pubkey[i] ^ sha1[i] ^ sha2[i];
}
return SC_OK; return SC_OK;
} }

Loading…
Cancel
Save