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, \
 | 
					#define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \
 | 
				
			||||||
			     iv_len, cbits, flags, init_key, cleanup, \
 | 
								     iv_len, cbits, flags, init_key, cleanup, \
 | 
				
			||||||
			     set_asn1, get_asn1, ctrl) \
 | 
								     set_asn1, get_asn1, ctrl) \
 | 
				
			||||||
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, 1, \
 | 
					BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, \
 | 
				
			||||||
		  key_len, iv_len, flags, init_key, cleanup, set_asn1, \
 | 
								(cbits + 7)/8, key_len, iv_len, \
 | 
				
			||||||
		  get_asn1, ctrl)
 | 
							flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \
 | 
					#define BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \
 | 
				
			||||||
			     iv_len, cbits, flags, init_key, cleanup, \
 | 
								     iv_len, cbits, flags, init_key, cleanup, \
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user