]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - threefish512_enc_asm.S
fixing a bug in threefish-256 decryption assembler module
[avr-crypto-lib.git] / threefish512_enc_asm.S
index bb6ff2d52e6ef6d63368e7915ae716f5fef9e5ba..cc2967fc4baee981dd08036e0ef9ff677e1240e5 100644 (file)
@@ -103,6 +103,17 @@ threefish512_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+
@@ -151,6 +162,7 @@ threefish512_init:
        st Z+, A5
        st Z+, A6
        st Z+, A7
+9:
        pop_range 14, 17
        ret