import (
"crypto/rand"
"io"
- "go.cypherpunks.ru/gogost/v4/gost3410"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5/gost3410"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
)
func main() {
data := []byte("data to be signed")
"io"
"os"
- "go.cypherpunks.ru/gogost/v4"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
)
var (
"io"
"os"
- "go.cypherpunks.ru/gogost/v4"
- "go.cypherpunks.ru/gogost/v4/gost34112012512"
+ "go.cypherpunks.ru/gogost/v5"
+ "go.cypherpunks.ru/gogost/v5/gost34112012512"
)
var (
-module go.cypherpunks.ru/gogost/v4
+module go.cypherpunks.ru/gogost/v5
go 1.12
"errors"
"math/big"
- "go.cypherpunks.ru/gogost/v4/gost28147"
- "go.cypherpunks.ru/gogost/v4/gost341194"
+ "go.cypherpunks.ru/gogost/v5/gost28147"
+ "go.cypherpunks.ru/gogost/v5/gost341194"
)
// RFC 4357 VKO GOST R 34.10-2001 key agreement function.
import (
"math/big"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
- "go.cypherpunks.ru/gogost/v4/gost34112012512"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5/gost34112012512"
)
// RFC 7836 VKO GOST R 34.10-2012 256-bit key agreement function.
import (
"hash"
- "go.cypherpunks.ru/gogost/v4/internal/gost34112012"
+ "go.cypherpunks.ru/gogost/v5/internal/gost34112012"
)
const (
import (
"hash"
- "go.cypherpunks.ru/gogost/v4/internal/gost34112012"
+ "go.cypherpunks.ru/gogost/v5/internal/gost34112012"
)
const (
"encoding/binary"
"math/big"
- "go.cypherpunks.ru/gogost/v4/gost28147"
+ "go.cypherpunks.ru/gogost/v5/gost28147"
)
const (
"testing"
"testing/quick"
- "go.cypherpunks.ru/gogost/v4/gost28147"
+ "go.cypherpunks.ru/gogost/v5/gost28147"
)
func TestHashInterface(t *testing.T) {
"hash"
"testing"
- "go.cypherpunks.ru/gogost/v4/gost28147"
+ "go.cypherpunks.ru/gogost/v5/gost28147"
"golang.org/x/crypto/pbkdf2"
)
package gost341264
import (
- "go.cypherpunks.ru/gogost/v4/gost28147"
+ "go.cypherpunks.ru/gogost/v5/gost28147"
)
const (
"encoding/hex"
"fmt"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
)
func main() @{
Also you can use @code{replace} feature inside your @file{go.mod}, like:
@example
-require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
-replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
+require go.cypherpunks.ru/gogost/v5 v@value{VERSION}
+replace go.cypherpunks.ru/gogost/v5 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v5
@end example
You can obtain development source code with
"testing"
"testing/quick"
- "go.cypherpunks.ru/gogost/v4/gost3412128"
- "go.cypherpunks.ru/gogost/v4/gost341264"
+ "go.cypherpunks.ru/gogost/v5/gost3412128"
+ "go.cypherpunks.ru/gogost/v5/gost341264"
)
func TestVector(t *testing.T) {
"math/big"
"testing"
- "go.cypherpunks.ru/gogost/v4/gost3412128"
- "go.cypherpunks.ru/gogost/v4/gost341264"
+ "go.cypherpunks.ru/gogost/v5/gost3412128"
+ "go.cypherpunks.ru/gogost/v5/gost341264"
)
func BenchmarkMul64(b *testing.B) {
"crypto/hmac"
"hash"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
- "go.cypherpunks.ru/gogost/v4/gost34112012512"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5/gost34112012512"
)
type PRFIPsecPRFPlusGOSTR34112012 struct{ h hash.Hash }
import (
"crypto/rand"
"io"
- "go.cypherpunks.ru/gogost/v4/gost3410"
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
+ "go.cypherpunks.ru/gogost/v5/gost3410"
+ "go.cypherpunks.ru/gogost/v5/gost34112012256"
)
func main() {
data := []byte("data to be signed")