12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package elgamal
- import (
- "context"
- "log"
- "math/big"
- "testing"
- "git.ali33.ru/fcg-xvii/curve/v2/tools"
- )
- func TestMessage(t *testing.T) {
- // curve init
- c, err := tools.NewCurve(
- big.NewInt(2),
- big.NewInt(4),
- )
- if err != nil {
- t.Fatal(err)
- }
- p := tools.SearchPrime(big.NewInt(100000))
- if err = c.SetP(p); err != nil {
- t.Fatal(err)
- }
- if err = c.SetGRandom(context.Background()); err != nil {
- t.Fatal(err)
- }
- log.Println("CURVE NORM")
- ce, _ := NewCurve(c, context.Background())
- log.Println("CURVE2 NORM")
- p1, _ := CurveKeyPair(ce, context.Background())
- p2, _ := CurveKeyPair(ce, context.Background())
- p1.Map().LogPretty()
- p2.Map().LogPretty()
- message := "Привет, мир ;)"
- mes, err := p1.MessageEncode([]byte(message), p2.KeyPublic())
- if err != nil {
- t.Fatal(err)
- }
- src, err := p2.MessageDecode(mes)
- if err != nil {
- t.Fatal(err)
- }
- t.Log(string(src))
- aPair, err := p2.KeyPublic().Attack(context.Background())
- if err != nil {
- t.Fatal(err)
- }
- aPair.Map().LogPretty()
- src, err = aPair.MessageDecode(mes)
- if err != nil {
- t.Fatal(err)
- }
- t.Log(string(src))
- }
|