improve a bit

This commit is contained in:
NIIBE Yutaka 2013-12-24 14:25:39 +09:00
parent 4427227284
commit a89ae40e89
5 changed files with 46 additions and 38 deletions

9
NEWS
View File

@ -1,5 +1,14 @@
Gnuk NEWS - User visible changes
* Major changes in Gnuk 1.1.1
Released 2013-12-25, by NIIBE Yutaka
** Improved RSA routine
Working memory for RSA computation is taken from stack (mostly),
instead of malloc.
* Major changes in Gnuk 1.1.0
Released 2013-12-20, by NIIBE Yutaka

18
README
View File

@ -1,18 +1,18 @@
Gnuk - An Implementation of USB Cryptographic Token for GnuPG
Version 1.1.0
2013-12-20
Version 1.1.1
2013-12-25
Niibe Yutaka
Free Software Initiative of Japan
Warning
=======
This is an experimental release of Gnuk 1.1.0, which has incompatible
changes to Gnuk 1.0.x. Specifically, it now supports overriding key
import, but importing keys (or generating keys) results password
reset. Please update your documentation for Gnuk Token, so that the
instruction of importing keys won't cause any confusion.
This is another experimental release of Gnuk 1.1.1, which has
incompatible changes to Gnuk 1.0.x. Specifically, it now supports
overriding key import, but importing keys (or generating keys) results
password reset. Please update your documentation for Gnuk Token, so
that the instruction of importing keys won't cause any confusion.
What's Gnuk?
@ -122,9 +122,9 @@ Ac: ST-Link/V2 is cheap one. We have a tool/stlinkv2.py as flash ROM
Release notes
=============
This is an experimental release in version 1.1 series of Gnuk.
This is another experimental release in version 1.1 series of Gnuk.
While it is daily use for a year and a half, some newly introduced
While it is daily use for more than two years, some newly introduced
features (including key generation and firmware upgrade) should be
considered experimental.

View File

@ -499,17 +499,17 @@
"ldmia %0!, { r8, r9, r10 } \n\t" \
"ldmia %1, { r5, r6, r7 } \n\t" \
"adcs r5, r5, %2 \n\t" \
"umull r11, r12, r8, %4 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r5, r5, r11 \n\t" \
"umull r4, r11, r8, %4 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r5, r5, r4 \n\t" \
"adcs r6, r6, %2 \n\t" \
"umull r11, r12, r9, %4 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r6, r6, r11 \n\t" \
"umull r4, r11, r9, %4 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r6, r6, r4 \n\t" \
"adcs r7, r7, %2 \n\t" \
"umull r11, r12, r10, %4 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r7, r7, r11 \n\t" \
"umull r4, r11, r10, %4 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r7, r7, r4 \n\t" \
"stmia %1!, { r5, r6, r7 } \n\t"
#define MULADDC_1024_LOOP \
@ -519,17 +519,17 @@
"ldmia %0!, { r8, r9, r10 } \n\t" \
"ldmia %1, { r5, r6, r7 } \n\t" \
"adds r5, r5, %2 \n\t" \
"umull r11, r12, %4, r8 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r5, r5, r11 \n\t" \
"umull r4, r11, %4, r8 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r5, r5, r4 \n\t" \
"adcs r6, r6, %2 \n\t" \
"umull r11, r12, %4, r9 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r6, r6, r11 \n\t" \
"umull r4, r11, %4, r9 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r6, r6, r4 \n\t" \
"adcs r7, r7, %2 \n\t" \
"umull r11, r12, %4, r10 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r7, r7, r11 \n\t" \
"umull r4, r11, %4, r10 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r7, r7, r4 \n\t" \
"stmia %1!, { r5, r6, r7 } \n\t" \
MULADDC_1024_CORE MULADDC_1024_CORE \
MULADDC_1024_CORE MULADDC_1024_CORE \
@ -539,13 +539,13 @@
"ldmia %0!, { r8, r9 } \n\t" \
"ldmia %1, { r5, r6 } \n\t" \
"adcs r5, r5, %2 \n\t" \
"umull r11, r12, %4, r8 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r5, r5, r11 \n\t" \
"umull r4, r11, %4, r8 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r5, r5, r4 \n\t" \
"adcs r6, r6, %2 \n\t" \
"umull r11, r12, %4, r9 \n\t" \
"adc %2, r12, #0 \n\t" \
"adds r6, r6, r11 \n\t" \
"umull r4, r11, %4, r9 \n\t" \
"adc %2, r11, #0 \n\t" \
"adds r6, r6, r4 \n\t" \
"stmia %1!, { r5, r6 } \n\t" \
"adc %2, %2, #0 \n\t" \
"tst %3, #0xfe0 \n\t" \
@ -553,7 +553,7 @@
"0:" \
: "=r" (s), "=r" (d), "=r" (c), "=r" (i) \
: "r" (b), "0" (s), "1" (d), "2" (c), "3" (i) \
: "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "memory", "cc" );
: "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "memory", "cc" );
/* Just for reference (dead code) */
#define MULADDC_HUIT \

View File

@ -1471,8 +1471,8 @@ static void mpi_montsqr( size_t n, const t_uint *np, t_uint mm, t_uint *d )
"umull r6, r11, %[x_i], %[x_i]\n\t"
"adds r5, r5, r6\n\t"
"adc r4, r8, r11\n\t"
"cmp %[xj], %[x_max1]\n\t"
"str r5, [%[wij]], #4\n\t"
"cmp %[xj], %[x_max1]\n\t"
"beq 1f\n\t"
"bhi 0f\n"
"2:\n\t"
@ -1499,14 +1499,14 @@ static void mpi_montsqr( size_t n, const t_uint *np, t_uint mm, t_uint *d )
"adcs r4, r4, r11\n\t"
"adc %[c], %[c], r8\n\t"
/**/
"cmp %[xj], %[x_max1]\n\t"
"stmia %[wij]!, { r5, r7 }\n\t"
"cmp %[xj], %[x_max1]\n\t"
"bcc 2b\n\t"
"bne 0f\n"
"1:\n\t"
/* (C,R4,R5) := (C,R4) + w_i_j + 2*x_i*x_j; */
"ldr r7, [%[xj]], #4\n\t"
"ldr r5, [%[wij]]\n\t"
"ldr r7, [%[xj]], #4\n\t"
"adds r5, r5, r4\n\t"
"adc r4, %[c], r8\n\t"
"umull r6, r11, %[x_i], r7\n\t"

View File

@ -94,7 +94,6 @@ if __name__ == '__main__':
passwd = DEFAULT_PW3
keyno = 0
print sys.argv
while len(sys.argv) > 3:
option = sys.argv[1]
sys.argv.pop(1)