X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcypherpunks.ru%2Fgogost%2Fgost28147%2Fctr.go;h=19564f9ddb0595afee0aaa8d66ee730da618837c;hb=69e668f3499122e0b1140f3bd927de41ad279b94;hp=1008707862d32f7d0b7cc530b99d995122202f62;hpb=9be6f384bae8ebeabc129ede9f8a597de12835d3;p=gogost.git diff --git a/src/cypherpunks.ru/gogost/gost28147/ctr.go b/src/cypherpunks.ru/gogost/gost28147/ctr.go index 1008707..19564f9 100644 --- a/src/cypherpunks.ru/gogost/gost28147/ctr.go +++ b/src/cypherpunks.ru/gogost/gost28147/ctr.go @@ -22,8 +22,11 @@ type CTR struct { n2 nv } -func (c *Cipher) NewCTR(iv [BlockSize]byte) *CTR { - n1, n2 := block2nvs(iv[:]) +func (c *Cipher) NewCTR(iv []byte) *CTR { + if len(iv) != BlockSize { + panic("iv length is not equal to blocksize") + } + n1, n2 := block2nvs(iv) n2, n1 = c.xcrypt(SeqEncrypt, n1, n2) return &CTR{c, n1, n2} }