47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package thrembio
|
|
|
|
// 0% of AI generated code
|
|
|
|
import (
|
|
"WhspBrd/owner"
|
|
"WhspBrd/typio/bit"
|
|
"crypto/mlkem"
|
|
"crypto/sha256"
|
|
"errors"
|
|
)
|
|
|
|
var (
|
|
ErrSecretCantBeNil = errors.New("secret cant be nil")
|
|
)
|
|
var magicBytes = []byte{0x70, 0x03, 0xEA} // 'p' + 'Ϫ' (U+03EA)
|
|
const version byte = 3
|
|
|
|
var magicWithVersion = append(magicBytes, version)
|
|
|
|
type PacketReqType byte
|
|
type PacketResType byte
|
|
|
|
const (
|
|
Rq_Ping PacketReqType = 0
|
|
Rq_Register PacketReqType = 1
|
|
Rq_Login PacketReqType = 2
|
|
Rq_Data PacketReqType = 3
|
|
Rq_Unknown PacketReqType = 4
|
|
|
|
Rs_Ack PacketResType = 0
|
|
Rs_Data PacketResType = 1
|
|
Rs_Error PacketResType = 2
|
|
Rs_Unknown PacketResType = 3
|
|
)
|
|
|
|
var (
|
|
notLoggedB = []byte("not_logged")
|
|
notRegisteredB = []byte("not_registered")
|
|
none = []byte{0}
|
|
)
|
|
|
|
var commonHeaderSize = len(magicWithVersion) + bit.Size64b_B + 1
|
|
var registerRestSize = bit.Size64b_B + sha256.BlockSize + owner.SignatureSize
|
|
var loginRestSize = mlkem.EncapsulationKeySize1024 + owner.SignatureSize
|
|
var dataRestMinSize = sha256.BlockSize + bit.Size32b_B + 1
|