]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - twister-small.c
big bug fixed, still some problems with flow control
[avr-crypto-lib.git] / twister-small.c
index 2f46af02be237504a41561b3959e13743049075b..5fb05368ce9ff7d9255d1553ad38bd06006dff6b 100644 (file)
@@ -17,7 +17,7 @@ void twister_small_init(twister_state_t* ctx, uint16_t hashsize_b){
 
 /*********************************************************************/
 
-void twister_small_nextBlock(twister_state_t* ctx, void* msg){
+void twister_small_nextBlock(twister_state_t* ctx, const void* msg){
        uint8_t tmp[8][8];
        /* round 1 */
        memcpy(tmp, ctx->s, 64);
@@ -51,10 +51,9 @@ void twister_small_nextBlock(twister_state_t* ctx, void* msg){
 
 /*********************************************************************/
 
-void twister_small_lastBlock(twister_state_t* ctx, void* msg, uint16_t length_b){
+void twister_small_lastBlock(twister_state_t* ctx, const void* msg, uint16_t length_b){
        uint8_t tmp[64];        
-       uint8_t i;
-       while(length_b>512){
+       while(length_b>=512){
                twister_small_nextBlock(ctx, msg);
                msg = ((uint8_t*)msg)+64;
                length_b -= 512;
@@ -86,13 +85,13 @@ void twister256_init(twister256_ctx_t* ctx){
 
 /*********************************************************************/
 
-void twister256_nextBlock(twister256_ctx_t* ctx, void* msg){
+void twister256_nextBlock(twister256_ctx_t* ctx, const void* msg){
        twister_small_nextBlock(ctx, msg);
 }
 
 /*********************************************************************/
 
-void twister256_lastBlock(twister256_ctx_t* ctx, void* msg, uint16_t length_b){
+void twister256_lastBlock(twister256_ctx_t* ctx, const void* msg, uint16_t length_b){
        twister_small_lastBlock(ctx, msg, length_b);
 }
 
@@ -104,7 +103,7 @@ void twister256_ctx2hash(void* dest, twister256_ctx_t* ctx){
 
 /*********************************************************************/
 
-void twister256(void* dest, void* msg, uint32_t msg_length_b){
+void twister256(void* dest, const void* msg, uint32_t msg_length_b){
        twister_state_t ctx;
        twister_small_init(&ctx, 256);
        while(msg_length_b >=512){
@@ -131,13 +130,13 @@ void twister224_init(twister224_ctx_t* ctx){
 
 /*********************************************************************/
 
-void twister224_nextBlock(twister224_ctx_t* ctx, void* msg){
+void twister224_nextBlock(twister224_ctx_t* ctx, const void* msg){
        twister_small_nextBlock(ctx, msg);
 }
 
 /*********************************************************************/
 
-void twister224_lastBlock(twister224_ctx_t* ctx, void* msg, uint16_t length_b){
+void twister224_lastBlock(twister224_ctx_t* ctx, const void* msg, uint16_t length_b){
        twister_small_lastBlock(ctx, msg, length_b);
 }
 
@@ -149,7 +148,7 @@ void twister224_ctx2hash(void* dest, twister224_ctx_t* ctx){
 
 /*********************************************************************/
 
-void twister224(void* dest, void* msg, uint32_t msg_length_b){
+void twister224(void* dest, const void* msg, uint32_t msg_length_b){
        twister_state_t ctx;
        twister_small_init(&ctx, 224);
        while(msg_length_b >=512){