1
// Copyright 2012 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
5
// Package curve25519 provides an implementation of scalar multiplication on
6
// the elliptic curve known as curve25519. See http://cr.yp.to/ecdh.html
7
package curve25519 // import "golang.org/x/crypto/curve25519"
9
// basePoint is the x coordinate of the generator of the curve.
10
var basePoint = [32]byte{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
12
// ScalarMult sets dst to the product in*base where dst and base are the x
13
// coordinates of group points and all values are in little-endian form.
14
func ScalarMult(dst, in, base *[32]byte) {
15
scalarMult(dst, in, base)
18
// ScalarBaseMult sets dst to the product in*base where dst and base are the x
19
// coordinates of group points, base is the standard generator and all values
20
// are in little-endian form.
21
func ScalarBaseMult(dst, in *[32]byte) {
22
ScalarMult(dst, in, &basePoint)