INNER CODE UNIT · Go

func

emmansun/gmsm · cbcmac/cbcmac.go:291

func (d *cmac) Write(p []byte) (nn int, err error) {
	nn = len(p)
	if nn == 0 {
		// nothing to do
		return
	}
	d.len += uint64(nn)
	if d.nx == d.blockSize {
		// handle remaining full block
		d.block(d.x)
		d.nx = 0
	} else if d.nx > 0 {
		// handle remaining incomplete block
		n := copy(d.x[d.nx:], p)
		d.nx += n
		p = p[n:]
		if len(p) > 0 {
			d.block(d.x)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…