diff --git a/e2e/singleUse/responseFingerprint.go b/e2e/singleUse/responseFingerprint.go
index a7458b88e4bc5f7701cc21211589a39e44810d65..37c84ba95564a551d1042937811912aaadfbcbb0 100644
--- a/e2e/singleUse/responseFingerprint.go
+++ b/e2e/singleUse/responseFingerprint.go
@@ -21,8 +21,10 @@ const responseFPConstant = "responseFPConstant"
 // the given key number.
 func ResponseFingerprint(dhKey *cyclic.Int, keyNum uint64) format.Fingerprint {
 	// Create fingerprint
-	fp := format.Fingerprint{}
-	copy(fp[:], makeKeyHash(dhKey, keyNum, responseFPConstant))
+	fp := format.NewFingerprint(makeKeyHash(dhKey, keyNum, responseFPConstant))
+
+	// Set the first bit as zero to ensure everything stays in the group
+	fp[0] &= 0b01111111
 
 	return fp
 }
diff --git a/e2e/singleUse/responseFingerprint_test.go b/e2e/singleUse/responseFingerprint_test.go
index 28a2928191defc94ffc8453001ae517ada63f5e4..7dd1f932a615d53d6ae446c936657d677766d416 100644
--- a/e2e/singleUse/responseFingerprint_test.go
+++ b/e2e/singleUse/responseFingerprint_test.go
@@ -24,13 +24,12 @@ func TestResponseFingerprint(t *testing.T) {
 	dhKey := diffieHellman.GeneratePublicKey(diffieHellman.GeneratePrivateKey(
 		diffieHellman.DefaultPrivateKeyLength, grp, prng), grp)
 	testFP := ResponseFingerprint(dhKey, 0)
-	testFPBase64 := base64.StdEncoding.EncodeToString(testFP[:])
 
-	if expectedFP != testFPBase64 {
+	if expectedFP != testFP.String() {
 		t.Errorf("ResponseFingerprint() did not return the expected "+
 			"fingerprint for public key %s."+
 			"\nexpected: %s\nreceived: %s",
-			dhKey.Text(10), expectedFP, testFPBase64)
+			dhKey.Text(10), expectedFP, testFP)
 	}
 }
 
diff --git a/e2e/singleUse/transmitFingerprint.go b/e2e/singleUse/transmitFingerprint.go
index c246063fd73ba216e2c11dbc0163d142990e9f89..98a92a9a66338f14fc57b4b8e1e1b50bb833d8df 100644
--- a/e2e/singleUse/transmitFingerprint.go
+++ b/e2e/singleUse/transmitFingerprint.go
@@ -18,8 +18,7 @@ const transmitFPConstant = "transmitFPConstant"
 // message.
 func TransmitFingerprint(dhKey *cyclic.Int) format.Fingerprint {
 	// Create fingerprint
-	fp := format.Fingerprint{}
-	copy(fp[:], makeHash(dhKey, []byte(transmitFPConstant)))
+	fp := format.NewFingerprint(makeHash(dhKey, []byte(transmitFPConstant)))
 
 	// Set the first bit as zero to ensure everything stays in the group
 	fp[0] &= 0b01111111
diff --git a/e2e/singleUse/transmitFingerprint_test.go b/e2e/singleUse/transmitFingerprint_test.go
index 5d0f382ac8598e37da0b9e99ebc0ade1a0a7997f..db1ec5f6064e065aa6fc6a3a3109126d1dcbb6d3 100644
--- a/e2e/singleUse/transmitFingerprint_test.go
+++ b/e2e/singleUse/transmitFingerprint_test.go
@@ -38,13 +38,12 @@ func TestTransmitFingerprint_Consistency(t *testing.T) {
 		dhKey := diffieHellman.GeneratePublicKey(diffieHellman.GeneratePrivateKey(
 			diffieHellman.DefaultPrivateKeyLength, grp, prng), grp)
 		testFP := TransmitFingerprint(dhKey)
-		testFPBase64 := base64.StdEncoding.EncodeToString(testFP[:])
 
-		if expected != testFPBase64 {
+		if expected != testFP.String() {
 			t.Errorf("TransmitFingerprint() did not return the expected "+
 				"fingerprint for public key %s at index %d."+
 				"\nexpected: %s\nreceived: %s",
-				dhKey.Text(10), i, expected, testFPBase64)
+				dhKey.Text(10), i, expected, testFP)
 		}
 	}
 }
diff --git a/go.mod b/go.mod
index ff4e99973af78257ea3681fa0337865e760874fd..dc77cace338d996f19715009454254166b6db734 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.13
 require (
 	github.com/pkg/errors v0.9.1
 	github.com/spf13/jwalterweatherman v1.1.0
-	gitlab.com/elixxir/primitives v0.0.3-0.20210107183456-9cf6fe2de1e5
+	gitlab.com/elixxir/primitives v0.0.3-0.20210120174718-802bdcda9dbb
 	gitlab.com/xx_network/crypto v0.0.5-0.20210107183440-804e0f8b7d22
 	gitlab.com/xx_network/primitives v0.0.4-0.20210106014326-691ebfca3b07
 	golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de
diff --git a/go.sum b/go.sum
index c0581c0f4f44a5c35b6b17b5111fa38ad086a449..45a88be441ef68f76ca0f0bde2eb08b75df7f285 100644
--- a/go.sum
+++ b/go.sum
@@ -61,6 +61,8 @@ gitlab.com/elixxir/primitives v0.0.3-0.20210104223605-0e47af99d9d5 h1:gFnu6lXLNG
 gitlab.com/elixxir/primitives v0.0.3-0.20210104223605-0e47af99d9d5/go.mod h1:BLL0lkR9foigqmsz1p3OLnwACBhS9fd3mVk9Ftflg9E=
 gitlab.com/elixxir/primitives v0.0.3-0.20210107183456-9cf6fe2de1e5 h1:50HbCJWirpX2Q+NNhIHcs0M9f45H1UJ/7LNMu81Bnn0=
 gitlab.com/elixxir/primitives v0.0.3-0.20210107183456-9cf6fe2de1e5/go.mod h1:Ph6isHUDVjmRUd9DioyKpd8W9J52gKBiDeue4DCygXA=
+gitlab.com/elixxir/primitives v0.0.3-0.20210120174718-802bdcda9dbb h1:BA/qishMQwdNU7NJTq9WzkSIR45Fi35OrIJ8zqOy3lE=
+gitlab.com/elixxir/primitives v0.0.3-0.20210120174718-802bdcda9dbb/go.mod h1:Ph6isHUDVjmRUd9DioyKpd8W9J52gKBiDeue4DCygXA=
 gitlab.com/xx_network/crypto v0.0.5-0.20201217195719-cc31e1d1eee3 h1:xXJAkvhHZl5CUX8/9rqe8hod5FbqZrxwMuT8cG48Mxs=
 gitlab.com/xx_network/crypto v0.0.5-0.20201217195719-cc31e1d1eee3/go.mod h1:iHCS8UOFndbXivLTeIarxN8TKbi3NcanZj29KtMzs2o=
 gitlab.com/xx_network/crypto v0.0.5-0.20210107183440-804e0f8b7d22 h1:SQga1vOuAGzbYURnBjG0f37r7WmWKZRdiqmdopaNMb4=