]> git.cryptolib.org Git - arm-crypto-lib.git/blobdiff - test_src/shavs.c
fixing bugs reported by Christian Dernehl
[arm-crypto-lib.git] / test_src / shavs.c
index 8ef96191def19a2151f0d02468de5b29e943a85f..58d9a67ddb2824a2dfc5f34df5104c836a2bcaeb 100644 (file)
@@ -110,15 +110,14 @@ typedef struct {
 
 static shavs_ctx_t shavs_ctx;
 
+static
 uint8_t buffer_add(char c){
        uint8_t v,t;
        if(shavs_ctx.buffer_idx==shavs_ctx.buffersize_B){
                hfal_hash_nextBlock(&(shavs_ctx.ctx), shavs_ctx.buffer);
                ++shavs_ctx.blocks;
                shavs_ctx.buffer_idx=0;
-               shavs_ctx.in_byte=0;
                cli_putc('.');
-               memset(shavs_ctx.buffer, 0, shavs_ctx.buffersize_B);
        }
        if(c>='0' && c<='9'){
                v=c-'0';
@@ -133,12 +132,12 @@ uint8_t buffer_add(char c){
        t=shavs_ctx.buffer[shavs_ctx.buffer_idx];
        if(shavs_ctx.in_byte){
                t |= v;
-               shavs_ctx.buffer[shavs_ctx.buffer_idx]=t;
+               shavs_ctx.buffer[shavs_ctx.buffer_idx] = t;
                shavs_ctx.buffer_idx++;
                shavs_ctx.in_byte = 0;
        }else{
-               t |= v<<4;
-               shavs_ctx.buffer[shavs_ctx.buffer_idx]=t;
+               t = v<<4;
+               shavs_ctx.buffer[shavs_ctx.buffer_idx] = t;
                shavs_ctx.in_byte = 1;
        }
        return 0;
@@ -225,7 +224,7 @@ void shavs_test1(void){ /* KAT tests */
                if(length==0){
                        expect_input=2;
                }else{
-                       expect_input=((length+7)>>2)&(~1L);
+                       expect_input=((length + 7) >> 2) & (~1L);
                }
 #if DEBUG
                cli_putstr("\r\nexpected_input == ");
@@ -308,7 +307,7 @@ void shavs_test1(void){ /* KAT tests */
                cli_putstr("\r\nBuffer-A:");
                cli_hexdump_block(buffer, shavs_ctx.buffersize_B, 5, 8);
 
-               cli_putstr("\r\n starting finalisation");
+               cli_putstr("\r\n starting finalization");
                cli_putstr("\r\n\tblocks     == ");
                cli_hexdump_rev(&(shavs_ctx.blocks),4);
                cli_putstr("\r\n\tbuffer_idx == ");
@@ -324,14 +323,10 @@ void shavs_test1(void){ /* KAT tests */
                uint16_t temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
                cli_putstr("\r\n\t (temp)      == ");
                cli_hexdump_rev(&temp,2);
-               temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
 #else
                uint16_t temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
 #endif
-               /*              cli_putstr("\r\n\t (temp)      == ");
-               cli_hexdump_rev(&temp,2); */
                hfal_hash_lastBlock( &(shavs_ctx.ctx), buffer, /* be aware of freaking compilers!!! */
-//                                                     length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8));
                                    temp );
 #if DEBUG
                cli_putstr("\r\n starting ctx2hash");
@@ -368,11 +363,11 @@ void shavs_test2(void){ /* Monte Carlo tests for SHA-1 & SHA-2 */
                                return;
                        }
                }
-               if((c=cli_getc_cecho())!='e' && c!='e'){
+               if((c=cli_getc_cecho())!='e' && c!='E'){
                                cli_putstr("\r\nERROR: wrong input (2)!\r\n");
                                return;
                }
-               if((c=cli_getc_cecho())!='e' && c!='e'){
+               if((c=cli_getc_cecho())!='e' && c!='E'){
                                cli_putstr("\r\nERROR: wrong input (3)!\r\n");
                                return;
                }
@@ -453,11 +448,11 @@ void shavs_test3(void){ /* Monte Carlo tests for SHA-3 */
                                return;
                        }
                }
-               if((c=cli_getc_cecho())!='e' && c!='e'){
+               if((c=cli_getc_cecho())!='e' && c!='E'){
                                cli_putstr("\r\nERROR: wrong input (2)!\r\n");
                                return;
                }
-               if((c=cli_getc_cecho())!='e' && c!='e'){
+               if((c=cli_getc_cecho())!='e' && c!='E'){
                                cli_putstr("\r\nERROR: wrong input (3)!\r\n");
                                return;
                }