diff --git a/fips/des/fips_desmovs.c b/fips/des/fips_desmovs.c index 0ebd8c933..9357f0a4b 100644 --- a/fips/des/fips_desmovs.c +++ b/fips/des/fips_desmovs.c @@ -324,7 +324,7 @@ void do_mct(char *amode, /* accumulate material for the next key */ shiftin(nk,text,Sizes[imode]); /* DebugValue("nk",nk,8); */ - if(imode == CFB1 || imode == CFB8 || imode == CBC) + if(dir && (imode == CFB1 || imode == CFB8 || imode == CBC)) memcpy(text,old_iv,8); } for(n=0 ; n < 8 ; ++n)