<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I am getting "ValueError: Input strings must be a multiple of the<br>
segment size 8 in length" when trying to decrypt a file by using<br>
Blowfish in CFB mode. The file length is not a multiple of 8. However,<br>
OpenSSL doesn't require file length to be multiple of 8 and it<br>
successfully decrypts the file.<br>
<br>
1. Is this a limitation imposed by PyCrypto?<br>
<br></blockquote><div><br>Yes. I actually opened a <a href="https://bugs.launchpad.net/pycrypto/+bug/996207">bug</a> about this, but in the meanwhile I have read in Section 5.2 of NIST 800 38A (the only standard I am aware of that describes CFB) that the input <b>must</b> be a multiple of the segment size.<br>
<br>That means that strictly speaking OpenSSL is <b>not </b>standard compliant, unless other standards saying that the last block can be shorter exists.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

2. I could successfully decrypt and inflate the file by padding it<br>
with "x" (randomly chosen). Is this safe and correct?<br></blockquote><div> <br>Yes.<br><br></div></div>