This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039C: ESDSA workzone buffer

Part Number: TMS320F280039C


Hi Champ,

I am asking for my customer, they are looking into our optimized ecdsa example (ecdsa_test_ex16).

In the example, there is a buffer declared with u32 test_workzone[4096], and user would only use verify NIST 256 and NIST 384 function.

(1). Can the workzone allocation be adjusted to the lengths used by NIST256 or NIST384 ? What does the workzone do for ?

(2). If yes, what is the length that can be adjusted for each ? NIST256  u32 test_workzone[?] & NIST384  u32 test_workzone[?]

(3). Continue to the second question, after modifying the workzone buffer size, any relevant code for the 256 and 384 needed to change ? If yes, would the expert explicitly share how ?

Thanks and regards,

Johnny

  • This thread was resolved offline...

    (1). Can the workzone allocation be adjusted to the lengths used by NIST256 or NIST384 ? What does the workzone do for ?

    yes, Size of 320 should be sufficient enough for curves <= 384 (192,256,384)

    (2). If yes, what is the length that can be adjusted for each ? NIST256  u32 test_workzone[?] & NIST384  u32 test_workzone[?]

    Use data Based on Calcs from previous mails (based on eq in documentation).

    (3). Continue to the second question, after modifying the workzone buffer size, any relevant code for the 256 and 384 needed to change ? If yes, would the expert explicitly share how ?

    Not that much Code Change, but the Clearing Buffersize function ( "clear(workzone,WORK_ZONE_SIZE);" ) should take this value.

    #define WORK_ZONE_SIZE  320
    u32 test_workzone[WORK_ZONE_SIZE]; 
    clear(workzone,WORK_ZONE_SIZE);
    
     

    and in algo before starting if we do clearing of workzone, use this instead. Do this as Many times as necessary.

     

    Note :  The reason why we have taken 4096 is when initial testing, things were not working, so raised the size so that we dont need to guestimate for each curve and can therefore proceed with fixing real issue.