-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
71 lines (64 loc) · 2.43 KB
/
main.go
File metadata and controls
71 lines (64 loc) · 2.43 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package main
import (
"encoding/json"
"fmt"
"github.com/zoop/fidelius-go/decryption"
"github.com/zoop/fidelius-go/encryption"
"github.com/zoop/fidelius-go/keypairgen"
"github.com/zoop/fidelius-go/utils"
)
/* -------------------------------------------------------------------------- */
/* main */
/* -------------------------------------------------------------------------- */
// Refer :- https://i.ibb.co/cNb7S4h/Encryption.png
func main() {
BC25519, err := utils.GetBC25519Curve()
if err != nil {
fmt.Println("Error not able create curve")
return
}
handler := keypairgen.Handler(BC25519)
keyMaterial, err := handler.Generate()
if err != nil {
fmt.Println("Error generating key material:", err)
return
}
jsonData, err := json.Marshal(keyMaterial)
if err != nil {
fmt.Println("Error marshaling key material to JSON:", err)
return
}
fmt.Println(string(jsonData))
fmt.Println("-------------------------------------------------------------------------")
encryptionHandler := encryption.Handler(BC25519)
senderNonce := keyMaterial.Nonce
recieverNone := "MUFiMwG88uua0tf6Coh89DAYVDzglO3GV46jBBvw3KI="
request := encryption.EncryptionRequest{
StringToEncrypt: "Hello, World!",
SenderNonce: senderNonce,
RequesterNonce: recieverNone,
SenderPrivateKey: keyMaterial.PrivateKey,
RequesterPublicKey: "BDKIyX4Dl5mcY2igBWUyJDabZlVcwpBncbZW4sN4WzTEPcRb3VaNWfcjpGICwj6JOdXGPxkwEX6465MJG7X6IC8=",
}
response, err := encryptionHandler.Encrypt(request)
if err != nil {
fmt.Println("Encryption error:", err)
return
}
fmt.Println("Encrypted Data:", response)
fmt.Println("-------------------------------------------------------------------------")
decryptionHandler := decryption.Handler(BC25519)
req := decryption.DecryptionRequest{
EncryptedData: "pzMvVZNNVtJzqPkkxcCbBUWgDEBy/mBXIeT2dJWI16ZAQnnXUb9lI+S4k8XK6mgZSKKSRIHkcNvJpllnBg548wUgavBa0vCRRwdL6kY6Yw==",
RequesterNonce: "6uj1RdDUbcpI3lVMZvijkMC8Te20O4Bcyz0SyivX8Eg=",
SenderNonce: "lmXgblZwotx+DfBgKJF0lZXtAXgBEYr5khh79Zytr2Y=",
RequesterPrivateKey: "DMxHPri8d7IT23KgLk281zZenMfVHSdeamq0RhwlIBk=",
SenderPublicKey: "BABVt+mpRLMXiQpIfEq6bj8hlXsdtXIxLsspmMgLNI1SR5mHgDVbjHO2A+U4QlMddGzqyEidzm1AkhtSxSO2Ahg=",
}
resp, err := decryptionHandler.Decrypt(req)
if err != nil {
fmt.Println("Decryption failed:", err)
return
}
fmt.Println("Decrypted Data:", resp)
}