]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - skein/threefish256_enc_small.S
fixing skipjack
[avr-crypto-lib.git] / skein / threefish256_enc_small.S
index f7392bac90443374055987adf417ed133beee47b..a9a713cc7a698aed79960291cc58606dbd3b0eba 100644 (file)
@@ -62,11 +62,20 @@ threefish256_init:
        movw r30, r20
        movw r26, r24
        ldi r24, 4
        movw r30, r20
        movw r26, r24
        ldi r24, 4
-       ldi A7, 0x55
-       mov A6, A7
-       movw A4, A6
-       movw A2, A6
+;      ldi A7, 0x55
+;      mov A6, A7
+;      movw A4, A6
+;      movw A2, A6
+;      movw A0, A6
+       ldi A6, 0x22 ; 0x1BD1.1BDA.A9FC.1A22
+       ldi A7, 0x1A
        movw A0, A6
        movw A0, A6
+       ldi A2, 0xFC
+       ldi A3, 0xA9
+       ldi A4, 0xDA
+       ldi A5, 0x1B
+       ldi A6, 0xD1
+       ldi A7, 0x1B
 1:
        ld r0, X+
        st Z+, r0
 1:
        ld r0, X+
        st Z+, r0
@@ -332,8 +341,12 @@ threefish256_slut3:
        .byte 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08
        .byte 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00
        .byte 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08
        .byte 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08
        .byte 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00
        .byte 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08
+/* old round contants
 threefish256_rc0: .byte 0x1b, 0x44, 0x2b, 0x72, 0x32, 0x7b, 0x13, 0x73
 threefish256_rc1: .byte 0x70, 0x34, 0x6a, 0x54, 0x24, 0x43, 0x52, 0x62
 threefish256_rc0: .byte 0x1b, 0x44, 0x2b, 0x72, 0x32, 0x7b, 0x13, 0x73
 threefish256_rc1: .byte 0x70, 0x34, 0x6a, 0x54, 0x24, 0x43, 0x52, 0x62
+*/
+threefish256_rc0:  .byte 0x2a, 0x64, 0x39, 0x1b, 0x31, 0x6a, 0x72, 0x40
+threefish256_rc1:  .byte 0x20, 0x71, 0x50, 0x5b, 0x41, 0x14, 0x3a, 0x40
 
 add_z_to_x8:
        ld r0, Z+
 
 add_z_to_x8:
        ld r0, Z+