The "block length" for CFB mode was incorrectly coded as 1 all the time. It
should be the number of feedback bits expressed in bytes. For CFB1 mode set this to 1 by rounding up to the nearest multiple of 8.
This commit is contained in:
		@@ -127,9 +127,9 @@ BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len, \
 | 
			
		||||
#define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \
 | 
			
		||||
			     iv_len, cbits, flags, init_key, cleanup, \
 | 
			
		||||
			     set_asn1, get_asn1, ctrl) \
 | 
			
		||||
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, 1, \
 | 
			
		||||
		  key_len, iv_len, flags, init_key, cleanup, set_asn1, \
 | 
			
		||||
		  get_asn1, ctrl)
 | 
			
		||||
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, \
 | 
			
		||||
			(cbits + 7)/8, key_len, iv_len, \
 | 
			
		||||
		flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
 | 
			
		||||
 | 
			
		||||
#define BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \
 | 
			
		||||
			     iv_len, cbits, flags, init_key, cleanup, \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user