import (
"crypto/rand"
"io"
- "go.cypherpunks.ru/gogost/v5/gost3410"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.su/gogost/v6/gost3410"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
)
func main() {
data := []byte("data to be signed")
"os"
"time"
- "crypto/go.cypherpunks.ru/gogost/v5/gost3410"
- "crypto/go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "crypto/go.cypherpunks.su/gogost/v6/gost3410"
+ "crypto/go.cypherpunks.su/gogost/v6/gost34112012256"
)
const (
"io"
"os"
- "go.cypherpunks.ru/gogost/v5"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.su/gogost/v6"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
)
var (
"io"
"os"
- "go.cypherpunks.ru/gogost/v5"
- "go.cypherpunks.ru/gogost/v5/gost34112012512"
+ "go.cypherpunks.su/gogost/v6"
+ "go.cypherpunks.su/gogost/v6/gost34112012512"
)
var (
-module go.cypherpunks.ru/gogost/v5
+module go.cypherpunks.su/gogost/v6
go 1.21
// Pure Go GOST cryptographic functions library.
package gogost
-const Version = "5.15.0"
+const Version = "6.0.0"
"fmt"
"math/big"
- "go.cypherpunks.ru/gogost/v5/gost28147"
- "go.cypherpunks.ru/gogost/v5/gost341194"
+ "go.cypherpunks.su/gogost/v6/gost28147"
+ "go.cypherpunks.su/gogost/v6/gost341194"
)
// RFC 4357 VKO GOST R 34.10-2001 key agreement function.
"fmt"
"math/big"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
- "go.cypherpunks.ru/gogost/v5/gost34112012512"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
+ "go.cypherpunks.su/gogost/v6/gost34112012512"
)
// RFC 7836 VKO GOST R 34.10-2012 256-bit key agreement function.
import (
"hash"
- "go.cypherpunks.ru/gogost/v5/internal/gost34112012"
+ "go.cypherpunks.su/gogost/v6/internal/gost34112012"
)
const (
import (
"hash"
- "go.cypherpunks.ru/gogost/v5/internal/gost34112012"
+ "go.cypherpunks.su/gogost/v6/internal/gost34112012"
)
const (
"encoding/binary"
"math/big"
- "go.cypherpunks.ru/gogost/v5/gost28147"
+ "go.cypherpunks.su/gogost/v6/gost28147"
)
const (
"testing"
"testing/quick"
- "go.cypherpunks.ru/gogost/v5/gost28147"
+ "go.cypherpunks.su/gogost/v6/gost28147"
)
func TestHashInterface(t *testing.T) {
"hash"
"testing"
- "go.cypherpunks.ru/gogost/v5/gost28147"
+ "go.cypherpunks.su/gogost/v6/gost28147"
"golang.org/x/crypto/pbkdf2"
)
package gost341264
import (
- "go.cypherpunks.ru/gogost/v5/gost28147"
+ "go.cypherpunks.su/gogost/v6/gost28147"
)
const (
like this:
@example
-$ mkdir -p myproj/vendor/go.cypherpunks.ru/gogost
-$ mv gogost-@value{VERSION} myproj/vendor/go.cypherpunks.ru/gogost/v5
+$ mkdir -p myproj/vendor/go.cypherpunks.su/gogost
+$ mv gogost-@value{VERSION} myproj/vendor/go.cypherpunks.su/gogost/v6
$ cd myproj
$ cat >main.go <<EOF
package main
"encoding/hex"
"fmt"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
)
func main() @{
@command{streebog256} utility:
@example
-$ go install go.cypherpunks.ru/gogost/v5/cmd/streebog256@@latest
+$ go install go.cypherpunks.su/gogost/v6/cmd/streebog256@@latest
@end example
-Aware that @code{go.cypherpunks.ru} uses
+Aware that @code{go.cypherpunks.su} uses
@url{//www.ca.cypherpunks.ru, ca.cypherpunks.ru} X.509 certificate authority.
@itemize
@item Go's default @code{proxy.golang.org} and @code{sum.golang.org}
-services won't be able to verify @code{go.cypherpunks.ru}'s TLS
+services won't be able to verify @code{go.cypherpunks.su}'s TLS
authenticity, because there are no common trust anchors. You can skip
-their usage by setting @env{$GOPRIVATE=go.cypherpunks.ru}.
+their usage by setting @env{$GOPRIVATE=go.cypherpunks.su}.
@item You can (temporarily) override CA bundle during installation with
@env{$SSL_CERT_FILE} environment variable.
your local @file{go.mod}:
@example
-require go.cypherpunks.ru/gogost/v5 v@value{VERSION}
-replace go.cypherpunks.ru/gogost/v5 => /path/to/gogost-@value{VERSION}
+require go.cypherpunks.su/gogost/v6 v@value{VERSION}
+replace go.cypherpunks.su/gogost/v6 => /path/to/gogost-@value{VERSION}
@end example
@end itemize
"testing"
"testing/quick"
- "go.cypherpunks.ru/gogost/v5/gost3412128"
- "go.cypherpunks.ru/gogost/v5/gost341264"
+ "go.cypherpunks.su/gogost/v6/gost3412128"
+ "go.cypherpunks.su/gogost/v6/gost341264"
)
func TestVector(t *testing.T) {
"crypto/rand"
"testing"
- "go.cypherpunks.ru/gogost/v5/gost3412128"
+ "go.cypherpunks.su/gogost/v6/gost3412128"
)
func BenchmarkMul128(b *testing.B) {
"crypto/rand"
"testing"
- "go.cypherpunks.ru/gogost/v5/gost341264"
+ "go.cypherpunks.su/gogost/v6/gost341264"
)
func BenchmarkMul64(b *testing.B) {
@table @strong
+@anchor{Release 6.0.0}
+@item 6.0.0
+Changed namespace because of domain expiration:
+@verbatim
+go.cypherpunks.ru/gogost/v5 -> go.cypherpunks.su/gogost/v6
+@end verbatim
+
@anchor{Release 5.15.0}
@item 5.15.0
Optimised Streebog implementation with precalculated tables.
"crypto/hmac"
"hash"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
- "go.cypherpunks.ru/gogost/v5/gost34112012512"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
+ "go.cypherpunks.su/gogost/v6/gost34112012512"
)
type PRFIPsecPRFPlusGOSTR34112012 struct{ h hash.Hash }
import (
"crypto/rand"
"io"
- "go.cypherpunks.ru/gogost/v5/gost3410"
- "go.cypherpunks.ru/gogost/v5/gost34112012256"
+ "go.cypherpunks.su/gogost/v6/gost3410"
+ "go.cypherpunks.su/gogost/v6/gost34112012256"
)
func main() {
data := []byte("data to be signed")