test_class.file: java_src/src/test/java/com/google/crypto/tink/subtle/X25519Test.java
test_class.identifier: X25519Test
test_case.body: @Test
    public void testGeneratePrivateKeyReturnsIntentionallyMalformedKeys() {
      byte[] privateKey = X25519.generatePrivateKey();
      assertEquals(7, privateKey[0] & 7);
      assertEquals(128, privateKey[31] & 192);
    }
test_case.class_method_signature: X25519Test.testGeneratePrivateKeyReturnsIntentionallyMalformedKeys()
test_case.full_signature: @Test public void testGeneratePrivateKeyReturnsIntentionallyMalformedKeys()
test_case.identifier: testGeneratePrivateKeyReturnsIntentionallyMalformedKeys
test_case.invocations: generatePrivateKey assertEquals assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGeneratePrivateKeyReturnsIntentionallyMalformedKeys()
focal_class.file: java_src/src/main/java/com/google/crypto/tink/subtle/X25519.java
focal_class.identifier: X25519
focal_class.class_method_signature: X25519.generatePrivateKey()
focal_class.full_signature: @SuppressWarnings("NarrowingCompoundAssignment") public static byte[] generatePrivateKey()
focal_class.identifier: generatePrivateKey
focal_class.modifiers: @SuppressWarnings("NarrowingCompoundAssignment") public static
focal_class.parameters: ()
focal_class.return: byte[]
focal_class.signature: byte[] generatePrivateKey()
focal_class.class_method_signature: X25519.computeSharedSecret(byte[] privateKey, byte[] peersPublicValue)
focal_class.full_signature: @SuppressWarnings("NarrowingCompoundAssignment") public static byte[] computeSharedSecret(byte[] privateKey, byte[] peersPublicValue)
focal_class.identifier: computeSharedSecret
focal_class.modifiers: @SuppressWarnings("NarrowingCompoundAssignment") public static
focal_class.parameters: (byte[] privateKey, byte[] peersPublicValue)
focal_class.return: byte[]
focal_class.signature: byte[] computeSharedSecret(byte[] privateKey, byte[] peersPublicValue)
focal_class.class_method_signature: X25519.publicFromPrivate(byte[] privateKey)
focal_class.full_signature: public static byte[] publicFromPrivate(byte[] privateKey)
focal_class.identifier: publicFromPrivate
focal_class.modifiers: public static
focal_class.parameters: (byte[] privateKey)
focal_class.return: byte[]
focal_class.signature: byte[] publicFromPrivate(byte[] privateKey)
focal_method.body: @SuppressWarnings("NarrowingCompoundAssignment")
    public static byte[] generatePrivateKey() {
      byte[] privateKey = Random.randBytes(Field25519.FIELD_LEN);
  
      privateKey[0] |= 7;
      privateKey[31] &= 63;
      privateKey[31] |= 128;
  
      return privateKey;
    }
focal_method.class_method_signature: X25519.generatePrivateKey()
focal_method.full_signature: @SuppressWarnings("NarrowingCompoundAssignment") public static byte[] generatePrivateKey()
focal_method.identifier: generatePrivateKey
focal_method.invocations: randBytes
focal_method.modifiers: @SuppressWarnings("NarrowingCompoundAssignment") public static
focal_method.parameters: ()
focal_method.return: byte[]
focal_method.signature: byte[] generatePrivateKey()