Skip to content

Commit d53e3ab

Browse files
gefeilidghgit
authored andcommitted
Fix step 3.
1 parent b69dd73 commit d53e3ab

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

core/src/main/java/org/bouncycastle/crypto/kems/SAKKEKEMSGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,10 @@ public SecretWithEncapsulation generateEncapsulated(AsymmetricKeyParameter recip
144144
"C67C6D19487FB449059F26CC8AAB655A" +
145145
"B58B7CC796E24E9A394095754F5F8BAE", 16) // Py
146146
);
147+
BigInteger z = new BigInteger("AFF429D35F84B110D094803B3595A6E2998BC99F", 16);
147148
// 3. Compute R_(b,S) = [r]([b]P + Z_S)
148149
ECPoint bP = P.multiply(b).normalize();
149-
ECPoint Z_S = Z;// P.multiply(ssv).normalize();;//.multiply(new BigInteger("AFF429D35F84B110D094803B3595A6E2998BC99F", 16)); // Z_S
150-
ECPoint R_bS = bP.add(Z_S).multiply(r); // [r]([b]P + Z_S)
150+
ECPoint R_bS = bP.add(Z).multiply(r).normalize(); // [r]([b]P + Z_S)
151151
System.out.println("R_Bs x:" + new String(Hex.encode(R_bS.getXCoord().toBigInteger().toByteArray())));
152152
System.out.println("R_Bs y:" + new String(Hex.encode(R_bS.getYCoord().toBigInteger().toByteArray())));
153153

core/src/test/java/org/bouncycastle/crypto/kems/test/SAKKEKEMSTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@ public void performTest()
142142
p, // Prime p
143143
BigInteger.valueOf(-3).mod(p), // a = -3
144144
BigInteger.ZERO, // ,
145-
q,// Order of the subgroup (from RFC 6509)
145+
g,// Order of the subgroup (from RFC 6509)
146146
BigInteger.ONE // Cofactor = 1
147147
);
148-
148+
SAKKEKEMSGenerator generator = new SAKKEKEMSGenerator(new SecureRandom());
149+
generator.generateEncapsulated(null);
149150
ECPoint K_bS = curve.createPoint(kbx, kby);
150151
System.out.println("K_bS x:" + new String(Hex.encode(K_bS.getXCoord().toBigInteger().toByteArray())));
151152
System.out.println("K_bS y:" + new String(Hex.encode(K_bS.getYCoord().toBigInteger().toByteArray())));
@@ -159,8 +160,8 @@ public void performTest()
159160
System.out.println("r:" + new String(Hex.encode(expectedR)));
160161

161162
Assert.assertTrue(Arrays.areEqual(r.toByteArray(), expectedR));
162-
SAKKEKEMSGenerator generator = new SAKKEKEMSGenerator(new SecureRandom());
163-
generator.generateEncapsulated(null);
163+
// SAKKEKEMSGenerator generator = new SAKKEKEMSGenerator(new SecureRandom());
164+
// generator.generateEncapsulated(null);
164165

165166
}
166167
}

0 commit comments

Comments
 (0)