On 12/9/2010 8:41 AM, Andre Zepezauer wrote: > On Thu, 2010-12-09 at 14:31 +0300, Aleksey Samsonov wrote: >> Hello, >> >> 2010/12/9 Martin Paljak<mar...@paljak.pri.ee>: >>> Hello, >>> On Dec 9, 2010, at 9:23 AM, webmas...@opensc-project.org wrote: >>> >>>> Revision: 4930 >>>> Author: s >>>> Date: 2010-12-09 07:23:10 +0000 (Thu, 09 Dec 2010) >>>> >>>> Log Message: >>>> ----------- >>>> add to r4904: fix calculating of signature size for CKK_GOSTR3410 >>>> >>>> - *pLength *= 2; >>>> + *pLength = (*pLength + 7) / 8 * 2; >>> >>> Could you also add a comment? Why not (*pLength + 7) / 4? >> >> Yes of course. We need to convert a length in bits to bytes and >> multiply by two. So if we divide by 4 then we have incorrect rounding >> result (case (*pLength + 7) % 8>= 4). > > Maybe it would be appropriate to define a macro for the conversion. The > Reason is, that there are a lot of places where the conversion is > computed as follows: byte_count = bit_count / 8. That is obviously wrong > in 7 of 8 cases. Also it would improve readability.
It may comes down to does an algorthim support non-multiple of 8 bits? And if it can, is it ever used with non multiple of 8 bits? I have never sees an RSA key that was not a multiple of 8, so it may not be an issue for most of OpenSC. If one is not a multiple of 8, how is it padded? leading zero bits, or trailing zero bits, and is some shifting required? This may not be an issue either for OpenSC as it is not doing any crypto, it just has to pass around the byte string containing the bits and the length. > > Regards > Andre > > _______________________________________________ > opensc-devel mailing list > opensc-devel@lists.opensc-project.org > http://www.opensc-project.org/mailman/listinfo/opensc-devel > > -- Douglas E. Engert <deeng...@anl.gov> Argonne National Laboratory 9700 South Cass Avenue Argonne, Illinois 60439 (630) 252-5444 _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel