On Thu, 2010-12-09 at 09:38 -0600, Douglas E. Engert wrote:
> 
> 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?

At least for RSA_PKCS1 the most significant octet is always zero. See
PKCS1 01- and 02-padding schema. Therefore the padded signature input is
always less than the modulus when compared numerical.

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to