From 15463994c0f62f5e0d0704b669e24a8e0bfe5bd0 Mon Sep 17 00:00:00 2001 From: Jake Taylor <jake@elixxir.io> Date: Wed, 13 Jul 2022 16:25:37 -0500 Subject: [PATCH] refactor to use generatepublickey --- e2e/ratchet/partner/relationshipFingerprint.go | 3 ++- single/request.go | 3 ++- ud/register.go | 3 ++- xxdk/identity.go | 6 +++--- xxdk/user.go | 9 +++++---- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/e2e/ratchet/partner/relationshipFingerprint.go b/e2e/ratchet/partner/relationshipFingerprint.go index e00f6aa69..9380b9a50 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 1a4962865..08e78c6ef 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 591a1cf1f..07c7fcdb9 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 c3e989724..8d4b392d8 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 6f50a91e5..9037ace16 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, } -- GitLab