summaryrefslogtreecommitdiffstats
path: root/crypto/curve25519_openssl.cc
blob: 06c2f01bf8d8f66e9c187602245feb018a52c8bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "crypto/curve25519.h"

#include <openssl/curve25519.h>
#include <stdint.h>

namespace crypto {

namespace curve25519 {

bool ScalarMult(const uint8_t* private_key,
                const uint8_t* peer_public_key,
                uint8_t* shared_key) {
  return !!X25519(shared_key, private_key, peer_public_key);
}

void ScalarBaseMult(const uint8_t* private_key, uint8_t* public_key) {
  X25519_public_from_private(public_key, private_key);
}

}  // namespace curve25519

}  // namespace crypto