diff --git a/e2e/ratchet/partner/relationshipFingerprint.go b/e2e/ratchet/partner/relationshipFingerprint.go index e00f6aa69638830752b079332e63f0f6bb68755f..9380b9a5051e9d82f76d3043e880350600425d6b 100644 --- a/e2e/ratchet/partner/relationshipFingerprint.go +++ b/e2e/ratchet/partner/relationshipFingerprint.go @@ -12,6 +12,7 @@ import ( session2 "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" + "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" @@ -20,7 +21,7 @@ import ( func makeRelationshipFingerprint(t session2.RelationshipType, grp *cyclic.Group, myPrivKey, partnerPubKey *cyclic.Int, me, partner *id.ID) []byte { - myPubKey := grp.ExpG(myPrivKey, grp.NewIntFromUInt(1)) + myPubKey := diffieHellman.GeneratePublicKey(myPrivKey, grp) switch t { case session2.Send: diff --git a/single/request.go b/single/request.go index 1a49628653915c373fb6d7b59e632a7375eebfbc..08e78c6effd39046fada90042fd04efd8472855a 100644 --- a/single/request.go +++ b/single/request.go @@ -11,6 +11,7 @@ import ( "gitlab.com/elixxir/client/single/message" "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/crypto/cyclic" + "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/elixxir/crypto/e2e/auth" "gitlab.com/elixxir/crypto/e2e/singleUse" "gitlab.com/xx_network/crypto/csprng" @@ -271,7 +272,7 @@ func generateDhKeys(grp *cyclic.Group, dhPubKey *cyclic.Int, rng io.Reader) ( privKey := grp.NewIntFromBytes(privKeyBytes) // Generate public key and DH key - publicKey = grp.ExpG(privKey, grp.NewInt(1)) + publicKey = diffieHellman.GeneratePublicKey(privKey, grp) dhKey = grp.Exp(dhPubKey, privKey, grp.NewInt(1)) return dhKey, publicKey, nil diff --git a/ud/register.go b/ud/register.go index 591a1cf1fd218c9afc9b84af5d53c4300505914e..07c7fcdb942b2f96726af26a5e1deeac92fc2278 100644 --- a/ud/register.go +++ b/ud/register.go @@ -3,6 +3,7 @@ package ud import ( "github.com/pkg/errors" pb "gitlab.com/elixxir/comms/mixmessages" + "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/elixxir/crypto/factID" "gitlab.com/elixxir/crypto/hash" "gitlab.com/elixxir/primitives/fact" @@ -30,7 +31,7 @@ func (m *Manager) register(username string, rng csprng.Source, if err != nil { return err } - dhKeyPub := grp.ExpG(dhKeyPriv, grp.NewInt(1)) + dhKeyPub := diffieHellman.GeneratePublicKey(dhKeyPriv, grp) // Construct the user registration message msg := &pb.UDBUserRegistration{ diff --git a/xxdk/identity.go b/xxdk/identity.go index c3e9897245e169deb7aa5e308b3bc5d014c62911..8d4b392d8c79ea47fb39afa03f877542c8c2e0d0 100644 --- a/xxdk/identity.go +++ b/xxdk/identity.go @@ -8,6 +8,7 @@ package xxdk import ( "encoding/json" + "gitlab.com/elixxir/primitives/fact" "gitlab.com/elixxir/client/storage/user" "gitlab.com/elixxir/client/storage/versioned" @@ -173,12 +174,11 @@ func (r ReceptionIdentity) GetContact() contact.Contact { grp, _ := r.GetGroup() dhKeyPriv, _ := r.GetDHKeyPrivate() - dhPub := grp.ExpG(dhKeyPriv, grp.NewInt(1)) ct := contact.Contact{ ID: r.ID, - DhPubKey: dhPub, + DhPubKey: diffieHellman.GeneratePublicKey(dhKeyPriv, grp), OwnershipProof: nil, - Facts: nil, + Facts: make([]fact.Fact, 0), } return ct } diff --git a/xxdk/user.go b/xxdk/user.go index 6f50a91e55b2c1c529abe5fdc418cd12b2e6f021..9037ace167406a33be59b011f0c8cdc7dc3ef255 100644 --- a/xxdk/user.go +++ b/xxdk/user.go @@ -252,7 +252,7 @@ func createNewVanityUser(rng csprng.Source, } // createPrecannedUser -func createPrecannedUser(precannedID uint, rng csprng.Source, e2e *cyclic.Group) user.Info { +func createPrecannedUser(precannedID uint, rng csprng.Source, grp *cyclic.Group) user.Info { // Salt, UID, etc gen salt := make([]byte, SaltSize) @@ -263,13 +263,14 @@ func createPrecannedUser(precannedID uint, rng csprng.Source, e2e *cyclic.Group) // NOTE: not used... RSA Keygen (4096 bit defaults) rsaKey, err := rsa.GenerateKey(rng, rsa.DefaultRSABitLen) if err != nil { + r jww.FATAL.Panicf(err.Error()) } - prime := e2e.GetPBytes() + prime := grp.GetPBytes() keyLen := len(prime) prng := rand.New(rand.NewSource(int64(precannedID))) - dhPrivKey := diffieHellman.GeneratePrivateKey(keyLen, e2e, prng) + dhPrivKey := diffieHellman.GeneratePrivateKey(keyLen, grp, prng) return user.Info{ TransmissionID: &userID, TransmissionSalt: salt, @@ -277,7 +278,7 @@ func createPrecannedUser(precannedID uint, rng csprng.Source, e2e *cyclic.Group) ReceptionSalt: salt, Precanned: true, E2eDhPrivateKey: dhPrivKey, - E2eDhPublicKey: e2e.ExpG(dhPrivKey, e2e.NewInt(1)), + E2eDhPublicKey: diffieHellman.GeneratePublicKey(dhPrivKey, grp), TransmissionRSA: rsaKey, ReceptionRSA: rsaKey, }