File: simotparty.go

package info (click to toggle)
golang-github-cloudflare-circl 1.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,064 kB
  • sloc: asm: 20,492; ansic: 1,292; makefile: 68
file content (29 lines) | stat: -rw-r--r-- 1,201 bytes parent folder | download | duplicates (4)
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
package simot

import "github.com/cloudflare/circl/group"

type Sender struct {
	index   int           // Indicate which OT
	m0      []byte        // The M0 message from sender
	m1      []byte        // The M1 message from sender
	a       group.Scalar  // The randomness of the sender
	A       group.Element // [a]G
	B       group.Element // The random group element from the receiver
	k0      []byte        // The encryption key of M0
	k1      []byte        // The encryption key of M1
	e0      []byte        // The encryption of M0 under k0
	e1      []byte        // The encryption of M1 under k1
	myGroup group.Group   // The elliptic curve we operate in
}

type Receiver struct {
	index   int           // Indicate which OT
	c       int           // The choice bit of the receiver
	A       group.Element // The random group element from the sender
	b       group.Scalar  // The randomness of the receiver
	B       group.Element // B = [b]G if c == 0, B = A+[b]G if c == 1
	kR      []byte        // The decryption key of receiver
	ec      []byte        // The encryption of mc
	mc      []byte        // The decrypted message from sender
	myGroup group.Group   // The elliptic curve we operate in
}