INNER CODE UNIT · Go

writeTranscriptField

schollz/pake · pake.go:284

func writeTranscriptField(h hash.Hash, value []byte) {
	var length [8]byte
	binary.LittleEndian.PutUint64(length[:], uint64(len(value)))
	_, _ = h.Write(length[:])
	_, _ = h.Write(value)
}

func (p *Pake) deriveSessionKey() []byte {
	h := sha256.New()
	if !p.withIDs {
		h.Write(p.Pw)
		h.Write(p.Xᵤ.Bytes())
		h.Write(p.Xᵥ.Bytes())
		h.Write(p.Yᵤ.Bytes())
		h.Write(p.Yᵥ.Bytes())
		h.Write(p.Zᵤ.Bytes())
		h.Write(p.Zᵥ.Bytes())
		return h.Sum(nil)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…