]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - threefish256_enc_small.S
fixing a bug in threefish-256 decryption assembler module
[avr-crypto-lib.git] / threefish256_enc_small.S
index c1b1152d2a08e3db108a2dfb069da0550936e62f..da0835995af1c3feee3e1eda908ef94760f1fdc4 100644 (file)
@@ -104,6 +104,17 @@ threefish256_init:
        st Z+, A7
        /* now the tweak */
        movw r26, r22
+       tst r27
+       brne 3f
+       tst r26
+       brne 3f
+       ldi r26, 3*8
+1:
+       st Z+, r1
+       dec r26
+       brne 1b
+       rjmp 9f
+3:     
        ld A0, X+
        ld A1, X+
        ld A2, X+
@@ -152,6 +163,7 @@ threefish256_init:
        st Z+, A5
        st Z+, A6
        st Z+, A7
+9:
        pop_range 14, 17
        ret