aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorSupriti Singh <supritisingh08@gmail.com>2014-04-07 17:23:33 +0000
committerSupriti Singh <supritisingh08@gmail.com>2014-04-07 17:23:33 +0000
commit395864e0875252a779e783765b955c4193741065 (patch)
tree7c7b2c8a92732c3ce862fb315f886255f18c0b45 /src/util
parentdaa7b00b515bba437b467e66753a1cda7afa2e3f (diff)
downloadgnunet-395864e0875252a779e783765b955c4193741065.tar.gz
gnunet-395864e0875252a779e783765b955c4193741065.zip
1.Removed GNUNET_CRYPTO_compute_finger_identity
2.Removed myself as the first element of the trail. 3.Multiple entries in the routing table. 4.Put/Get/Monitor from old DHT added back in clients file.
Diffstat (limited to 'src/util')
-rw-r--r--src/util/crypto_ecc.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/src/util/crypto_ecc.c b/src/util/crypto_ecc.c
index 83d329442..23d6ade7e 100644
--- a/src/util/crypto_ecc.c
+++ b/src/util/crypto_ecc.c
@@ -1448,73 +1448,6 @@ GNUNET_CRYPTO_ecdsa_private_key_derive (const struct GNUNET_CRYPTO_EcdsaPrivateK
1448 1448
1449 1449
1450/** 1450/**
1451 * Computes a new PeerIdentity using the Chord formula.
1452 * new_peer_identity = ((my_identity + pow(2,i)) mod (pow(2,m)
1453 * where m, size of struct GNUNET_PeerIdentity in bits.
1454 * i, 0 <= i <= m
1455 * @param my_identity original PeerIdentity
1456 * @param value of i.
1457 * @return finger_identity
1458 */
1459struct GNUNET_PeerIdentity *
1460GNUNET_CRYPTO_compute_finger_identity(struct GNUNET_PeerIdentity *my_identity, unsigned int index)
1461{
1462 gcry_mpi_t my_identity_mpi;
1463 gcry_mpi_t finger_identity_mpi;
1464 gcry_mpi_t add;
1465 gcry_mpi_t mod;
1466 gcry_error_t rc;
1467 struct GNUNET_PeerIdentity *finger_identity;
1468 size_t read = 0;
1469 size_t write = 0;
1470
1471 finger_identity = GNUNET_malloc(sizeof(struct GNUNET_PeerIdentity));
1472
1473 /* Initialize my_identity_mpi. */
1474 my_identity_mpi = gcry_mpi_new(8*sizeof(struct GNUNET_PeerIdentity));
1475
1476 /* Copy my_identity into my_id */
1477 if(0 != (rc = gcry_mpi_scan(&my_identity_mpi, GCRYMPI_FMT_USG, my_identity->public_key.q_y,
1478 sizeof(struct GNUNET_PeerIdentity), &read)))
1479 {
1480 LOG_GCRY (GNUNET_ERROR_TYPE_DEBUG, "gcry_mpi_scan", rc);
1481 GNUNET_free(finger_identity);
1482 return NULL;
1483 }
1484
1485 /* Initialize finger_identity_mpi */
1486 finger_identity_mpi = gcry_mpi_new(8*sizeof(struct GNUNET_PeerIdentity));
1487
1488 /* Initialize add */
1489 add = gcry_mpi_new(8*sizeof(struct GNUNET_PeerIdentity));
1490
1491 /* Set the index bit in add.*/
1492 gcry_mpi_set_bit(add,index);
1493
1494 /* Initialize mod */
1495 mod = gcry_mpi_new(8*sizeof(struct GNUNET_PeerIdentity) + 1);
1496 gcry_mpi_set_bit(mod,257);
1497 gcry_mpi_sub_ui(mod,mod,(unsigned long)1);
1498
1499
1500 /* finger_identity_mpi = (my_identity_mpi + add) % mod */
1501 gcry_mpi_addm(finger_identity_mpi,my_identity_mpi,add,mod);
1502
1503
1504 /* Copy finger_identity_mpi to finger_identity */
1505 if(0 != (rc = gcry_mpi_print(GCRYMPI_FMT_USG,finger_identity->public_key.q_y,
1506 32,&write,finger_identity_mpi)))
1507 {
1508 LOG_GCRY (GNUNET_ERROR_TYPE_DEBUG, "gcry_mpi_print", rc);
1509 GNUNET_free(finger_identity);
1510 return NULL;
1511 }
1512
1513 return finger_identity;
1514}
1515
1516
1517/**
1518 * Derive a public key from a given public key and a label. 1451 * Derive a public key from a given public key and a label.
1519 * Essentially calculates a public key 'V = H(l,P) * P'. 1452 * Essentially calculates a public key 'V = H(l,P) * P'.
1520 * 1453 *