|
|
ARM GAS /tmp/ccJ0d890.s page 1
|
|
|
|
|
|
|
|
|
1 .cpu cortex-m0plus
|
|
|
2 .eabi_attribute 20, 1
|
|
|
3 .eabi_attribute 21, 1
|
|
|
4 .eabi_attribute 23, 3
|
|
|
5 .eabi_attribute 24, 1
|
|
|
6 .eabi_attribute 25, 1
|
|
|
7 .eabi_attribute 26, 1
|
|
|
8 .eabi_attribute 30, 1
|
|
|
9 .eabi_attribute 34, 0
|
|
|
10 .eabi_attribute 18, 4
|
|
|
11 .file "aes.c"
|
|
|
12 .text
|
|
|
13 .Ltext0:
|
|
|
14 .cfi_sections .debug_frame
|
|
|
15 .section .text.xor_block,"ax",%progbits
|
|
|
16 .align 1
|
|
|
17 .syntax unified
|
|
|
18 .code 16
|
|
|
19 .thumb_func
|
|
|
20 .fpu softvfp
|
|
|
22 xor_block:
|
|
|
23 .LFB2:
|
|
|
24 .file 1 "./Middlewares/Third_Party/Lora/Crypto/aes.c"
|
|
|
1:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /*
|
|
|
2:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ---------------------------------------------------------------------------
|
|
|
3:./Middlewares/Third_Party/Lora/Crypto/aes.c **** Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved.
|
|
|
4:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
5:./Middlewares/Third_Party/Lora/Crypto/aes.c **** LICENSE TERMS
|
|
|
6:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
7:./Middlewares/Third_Party/Lora/Crypto/aes.c **** The redistribution and use of this software (with or without changes)
|
|
|
8:./Middlewares/Third_Party/Lora/Crypto/aes.c **** is allowed without the payment of fees or royalties provided that:
|
|
|
9:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
10:./Middlewares/Third_Party/Lora/Crypto/aes.c **** 1. source code distributions include the above copyright notice, this
|
|
|
11:./Middlewares/Third_Party/Lora/Crypto/aes.c **** list of conditions and the following disclaimer;
|
|
|
12:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
13:./Middlewares/Third_Party/Lora/Crypto/aes.c **** 2. binary distributions include the above copyright notice, this list
|
|
|
14:./Middlewares/Third_Party/Lora/Crypto/aes.c **** of conditions and the following disclaimer in their documentation;
|
|
|
15:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
16:./Middlewares/Third_Party/Lora/Crypto/aes.c **** 3. the name of the copyright holder is not used to endorse products
|
|
|
17:./Middlewares/Third_Party/Lora/Crypto/aes.c **** built using this software without specific written permission.
|
|
|
18:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
19:./Middlewares/Third_Party/Lora/Crypto/aes.c **** DISCLAIMER
|
|
|
20:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
21:./Middlewares/Third_Party/Lora/Crypto/aes.c **** This software is provided 'as is' with no explicit or implied warranties
|
|
|
22:./Middlewares/Third_Party/Lora/Crypto/aes.c **** in respect of its properties, including, but not limited to, correctness
|
|
|
23:./Middlewares/Third_Party/Lora/Crypto/aes.c **** and/or fitness for purpose.
|
|
|
24:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ---------------------------------------------------------------------------
|
|
|
25:./Middlewares/Third_Party/Lora/Crypto/aes.c **** Issue 09/09/2006
|
|
|
26:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
27:./Middlewares/Third_Party/Lora/Crypto/aes.c **** This is an AES implementation that uses only 8-bit byte operations on the
|
|
|
28:./Middlewares/Third_Party/Lora/Crypto/aes.c **** cipher state (there are options to use 32-bit types if available).
|
|
|
29:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
30:./Middlewares/Third_Party/Lora/Crypto/aes.c **** The combination of mix columns and byte substitution used here is based on
|
|
|
31:./Middlewares/Third_Party/Lora/Crypto/aes.c **** that developed by Karl Malbrain. His contribution is acknowledged.
|
|
|
32:./Middlewares/Third_Party/Lora/Crypto/aes.c **** */
|
|
|
33:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
34:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* define if you have a fast memcpy function on your system */
|
|
|
ARM GAS /tmp/ccJ0d890.s page 2
|
|
|
|
|
|
|
|
|
35:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if 0
|
|
|
36:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define HAVE_MEMCPY
|
|
|
37:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # include <string.h>
|
|
|
38:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # if defined( _MSC_VER )
|
|
|
39:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # include <intrin.h>
|
|
|
40:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # pragma intrinsic( memcpy )
|
|
|
41:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # endif
|
|
|
42:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
43:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
44:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
45:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #include <stdlib.h>
|
|
|
46:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #include <stdint.h>
|
|
|
47:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
48:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* define if you have fast 32-bit types on your system */
|
|
|
49:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if 0
|
|
|
50:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define HAVE_UINT_32T
|
|
|
51:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
52:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
53:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* define if you don't want any tables */
|
|
|
54:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if 1
|
|
|
55:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define USE_TABLES
|
|
|
56:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
57:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
58:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* On Intel Core 2 duo VERSION_1 is faster */
|
|
|
59:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
60:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* alternative versions (test for performance on your system) */
|
|
|
61:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if 1
|
|
|
62:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define VERSION_1
|
|
|
63:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
64:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
65:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #include "aes.h"
|
|
|
66:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
67:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //#if defined( HAVE_UINT_32T )
|
|
|
68:./Middlewares/Third_Party/Lora/Crypto/aes.c **** // typedef unsigned long uint32_t;
|
|
|
69:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //#endif
|
|
|
70:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
71:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* functions for finite field multiplication in the AES Galois field */
|
|
|
72:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
73:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define WPOLY 0x011b
|
|
|
74:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define BPOLY 0x1b
|
|
|
75:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define DPOLY 0x008d
|
|
|
76:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
77:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f1(x) (x)
|
|
|
78:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f2(x) ((x << 1) ^ (((x >> 7) & 1) * WPOLY))
|
|
|
79:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f4(x) ((x << 2) ^ (((x >> 6) & 1) * WPOLY) ^ (((x >> 6) & 2) * WPOLY))
|
|
|
80:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f8(x) ((x << 3) ^ (((x >> 5) & 1) * WPOLY) ^ (((x >> 5) & 2) * WPOLY) \
|
|
|
81:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ^ (((x >> 5) & 4) * WPOLY))
|
|
|
82:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define d2(x) (((x) >> 1) ^ ((x) & 1 ? DPOLY : 0))
|
|
|
83:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
84:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f3(x) (f2(x) ^ x)
|
|
|
85:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define f9(x) (f8(x) ^ x)
|
|
|
86:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define fb(x) (f8(x) ^ f2(x) ^ x)
|
|
|
87:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define fd(x) (f8(x) ^ f4(x) ^ x)
|
|
|
88:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define fe(x) (f8(x) ^ f4(x) ^ f2(x))
|
|
|
89:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
90:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( USE_TABLES )
|
|
|
91:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
ARM GAS /tmp/ccJ0d890.s page 3
|
|
|
|
|
|
|
|
|
92:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define sb_data(w) { /* S Box data values */ \
|
|
|
93:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), w(0xc5),\
|
|
|
94:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), w(0xab), w(0x76),\
|
|
|
95:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), w(0x59), w(0x47), w(0xf0),\
|
|
|
96:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xad), w(0xd4), w(0xa2), w(0xaf), w(0x9c), w(0xa4), w(0x72), w(0xc0),\
|
|
|
97:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xb7), w(0xfd), w(0x93), w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc),\
|
|
|
98:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x34), w(0xa5), w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15),\
|
|
|
99:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x04), w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a),\
|
|
|
100:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), w(0x75),\
|
|
|
101:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), w(0x5a), w(0xa0),\
|
|
|
102:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), w(0xe3), w(0x2f), w(0x84),\
|
|
|
103:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x53), w(0xd1), w(0x00), w(0xed), w(0x20), w(0xfc), w(0xb1), w(0x5b),\
|
|
|
104:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x6a), w(0xcb), w(0xbe), w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf),\
|
|
|
105:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xd0), w(0xef), w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85),\
|
|
|
106:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x45), w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8),\
|
|
|
107:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), w(0xf5),\
|
|
|
108:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), w(0xf3), w(0xd2),\
|
|
|
109:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), w(0x97), w(0x44), w(0x17),\
|
|
|
110:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc4), w(0xa7), w(0x7e), w(0x3d), w(0x64), w(0x5d), w(0x19), w(0x73),\
|
|
|
111:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x60), w(0x81), w(0x4f), w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88),\
|
|
|
112:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x46), w(0xee), w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb),\
|
|
|
113:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe0), w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c),\
|
|
|
114:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), w(0x79),\
|
|
|
115:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), w(0x4e), w(0xa9),\
|
|
|
116:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), w(0x7a), w(0xae), w(0x08),\
|
|
|
117:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xba), w(0x78), w(0x25), w(0x2e), w(0x1c), w(0xa6), w(0xb4), w(0xc6),\
|
|
|
118:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe8), w(0xdd), w(0x74), w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a),\
|
|
|
119:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x70), w(0x3e), w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e),\
|
|
|
120:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x61), w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e),\
|
|
|
121:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), w(0x94),\
|
|
|
122:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), w(0x28), w(0xdf),\
|
|
|
123:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), w(0xe6), w(0x42), w(0x68),\
|
|
|
124:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x41), w(0x99), w(0x2d), w(0x0f), w(0xb0), w(0x54), w(0xbb), w(0x16) }
|
|
|
125:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
126:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define isb_data(w) { /* inverse S Box data values */ \
|
|
|
127:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), w(0x38),\
|
|
|
128:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), w(0xd7), w(0xfb),\
|
|
|
129:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), w(0x2f), w(0xff), w(0x87),\
|
|
|
130:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x34), w(0x8e), w(0x43), w(0x44), w(0xc4), w(0xde), w(0xe9), w(0xcb),\
|
|
|
131:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x54), w(0x7b), w(0x94), w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d),\
|
|
|
132:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xee), w(0x4c), w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e),\
|
|
|
133:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x08), w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2),\
|
|
|
134:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), w(0x25),\
|
|
|
135:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), w(0x98), w(0x16),\
|
|
|
136:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), w(0x65), w(0xb6), w(0x92),\
|
|
|
137:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x6c), w(0x70), w(0x48), w(0x50), w(0xfd), w(0xed), w(0xb9), w(0xda),\
|
|
|
138:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x5e), w(0x15), w(0x46), w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84),\
|
|
|
139:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x90), w(0xd8), w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a),\
|
|
|
140:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xf7), w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06),\
|
|
|
141:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), w(0x02),\
|
|
|
142:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), w(0x8a), w(0x6b),\
|
|
|
143:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), w(0x67), w(0xdc), w(0xea),\
|
|
|
144:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x97), w(0xf2), w(0xcf), w(0xce), w(0xf0), w(0xb4), w(0xe6), w(0x73),\
|
|
|
145:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x96), w(0xac), w(0x74), w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85),\
|
|
|
146:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe2), w(0xf9), w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e),\
|
|
|
147:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x47), w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89),\
|
|
|
148:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), w(0x1b),\
|
|
|
ARM GAS /tmp/ccJ0d890.s page 4
|
|
|
|
|
|
|
|
|
149:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), w(0x79), w(0x20),\
|
|
|
150:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), w(0xcd), w(0x5a), w(0xf4),\
|
|
|
151:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x1f), w(0xdd), w(0xa8), w(0x33), w(0x88), w(0x07), w(0xc7), w(0x31),\
|
|
|
152:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xb1), w(0x12), w(0x10), w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f),\
|
|
|
153:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x60), w(0x51), w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d),\
|
|
|
154:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x2d), w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef),\
|
|
|
155:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), w(0xb0),\
|
|
|
156:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), w(0x99), w(0x61),\
|
|
|
157:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), w(0x77), w(0xd6), w(0x26),\
|
|
|
158:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe1), w(0x69), w(0x14), w(0x63), w(0x55), w(0x21), w(0x0c), w(0x7d) }
|
|
|
159:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
160:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define mm_data(w) { /* basic data for forming finite field tables */ \
|
|
|
161:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x00), w(0x01), w(0x02), w(0x03), w(0x04), w(0x05), w(0x06), w(0x07),\
|
|
|
162:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x08), w(0x09), w(0x0a), w(0x0b), w(0x0c), w(0x0d), w(0x0e), w(0x0f),\
|
|
|
163:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x10), w(0x11), w(0x12), w(0x13), w(0x14), w(0x15), w(0x16), w(0x17),\
|
|
|
164:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x18), w(0x19), w(0x1a), w(0x1b), w(0x1c), w(0x1d), w(0x1e), w(0x1f),\
|
|
|
165:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x20), w(0x21), w(0x22), w(0x23), w(0x24), w(0x25), w(0x26), w(0x27),\
|
|
|
166:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x28), w(0x29), w(0x2a), w(0x2b), w(0x2c), w(0x2d), w(0x2e), w(0x2f),\
|
|
|
167:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x30), w(0x31), w(0x32), w(0x33), w(0x34), w(0x35), w(0x36), w(0x37),\
|
|
|
168:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x38), w(0x39), w(0x3a), w(0x3b), w(0x3c), w(0x3d), w(0x3e), w(0x3f),\
|
|
|
169:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x40), w(0x41), w(0x42), w(0x43), w(0x44), w(0x45), w(0x46), w(0x47),\
|
|
|
170:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x48), w(0x49), w(0x4a), w(0x4b), w(0x4c), w(0x4d), w(0x4e), w(0x4f),\
|
|
|
171:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x50), w(0x51), w(0x52), w(0x53), w(0x54), w(0x55), w(0x56), w(0x57),\
|
|
|
172:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x58), w(0x59), w(0x5a), w(0x5b), w(0x5c), w(0x5d), w(0x5e), w(0x5f),\
|
|
|
173:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x60), w(0x61), w(0x62), w(0x63), w(0x64), w(0x65), w(0x66), w(0x67),\
|
|
|
174:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x68), w(0x69), w(0x6a), w(0x6b), w(0x6c), w(0x6d), w(0x6e), w(0x6f),\
|
|
|
175:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x70), w(0x71), w(0x72), w(0x73), w(0x74), w(0x75), w(0x76), w(0x77),\
|
|
|
176:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x78), w(0x79), w(0x7a), w(0x7b), w(0x7c), w(0x7d), w(0x7e), w(0x7f),\
|
|
|
177:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x80), w(0x81), w(0x82), w(0x83), w(0x84), w(0x85), w(0x86), w(0x87),\
|
|
|
178:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x88), w(0x89), w(0x8a), w(0x8b), w(0x8c), w(0x8d), w(0x8e), w(0x8f),\
|
|
|
179:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x90), w(0x91), w(0x92), w(0x93), w(0x94), w(0x95), w(0x96), w(0x97),\
|
|
|
180:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0x98), w(0x99), w(0x9a), w(0x9b), w(0x9c), w(0x9d), w(0x9e), w(0x9f),\
|
|
|
181:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xa0), w(0xa1), w(0xa2), w(0xa3), w(0xa4), w(0xa5), w(0xa6), w(0xa7),\
|
|
|
182:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xa8), w(0xa9), w(0xaa), w(0xab), w(0xac), w(0xad), w(0xae), w(0xaf),\
|
|
|
183:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xb0), w(0xb1), w(0xb2), w(0xb3), w(0xb4), w(0xb5), w(0xb6), w(0xb7),\
|
|
|
184:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xb8), w(0xb9), w(0xba), w(0xbb), w(0xbc), w(0xbd), w(0xbe), w(0xbf),\
|
|
|
185:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc0), w(0xc1), w(0xc2), w(0xc3), w(0xc4), w(0xc5), w(0xc6), w(0xc7),\
|
|
|
186:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xc8), w(0xc9), w(0xca), w(0xcb), w(0xcc), w(0xcd), w(0xce), w(0xcf),\
|
|
|
187:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xd0), w(0xd1), w(0xd2), w(0xd3), w(0xd4), w(0xd5), w(0xd6), w(0xd7),\
|
|
|
188:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xd8), w(0xd9), w(0xda), w(0xdb), w(0xdc), w(0xdd), w(0xde), w(0xdf),\
|
|
|
189:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe0), w(0xe1), w(0xe2), w(0xe3), w(0xe4), w(0xe5), w(0xe6), w(0xe7),\
|
|
|
190:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xe8), w(0xe9), w(0xea), w(0xeb), w(0xec), w(0xed), w(0xee), w(0xef),\
|
|
|
191:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xf0), w(0xf1), w(0xf2), w(0xf3), w(0xf4), w(0xf5), w(0xf6), w(0xf7),\
|
|
|
192:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w(0xf8), w(0xf9), w(0xfa), w(0xfb), w(0xfc), w(0xfd), w(0xfe), w(0xff) }
|
|
|
193:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
194:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t sbox[256] = sb_data(f1);
|
|
|
195:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
196:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
197:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t isbox[256] = isb_data(f1);
|
|
|
198:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
199:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
200:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfm2_sbox[256] = sb_data(f2);
|
|
|
201:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfm3_sbox[256] = sb_data(f3);
|
|
|
202:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
203:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
204:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfmul_9[256] = mm_data(f9);
|
|
|
205:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfmul_b[256] = mm_data(fb);
|
|
|
ARM GAS /tmp/ccJ0d890.s page 5
|
|
|
|
|
|
|
|
|
206:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfmul_d[256] = mm_data(fd);
|
|
|
207:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static const uint8_t gfmul_e[256] = mm_data(fe);
|
|
|
208:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
209:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
210:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define s_box(x) sbox[(x)]
|
|
|
211:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
212:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define is_box(x) isbox[(x)]
|
|
|
213:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
214:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm2_sb(x) gfm2_sbox[(x)]
|
|
|
215:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm3_sb(x) gfm3_sbox[(x)]
|
|
|
216:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
217:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_9(x) gfmul_9[(x)]
|
|
|
218:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_b(x) gfmul_b[(x)]
|
|
|
219:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_d(x) gfmul_d[(x)]
|
|
|
220:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_e(x) gfmul_e[(x)]
|
|
|
221:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
222:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
223:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
224:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* this is the high bit of x right shifted by 1 */
|
|
|
225:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* position. Since the starting polynomial has */
|
|
|
226:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* 9 bits (0x11b), this right shift keeps the */
|
|
|
227:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* values of all top bits within a byte */
|
|
|
228:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
229:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static uint8_t hibit(const uint8_t x)
|
|
|
230:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t r = (uint8_t)((x >> 1) | (x >> 2));
|
|
|
231:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
232:./Middlewares/Third_Party/Lora/Crypto/aes.c **** r |= (r >> 2);
|
|
|
233:./Middlewares/Third_Party/Lora/Crypto/aes.c **** r |= (r >> 4);
|
|
|
234:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return (r + 1) >> 1;
|
|
|
235:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
236:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
237:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* return the inverse of the finite field element x */
|
|
|
238:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
239:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static uint8_t gf_inv(const uint8_t x)
|
|
|
240:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t p1 = x, p2 = BPOLY, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;
|
|
|
241:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
242:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if(x < 2)
|
|
|
243:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return x;
|
|
|
244:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
245:./Middlewares/Third_Party/Lora/Crypto/aes.c **** for( ; ; )
|
|
|
246:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
247:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if(n1)
|
|
|
248:./Middlewares/Third_Party/Lora/Crypto/aes.c **** while(n2 >= n1) /* divide polynomial p2 by p1 */
|
|
|
249:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
250:./Middlewares/Third_Party/Lora/Crypto/aes.c **** n2 /= n1; /* shift smaller polynomial left */
|
|
|
251:./Middlewares/Third_Party/Lora/Crypto/aes.c **** p2 ^= (p1 * n2) & 0xff; /* and remove from larger one */
|
|
|
252:./Middlewares/Third_Party/Lora/Crypto/aes.c **** v2 ^= (v1 * n2); /* shift accumulated value and */
|
|
|
253:./Middlewares/Third_Party/Lora/Crypto/aes.c **** n2 = hibit(p2); /* add into result */
|
|
|
254:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
255:./Middlewares/Third_Party/Lora/Crypto/aes.c **** else
|
|
|
256:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return v1;
|
|
|
257:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
258:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if(n2) /* repeat with values swapped */
|
|
|
259:./Middlewares/Third_Party/Lora/Crypto/aes.c **** while(n1 >= n2)
|
|
|
260:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
261:./Middlewares/Third_Party/Lora/Crypto/aes.c **** n1 /= n2;
|
|
|
262:./Middlewares/Third_Party/Lora/Crypto/aes.c **** p1 ^= p2 * n1;
|
|
|
ARM GAS /tmp/ccJ0d890.s page 6
|
|
|
|
|
|
|
|
|
263:./Middlewares/Third_Party/Lora/Crypto/aes.c **** v1 ^= v2 * n1;
|
|
|
264:./Middlewares/Third_Party/Lora/Crypto/aes.c **** n1 = hibit(p1);
|
|
|
265:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
266:./Middlewares/Third_Party/Lora/Crypto/aes.c **** else
|
|
|
267:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return v2;
|
|
|
268:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
269:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
270:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
271:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* The forward and inverse affine transformations used in the S-box */
|
|
|
272:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint8_t fwd_affine(const uint8_t x)
|
|
|
273:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
274:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_UINT_32T )
|
|
|
275:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint32_t w = x;
|
|
|
276:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w ^= (w << 1) ^ (w << 2) ^ (w << 3) ^ (w << 4);
|
|
|
277:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0x63 ^ ((w ^ (w >> 8)) & 0xff);
|
|
|
278:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
279:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0x63 ^ x ^ (x << 1) ^ (x << 2) ^ (x << 3) ^ (x << 4)
|
|
|
280:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ^ (x >> 7) ^ (x >> 6) ^ (x >> 5) ^ (x >> 4);
|
|
|
281:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
282:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
283:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
284:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint8_t inv_affine(const uint8_t x)
|
|
|
285:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
286:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_UINT_32T )
|
|
|
287:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint32_t w = x;
|
|
|
288:./Middlewares/Third_Party/Lora/Crypto/aes.c **** w = (w << 1) ^ (w << 3) ^ (w << 6);
|
|
|
289:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0x05 ^ ((w ^ (w >> 8)) & 0xff);
|
|
|
290:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
291:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0x05 ^ (x << 1) ^ (x << 3) ^ (x << 6)
|
|
|
292:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ^ (x >> 7) ^ (x >> 5) ^ (x >> 2);
|
|
|
293:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
294:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
295:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
296:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define s_box(x) fwd_affine(gf_inv(x))
|
|
|
297:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define is_box(x) gf_inv(inv_affine(x))
|
|
|
298:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm2_sb(x) f2(s_box(x))
|
|
|
299:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm3_sb(x) f3(s_box(x))
|
|
|
300:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_9(x) f9(x)
|
|
|
301:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_b(x) fb(x)
|
|
|
302:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_d(x) fd(x)
|
|
|
303:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #define gfm_e(x) fe(x)
|
|
|
304:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
305:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
306:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
307:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_MEMCPY )
|
|
|
308:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define block_copy_nn(d, s, l) memcpy(d, s, l)
|
|
|
309:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define block_copy(d, s) memcpy(d, s, N_BLOCK)
|
|
|
310:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
311:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define block_copy_nn(d, s, l) copy_block_nn(d, s, l)
|
|
|
312:./Middlewares/Third_Party/Lora/Crypto/aes.c **** # define block_copy(d, s) copy_block(d, s)
|
|
|
313:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
314:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
315:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void copy_block( void *d, const void *s )
|
|
|
316:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
317:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_UINT_32T )
|
|
|
318:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 0] = ((uint32_t*)s)[ 0];
|
|
|
319:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 1] = ((uint32_t*)s)[ 1];
|
|
|
ARM GAS /tmp/ccJ0d890.s page 7
|
|
|
|
|
|
|
|
|
320:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 2] = ((uint32_t*)s)[ 2];
|
|
|
321:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 3] = ((uint32_t*)s)[ 3];
|
|
|
322:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
323:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 0] = ((uint8_t*)s)[ 0];
|
|
|
324:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 1] = ((uint8_t*)s)[ 1];
|
|
|
325:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 2] = ((uint8_t*)s)[ 2];
|
|
|
326:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 3] = ((uint8_t*)s)[ 3];
|
|
|
327:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 4] = ((uint8_t*)s)[ 4];
|
|
|
328:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 5] = ((uint8_t*)s)[ 5];
|
|
|
329:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 6] = ((uint8_t*)s)[ 6];
|
|
|
330:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 7] = ((uint8_t*)s)[ 7];
|
|
|
331:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 8] = ((uint8_t*)s)[ 8];
|
|
|
332:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 9] = ((uint8_t*)s)[ 9];
|
|
|
333:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[10] = ((uint8_t*)s)[10];
|
|
|
334:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[11] = ((uint8_t*)s)[11];
|
|
|
335:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[12] = ((uint8_t*)s)[12];
|
|
|
336:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[13] = ((uint8_t*)s)[13];
|
|
|
337:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[14] = ((uint8_t*)s)[14];
|
|
|
338:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[15] = ((uint8_t*)s)[15];
|
|
|
339:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
340:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
341:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
342:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void copy_block_nn( uint8_t * d, const uint8_t *s, uint8_t nn )
|
|
|
343:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
344:./Middlewares/Third_Party/Lora/Crypto/aes.c **** while( nn-- )
|
|
|
345:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //*((uint8_t*)d)++ = *((uint8_t*)s)++;
|
|
|
346:./Middlewares/Third_Party/Lora/Crypto/aes.c **** *d++ = *s++;
|
|
|
347:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
348:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
349:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void xor_block( void *d, const void *s )
|
|
|
350:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
25 .loc 1 350 0
|
|
|
26 .cfi_startproc
|
|
|
27 @ args = 0, pretend = 0, frame = 0
|
|
|
28 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
29 @ link register save eliminated.
|
|
|
30 .LVL0:
|
|
|
351:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_UINT_32T )
|
|
|
352:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 0] ^= ((uint32_t*)s)[ 0];
|
|
|
353:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 1] ^= ((uint32_t*)s)[ 1];
|
|
|
354:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 2] ^= ((uint32_t*)s)[ 2];
|
|
|
355:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 3] ^= ((uint32_t*)s)[ 3];
|
|
|
356:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
357:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 0] ^= ((uint8_t*)s)[ 0];
|
|
|
31 .loc 1 357 0
|
|
|
32 0000 0B78 ldrb r3, [r1]
|
|
|
33 0002 0278 ldrb r2, [r0]
|
|
|
34 0004 5340 eors r3, r2
|
|
|
35 0006 0370 strb r3, [r0]
|
|
|
358:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 1] ^= ((uint8_t*)s)[ 1];
|
|
|
36 .loc 1 358 0
|
|
|
37 0008 4B78 ldrb r3, [r1, #1]
|
|
|
38 000a 4278 ldrb r2, [r0, #1]
|
|
|
39 000c 5340 eors r3, r2
|
|
|
40 000e 4370 strb r3, [r0, #1]
|
|
|
359:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 2] ^= ((uint8_t*)s)[ 2];
|
|
|
41 .loc 1 359 0
|
|
|
ARM GAS /tmp/ccJ0d890.s page 8
|
|
|
|
|
|
|
|
|
42 0010 8B78 ldrb r3, [r1, #2]
|
|
|
43 0012 8278 ldrb r2, [r0, #2]
|
|
|
44 0014 5340 eors r3, r2
|
|
|
45 0016 8370 strb r3, [r0, #2]
|
|
|
360:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 3] ^= ((uint8_t*)s)[ 3];
|
|
|
46 .loc 1 360 0
|
|
|
47 0018 CB78 ldrb r3, [r1, #3]
|
|
|
48 001a C278 ldrb r2, [r0, #3]
|
|
|
49 001c 5340 eors r3, r2
|
|
|
50 001e C370 strb r3, [r0, #3]
|
|
|
361:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 4] ^= ((uint8_t*)s)[ 4];
|
|
|
51 .loc 1 361 0
|
|
|
52 0020 0B79 ldrb r3, [r1, #4]
|
|
|
53 0022 0279 ldrb r2, [r0, #4]
|
|
|
54 0024 5340 eors r3, r2
|
|
|
55 0026 0371 strb r3, [r0, #4]
|
|
|
362:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 5] ^= ((uint8_t*)s)[ 5];
|
|
|
56 .loc 1 362 0
|
|
|
57 0028 4B79 ldrb r3, [r1, #5]
|
|
|
58 002a 4279 ldrb r2, [r0, #5]
|
|
|
59 002c 5340 eors r3, r2
|
|
|
60 002e 4371 strb r3, [r0, #5]
|
|
|
363:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 6] ^= ((uint8_t*)s)[ 6];
|
|
|
61 .loc 1 363 0
|
|
|
62 0030 8B79 ldrb r3, [r1, #6]
|
|
|
63 0032 8279 ldrb r2, [r0, #6]
|
|
|
64 0034 5340 eors r3, r2
|
|
|
65 0036 8371 strb r3, [r0, #6]
|
|
|
364:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 7] ^= ((uint8_t*)s)[ 7];
|
|
|
66 .loc 1 364 0
|
|
|
67 0038 CB79 ldrb r3, [r1, #7]
|
|
|
68 003a C279 ldrb r2, [r0, #7]
|
|
|
69 003c 5340 eors r3, r2
|
|
|
70 003e C371 strb r3, [r0, #7]
|
|
|
365:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 8] ^= ((uint8_t*)s)[ 8];
|
|
|
71 .loc 1 365 0
|
|
|
72 0040 0B7A ldrb r3, [r1, #8]
|
|
|
73 0042 027A ldrb r2, [r0, #8]
|
|
|
74 0044 5340 eors r3, r2
|
|
|
75 0046 0372 strb r3, [r0, #8]
|
|
|
366:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 9] ^= ((uint8_t*)s)[ 9];
|
|
|
76 .loc 1 366 0
|
|
|
77 0048 4B7A ldrb r3, [r1, #9]
|
|
|
78 004a 427A ldrb r2, [r0, #9]
|
|
|
79 004c 5340 eors r3, r2
|
|
|
80 004e 4372 strb r3, [r0, #9]
|
|
|
367:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[10] ^= ((uint8_t*)s)[10];
|
|
|
81 .loc 1 367 0
|
|
|
82 0050 8B7A ldrb r3, [r1, #10]
|
|
|
83 0052 827A ldrb r2, [r0, #10]
|
|
|
84 0054 5340 eors r3, r2
|
|
|
85 0056 8372 strb r3, [r0, #10]
|
|
|
368:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[11] ^= ((uint8_t*)s)[11];
|
|
|
86 .loc 1 368 0
|
|
|
87 0058 CB7A ldrb r3, [r1, #11]
|
|
|
88 005a C27A ldrb r2, [r0, #11]
|
|
|
89 005c 5340 eors r3, r2
|
|
|
ARM GAS /tmp/ccJ0d890.s page 9
|
|
|
|
|
|
|
|
|
90 005e C372 strb r3, [r0, #11]
|
|
|
369:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[12] ^= ((uint8_t*)s)[12];
|
|
|
91 .loc 1 369 0
|
|
|
92 0060 0B7B ldrb r3, [r1, #12]
|
|
|
93 0062 027B ldrb r2, [r0, #12]
|
|
|
94 0064 5340 eors r3, r2
|
|
|
95 0066 0373 strb r3, [r0, #12]
|
|
|
370:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[13] ^= ((uint8_t*)s)[13];
|
|
|
96 .loc 1 370 0
|
|
|
97 0068 4B7B ldrb r3, [r1, #13]
|
|
|
98 006a 427B ldrb r2, [r0, #13]
|
|
|
99 006c 5340 eors r3, r2
|
|
|
100 006e 4373 strb r3, [r0, #13]
|
|
|
371:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[14] ^= ((uint8_t*)s)[14];
|
|
|
101 .loc 1 371 0
|
|
|
102 0070 8B7B ldrb r3, [r1, #14]
|
|
|
103 0072 827B ldrb r2, [r0, #14]
|
|
|
104 0074 5340 eors r3, r2
|
|
|
105 0076 8373 strb r3, [r0, #14]
|
|
|
372:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[15] ^= ((uint8_t*)s)[15];
|
|
|
106 .loc 1 372 0
|
|
|
107 0078 CB7B ldrb r3, [r1, #15]
|
|
|
108 007a C27B ldrb r2, [r0, #15]
|
|
|
109 007c 5340 eors r3, r2
|
|
|
110 007e C373 strb r3, [r0, #15]
|
|
|
373:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
374:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
111 .loc 1 374 0
|
|
|
112 @ sp needed
|
|
|
113 0080 7047 bx lr
|
|
|
114 .cfi_endproc
|
|
|
115 .LFE2:
|
|
|
117 .section .text.copy_and_key,"ax",%progbits
|
|
|
118 .align 1
|
|
|
119 .syntax unified
|
|
|
120 .code 16
|
|
|
121 .thumb_func
|
|
|
122 .fpu softvfp
|
|
|
124 copy_and_key:
|
|
|
125 .LFB3:
|
|
|
375:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
376:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void copy_and_key( void *d, const void *s, const void *k )
|
|
|
377:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
126 .loc 1 377 0
|
|
|
127 .cfi_startproc
|
|
|
128 @ args = 0, pretend = 0, frame = 0
|
|
|
129 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
130 .LVL1:
|
|
|
131 0000 10B5 push {r4, lr}
|
|
|
132 .LCFI0:
|
|
|
133 .cfi_def_cfa_offset 8
|
|
|
134 .cfi_offset 4, -8
|
|
|
135 .cfi_offset 14, -4
|
|
|
378:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( HAVE_UINT_32T )
|
|
|
379:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 0] = ((uint32_t*)s)[ 0] ^ ((uint32_t*)k)[ 0];
|
|
|
380:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 1] = ((uint32_t*)s)[ 1] ^ ((uint32_t*)k)[ 1];
|
|
|
381:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 2] = ((uint32_t*)s)[ 2] ^ ((uint32_t*)k)[ 2];
|
|
|
ARM GAS /tmp/ccJ0d890.s page 10
|
|
|
|
|
|
|
|
|
382:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint32_t*)d)[ 3] = ((uint32_t*)s)[ 3] ^ ((uint32_t*)k)[ 3];
|
|
|
383:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #elif 1
|
|
|
384:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 0] = ((uint8_t*)s)[ 0] ^ ((uint8_t*)k)[ 0];
|
|
|
136 .loc 1 384 0
|
|
|
137 0002 0B78 ldrb r3, [r1]
|
|
|
138 0004 1478 ldrb r4, [r2]
|
|
|
139 0006 6340 eors r3, r4
|
|
|
140 0008 0370 strb r3, [r0]
|
|
|
385:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 1] = ((uint8_t*)s)[ 1] ^ ((uint8_t*)k)[ 1];
|
|
|
141 .loc 1 385 0
|
|
|
142 000a 4B78 ldrb r3, [r1, #1]
|
|
|
143 000c 5478 ldrb r4, [r2, #1]
|
|
|
144 000e 6340 eors r3, r4
|
|
|
145 0010 4370 strb r3, [r0, #1]
|
|
|
386:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 2] = ((uint8_t*)s)[ 2] ^ ((uint8_t*)k)[ 2];
|
|
|
146 .loc 1 386 0
|
|
|
147 0012 8B78 ldrb r3, [r1, #2]
|
|
|
148 0014 9478 ldrb r4, [r2, #2]
|
|
|
149 0016 6340 eors r3, r4
|
|
|
150 0018 8370 strb r3, [r0, #2]
|
|
|
387:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 3] = ((uint8_t*)s)[ 3] ^ ((uint8_t*)k)[ 3];
|
|
|
151 .loc 1 387 0
|
|
|
152 001a CB78 ldrb r3, [r1, #3]
|
|
|
153 001c D478 ldrb r4, [r2, #3]
|
|
|
154 001e 6340 eors r3, r4
|
|
|
155 0020 C370 strb r3, [r0, #3]
|
|
|
388:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 4] = ((uint8_t*)s)[ 4] ^ ((uint8_t*)k)[ 4];
|
|
|
156 .loc 1 388 0
|
|
|
157 0022 0B79 ldrb r3, [r1, #4]
|
|
|
158 0024 1479 ldrb r4, [r2, #4]
|
|
|
159 0026 6340 eors r3, r4
|
|
|
160 0028 0371 strb r3, [r0, #4]
|
|
|
389:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 5] = ((uint8_t*)s)[ 5] ^ ((uint8_t*)k)[ 5];
|
|
|
161 .loc 1 389 0
|
|
|
162 002a 4B79 ldrb r3, [r1, #5]
|
|
|
163 002c 5479 ldrb r4, [r2, #5]
|
|
|
164 002e 6340 eors r3, r4
|
|
|
165 0030 4371 strb r3, [r0, #5]
|
|
|
390:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 6] = ((uint8_t*)s)[ 6] ^ ((uint8_t*)k)[ 6];
|
|
|
166 .loc 1 390 0
|
|
|
167 0032 8B79 ldrb r3, [r1, #6]
|
|
|
168 0034 9479 ldrb r4, [r2, #6]
|
|
|
169 0036 6340 eors r3, r4
|
|
|
170 0038 8371 strb r3, [r0, #6]
|
|
|
391:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 7] = ((uint8_t*)s)[ 7] ^ ((uint8_t*)k)[ 7];
|
|
|
171 .loc 1 391 0
|
|
|
172 003a CB79 ldrb r3, [r1, #7]
|
|
|
173 003c D479 ldrb r4, [r2, #7]
|
|
|
174 003e 6340 eors r3, r4
|
|
|
175 0040 C371 strb r3, [r0, #7]
|
|
|
392:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 8] = ((uint8_t*)s)[ 8] ^ ((uint8_t*)k)[ 8];
|
|
|
176 .loc 1 392 0
|
|
|
177 0042 0B7A ldrb r3, [r1, #8]
|
|
|
178 0044 147A ldrb r4, [r2, #8]
|
|
|
179 0046 6340 eors r3, r4
|
|
|
180 0048 0372 strb r3, [r0, #8]
|
|
|
393:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 9] = ((uint8_t*)s)[ 9] ^ ((uint8_t*)k)[ 9];
|
|
|
ARM GAS /tmp/ccJ0d890.s page 11
|
|
|
|
|
|
|
|
|
181 .loc 1 393 0
|
|
|
182 004a 4B7A ldrb r3, [r1, #9]
|
|
|
183 004c 547A ldrb r4, [r2, #9]
|
|
|
184 004e 6340 eors r3, r4
|
|
|
185 0050 4372 strb r3, [r0, #9]
|
|
|
394:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[10] = ((uint8_t*)s)[10] ^ ((uint8_t*)k)[10];
|
|
|
186 .loc 1 394 0
|
|
|
187 0052 8B7A ldrb r3, [r1, #10]
|
|
|
188 0054 947A ldrb r4, [r2, #10]
|
|
|
189 0056 6340 eors r3, r4
|
|
|
190 0058 8372 strb r3, [r0, #10]
|
|
|
395:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[11] = ((uint8_t*)s)[11] ^ ((uint8_t*)k)[11];
|
|
|
191 .loc 1 395 0
|
|
|
192 005a CB7A ldrb r3, [r1, #11]
|
|
|
193 005c D47A ldrb r4, [r2, #11]
|
|
|
194 005e 6340 eors r3, r4
|
|
|
195 0060 C372 strb r3, [r0, #11]
|
|
|
396:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[12] = ((uint8_t*)s)[12] ^ ((uint8_t*)k)[12];
|
|
|
196 .loc 1 396 0
|
|
|
197 0062 0B7B ldrb r3, [r1, #12]
|
|
|
198 0064 147B ldrb r4, [r2, #12]
|
|
|
199 0066 6340 eors r3, r4
|
|
|
200 0068 0373 strb r3, [r0, #12]
|
|
|
397:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[13] = ((uint8_t*)s)[13] ^ ((uint8_t*)k)[13];
|
|
|
201 .loc 1 397 0
|
|
|
202 006a 4B7B ldrb r3, [r1, #13]
|
|
|
203 006c 547B ldrb r4, [r2, #13]
|
|
|
204 006e 6340 eors r3, r4
|
|
|
205 0070 4373 strb r3, [r0, #13]
|
|
|
398:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[14] = ((uint8_t*)s)[14] ^ ((uint8_t*)k)[14];
|
|
|
206 .loc 1 398 0
|
|
|
207 0072 8B7B ldrb r3, [r1, #14]
|
|
|
208 0074 947B ldrb r4, [r2, #14]
|
|
|
209 0076 6340 eors r3, r4
|
|
|
210 0078 8373 strb r3, [r0, #14]
|
|
|
399:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[15] = ((uint8_t*)s)[15] ^ ((uint8_t*)k)[15];
|
|
|
211 .loc 1 399 0
|
|
|
212 007a CB7B ldrb r3, [r1, #15]
|
|
|
213 007c D27B ldrb r2, [r2, #15]
|
|
|
214 .LVL2:
|
|
|
215 007e 5340 eors r3, r2
|
|
|
216 0080 C373 strb r3, [r0, #15]
|
|
|
400:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
401:./Middlewares/Third_Party/Lora/Crypto/aes.c **** block_copy(d, s);
|
|
|
402:./Middlewares/Third_Party/Lora/Crypto/aes.c **** xor_block(d, k);
|
|
|
403:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
404:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
217 .loc 1 404 0
|
|
|
218 @ sp needed
|
|
|
219 0082 10BD pop {r4, pc}
|
|
|
220 .cfi_endproc
|
|
|
221 .LFE3:
|
|
|
223 .global __aeabi_uidivmod
|
|
|
224 .section .text.aes_set_key,"ax",%progbits
|
|
|
225 .align 1
|
|
|
226 .global aes_set_key
|
|
|
227 .syntax unified
|
|
|
ARM GAS /tmp/ccJ0d890.s page 12
|
|
|
|
|
|
|
|
|
228 .code 16
|
|
|
229 .thumb_func
|
|
|
230 .fpu softvfp
|
|
|
232 aes_set_key:
|
|
|
233 .LFB7:
|
|
|
405:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
406:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void add_round_key( uint8_t d[N_BLOCK], const uint8_t k[N_BLOCK] )
|
|
|
407:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
408:./Middlewares/Third_Party/Lora/Crypto/aes.c **** xor_block(d, k);
|
|
|
409:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
410:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
411:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void shift_sub_rows( uint8_t st[N_BLOCK] )
|
|
|
412:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t tt;
|
|
|
413:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
414:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 0] = s_box(st[ 0]); st[ 4] = s_box(st[ 4]);
|
|
|
415:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 8] = s_box(st[ 8]); st[12] = s_box(st[12]);
|
|
|
416:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
417:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[1]; st[ 1] = s_box(st[ 5]); st[ 5] = s_box(st[ 9]);
|
|
|
418:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 9] = s_box(st[13]); st[13] = s_box( tt );
|
|
|
419:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
420:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[2]; st[ 2] = s_box(st[10]); st[10] = s_box( tt );
|
|
|
421:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[6]; st[ 6] = s_box(st[14]); st[14] = s_box( tt );
|
|
|
422:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
423:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[15]; st[15] = s_box(st[11]); st[11] = s_box(st[ 7]);
|
|
|
424:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 7] = s_box(st[ 3]); st[ 3] = s_box( tt );
|
|
|
425:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
426:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
427:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
428:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
429:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void inv_shift_sub_rows( uint8_t st[N_BLOCK] )
|
|
|
430:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t tt;
|
|
|
431:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
432:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 0] = is_box(st[ 0]); st[ 4] = is_box(st[ 4]);
|
|
|
433:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 8] = is_box(st[ 8]); st[12] = is_box(st[12]);
|
|
|
434:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
435:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[13]; st[13] = is_box(st[9]); st[ 9] = is_box(st[5]);
|
|
|
436:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 5] = is_box(st[1]); st[ 1] = is_box( tt );
|
|
|
437:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
438:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[2]; st[ 2] = is_box(st[10]); st[10] = is_box( tt );
|
|
|
439:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[6]; st[ 6] = is_box(st[14]); st[14] = is_box( tt );
|
|
|
440:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
441:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[3]; st[ 3] = is_box(st[ 7]); st[ 7] = is_box(st[11]);
|
|
|
442:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[11] = is_box(st[15]); st[15] = is_box( tt );
|
|
|
443:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
444:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
445:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
446:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
447:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( VERSION_1 )
|
|
|
448:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void mix_sub_columns( uint8_t dt[N_BLOCK] )
|
|
|
449:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t st[N_BLOCK];
|
|
|
450:./Middlewares/Third_Party/Lora/Crypto/aes.c **** block_copy(st, dt);
|
|
|
451:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
452:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void mix_sub_columns( uint8_t dt[N_BLOCK], uint8_t st[N_BLOCK] )
|
|
|
453:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
454:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
455:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 0] = gfm2_sb(st[0]) ^ gfm3_sb(st[5]) ^ s_box(st[10]) ^ s_box(st[15]);
|
|
|
456:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 1] = s_box(st[0]) ^ gfm2_sb(st[5]) ^ gfm3_sb(st[10]) ^ s_box(st[15]);
|
|
|
ARM GAS /tmp/ccJ0d890.s page 13
|
|
|
|
|
|
|
|
|
457:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 2] = s_box(st[0]) ^ s_box(st[5]) ^ gfm2_sb(st[10]) ^ gfm3_sb(st[15]);
|
|
|
458:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 3] = gfm3_sb(st[0]) ^ s_box(st[5]) ^ s_box(st[10]) ^ gfm2_sb(st[15]);
|
|
|
459:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
460:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 4] = gfm2_sb(st[4]) ^ gfm3_sb(st[9]) ^ s_box(st[14]) ^ s_box(st[3]);
|
|
|
461:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 5] = s_box(st[4]) ^ gfm2_sb(st[9]) ^ gfm3_sb(st[14]) ^ s_box(st[3]);
|
|
|
462:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 6] = s_box(st[4]) ^ s_box(st[9]) ^ gfm2_sb(st[14]) ^ gfm3_sb(st[3]);
|
|
|
463:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 7] = gfm3_sb(st[4]) ^ s_box(st[9]) ^ s_box(st[14]) ^ gfm2_sb(st[3]);
|
|
|
464:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
465:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 8] = gfm2_sb(st[8]) ^ gfm3_sb(st[13]) ^ s_box(st[2]) ^ s_box(st[7]);
|
|
|
466:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 9] = s_box(st[8]) ^ gfm2_sb(st[13]) ^ gfm3_sb(st[2]) ^ s_box(st[7]);
|
|
|
467:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[10] = s_box(st[8]) ^ s_box(st[13]) ^ gfm2_sb(st[2]) ^ gfm3_sb(st[7]);
|
|
|
468:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[11] = gfm3_sb(st[8]) ^ s_box(st[13]) ^ s_box(st[2]) ^ gfm2_sb(st[7]);
|
|
|
469:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
470:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[12] = gfm2_sb(st[12]) ^ gfm3_sb(st[1]) ^ s_box(st[6]) ^ s_box(st[11]);
|
|
|
471:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[13] = s_box(st[12]) ^ gfm2_sb(st[1]) ^ gfm3_sb(st[6]) ^ s_box(st[11]);
|
|
|
472:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[14] = s_box(st[12]) ^ s_box(st[1]) ^ gfm2_sb(st[6]) ^ gfm3_sb(st[11]);
|
|
|
473:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[15] = gfm3_sb(st[12]) ^ s_box(st[1]) ^ s_box(st[6]) ^ gfm2_sb(st[11]);
|
|
|
474:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
475:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
476:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_DEC_PREKEYED )
|
|
|
477:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
478:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( VERSION_1 )
|
|
|
479:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void inv_mix_sub_columns( uint8_t dt[N_BLOCK] )
|
|
|
480:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t st[N_BLOCK];
|
|
|
481:./Middlewares/Third_Party/Lora/Crypto/aes.c **** block_copy(st, dt);
|
|
|
482:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
483:./Middlewares/Third_Party/Lora/Crypto/aes.c **** static void inv_mix_sub_columns( uint8_t dt[N_BLOCK], uint8_t st[N_BLOCK] )
|
|
|
484:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
485:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
486:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 0] = is_box(gfm_e(st[ 0]) ^ gfm_b(st[ 1]) ^ gfm_d(st[ 2]) ^ gfm_9(st[ 3]));
|
|
|
487:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 5] = is_box(gfm_9(st[ 0]) ^ gfm_e(st[ 1]) ^ gfm_b(st[ 2]) ^ gfm_d(st[ 3]));
|
|
|
488:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[10] = is_box(gfm_d(st[ 0]) ^ gfm_9(st[ 1]) ^ gfm_e(st[ 2]) ^ gfm_b(st[ 3]));
|
|
|
489:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[15] = is_box(gfm_b(st[ 0]) ^ gfm_d(st[ 1]) ^ gfm_9(st[ 2]) ^ gfm_e(st[ 3]));
|
|
|
490:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
491:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 4] = is_box(gfm_e(st[ 4]) ^ gfm_b(st[ 5]) ^ gfm_d(st[ 6]) ^ gfm_9(st[ 7]));
|
|
|
492:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 9] = is_box(gfm_9(st[ 4]) ^ gfm_e(st[ 5]) ^ gfm_b(st[ 6]) ^ gfm_d(st[ 7]));
|
|
|
493:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[14] = is_box(gfm_d(st[ 4]) ^ gfm_9(st[ 5]) ^ gfm_e(st[ 6]) ^ gfm_b(st[ 7]));
|
|
|
494:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 3] = is_box(gfm_b(st[ 4]) ^ gfm_d(st[ 5]) ^ gfm_9(st[ 6]) ^ gfm_e(st[ 7]));
|
|
|
495:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
496:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 8] = is_box(gfm_e(st[ 8]) ^ gfm_b(st[ 9]) ^ gfm_d(st[10]) ^ gfm_9(st[11]));
|
|
|
497:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[13] = is_box(gfm_9(st[ 8]) ^ gfm_e(st[ 9]) ^ gfm_b(st[10]) ^ gfm_d(st[11]));
|
|
|
498:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 2] = is_box(gfm_d(st[ 8]) ^ gfm_9(st[ 9]) ^ gfm_e(st[10]) ^ gfm_b(st[11]));
|
|
|
499:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 7] = is_box(gfm_b(st[ 8]) ^ gfm_d(st[ 9]) ^ gfm_9(st[10]) ^ gfm_e(st[11]));
|
|
|
500:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
501:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[12] = is_box(gfm_e(st[12]) ^ gfm_b(st[13]) ^ gfm_d(st[14]) ^ gfm_9(st[15]));
|
|
|
502:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 1] = is_box(gfm_9(st[12]) ^ gfm_e(st[13]) ^ gfm_b(st[14]) ^ gfm_d(st[15]));
|
|
|
503:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 6] = is_box(gfm_d(st[12]) ^ gfm_9(st[13]) ^ gfm_e(st[14]) ^ gfm_b(st[15]));
|
|
|
504:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[11] = is_box(gfm_b(st[12]) ^ gfm_d(st[13]) ^ gfm_9(st[14]) ^ gfm_e(st[15]));
|
|
|
505:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
506:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
507:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
508:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
509:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_ENC_PREKEYED ) || defined( AES_DEC_PREKEYED )
|
|
|
510:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
511:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* Set the cipher key for the pre-keyed version */
|
|
|
512:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
513:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return_type aes_set_key( const uint8_t key[], length_type keylen, aes_context ctx[1] )
|
|
|
ARM GAS /tmp/ccJ0d890.s page 14
|
|
|
|
|
|
|
|
|
514:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
234 .loc 1 514 0
|
|
|
235 .cfi_startproc
|
|
|
236 @ args = 0, pretend = 0, frame = 8
|
|
|
237 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
238 .LVL3:
|
|
|
239 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
240 .LCFI1:
|
|
|
241 .cfi_def_cfa_offset 20
|
|
|
242 .cfi_offset 4, -20
|
|
|
243 .cfi_offset 5, -16
|
|
|
244 .cfi_offset 6, -12
|
|
|
245 .cfi_offset 7, -8
|
|
|
246 .cfi_offset 14, -4
|
|
|
247 0002 DE46 mov lr, fp
|
|
|
248 0004 5746 mov r7, r10
|
|
|
249 0006 4E46 mov r6, r9
|
|
|
250 0008 4546 mov r5, r8
|
|
|
251 000a E0B5 push {r5, r6, r7, lr}
|
|
|
252 .LCFI2:
|
|
|
253 .cfi_def_cfa_offset 36
|
|
|
254 .cfi_offset 8, -36
|
|
|
255 .cfi_offset 9, -32
|
|
|
256 .cfi_offset 10, -28
|
|
|
257 .cfi_offset 11, -24
|
|
|
258 000c 83B0 sub sp, sp, #12
|
|
|
259 .LCFI3:
|
|
|
260 .cfi_def_cfa_offset 48
|
|
|
261 000e 0F00 movs r7, r1
|
|
|
262 0010 1400 movs r4, r2
|
|
|
515:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint8_t cc, rc, hi;
|
|
|
516:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
517:./Middlewares/Third_Party/Lora/Crypto/aes.c **** switch( keylen )
|
|
|
263 .loc 1 517 0
|
|
|
264 0012 1829 cmp r1, #24
|
|
|
265 0014 08D0 beq .L5
|
|
|
266 0016 2029 cmp r1, #32
|
|
|
267 0018 06D0 beq .L5
|
|
|
268 001a 1029 cmp r1, #16
|
|
|
269 001c 04D0 beq .L5
|
|
|
518:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
519:./Middlewares/Third_Party/Lora/Crypto/aes.c **** case 16:
|
|
|
520:./Middlewares/Third_Party/Lora/Crypto/aes.c **** case 24:
|
|
|
521:./Middlewares/Third_Party/Lora/Crypto/aes.c **** case 32:
|
|
|
522:./Middlewares/Third_Party/Lora/Crypto/aes.c **** break;
|
|
|
523:./Middlewares/Third_Party/Lora/Crypto/aes.c **** default:
|
|
|
524:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->rnd = 0;
|
|
|
270 .loc 1 524 0
|
|
|
271 001e F023 movs r3, #240
|
|
|
272 0020 0022 movs r2, #0
|
|
|
273 .LVL4:
|
|
|
274 0022 E254 strb r2, [r4, r3]
|
|
|
525:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return ( uint8_t )-1;
|
|
|
275 .loc 1 525 0
|
|
|
276 0024 FF20 movs r0, #255
|
|
|
277 .LVL5:
|
|
|
278 0026 77E0 b .L6
|
|
|
ARM GAS /tmp/ccJ0d890.s page 15
|
|
|
|
|
|
|
|
|
279 .LVL6:
|
|
|
280 .L5:
|
|
|
526:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
527:./Middlewares/Third_Party/Lora/Crypto/aes.c **** block_copy_nn(ctx->ksch, key, keylen);
|
|
|
281 .loc 1 527 0
|
|
|
282 0028 2100 movs r1, r4
|
|
|
283 .LVL7:
|
|
|
284 002a 3A00 movs r2, r7
|
|
|
285 .LVL8:
|
|
|
286 002c 04E0 b .L7
|
|
|
287 .LVL9:
|
|
|
288 .L8:
|
|
|
289 .LBB12:
|
|
|
290 .LBB13:
|
|
|
346:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
291 .loc 1 346 0
|
|
|
292 002e 0278 ldrb r2, [r0]
|
|
|
293 0030 0A70 strb r2, [r1]
|
|
|
344:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //*((uint8_t*)d)++ = *((uint8_t*)s)++;
|
|
|
294 .loc 1 344 0
|
|
|
295 0032 1A00 movs r2, r3
|
|
|
346:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
296 .loc 1 346 0
|
|
|
297 0034 0130 adds r0, r0, #1
|
|
|
298 .LVL10:
|
|
|
299 0036 0131 adds r1, r1, #1
|
|
|
300 .LVL11:
|
|
|
301 .L7:
|
|
|
344:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //*((uint8_t*)d)++ = *((uint8_t*)s)++;
|
|
|
302 .loc 1 344 0
|
|
|
303 0038 531E subs r3, r2, #1
|
|
|
304 003a DBB2 uxtb r3, r3
|
|
|
305 .LVL12:
|
|
|
306 003c 002A cmp r2, #0
|
|
|
307 003e F6D1 bne .L8
|
|
|
308 .LVL13:
|
|
|
309 .LBE13:
|
|
|
310 .LBE12:
|
|
|
528:./Middlewares/Third_Party/Lora/Crypto/aes.c **** hi = (keylen + 28) << 2;
|
|
|
311 .loc 1 528 0
|
|
|
312 0040 3B00 movs r3, r7
|
|
|
313 0042 1C33 adds r3, r3, #28
|
|
|
314 0044 DBB2 uxtb r3, r3
|
|
|
315 0046 9B00 lsls r3, r3, #2
|
|
|
316 0048 DBB2 uxtb r3, r3
|
|
|
317 004a 0093 str r3, [sp]
|
|
|
318 .LVL14:
|
|
|
529:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->rnd = (hi >> 4) - 1;
|
|
|
319 .loc 1 529 0
|
|
|
320 004c 1B09 lsrs r3, r3, #4
|
|
|
321 .LVL15:
|
|
|
322 004e 013B subs r3, r3, #1
|
|
|
323 0050 F032 adds r2, r2, #240
|
|
|
324 0052 A354 strb r3, [r4, r2]
|
|
|
325 .LVL16:
|
|
|
530:./Middlewares/Third_Party/Lora/Crypto/aes.c **** for( cc = keylen, rc = 1; cc < hi; cc += 4 )
|
|
|
326 .loc 1 530 0
|
|
|
ARM GAS /tmp/ccJ0d890.s page 16
|
|
|
|
|
|
|
|
|
327 0054 3D00 movs r5, r7
|
|
|
328 0056 0123 movs r3, #1
|
|
|
329 0058 0193 str r3, [sp, #4]
|
|
|
330 005a 1DE0 b .L9
|
|
|
331 .LVL17:
|
|
|
332 .L10:
|
|
|
333 .LBB14:
|
|
|
531:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t tt, t0, t1, t2, t3;
|
|
|
532:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
533:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t0 = ctx->ksch[cc - 4];
|
|
|
534:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = ctx->ksch[cc - 3];
|
|
|
535:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = ctx->ksch[cc - 2];
|
|
|
536:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = ctx->ksch[cc - 1];
|
|
|
537:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if( cc % keylen == 0 )
|
|
|
538:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
539:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = t0;
|
|
|
540:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t0 = s_box(t1) ^ rc;
|
|
|
541:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = s_box(t2);
|
|
|
542:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = s_box(t3);
|
|
|
543:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = s_box(tt);
|
|
|
544:./Middlewares/Third_Party/Lora/Crypto/aes.c **** rc = f2(rc);
|
|
|
545:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
546:./Middlewares/Third_Party/Lora/Crypto/aes.c **** else if( keylen > 24 && cc % keylen == 16 )
|
|
|
334 .loc 1 546 0
|
|
|
335 005c 182F cmp r7, #24
|
|
|
336 005e 01D9 bls .L11
|
|
|
337 .loc 1 546 0 is_stmt 0 discriminator 1
|
|
|
338 0060 1029 cmp r1, #16
|
|
|
339 0062 4AD0 beq .L13
|
|
|
340 .LVL18:
|
|
|
341 .L11:
|
|
|
547:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
548:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t0 = s_box(t0);
|
|
|
549:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = s_box(t1);
|
|
|
550:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = s_box(t2);
|
|
|
551:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = s_box(t3);
|
|
|
552:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
553:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = cc - keylen;
|
|
|
342 .loc 1 553 0 is_stmt 1 discriminator 2
|
|
|
343 0064 EB1B subs r3, r5, r7
|
|
|
344 0066 DBB2 uxtb r3, r3
|
|
|
345 .LVL19:
|
|
|
554:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->ksch[cc + 0] = ctx->ksch[tt + 0] ^ t0;
|
|
|
346 .loc 1 554 0 discriminator 2
|
|
|
347 0068 E25C ldrb r2, [r4, r3]
|
|
|
348 006a 5946 mov r1, fp
|
|
|
349 006c 4A40 eors r2, r1
|
|
|
350 006e A255 strb r2, [r4, r6]
|
|
|
555:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->ksch[cc + 1] = ctx->ksch[tt + 1] ^ t1;
|
|
|
351 .loc 1 555 0 discriminator 2
|
|
|
352 0070 5A1C adds r2, r3, #1
|
|
|
353 0072 A25C ldrb r2, [r4, r2]
|
|
|
354 0074 711C adds r1, r6, #1
|
|
|
355 0076 5046 mov r0, r10
|
|
|
356 0078 4240 eors r2, r0
|
|
|
357 007a 6254 strb r2, [r4, r1]
|
|
|
556:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->ksch[cc + 2] = ctx->ksch[tt + 2] ^ t2;
|
|
|
ARM GAS /tmp/ccJ0d890.s page 17
|
|
|
|
|
|
|
|
|
358 .loc 1 556 0 discriminator 2
|
|
|
359 007c 9A1C adds r2, r3, #2
|
|
|
360 007e A25C ldrb r2, [r4, r2]
|
|
|
361 0080 B11C adds r1, r6, #2
|
|
|
362 0082 4846 mov r0, r9
|
|
|
363 0084 4240 eors r2, r0
|
|
|
364 0086 6254 strb r2, [r4, r1]
|
|
|
557:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ctx->ksch[cc + 3] = ctx->ksch[tt + 3] ^ t3;
|
|
|
365 .loc 1 557 0 discriminator 2
|
|
|
366 0088 0333 adds r3, r3, #3
|
|
|
367 .LVL20:
|
|
|
368 008a E35C ldrb r3, [r4, r3]
|
|
|
369 .LVL21:
|
|
|
370 008c 0336 adds r6, r6, #3
|
|
|
371 008e 4246 mov r2, r8
|
|
|
372 0090 5340 eors r3, r2
|
|
|
373 0092 A355 strb r3, [r4, r6]
|
|
|
374 .LBE14:
|
|
|
530:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t tt, t0, t1, t2, t3;
|
|
|
375 .loc 1 530 0 discriminator 2
|
|
|
376 0094 0435 adds r5, r5, #4
|
|
|
377 .LVL22:
|
|
|
378 0096 EDB2 uxtb r5, r5
|
|
|
379 .LVL23:
|
|
|
380 .L9:
|
|
|
530:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t tt, t0, t1, t2, t3;
|
|
|
381 .loc 1 530 0 is_stmt 0 discriminator 1
|
|
|
382 0098 009B ldr r3, [sp]
|
|
|
383 009a 9D42 cmp r5, r3
|
|
|
384 009c 3BD2 bcs .L14
|
|
|
385 .LBB15:
|
|
|
533:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = ctx->ksch[cc - 3];
|
|
|
386 .loc 1 533 0 is_stmt 1
|
|
|
387 009e 2E00 movs r6, r5
|
|
|
388 00a0 2B1F subs r3, r5, #4
|
|
|
389 00a2 E35C ldrb r3, [r4, r3]
|
|
|
390 00a4 9B46 mov fp, r3
|
|
|
391 .LVL24:
|
|
|
534:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = ctx->ksch[cc - 2];
|
|
|
392 .loc 1 534 0
|
|
|
393 00a6 EB1E subs r3, r5, #3
|
|
|
394 00a8 E35C ldrb r3, [r4, r3]
|
|
|
395 00aa 9A46 mov r10, r3
|
|
|
396 .LVL25:
|
|
|
535:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = ctx->ksch[cc - 1];
|
|
|
397 .loc 1 535 0
|
|
|
398 00ac AB1E subs r3, r5, #2
|
|
|
399 00ae E35C ldrb r3, [r4, r3]
|
|
|
400 00b0 9946 mov r9, r3
|
|
|
401 .LVL26:
|
|
|
536:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if( cc % keylen == 0 )
|
|
|
402 .loc 1 536 0
|
|
|
403 00b2 6B1E subs r3, r5, #1
|
|
|
404 00b4 E35C ldrb r3, [r4, r3]
|
|
|
405 00b6 9846 mov r8, r3
|
|
|
406 .LVL27:
|
|
|
537:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
ARM GAS /tmp/ccJ0d890.s page 18
|
|
|
|
|
|
|
|
|
407 .loc 1 537 0
|
|
|
408 00b8 3900 movs r1, r7
|
|
|
409 00ba 2800 movs r0, r5
|
|
|
410 00bc FFF7FEFF bl __aeabi_uidivmod
|
|
|
411 .LVL28:
|
|
|
412 00c0 C9B2 uxtb r1, r1
|
|
|
413 00c2 0029 cmp r1, #0
|
|
|
414 00c4 CAD1 bne .L10
|
|
|
415 .LVL29:
|
|
|
540:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = s_box(t2);
|
|
|
416 .loc 1 540 0
|
|
|
417 00c6 184B ldr r3, .L15
|
|
|
418 00c8 5246 mov r2, r10
|
|
|
419 00ca 9A5C ldrb r2, [r3, r2]
|
|
|
420 00cc 0199 ldr r1, [sp, #4]
|
|
|
421 00ce 4A40 eors r2, r1
|
|
|
422 .LVL30:
|
|
|
541:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = s_box(t3);
|
|
|
423 .loc 1 541 0
|
|
|
424 00d0 4846 mov r0, r9
|
|
|
425 00d2 185C ldrb r0, [r3, r0]
|
|
|
426 00d4 8246 mov r10, r0
|
|
|
427 .LVL31:
|
|
|
542:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = s_box(tt);
|
|
|
428 .loc 1 542 0
|
|
|
429 00d6 4046 mov r0, r8
|
|
|
430 00d8 185C ldrb r0, [r3, r0]
|
|
|
431 00da 8146 mov r9, r0
|
|
|
432 .LVL32:
|
|
|
543:./Middlewares/Third_Party/Lora/Crypto/aes.c **** rc = f2(rc);
|
|
|
433 .loc 1 543 0
|
|
|
434 00dc 5846 mov r0, fp
|
|
|
435 00de 1B5C ldrb r3, [r3, r0]
|
|
|
436 00e0 9846 mov r8, r3
|
|
|
437 .LVL33:
|
|
|
544:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
438 .loc 1 544 0
|
|
|
439 00e2 0B00 movs r3, r1
|
|
|
440 00e4 4900 lsls r1, r1, #1
|
|
|
441 00e6 DB09 lsrs r3, r3, #7
|
|
|
442 00e8 5800 lsls r0, r3, #1
|
|
|
443 00ea 1B18 adds r3, r3, r0
|
|
|
444 00ec D800 lsls r0, r3, #3
|
|
|
445 00ee 1B18 adds r3, r3, r0
|
|
|
446 00f0 4B40 eors r3, r1
|
|
|
447 00f2 DBB2 uxtb r3, r3
|
|
|
448 00f4 0193 str r3, [sp, #4]
|
|
|
449 .LVL34:
|
|
|
540:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = s_box(t2);
|
|
|
450 .loc 1 540 0
|
|
|
451 00f6 9346 mov fp, r2
|
|
|
452 .LVL35:
|
|
|
453 00f8 B4E7 b .L11
|
|
|
454 .LVL36:
|
|
|
455 .L13:
|
|
|
548:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t1 = s_box(t1);
|
|
|
456 .loc 1 548 0
|
|
|
ARM GAS /tmp/ccJ0d890.s page 19
|
|
|
|
|
|
|
|
|
457 00fa 0B4B ldr r3, .L15
|
|
|
458 00fc 5A46 mov r2, fp
|
|
|
459 00fe 9A5C ldrb r2, [r3, r2]
|
|
|
460 0100 9346 mov fp, r2
|
|
|
461 .LVL37:
|
|
|
549:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t2 = s_box(t2);
|
|
|
462 .loc 1 549 0
|
|
|
463 0102 5246 mov r2, r10
|
|
|
464 0104 9A5C ldrb r2, [r3, r2]
|
|
|
465 0106 9246 mov r10, r2
|
|
|
466 .LVL38:
|
|
|
550:./Middlewares/Third_Party/Lora/Crypto/aes.c **** t3 = s_box(t3);
|
|
|
467 .loc 1 550 0
|
|
|
468 0108 4A46 mov r2, r9
|
|
|
469 010a 9A5C ldrb r2, [r3, r2]
|
|
|
470 010c 9146 mov r9, r2
|
|
|
471 .LVL39:
|
|
|
551:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
472 .loc 1 551 0
|
|
|
473 010e 4246 mov r2, r8
|
|
|
474 0110 9B5C ldrb r3, [r3, r2]
|
|
|
475 0112 9846 mov r8, r3
|
|
|
476 .LVL40:
|
|
|
477 0114 A6E7 b .L11
|
|
|
478 .LVL41:
|
|
|
479 .L14:
|
|
|
480 .LBE15:
|
|
|
558:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
559:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0;
|
|
|
481 .loc 1 559 0
|
|
|
482 0116 0020 movs r0, #0
|
|
|
483 .LVL42:
|
|
|
484 .L6:
|
|
|
560:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
485 .loc 1 560 0
|
|
|
486 0118 03B0 add sp, sp, #12
|
|
|
487 @ sp needed
|
|
|
488 .LVL43:
|
|
|
489 011a 3CBC pop {r2, r3, r4, r5}
|
|
|
490 011c 9046 mov r8, r2
|
|
|
491 011e 9946 mov r9, r3
|
|
|
492 0120 A246 mov r10, r4
|
|
|
493 0122 AB46 mov fp, r5
|
|
|
494 0124 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
495 .L16:
|
|
|
496 0126 C046 .align 2
|
|
|
497 .L15:
|
|
|
498 0128 00000000 .word sbox
|
|
|
499 .cfi_endproc
|
|
|
500 .LFE7:
|
|
|
502 .section .text.aes_encrypt,"ax",%progbits
|
|
|
503 .align 1
|
|
|
504 .global aes_encrypt
|
|
|
505 .syntax unified
|
|
|
506 .code 16
|
|
|
507 .thumb_func
|
|
|
508 .fpu softvfp
|
|
|
ARM GAS /tmp/ccJ0d890.s page 20
|
|
|
|
|
|
|
|
|
510 aes_encrypt:
|
|
|
511 .LFB8:
|
|
|
561:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
562:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
563:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
564:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( AES_ENC_PREKEYED )
|
|
|
565:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
566:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* Encrypt a single block of 16 bytes */
|
|
|
567:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
568:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return_type aes_encrypt( const uint8_t in[N_BLOCK], uint8_t out[N_BLOCK], const aes_context ctx[1]
|
|
|
569:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
512 .loc 1 569 0
|
|
|
513 .cfi_startproc
|
|
|
514 @ args = 0, pretend = 0, frame = 80
|
|
|
515 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
516 .LVL44:
|
|
|
517 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
518 .LCFI4:
|
|
|
519 .cfi_def_cfa_offset 20
|
|
|
520 .cfi_offset 4, -20
|
|
|
521 .cfi_offset 5, -16
|
|
|
522 .cfi_offset 6, -12
|
|
|
523 .cfi_offset 7, -8
|
|
|
524 .cfi_offset 14, -4
|
|
|
525 0002 DE46 mov lr, fp
|
|
|
526 0004 5746 mov r7, r10
|
|
|
527 0006 4E46 mov r6, r9
|
|
|
528 0008 4546 mov r5, r8
|
|
|
529 000a E0B5 push {r5, r6, r7, lr}
|
|
|
530 .LCFI5:
|
|
|
531 .cfi_def_cfa_offset 36
|
|
|
532 .cfi_offset 8, -36
|
|
|
533 .cfi_offset 9, -32
|
|
|
534 .cfi_offset 10, -28
|
|
|
535 .cfi_offset 11, -24
|
|
|
536 000c 95B0 sub sp, sp, #84
|
|
|
537 .LCFI6:
|
|
|
538 .cfi_def_cfa_offset 120
|
|
|
539 000e 0F91 str r1, [sp, #60]
|
|
|
540 0010 0D92 str r2, [sp, #52]
|
|
|
570:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if( ctx->rnd )
|
|
|
541 .loc 1 570 0
|
|
|
542 0012 F023 movs r3, #240
|
|
|
543 0014 D35C ldrb r3, [r2, r3]
|
|
|
544 0016 002B cmp r3, #0
|
|
|
545 0018 00D1 bne .LCB519
|
|
|
546 001a 5CE1 b .L21 @long jump
|
|
|
547 .LCB519:
|
|
|
548 .LBB25:
|
|
|
571:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
572:./Middlewares/Third_Party/Lora/Crypto/aes.c **** uint8_t s1[N_BLOCK], r;
|
|
|
573:./Middlewares/Third_Party/Lora/Crypto/aes.c **** copy_and_key( s1, in, ctx->ksch );
|
|
|
549 .loc 1 573 0
|
|
|
550 001c 0E92 str r2, [sp, #56]
|
|
|
551 001e 0100 movs r1, r0
|
|
|
552 .LVL45:
|
|
|
553 0020 10A8 add r0, sp, #64
|
|
|
ARM GAS /tmp/ccJ0d890.s page 21
|
|
|
|
|
|
|
|
|
554 .LVL46:
|
|
|
555 0022 FFF7FEFF bl copy_and_key
|
|
|
556 .LVL47:
|
|
|
574:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
575:./Middlewares/Third_Party/Lora/Crypto/aes.c **** for( r = 1 ; r < ctx->rnd ; ++r )
|
|
|
557 .loc 1 575 0
|
|
|
558 0026 0123 movs r3, #1
|
|
|
559 0028 0693 str r3, [sp, #24]
|
|
|
560 002a 08E1 b .L19
|
|
|
561 .LVL48:
|
|
|
562 .L20:
|
|
|
563 .LBB26:
|
|
|
564 .LBB27:
|
|
|
565 .LBB28:
|
|
|
566 .LBB29:
|
|
|
323:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 1] = ((uint8_t*)s)[ 1];
|
|
|
567 .loc 1 323 0
|
|
|
568 002c 10AB add r3, sp, #64
|
|
|
569 .LVL49:
|
|
|
570 002e 1B78 ldrb r3, [r3]
|
|
|
571 .LVL50:
|
|
|
572 0030 9C46 mov ip, r3
|
|
|
324:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 2] = ((uint8_t*)s)[ 2];
|
|
|
573 .loc 1 324 0
|
|
|
574 0032 10AB add r3, sp, #64
|
|
|
575 .LVL51:
|
|
|
576 0034 5F78 ldrb r7, [r3, #1]
|
|
|
577 0036 0997 str r7, [sp, #36]
|
|
|
325:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 3] = ((uint8_t*)s)[ 3];
|
|
|
578 .loc 1 325 0
|
|
|
579 0038 9B78 ldrb r3, [r3, #2]
|
|
|
580 .LVL52:
|
|
|
581 003a 0093 str r3, [sp]
|
|
|
326:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 4] = ((uint8_t*)s)[ 4];
|
|
|
582 .loc 1 326 0
|
|
|
583 003c 10AA add r2, sp, #64
|
|
|
584 .LVL53:
|
|
|
585 003e D278 ldrb r2, [r2, #3]
|
|
|
586 .LVL54:
|
|
|
587 0040 0792 str r2, [sp, #28]
|
|
|
327:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 5] = ((uint8_t*)s)[ 5];
|
|
|
588 .loc 1 327 0
|
|
|
589 0042 10A9 add r1, sp, #64
|
|
|
590 .LVL55:
|
|
|
591 0044 0979 ldrb r1, [r1, #4]
|
|
|
592 .LVL56:
|
|
|
593 0046 0191 str r1, [sp, #4]
|
|
|
328:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 6] = ((uint8_t*)s)[ 6];
|
|
|
594 .loc 1 328 0
|
|
|
595 0048 10AE add r6, sp, #64
|
|
|
596 .LVL57:
|
|
|
597 004a 7679 ldrb r6, [r6, #5]
|
|
|
598 .LVL58:
|
|
|
599 004c B146 mov r9, r6
|
|
|
329:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 7] = ((uint8_t*)s)[ 7];
|
|
|
600 .loc 1 329 0
|
|
|
601 004e 10AE add r6, sp, #64
|
|
|
ARM GAS /tmp/ccJ0d890.s page 22
|
|
|
|
|
|
|
|
|
602 .LVL59:
|
|
|
603 0050 B679 ldrb r6, [r6, #6]
|
|
|
604 .LVL60:
|
|
|
605 0052 0296 str r6, [sp, #8]
|
|
|
330:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 8] = ((uint8_t*)s)[ 8];
|
|
|
606 .loc 1 330 0
|
|
|
607 0054 10AD add r5, sp, #64
|
|
|
608 .LVL61:
|
|
|
609 0056 ED79 ldrb r5, [r5, #7]
|
|
|
610 .LVL62:
|
|
|
611 0058 0395 str r5, [sp, #12]
|
|
|
331:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 9] = ((uint8_t*)s)[ 9];
|
|
|
612 .loc 1 331 0
|
|
|
613 005a 10AC add r4, sp, #64
|
|
|
614 .LVL63:
|
|
|
615 005c 247A ldrb r4, [r4, #8]
|
|
|
616 .LVL64:
|
|
|
617 005e 0A94 str r4, [sp, #40]
|
|
|
332:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[10] = ((uint8_t*)s)[10];
|
|
|
618 .loc 1 332 0
|
|
|
619 0060 10AB add r3, sp, #64
|
|
|
620 .LVL65:
|
|
|
621 0062 5B7A ldrb r3, [r3, #9]
|
|
|
622 .LVL66:
|
|
|
623 0064 0B93 str r3, [sp, #44]
|
|
|
333:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[11] = ((uint8_t*)s)[11];
|
|
|
624 .loc 1 333 0
|
|
|
625 0066 10AA add r2, sp, #64
|
|
|
626 .LVL67:
|
|
|
627 0068 927A ldrb r2, [r2, #10]
|
|
|
628 .LVL68:
|
|
|
629 006a 9046 mov r8, r2
|
|
|
334:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[12] = ((uint8_t*)s)[12];
|
|
|
630 .loc 1 334 0
|
|
|
631 006c 10AA add r2, sp, #64
|
|
|
632 .LVL69:
|
|
|
633 006e D27A ldrb r2, [r2, #11]
|
|
|
634 .LVL70:
|
|
|
635 0070 0892 str r2, [sp, #32]
|
|
|
335:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[13] = ((uint8_t*)s)[13];
|
|
|
636 .loc 1 335 0
|
|
|
637 0072 10A9 add r1, sp, #64
|
|
|
638 .LVL71:
|
|
|
639 0074 097B ldrb r1, [r1, #12]
|
|
|
640 .LVL72:
|
|
|
641 0076 0491 str r1, [sp, #16]
|
|
|
336:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[14] = ((uint8_t*)s)[14];
|
|
|
642 .loc 1 336 0
|
|
|
643 0078 10A8 add r0, sp, #64
|
|
|
644 .LVL73:
|
|
|
645 007a 407B ldrb r0, [r0, #13]
|
|
|
646 .LVL74:
|
|
|
647 007c 0590 str r0, [sp, #20]
|
|
|
337:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[15] = ((uint8_t*)s)[15];
|
|
|
648 .loc 1 337 0
|
|
|
649 007e 10AB add r3, sp, #64
|
|
|
650 .LVL75:
|
|
|
ARM GAS /tmp/ccJ0d890.s page 23
|
|
|
|
|
|
|
|
|
651 0080 9E7B ldrb r6, [r3, #14]
|
|
|
338:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
652 .loc 1 338 0
|
|
|
653 0082 DF7B ldrb r7, [r3, #15]
|
|
|
654 .LVL76:
|
|
|
655 .LBE29:
|
|
|
656 .LBE28:
|
|
|
455:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 1] = s_box(st[0]) ^ gfm2_sb(st[5]) ^ gfm3_sb(st[10]) ^ s_box(st[15]);
|
|
|
657 .loc 1 455 0
|
|
|
658 0084 6346 mov r3, ip
|
|
|
659 .LVL77:
|
|
|
660 0086 954A ldr r2, .L22
|
|
|
661 0088 D45C ldrb r4, [r2, r3]
|
|
|
662 008a 4B46 mov r3, r9
|
|
|
663 008c 944A ldr r2, .L22+4
|
|
|
664 008e D35C ldrb r3, [r2, r3]
|
|
|
665 0090 9A46 mov r10, r3
|
|
|
666 0092 9449 ldr r1, .L22+8
|
|
|
667 0094 4346 mov r3, r8
|
|
|
668 0096 C85C ldrb r0, [r1, r3]
|
|
|
669 0098 CD5D ldrb r5, [r1, r7]
|
|
|
670 009a 5346 mov r3, r10
|
|
|
671 009c 5C40 eors r4, r3
|
|
|
672 009e 4440 eors r4, r0
|
|
|
673 00a0 0C95 str r5, [sp, #48]
|
|
|
674 00a2 6C40 eors r4, r5
|
|
|
675 00a4 10AB add r3, sp, #64
|
|
|
676 .LVL78:
|
|
|
677 00a6 1C70 strb r4, [r3]
|
|
|
456:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 2] = s_box(st[0]) ^ s_box(st[5]) ^ gfm2_sb(st[10]) ^ gfm3_sb(st[15]);
|
|
|
678 .loc 1 456 0
|
|
|
679 00a8 6346 mov r3, ip
|
|
|
680 .LVL79:
|
|
|
681 00aa CC5C ldrb r4, [r1, r3]
|
|
|
682 00ac 4B46 mov r3, r9
|
|
|
683 00ae 8B4A ldr r2, .L22
|
|
|
684 00b0 D35C ldrb r3, [r2, r3]
|
|
|
685 00b2 9B46 mov fp, r3
|
|
|
686 00b4 4346 mov r3, r8
|
|
|
687 00b6 8A4A ldr r2, .L22+4
|
|
|
688 00b8 D35C ldrb r3, [r2, r3]
|
|
|
689 00ba 9A46 mov r10, r3
|
|
|
690 00bc 5B46 mov r3, fp
|
|
|
691 00be 6340 eors r3, r4
|
|
|
692 00c0 9B46 mov fp, r3
|
|
|
693 00c2 5346 mov r3, r10
|
|
|
694 00c4 5D46 mov r5, fp
|
|
|
695 00c6 6B40 eors r3, r5
|
|
|
696 00c8 0C9D ldr r5, [sp, #48]
|
|
|
697 00ca 5D40 eors r5, r3
|
|
|
698 00cc 10AB add r3, sp, #64
|
|
|
699 .LVL80:
|
|
|
700 00ce 5D70 strb r5, [r3, #1]
|
|
|
457:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 3] = gfm3_sb(st[0]) ^ s_box(st[5]) ^ s_box(st[10]) ^ gfm2_sb(st[15]);
|
|
|
701 .loc 1 457 0
|
|
|
702 00d0 4B46 mov r3, r9
|
|
|
703 .LVL81:
|
|
|
ARM GAS /tmp/ccJ0d890.s page 24
|
|
|
|
|
|
|
|
|
704 00d2 CD5C ldrb r5, [r1, r3]
|
|
|
705 00d4 4346 mov r3, r8
|
|
|
706 00d6 814A ldr r2, .L22
|
|
|
707 00d8 D35C ldrb r3, [r2, r3]
|
|
|
708 00da 9946 mov r9, r3
|
|
|
709 00dc 804B ldr r3, .L22+4
|
|
|
710 00de DB5D ldrb r3, [r3, r7]
|
|
|
711 00e0 9846 mov r8, r3
|
|
|
712 00e2 6C40 eors r4, r5
|
|
|
713 00e4 4B46 mov r3, r9
|
|
|
714 00e6 5C40 eors r4, r3
|
|
|
715 00e8 4346 mov r3, r8
|
|
|
716 00ea 5C40 eors r4, r3
|
|
|
717 00ec 10AB add r3, sp, #64
|
|
|
718 .LVL82:
|
|
|
719 00ee 9C70 strb r4, [r3, #2]
|
|
|
458:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
720 .loc 1 458 0
|
|
|
721 00f0 6346 mov r3, ip
|
|
|
722 .LVL83:
|
|
|
723 00f2 7B4A ldr r2, .L22+4
|
|
|
724 00f4 D45C ldrb r4, [r2, r3]
|
|
|
725 00f6 794B ldr r3, .L22
|
|
|
726 00f8 DF5D ldrb r7, [r3, r7]
|
|
|
727 00fa 6540 eors r5, r4
|
|
|
728 00fc 4540 eors r5, r0
|
|
|
729 00fe 7D40 eors r5, r7
|
|
|
730 0100 10AB add r3, sp, #64
|
|
|
731 .LVL84:
|
|
|
732 0102 DD70 strb r5, [r3, #3]
|
|
|
460:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 5] = s_box(st[4]) ^ gfm2_sb(st[9]) ^ gfm3_sb(st[14]) ^ s_box(st[3]);
|
|
|
733 .loc 1 460 0
|
|
|
734 0104 019C ldr r4, [sp, #4]
|
|
|
735 0106 754B ldr r3, .L22
|
|
|
736 .LVL85:
|
|
|
737 0108 1C5D ldrb r4, [r3, r4]
|
|
|
738 010a 0B9A ldr r2, [sp, #44]
|
|
|
739 010c 744B ldr r3, .L22+4
|
|
|
740 010e 9F5C ldrb r7, [r3, r2]
|
|
|
741 0110 885D ldrb r0, [r1, r6]
|
|
|
742 0112 079D ldr r5, [sp, #28]
|
|
|
743 0114 4D5D ldrb r5, [r1, r5]
|
|
|
744 0116 7C40 eors r4, r7
|
|
|
745 0118 4440 eors r4, r0
|
|
|
746 011a 6C40 eors r4, r5
|
|
|
747 011c 10AB add r3, sp, #64
|
|
|
748 .LVL86:
|
|
|
749 011e 1C71 strb r4, [r3, #4]
|
|
|
461:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 6] = s_box(st[4]) ^ s_box(st[9]) ^ gfm2_sb(st[14]) ^ gfm3_sb(st[3]);
|
|
|
750 .loc 1 461 0
|
|
|
751 0120 019C ldr r4, [sp, #4]
|
|
|
752 0122 0C5D ldrb r4, [r1, r4]
|
|
|
753 0124 6D4B ldr r3, .L22
|
|
|
754 .LVL87:
|
|
|
755 0126 9B5C ldrb r3, [r3, r2]
|
|
|
756 0128 9C46 mov ip, r3
|
|
|
757 012a 6D4B ldr r3, .L22+4
|
|
|
ARM GAS /tmp/ccJ0d890.s page 25
|
|
|
|
|
|
|
|
|
758 012c 9F5D ldrb r7, [r3, r6]
|
|
|
759 012e 6346 mov r3, ip
|
|
|
760 0130 6340 eors r3, r4
|
|
|
761 0132 5F40 eors r7, r3
|
|
|
762 0134 6F40 eors r7, r5
|
|
|
763 0136 10AB add r3, sp, #64
|
|
|
764 .LVL88:
|
|
|
765 0138 5F71 strb r7, [r3, #5]
|
|
|
462:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 7] = gfm3_sb(st[4]) ^ s_box(st[9]) ^ s_box(st[14]) ^ gfm2_sb(st[3]);
|
|
|
766 .loc 1 462 0
|
|
|
767 013a 8D5C ldrb r5, [r1, r2]
|
|
|
768 013c 674B ldr r3, .L22
|
|
|
769 .LVL89:
|
|
|
770 013e 9F5D ldrb r7, [r3, r6]
|
|
|
771 0140 079A ldr r2, [sp, #28]
|
|
|
772 0142 674B ldr r3, .L22+4
|
|
|
773 0144 9E5C ldrb r6, [r3, r2]
|
|
|
774 0146 6C40 eors r4, r5
|
|
|
775 0148 7C40 eors r4, r7
|
|
|
776 014a 7440 eors r4, r6
|
|
|
777 014c 10AB add r3, sp, #64
|
|
|
778 .LVL90:
|
|
|
779 014e 9C71 strb r4, [r3, #6]
|
|
|
463:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
780 .loc 1 463 0
|
|
|
781 0150 019C ldr r4, [sp, #4]
|
|
|
782 0152 634B ldr r3, .L22+4
|
|
|
783 .LVL91:
|
|
|
784 0154 1C5D ldrb r4, [r3, r4]
|
|
|
785 0156 614B ldr r3, .L22
|
|
|
786 0158 9E5C ldrb r6, [r3, r2]
|
|
|
787 015a 6540 eors r5, r4
|
|
|
788 015c 4540 eors r5, r0
|
|
|
789 015e 7540 eors r5, r6
|
|
|
790 0160 10AB add r3, sp, #64
|
|
|
791 .LVL92:
|
|
|
792 0162 DD71 strb r5, [r3, #7]
|
|
|
465:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[ 9] = s_box(st[8]) ^ gfm2_sb(st[13]) ^ gfm3_sb(st[2]) ^ s_box(st[7]);
|
|
|
793 .loc 1 465 0
|
|
|
794 0164 0A9A ldr r2, [sp, #40]
|
|
|
795 0166 5D4B ldr r3, .L22
|
|
|
796 .LVL93:
|
|
|
797 0168 9C5C ldrb r4, [r3, r2]
|
|
|
798 016a 059F ldr r7, [sp, #20]
|
|
|
799 016c 5C4B ldr r3, .L22+4
|
|
|
800 016e DE5D ldrb r6, [r3, r7]
|
|
|
801 0170 0098 ldr r0, [sp]
|
|
|
802 0172 085C ldrb r0, [r1, r0]
|
|
|
803 0174 039D ldr r5, [sp, #12]
|
|
|
804 0176 4D5D ldrb r5, [r1, r5]
|
|
|
805 0178 7440 eors r4, r6
|
|
|
806 017a 4440 eors r4, r0
|
|
|
807 017c 6C40 eors r4, r5
|
|
|
808 017e 10AB add r3, sp, #64
|
|
|
809 .LVL94:
|
|
|
810 0180 1C72 strb r4, [r3, #8]
|
|
|
466:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[10] = s_box(st[8]) ^ s_box(st[13]) ^ gfm2_sb(st[2]) ^ gfm3_sb(st[7]);
|
|
|
ARM GAS /tmp/ccJ0d890.s page 26
|
|
|
|
|
|
|
|
|
811 .loc 1 466 0
|
|
|
812 0182 8C5C ldrb r4, [r1, r2]
|
|
|
813 0184 554B ldr r3, .L22
|
|
|
814 .LVL95:
|
|
|
815 0186 DF5D ldrb r7, [r3, r7]
|
|
|
816 0188 009E ldr r6, [sp]
|
|
|
817 018a 554B ldr r3, .L22+4
|
|
|
818 018c 9E5D ldrb r6, [r3, r6]
|
|
|
819 018e 6740 eors r7, r4
|
|
|
820 0190 7E40 eors r6, r7
|
|
|
821 0192 6E40 eors r6, r5
|
|
|
822 0194 10AB add r3, sp, #64
|
|
|
823 .LVL96:
|
|
|
824 0196 5E72 strb r6, [r3, #9]
|
|
|
467:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[11] = gfm3_sb(st[8]) ^ s_box(st[13]) ^ s_box(st[2]) ^ gfm2_sb(st[7]);
|
|
|
825 .loc 1 467 0
|
|
|
826 0198 059D ldr r5, [sp, #20]
|
|
|
827 019a 4D5D ldrb r5, [r1, r5]
|
|
|
828 019c 009E ldr r6, [sp]
|
|
|
829 019e 4F4B ldr r3, .L22
|
|
|
830 .LVL97:
|
|
|
831 01a0 9F5D ldrb r7, [r3, r6]
|
|
|
832 01a2 039E ldr r6, [sp, #12]
|
|
|
833 01a4 4E4B ldr r3, .L22+4
|
|
|
834 01a6 9E5D ldrb r6, [r3, r6]
|
|
|
835 01a8 6C40 eors r4, r5
|
|
|
836 01aa 7C40 eors r4, r7
|
|
|
837 01ac 7440 eors r4, r6
|
|
|
838 01ae 10AB add r3, sp, #64
|
|
|
839 .LVL98:
|
|
|
840 01b0 9C72 strb r4, [r3, #10]
|
|
|
468:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
841 .loc 1 468 0
|
|
|
842 01b2 4B4B ldr r3, .L22+4
|
|
|
843 .LVL99:
|
|
|
844 01b4 9C5C ldrb r4, [r3, r2]
|
|
|
845 01b6 039E ldr r6, [sp, #12]
|
|
|
846 01b8 484B ldr r3, .L22
|
|
|
847 01ba 9E5D ldrb r6, [r3, r6]
|
|
|
848 01bc 6540 eors r5, r4
|
|
|
849 01be 6840 eors r0, r5
|
|
|
850 01c0 7040 eors r0, r6
|
|
|
851 01c2 10AB add r3, sp, #64
|
|
|
852 .LVL100:
|
|
|
853 01c4 D872 strb r0, [r3, #11]
|
|
|
470:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[13] = s_box(st[12]) ^ gfm2_sb(st[1]) ^ gfm3_sb(st[6]) ^ s_box(st[11]);
|
|
|
854 .loc 1 470 0
|
|
|
855 01c6 049C ldr r4, [sp, #16]
|
|
|
856 01c8 444B ldr r3, .L22
|
|
|
857 .LVL101:
|
|
|
858 01ca 1C5D ldrb r4, [r3, r4]
|
|
|
859 01cc 099A ldr r2, [sp, #36]
|
|
|
860 01ce 444B ldr r3, .L22+4
|
|
|
861 01d0 9E5C ldrb r6, [r3, r2]
|
|
|
862 01d2 0298 ldr r0, [sp, #8]
|
|
|
863 01d4 085C ldrb r0, [r1, r0]
|
|
|
864 01d6 089D ldr r5, [sp, #32]
|
|
|
ARM GAS /tmp/ccJ0d890.s page 27
|
|
|
|
|
|
|
|
|
865 01d8 4D5D ldrb r5, [r1, r5]
|
|
|
866 01da 7440 eors r4, r6
|
|
|
867 01dc 4440 eors r4, r0
|
|
|
868 01de 6C40 eors r4, r5
|
|
|
869 01e0 10AB add r3, sp, #64
|
|
|
870 .LVL102:
|
|
|
871 01e2 1C73 strb r4, [r3, #12]
|
|
|
471:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[14] = s_box(st[12]) ^ s_box(st[1]) ^ gfm2_sb(st[6]) ^ gfm3_sb(st[11]);
|
|
|
872 .loc 1 471 0
|
|
|
873 01e4 049C ldr r4, [sp, #16]
|
|
|
874 01e6 0C5D ldrb r4, [r1, r4]
|
|
|
875 01e8 3C4B ldr r3, .L22
|
|
|
876 .LVL103:
|
|
|
877 01ea 9F5C ldrb r7, [r3, r2]
|
|
|
878 01ec 029E ldr r6, [sp, #8]
|
|
|
879 01ee 3C4B ldr r3, .L22+4
|
|
|
880 01f0 9E5D ldrb r6, [r3, r6]
|
|
|
881 01f2 6740 eors r7, r4
|
|
|
882 01f4 7E40 eors r6, r7
|
|
|
883 01f6 6E40 eors r6, r5
|
|
|
884 01f8 10AB add r3, sp, #64
|
|
|
885 .LVL104:
|
|
|
886 01fa 5E73 strb r6, [r3, #13]
|
|
|
472:./Middlewares/Third_Party/Lora/Crypto/aes.c **** dt[15] = gfm3_sb(st[12]) ^ s_box(st[1]) ^ s_box(st[6]) ^ gfm2_sb(st[11]);
|
|
|
887 .loc 1 472 0
|
|
|
888 01fc 895C ldrb r1, [r1, r2]
|
|
|
889 01fe 029E ldr r6, [sp, #8]
|
|
|
890 0200 364B ldr r3, .L22
|
|
|
891 .LVL105:
|
|
|
892 0202 9E5D ldrb r6, [r3, r6]
|
|
|
893 0204 089F ldr r7, [sp, #32]
|
|
|
894 0206 364B ldr r3, .L22+4
|
|
|
895 0208 DD5D ldrb r5, [r3, r7]
|
|
|
896 020a 4C40 eors r4, r1
|
|
|
897 020c 7440 eors r4, r6
|
|
|
898 020e 6C40 eors r4, r5
|
|
|
899 0210 10AB add r3, sp, #64
|
|
|
900 .LVL106:
|
|
|
901 0212 9C73 strb r4, [r3, #14]
|
|
|
473:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
902 .loc 1 473 0
|
|
|
903 0214 049C ldr r4, [sp, #16]
|
|
|
904 0216 324B ldr r3, .L22+4
|
|
|
905 .LVL107:
|
|
|
906 0218 1A5D ldrb r2, [r3, r4]
|
|
|
907 021a 304B ldr r3, .L22
|
|
|
908 021c DB5D ldrb r3, [r3, r7]
|
|
|
909 021e 5140 eors r1, r2
|
|
|
910 0220 4840 eors r0, r1
|
|
|
911 0222 5840 eors r0, r3
|
|
|
912 0224 10AB add r3, sp, #64
|
|
|
913 .LVL108:
|
|
|
914 0226 D873 strb r0, [r3, #15]
|
|
|
915 .LVL109:
|
|
|
916 .LBE27:
|
|
|
917 .LBE26:
|
|
|
576:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( VERSION_1 )
|
|
|
ARM GAS /tmp/ccJ0d890.s page 28
|
|
|
|
|
|
|
|
|
577:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
578:./Middlewares/Third_Party/Lora/Crypto/aes.c **** mix_sub_columns( s1 );
|
|
|
579:./Middlewares/Third_Party/Lora/Crypto/aes.c **** add_round_key( s1, ctx->ksch + r * N_BLOCK);
|
|
|
918 .loc 1 579 0
|
|
|
919 0228 069C ldr r4, [sp, #24]
|
|
|
920 022a 2101 lsls r1, r4, #4
|
|
|
921 022c 0E9B ldr r3, [sp, #56]
|
|
|
922 022e 9C46 mov ip, r3
|
|
|
923 0230 6144 add r1, r1, ip
|
|
|
924 .LVL110:
|
|
|
925 .LBB30:
|
|
|
926 .LBB31:
|
|
|
408:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
927 .loc 1 408 0
|
|
|
928 0232 10A8 add r0, sp, #64
|
|
|
929 .LVL111:
|
|
|
930 0234 FFF7FEFF bl xor_block
|
|
|
931 .LVL112:
|
|
|
932 .LBE31:
|
|
|
933 .LBE30:
|
|
|
575:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( VERSION_1 )
|
|
|
934 .loc 1 575 0
|
|
|
935 0238 631C adds r3, r4, #1
|
|
|
936 023a DBB2 uxtb r3, r3
|
|
|
937 023c 0693 str r3, [sp, #24]
|
|
|
938 .LVL113:
|
|
|
939 .L19:
|
|
|
575:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #if defined( VERSION_1 )
|
|
|
940 .loc 1 575 0 is_stmt 0 discriminator 1
|
|
|
941 023e F023 movs r3, #240
|
|
|
942 0240 0D9A ldr r2, [sp, #52]
|
|
|
943 0242 D35C ldrb r3, [r2, r3]
|
|
|
944 0244 069A ldr r2, [sp, #24]
|
|
|
945 0246 9342 cmp r3, r2
|
|
|
946 0248 00D9 bls .LCB982
|
|
|
947 024a EFE6 b .L20 @long jump
|
|
|
948 .LCB982:
|
|
|
949 .LVL114:
|
|
|
950 .LBB32:
|
|
|
951 .LBB33:
|
|
|
414:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 8] = s_box(st[ 8]); st[12] = s_box(st[12]);
|
|
|
952 .loc 1 414 0 is_stmt 1
|
|
|
953 024c 10AB add r3, sp, #64
|
|
|
954 .LVL115:
|
|
|
955 024e 1A78 ldrb r2, [r3]
|
|
|
956 0250 244B ldr r3, .L22+8
|
|
|
957 .LVL116:
|
|
|
958 0252 9A5C ldrb r2, [r3, r2]
|
|
|
959 0254 10A9 add r1, sp, #64
|
|
|
960 .LVL117:
|
|
|
961 0256 0A70 strb r2, [r1]
|
|
|
962 0258 0A79 ldrb r2, [r1, #4]
|
|
|
963 025a 9A5C ldrb r2, [r3, r2]
|
|
|
964 025c 0A71 strb r2, [r1, #4]
|
|
|
415:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
965 .loc 1 415 0
|
|
|
966 025e 0A7A ldrb r2, [r1, #8]
|
|
|
ARM GAS /tmp/ccJ0d890.s page 29
|
|
|
|
|
|
|
|
|
967 0260 9A5C ldrb r2, [r3, r2]
|
|
|
968 0262 0A72 strb r2, [r1, #8]
|
|
|
969 0264 0A7B ldrb r2, [r1, #12]
|
|
|
970 0266 9A5C ldrb r2, [r3, r2]
|
|
|
971 0268 0A73 strb r2, [r1, #12]
|
|
|
417:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 9] = s_box(st[13]); st[13] = s_box( tt );
|
|
|
972 .loc 1 417 0
|
|
|
973 026a 4A78 ldrb r2, [r1, #1]
|
|
|
974 .LVL118:
|
|
|
975 026c 4979 ldrb r1, [r1, #5]
|
|
|
976 .LVL119:
|
|
|
977 026e 595C ldrb r1, [r3, r1]
|
|
|
978 0270 10A8 add r0, sp, #64
|
|
|
979 .LVL120:
|
|
|
980 0272 4170 strb r1, [r0, #1]
|
|
|
981 0274 417A ldrb r1, [r0, #9]
|
|
|
982 0276 595C ldrb r1, [r3, r1]
|
|
|
983 0278 4171 strb r1, [r0, #5]
|
|
|
418:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
984 .loc 1 418 0
|
|
|
985 027a 417B ldrb r1, [r0, #13]
|
|
|
986 027c 595C ldrb r1, [r3, r1]
|
|
|
987 027e 4172 strb r1, [r0, #9]
|
|
|
988 0280 9A5C ldrb r2, [r3, r2]
|
|
|
989 .LVL121:
|
|
|
990 0282 4273 strb r2, [r0, #13]
|
|
|
420:./Middlewares/Third_Party/Lora/Crypto/aes.c **** tt = st[6]; st[ 6] = s_box(st[14]); st[14] = s_box( tt );
|
|
|
991 .loc 1 420 0
|
|
|
992 0284 8278 ldrb r2, [r0, #2]
|
|
|
993 .LVL122:
|
|
|
994 0286 817A ldrb r1, [r0, #10]
|
|
|
995 0288 595C ldrb r1, [r3, r1]
|
|
|
996 028a 8170 strb r1, [r0, #2]
|
|
|
997 028c 9A5C ldrb r2, [r3, r2]
|
|
|
998 .LVL123:
|
|
|
999 028e 8272 strb r2, [r0, #10]
|
|
|
421:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
1000 .loc 1 421 0
|
|
|
1001 0290 8279 ldrb r2, [r0, #6]
|
|
|
1002 .LVL124:
|
|
|
1003 0292 817B ldrb r1, [r0, #14]
|
|
|
1004 0294 595C ldrb r1, [r3, r1]
|
|
|
1005 0296 8171 strb r1, [r0, #6]
|
|
|
1006 0298 9A5C ldrb r2, [r3, r2]
|
|
|
1007 .LVL125:
|
|
|
1008 029a 8273 strb r2, [r0, #14]
|
|
|
423:./Middlewares/Third_Party/Lora/Crypto/aes.c **** st[ 7] = s_box(st[ 3]); st[ 3] = s_box( tt );
|
|
|
1009 .loc 1 423 0
|
|
|
1010 029c C27B ldrb r2, [r0, #15]
|
|
|
1011 .LVL126:
|
|
|
1012 029e C17A ldrb r1, [r0, #11]
|
|
|
1013 02a0 595C ldrb r1, [r3, r1]
|
|
|
1014 02a2 C173 strb r1, [r0, #15]
|
|
|
1015 02a4 C179 ldrb r1, [r0, #7]
|
|
|
1016 02a6 595C ldrb r1, [r3, r1]
|
|
|
1017 02a8 C172 strb r1, [r0, #11]
|
|
|
424:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
ARM GAS /tmp/ccJ0d890.s page 30
|
|
|
|
|
|
|
|
|
1018 .loc 1 424 0
|
|
|
1019 02aa C178 ldrb r1, [r0, #3]
|
|
|
1020 02ac 595C ldrb r1, [r3, r1]
|
|
|
1021 02ae C171 strb r1, [r0, #7]
|
|
|
1022 02b0 9B5C ldrb r3, [r3, r2]
|
|
|
1023 02b2 C370 strb r3, [r0, #3]
|
|
|
1024 .LVL127:
|
|
|
1025 .LBE33:
|
|
|
1026 .LBE32:
|
|
|
580:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
581:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #else
|
|
|
582:./Middlewares/Third_Party/Lora/Crypto/aes.c **** { uint8_t s2[N_BLOCK];
|
|
|
583:./Middlewares/Third_Party/Lora/Crypto/aes.c **** mix_sub_columns( s2, s1 );
|
|
|
584:./Middlewares/Third_Party/Lora/Crypto/aes.c **** copy_and_key( s1, s2, ctx->ksch + r * N_BLOCK);
|
|
|
585:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
586:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
587:./Middlewares/Third_Party/Lora/Crypto/aes.c **** shift_sub_rows( s1 );
|
|
|
588:./Middlewares/Third_Party/Lora/Crypto/aes.c **** copy_and_key( out, s1, ctx->ksch + r * N_BLOCK );
|
|
|
1027 .loc 1 588 0
|
|
|
1028 02b4 069B ldr r3, [sp, #24]
|
|
|
1029 02b6 1A01 lsls r2, r3, #4
|
|
|
1030 02b8 0D9B ldr r3, [sp, #52]
|
|
|
1031 02ba 9C46 mov ip, r3
|
|
|
1032 02bc 6244 add r2, r2, ip
|
|
|
1033 02be 0100 movs r1, r0
|
|
|
1034 02c0 0F98 ldr r0, [sp, #60]
|
|
|
1035 02c2 FFF7FEFF bl copy_and_key
|
|
|
1036 .LVL128:
|
|
|
1037 .LBE25:
|
|
|
589:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
590:./Middlewares/Third_Party/Lora/Crypto/aes.c **** else
|
|
|
591:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return ( uint8_t )-1;
|
|
|
592:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0;
|
|
|
1038 .loc 1 592 0
|
|
|
1039 02c6 0020 movs r0, #0
|
|
|
1040 .LVL129:
|
|
|
1041 .L18:
|
|
|
593:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
1042 .loc 1 593 0
|
|
|
1043 02c8 15B0 add sp, sp, #84
|
|
|
1044 @ sp needed
|
|
|
1045 02ca 3CBC pop {r2, r3, r4, r5}
|
|
|
1046 02cc 9046 mov r8, r2
|
|
|
1047 02ce 9946 mov r9, r3
|
|
|
1048 02d0 A246 mov r10, r4
|
|
|
1049 02d2 AB46 mov fp, r5
|
|
|
1050 02d4 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
1051 .LVL130:
|
|
|
1052 .L21:
|
|
|
591:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return 0;
|
|
|
1053 .loc 1 591 0
|
|
|
1054 02d6 FF20 movs r0, #255
|
|
|
1055 .LVL131:
|
|
|
1056 02d8 F6E7 b .L18
|
|
|
1057 .L23:
|
|
|
1058 02da C046 .align 2
|
|
|
1059 .L22:
|
|
|
ARM GAS /tmp/ccJ0d890.s page 31
|
|
|
|
|
|
|
|
|
1060 02dc 00000000 .word gfm2_sbox
|
|
|
1061 02e0 00000000 .word gfm3_sbox
|
|
|
1062 02e4 00000000 .word sbox
|
|
|
1063 .cfi_endproc
|
|
|
1064 .LFE8:
|
|
|
1066 .section .text.aes_cbc_encrypt,"ax",%progbits
|
|
|
1067 .align 1
|
|
|
1068 .global aes_cbc_encrypt
|
|
|
1069 .syntax unified
|
|
|
1070 .code 16
|
|
|
1071 .thumb_func
|
|
|
1072 .fpu softvfp
|
|
|
1074 aes_cbc_encrypt:
|
|
|
1075 .LFB9:
|
|
|
594:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
595:./Middlewares/Third_Party/Lora/Crypto/aes.c **** /* CBC encrypt a number of blocks (input and return an IV) */
|
|
|
596:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
597:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return_type aes_cbc_encrypt( const uint8_t *in, uint8_t *out,
|
|
|
598:./Middlewares/Third_Party/Lora/Crypto/aes.c **** int32_t n_block, uint8_t iv[N_BLOCK], const aes_context ctx[1] )
|
|
|
599:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
1076 .loc 1 599 0
|
|
|
1077 .cfi_startproc
|
|
|
1078 @ args = 4, pretend = 0, frame = 0
|
|
|
1079 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1080 .LVL132:
|
|
|
1081 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
1082 .LCFI7:
|
|
|
1083 .cfi_def_cfa_offset 24
|
|
|
1084 .cfi_offset 3, -24
|
|
|
1085 .cfi_offset 4, -20
|
|
|
1086 .cfi_offset 5, -16
|
|
|
1087 .cfi_offset 6, -12
|
|
|
1088 .cfi_offset 7, -8
|
|
|
1089 .cfi_offset 14, -4
|
|
|
1090 0002 0600 movs r6, r0
|
|
|
1091 0004 0D00 movs r5, r1
|
|
|
1092 0006 1C00 movs r4, r3
|
|
|
1093 .LVL133:
|
|
|
1094 .L25:
|
|
|
600:./Middlewares/Third_Party/Lora/Crypto/aes.c ****
|
|
|
601:./Middlewares/Third_Party/Lora/Crypto/aes.c **** while(n_block--)
|
|
|
1095 .loc 1 601 0
|
|
|
1096 0008 571E subs r7, r2, #1
|
|
|
1097 .LVL134:
|
|
|
1098 000a 002A cmp r2, #0
|
|
|
1099 000c 2ED0 beq .L29
|
|
|
602:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
603:./Middlewares/Third_Party/Lora/Crypto/aes.c **** xor_block(iv, in);
|
|
|
1100 .loc 1 603 0
|
|
|
1101 000e 3100 movs r1, r6
|
|
|
1102 0010 2000 movs r0, r4
|
|
|
1103 0012 FFF7FEFF bl xor_block
|
|
|
1104 .LVL135:
|
|
|
604:./Middlewares/Third_Party/Lora/Crypto/aes.c **** if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS)
|
|
|
1105 .loc 1 604 0
|
|
|
1106 0016 069A ldr r2, [sp, #24]
|
|
|
1107 0018 2100 movs r1, r4
|
|
|
ARM GAS /tmp/ccJ0d890.s page 32
|
|
|
|
|
|
|
|
|
1108 001a 2000 movs r0, r4
|
|
|
1109 001c FFF7FEFF bl aes_encrypt
|
|
|
1110 .LVL136:
|
|
|
1111 0020 0028 cmp r0, #0
|
|
|
1112 0022 25D1 bne .L28
|
|
|
1113 .LVL137:
|
|
|
1114 .LBB34:
|
|
|
1115 .LBB35:
|
|
|
323:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 1] = ((uint8_t*)s)[ 1];
|
|
|
1116 .loc 1 323 0
|
|
|
1117 0024 2378 ldrb r3, [r4]
|
|
|
1118 0026 2B70 strb r3, [r5]
|
|
|
324:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 2] = ((uint8_t*)s)[ 2];
|
|
|
1119 .loc 1 324 0
|
|
|
1120 0028 6378 ldrb r3, [r4, #1]
|
|
|
1121 002a 6B70 strb r3, [r5, #1]
|
|
|
325:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 3] = ((uint8_t*)s)[ 3];
|
|
|
1122 .loc 1 325 0
|
|
|
1123 002c A378 ldrb r3, [r4, #2]
|
|
|
1124 002e AB70 strb r3, [r5, #2]
|
|
|
326:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 4] = ((uint8_t*)s)[ 4];
|
|
|
1125 .loc 1 326 0
|
|
|
1126 0030 E378 ldrb r3, [r4, #3]
|
|
|
1127 0032 EB70 strb r3, [r5, #3]
|
|
|
327:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 5] = ((uint8_t*)s)[ 5];
|
|
|
1128 .loc 1 327 0
|
|
|
1129 0034 2379 ldrb r3, [r4, #4]
|
|
|
1130 0036 2B71 strb r3, [r5, #4]
|
|
|
328:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 6] = ((uint8_t*)s)[ 6];
|
|
|
1131 .loc 1 328 0
|
|
|
1132 0038 6379 ldrb r3, [r4, #5]
|
|
|
1133 003a 6B71 strb r3, [r5, #5]
|
|
|
329:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 7] = ((uint8_t*)s)[ 7];
|
|
|
1134 .loc 1 329 0
|
|
|
1135 003c A379 ldrb r3, [r4, #6]
|
|
|
1136 003e AB71 strb r3, [r5, #6]
|
|
|
330:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 8] = ((uint8_t*)s)[ 8];
|
|
|
1137 .loc 1 330 0
|
|
|
1138 0040 E379 ldrb r3, [r4, #7]
|
|
|
1139 0042 EB71 strb r3, [r5, #7]
|
|
|
331:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[ 9] = ((uint8_t*)s)[ 9];
|
|
|
1140 .loc 1 331 0
|
|
|
1141 0044 237A ldrb r3, [r4, #8]
|
|
|
1142 0046 2B72 strb r3, [r5, #8]
|
|
|
332:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[10] = ((uint8_t*)s)[10];
|
|
|
1143 .loc 1 332 0
|
|
|
1144 0048 637A ldrb r3, [r4, #9]
|
|
|
1145 004a 6B72 strb r3, [r5, #9]
|
|
|
333:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[11] = ((uint8_t*)s)[11];
|
|
|
1146 .loc 1 333 0
|
|
|
1147 004c A37A ldrb r3, [r4, #10]
|
|
|
1148 004e AB72 strb r3, [r5, #10]
|
|
|
334:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[12] = ((uint8_t*)s)[12];
|
|
|
1149 .loc 1 334 0
|
|
|
1150 0050 E37A ldrb r3, [r4, #11]
|
|
|
1151 0052 EB72 strb r3, [r5, #11]
|
|
|
335:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[13] = ((uint8_t*)s)[13];
|
|
|
ARM GAS /tmp/ccJ0d890.s page 33
|
|
|
|
|
|
|
|
|
1152 .loc 1 335 0
|
|
|
1153 0054 237B ldrb r3, [r4, #12]
|
|
|
1154 0056 2B73 strb r3, [r5, #12]
|
|
|
336:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[14] = ((uint8_t*)s)[14];
|
|
|
1155 .loc 1 336 0
|
|
|
1156 0058 637B ldrb r3, [r4, #13]
|
|
|
1157 005a 6B73 strb r3, [r5, #13]
|
|
|
337:./Middlewares/Third_Party/Lora/Crypto/aes.c **** ((uint8_t*)d)[15] = ((uint8_t*)s)[15];
|
|
|
1158 .loc 1 337 0
|
|
|
1159 005c A37B ldrb r3, [r4, #14]
|
|
|
1160 005e AB73 strb r3, [r5, #14]
|
|
|
338:./Middlewares/Third_Party/Lora/Crypto/aes.c **** #endif
|
|
|
1161 .loc 1 338 0
|
|
|
1162 0060 E37B ldrb r3, [r4, #15]
|
|
|
1163 0062 EB73 strb r3, [r5, #15]
|
|
|
1164 .LVL138:
|
|
|
1165 .LBE35:
|
|
|
1166 .LBE34:
|
|
|
605:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return EXIT_FAILURE;
|
|
|
606:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //memcpy(out, iv, N_BLOCK);
|
|
|
607:./Middlewares/Third_Party/Lora/Crypto/aes.c **** block_copy(out, iv);
|
|
|
608:./Middlewares/Third_Party/Lora/Crypto/aes.c **** in += N_BLOCK;
|
|
|
1167 .loc 1 608 0
|
|
|
1168 0064 1036 adds r6, r6, #16
|
|
|
1169 .LVL139:
|
|
|
609:./Middlewares/Third_Party/Lora/Crypto/aes.c **** out += N_BLOCK;
|
|
|
1170 .loc 1 609 0
|
|
|
1171 0066 1035 adds r5, r5, #16
|
|
|
1172 .LVL140:
|
|
|
601:./Middlewares/Third_Party/Lora/Crypto/aes.c **** {
|
|
|
1173 .loc 1 601 0
|
|
|
1174 0068 3A00 movs r2, r7
|
|
|
1175 006a CDE7 b .L25
|
|
|
1176 .L29:
|
|
|
610:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
611:./Middlewares/Third_Party/Lora/Crypto/aes.c **** return EXIT_SUCCESS;
|
|
|
1177 .loc 1 611 0
|
|
|
1178 006c 0020 movs r0, #0
|
|
|
1179 .L26:
|
|
|
612:./Middlewares/Third_Party/Lora/Crypto/aes.c **** }
|
|
|
1180 .loc 1 612 0
|
|
|
1181 @ sp needed
|
|
|
1182 .LVL141:
|
|
|
1183 .LVL142:
|
|
|
1184 .LVL143:
|
|
|
1185 .LVL144:
|
|
|
1186 006e F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
1187 .LVL145:
|
|
|
1188 .L28:
|
|
|
605:./Middlewares/Third_Party/Lora/Crypto/aes.c **** //memcpy(out, iv, N_BLOCK);
|
|
|
1189 .loc 1 605 0
|
|
|
1190 0070 0120 movs r0, #1
|
|
|
1191 0072 FCE7 b .L26
|
|
|
1192 .cfi_endproc
|
|
|
1193 .LFE9:
|
|
|
1195 .section .rodata.gfm2_sbox,"a",%progbits
|
|
|
1196 .align 2
|
|
|
ARM GAS /tmp/ccJ0d890.s page 34
|
|
|
|
|
|
|
|
|
1199 gfm2_sbox:
|
|
|
1200 0000 C6 .byte -58
|
|
|
1201 0001 F8 .byte -8
|
|
|
1202 0002 EE .byte -18
|
|
|
1203 0003 F6 .byte -10
|
|
|
1204 0004 FF .byte -1
|
|
|
1205 0005 D6 .byte -42
|
|
|
1206 0006 DE .byte -34
|
|
|
1207 0007 91 .byte -111
|
|
|
1208 0008 60 .byte 96
|
|
|
1209 0009 02 .byte 2
|
|
|
1210 000a CE .byte -50
|
|
|
1211 000b 56 .byte 86
|
|
|
1212 000c E7 .byte -25
|
|
|
1213 000d B5 .byte -75
|
|
|
1214 000e 4D .byte 77
|
|
|
1215 000f EC .byte -20
|
|
|
1216 0010 8F .byte -113
|
|
|
1217 0011 1F .byte 31
|
|
|
1218 0012 89 .byte -119
|
|
|
1219 0013 FA .byte -6
|
|
|
1220 0014 EF .byte -17
|
|
|
1221 0015 B2 .byte -78
|
|
|
1222 0016 8E .byte -114
|
|
|
1223 0017 FB .byte -5
|
|
|
1224 0018 41 .byte 65
|
|
|
1225 0019 B3 .byte -77
|
|
|
1226 001a 5F .byte 95
|
|
|
1227 001b 45 .byte 69
|
|
|
1228 001c 23 .byte 35
|
|
|
1229 001d 53 .byte 83
|
|
|
1230 001e E4 .byte -28
|
|
|
1231 001f 9B .byte -101
|
|
|
1232 0020 75 .byte 117
|
|
|
1233 0021 E1 .byte -31
|
|
|
1234 0022 3D .byte 61
|
|
|
1235 0023 4C .byte 76
|
|
|
1236 0024 6C .byte 108
|
|
|
1237 0025 7E .byte 126
|
|
|
1238 0026 F5 .byte -11
|
|
|
1239 0027 83 .byte -125
|
|
|
1240 0028 68 .byte 104
|
|
|
1241 0029 51 .byte 81
|
|
|
1242 002a D1 .byte -47
|
|
|
1243 002b F9 .byte -7
|
|
|
1244 002c E2 .byte -30
|
|
|
1245 002d AB .byte -85
|
|
|
1246 002e 62 .byte 98
|
|
|
1247 002f 2A .byte 42
|
|
|
1248 0030 08 .byte 8
|
|
|
1249 0031 95 .byte -107
|
|
|
1250 0032 46 .byte 70
|
|
|
1251 0033 9D .byte -99
|
|
|
1252 0034 30 .byte 48
|
|
|
1253 0035 37 .byte 55
|
|
|
1254 0036 0A .byte 10
|
|
|
1255 0037 2F .byte 47
|
|
|
ARM GAS /tmp/ccJ0d890.s page 35
|
|
|
|
|
|
|
|
|
1256 0038 0E .byte 14
|
|
|
1257 0039 24 .byte 36
|
|
|
1258 003a 1B .byte 27
|
|
|
1259 003b DF .byte -33
|
|
|
1260 003c CD .byte -51
|
|
|
1261 003d 4E .byte 78
|
|
|
1262 003e 7F .byte 127
|
|
|
1263 003f EA .byte -22
|
|
|
1264 0040 12 .byte 18
|
|
|
1265 0041 1D .byte 29
|
|
|
1266 0042 58 .byte 88
|
|
|
1267 0043 34 .byte 52
|
|
|
1268 0044 36 .byte 54
|
|
|
1269 0045 DC .byte -36
|
|
|
1270 0046 B4 .byte -76
|
|
|
1271 0047 5B .byte 91
|
|
|
1272 0048 A4 .byte -92
|
|
|
1273 0049 76 .byte 118
|
|
|
1274 004a B7 .byte -73
|
|
|
1275 004b 7D .byte 125
|
|
|
1276 004c 52 .byte 82
|
|
|
1277 004d DD .byte -35
|
|
|
1278 004e 5E .byte 94
|
|
|
1279 004f 13 .byte 19
|
|
|
1280 0050 A6 .byte -90
|
|
|
1281 0051 B9 .byte -71
|
|
|
1282 0052 00 .byte 0
|
|
|
1283 0053 C1 .byte -63
|
|
|
1284 0054 40 .byte 64
|
|
|
1285 0055 E3 .byte -29
|
|
|
1286 0056 79 .byte 121
|
|
|
1287 0057 B6 .byte -74
|
|
|
1288 0058 D4 .byte -44
|
|
|
1289 0059 8D .byte -115
|
|
|
1290 005a 67 .byte 103
|
|
|
1291 005b 72 .byte 114
|
|
|
1292 005c 94 .byte -108
|
|
|
1293 005d 98 .byte -104
|
|
|
1294 005e B0 .byte -80
|
|
|
1295 005f 85 .byte -123
|
|
|
1296 0060 BB .byte -69
|
|
|
1297 0061 C5 .byte -59
|
|
|
1298 0062 4F .byte 79
|
|
|
1299 0063 ED .byte -19
|
|
|
1300 0064 86 .byte -122
|
|
|
1301 0065 9A .byte -102
|
|
|
1302 0066 66 .byte 102
|
|
|
1303 0067 11 .byte 17
|
|
|
1304 0068 8A .byte -118
|
|
|
1305 0069 E9 .byte -23
|
|
|
1306 006a 04 .byte 4
|
|
|
1307 006b FE .byte -2
|
|
|
1308 006c A0 .byte -96
|
|
|
1309 006d 78 .byte 120
|
|
|
1310 006e 25 .byte 37
|
|
|
1311 006f 4B .byte 75
|
|
|
1312 0070 A2 .byte -94
|
|
|
ARM GAS /tmp/ccJ0d890.s page 36
|
|
|
|
|
|
|
|
|
1313 0071 5D .byte 93
|
|
|
1314 0072 80 .byte -128
|
|
|
1315 0073 05 .byte 5
|
|
|
1316 0074 3F .byte 63
|
|
|
1317 0075 21 .byte 33
|
|
|
1318 0076 70 .byte 112
|
|
|
1319 0077 F1 .byte -15
|
|
|
1320 0078 63 .byte 99
|
|
|
1321 0079 77 .byte 119
|
|
|
1322 007a AF .byte -81
|
|
|
1323 007b 42 .byte 66
|
|
|
1324 007c 20 .byte 32
|
|
|
1325 007d E5 .byte -27
|
|
|
1326 007e FD .byte -3
|
|
|
1327 007f BF .byte -65
|
|
|
1328 0080 81 .byte -127
|
|
|
1329 0081 18 .byte 24
|
|
|
1330 0082 26 .byte 38
|
|
|
1331 0083 C3 .byte -61
|
|
|
1332 0084 BE .byte -66
|
|
|
1333 0085 35 .byte 53
|
|
|
1334 0086 88 .byte -120
|
|
|
1335 0087 2E .byte 46
|
|
|
1336 0088 93 .byte -109
|
|
|
1337 0089 55 .byte 85
|
|
|
1338 008a FC .byte -4
|
|
|
1339 008b 7A .byte 122
|
|
|
1340 008c C8 .byte -56
|
|
|
1341 008d BA .byte -70
|
|
|
1342 008e 32 .byte 50
|
|
|
1343 008f E6 .byte -26
|
|
|
1344 0090 C0 .byte -64
|
|
|
1345 0091 19 .byte 25
|
|
|
1346 0092 9E .byte -98
|
|
|
1347 0093 A3 .byte -93
|
|
|
1348 0094 44 .byte 68
|
|
|
1349 0095 54 .byte 84
|
|
|
1350 0096 3B .byte 59
|
|
|
1351 0097 0B .byte 11
|
|
|
1352 0098 8C .byte -116
|
|
|
1353 0099 C7 .byte -57
|
|
|
1354 009a 6B .byte 107
|
|
|
1355 009b 28 .byte 40
|
|
|
1356 009c A7 .byte -89
|
|
|
1357 009d BC .byte -68
|
|
|
1358 009e 16 .byte 22
|
|
|
1359 009f AD .byte -83
|
|
|
1360 00a0 DB .byte -37
|
|
|
1361 00a1 64 .byte 100
|
|
|
1362 00a2 74 .byte 116
|
|
|
1363 00a3 14 .byte 20
|
|
|
1364 00a4 92 .byte -110
|
|
|
1365 00a5 0C .byte 12
|
|
|
1366 00a6 48 .byte 72
|
|
|
1367 00a7 B8 .byte -72
|
|
|
1368 00a8 9F .byte -97
|
|
|
1369 00a9 BD .byte -67
|
|
|
ARM GAS /tmp/ccJ0d890.s page 37
|
|
|
|
|
|
|
|
|
1370 00aa 43 .byte 67
|
|
|
1371 00ab C4 .byte -60
|
|
|
1372 00ac 39 .byte 57
|
|
|
1373 00ad 31 .byte 49
|
|
|
1374 00ae D3 .byte -45
|
|
|
1375 00af F2 .byte -14
|
|
|
1376 00b0 D5 .byte -43
|
|
|
1377 00b1 8B .byte -117
|
|
|
1378 00b2 6E .byte 110
|
|
|
1379 00b3 DA .byte -38
|
|
|
1380 00b4 01 .byte 1
|
|
|
1381 00b5 B1 .byte -79
|
|
|
1382 00b6 9C .byte -100
|
|
|
1383 00b7 49 .byte 73
|
|
|
1384 00b8 D8 .byte -40
|
|
|
1385 00b9 AC .byte -84
|
|
|
1386 00ba F3 .byte -13
|
|
|
1387 00bb CF .byte -49
|
|
|
1388 00bc CA .byte -54
|
|
|
1389 00bd F4 .byte -12
|
|
|
1390 00be 47 .byte 71
|
|
|
1391 00bf 10 .byte 16
|
|
|
1392 00c0 6F .byte 111
|
|
|
1393 00c1 F0 .byte -16
|
|
|
1394 00c2 4A .byte 74
|
|
|
1395 00c3 5C .byte 92
|
|
|
1396 00c4 38 .byte 56
|
|
|
1397 00c5 57 .byte 87
|
|
|
1398 00c6 73 .byte 115
|
|
|
1399 00c7 97 .byte -105
|
|
|
1400 00c8 CB .byte -53
|
|
|
1401 00c9 A1 .byte -95
|
|
|
1402 00ca E8 .byte -24
|
|
|
1403 00cb 3E .byte 62
|
|
|
1404 00cc 96 .byte -106
|
|
|
1405 00cd 61 .byte 97
|
|
|
1406 00ce 0D .byte 13
|
|
|
1407 00cf 0F .byte 15
|
|
|
1408 00d0 E0 .byte -32
|
|
|
1409 00d1 7C .byte 124
|
|
|
1410 00d2 71 .byte 113
|
|
|
1411 00d3 CC .byte -52
|
|
|
1412 00d4 90 .byte -112
|
|
|
1413 00d5 06 .byte 6
|
|
|
1414 00d6 F7 .byte -9
|
|
|
1415 00d7 1C .byte 28
|
|
|
1416 00d8 C2 .byte -62
|
|
|
1417 00d9 6A .byte 106
|
|
|
1418 00da AE .byte -82
|
|
|
1419 00db 69 .byte 105
|
|
|
1420 00dc 17 .byte 23
|
|
|
1421 00dd 99 .byte -103
|
|
|
1422 00de 3A .byte 58
|
|
|
1423 00df 27 .byte 39
|
|
|
1424 00e0 D9 .byte -39
|
|
|
1425 00e1 EB .byte -21
|
|
|
1426 00e2 2B .byte 43
|
|
|
ARM GAS /tmp/ccJ0d890.s page 38
|
|
|
|
|
|
|
|
|
1427 00e3 22 .byte 34
|
|
|
1428 00e4 D2 .byte -46
|
|
|
1429 00e5 A9 .byte -87
|
|
|
1430 00e6 07 .byte 7
|
|
|
1431 00e7 33 .byte 51
|
|
|
1432 00e8 2D .byte 45
|
|
|
1433 00e9 3C .byte 60
|
|
|
1434 00ea 15 .byte 21
|
|
|
1435 00eb C9 .byte -55
|
|
|
1436 00ec 87 .byte -121
|
|
|
1437 00ed AA .byte -86
|
|
|
1438 00ee 50 .byte 80
|
|
|
1439 00ef A5 .byte -91
|
|
|
1440 00f0 03 .byte 3
|
|
|
1441 00f1 59 .byte 89
|
|
|
1442 00f2 09 .byte 9
|
|
|
1443 00f3 1A .byte 26
|
|
|
1444 00f4 65 .byte 101
|
|
|
1445 00f5 D7 .byte -41
|
|
|
1446 00f6 84 .byte -124
|
|
|
1447 00f7 D0 .byte -48
|
|
|
1448 00f8 82 .byte -126
|
|
|
1449 00f9 29 .byte 41
|
|
|
1450 00fa 5A .byte 90
|
|
|
1451 00fb 1E .byte 30
|
|
|
1452 00fc 7B .byte 123
|
|
|
1453 00fd A8 .byte -88
|
|
|
1454 00fe 6D .byte 109
|
|
|
1455 00ff 2C .byte 44
|
|
|
1456 .section .rodata.gfm3_sbox,"a",%progbits
|
|
|
1457 .align 2
|
|
|
1460 gfm3_sbox:
|
|
|
1461 0000 A5 .byte -91
|
|
|
1462 0001 84 .byte -124
|
|
|
1463 0002 99 .byte -103
|
|
|
1464 0003 8D .byte -115
|
|
|
1465 0004 0D .byte 13
|
|
|
1466 0005 BD .byte -67
|
|
|
1467 0006 B1 .byte -79
|
|
|
1468 0007 54 .byte 84
|
|
|
1469 0008 50 .byte 80
|
|
|
1470 0009 03 .byte 3
|
|
|
1471 000a A9 .byte -87
|
|
|
1472 000b 7D .byte 125
|
|
|
1473 000c 19 .byte 25
|
|
|
1474 000d 62 .byte 98
|
|
|
1475 000e E6 .byte -26
|
|
|
1476 000f 9A .byte -102
|
|
|
1477 0010 45 .byte 69
|
|
|
1478 0011 9D .byte -99
|
|
|
1479 0012 40 .byte 64
|
|
|
1480 0013 87 .byte -121
|
|
|
1481 0014 15 .byte 21
|
|
|
1482 0015 EB .byte -21
|
|
|
1483 0016 C9 .byte -55
|
|
|
1484 0017 0B .byte 11
|
|
|
1485 0018 EC .byte -20
|
|
|
ARM GAS /tmp/ccJ0d890.s page 39
|
|
|
|
|
|
|
|
|
1486 0019 67 .byte 103
|
|
|
1487 001a FD .byte -3
|
|
|
1488 001b EA .byte -22
|
|
|
1489 001c BF .byte -65
|
|
|
1490 001d F7 .byte -9
|
|
|
1491 001e 96 .byte -106
|
|
|
1492 001f 5B .byte 91
|
|
|
1493 0020 C2 .byte -62
|
|
|
1494 0021 1C .byte 28
|
|
|
1495 0022 AE .byte -82
|
|
|
1496 0023 6A .byte 106
|
|
|
1497 0024 5A .byte 90
|
|
|
1498 0025 41 .byte 65
|
|
|
1499 0026 02 .byte 2
|
|
|
1500 0027 4F .byte 79
|
|
|
1501 0028 5C .byte 92
|
|
|
1502 0029 F4 .byte -12
|
|
|
1503 002a 34 .byte 52
|
|
|
1504 002b 08 .byte 8
|
|
|
1505 002c 93 .byte -109
|
|
|
1506 002d 73 .byte 115
|
|
|
1507 002e 53 .byte 83
|
|
|
1508 002f 3F .byte 63
|
|
|
1509 0030 0C .byte 12
|
|
|
1510 0031 52 .byte 82
|
|
|
1511 0032 65 .byte 101
|
|
|
1512 0033 5E .byte 94
|
|
|
1513 0034 28 .byte 40
|
|
|
1514 0035 A1 .byte -95
|
|
|
1515 0036 0F .byte 15
|
|
|
1516 0037 B5 .byte -75
|
|
|
1517 0038 09 .byte 9
|
|
|
1518 0039 36 .byte 54
|
|
|
1519 003a 9B .byte -101
|
|
|
1520 003b 3D .byte 61
|
|
|
1521 003c 26 .byte 38
|
|
|
1522 003d 69 .byte 105
|
|
|
1523 003e CD .byte -51
|
|
|
1524 003f 9F .byte -97
|
|
|
1525 0040 1B .byte 27
|
|
|
1526 0041 9E .byte -98
|
|
|
1527 0042 74 .byte 116
|
|
|
1528 0043 2E .byte 46
|
|
|
1529 0044 2D .byte 45
|
|
|
1530 0045 B2 .byte -78
|
|
|
1531 0046 EE .byte -18
|
|
|
1532 0047 FB .byte -5
|
|
|
1533 0048 F6 .byte -10
|
|
|
1534 0049 4D .byte 77
|
|
|
1535 004a 61 .byte 97
|
|
|
1536 004b CE .byte -50
|
|
|
1537 004c 7B .byte 123
|
|
|
1538 004d 3E .byte 62
|
|
|
1539 004e 71 .byte 113
|
|
|
1540 004f 97 .byte -105
|
|
|
1541 0050 F5 .byte -11
|
|
|
1542 0051 68 .byte 104
|
|
|
ARM GAS /tmp/ccJ0d890.s page 40
|
|
|
|
|
|
|
|
|
1543 0052 00 .byte 0
|
|
|
1544 0053 2C .byte 44
|
|
|
1545 0054 60 .byte 96
|
|
|
1546 0055 1F .byte 31
|
|
|
1547 0056 C8 .byte -56
|
|
|
1548 0057 ED .byte -19
|
|
|
1549 0058 BE .byte -66
|
|
|
1550 0059 46 .byte 70
|
|
|
1551 005a D9 .byte -39
|
|
|
1552 005b 4B .byte 75
|
|
|
1553 005c DE .byte -34
|
|
|
1554 005d D4 .byte -44
|
|
|
1555 005e E8 .byte -24
|
|
|
1556 005f 4A .byte 74
|
|
|
1557 0060 6B .byte 107
|
|
|
1558 0061 2A .byte 42
|
|
|
1559 0062 E5 .byte -27
|
|
|
1560 0063 16 .byte 22
|
|
|
1561 0064 C5 .byte -59
|
|
|
1562 0065 D7 .byte -41
|
|
|
1563 0066 55 .byte 85
|
|
|
1564 0067 94 .byte -108
|
|
|
1565 0068 CF .byte -49
|
|
|
1566 0069 10 .byte 16
|
|
|
1567 006a 06 .byte 6
|
|
|
1568 006b 81 .byte -127
|
|
|
1569 006c F0 .byte -16
|
|
|
1570 006d 44 .byte 68
|
|
|
1571 006e BA .byte -70
|
|
|
1572 006f E3 .byte -29
|
|
|
1573 0070 F3 .byte -13
|
|
|
1574 0071 FE .byte -2
|
|
|
1575 0072 C0 .byte -64
|
|
|
1576 0073 8A .byte -118
|
|
|
1577 0074 AD .byte -83
|
|
|
1578 0075 BC .byte -68
|
|
|
1579 0076 48 .byte 72
|
|
|
1580 0077 04 .byte 4
|
|
|
1581 0078 DF .byte -33
|
|
|
1582 0079 C1 .byte -63
|
|
|
1583 007a 75 .byte 117
|
|
|
1584 007b 63 .byte 99
|
|
|
1585 007c 30 .byte 48
|
|
|
1586 007d 1A .byte 26
|
|
|
1587 007e 0E .byte 14
|
|
|
1588 007f 6D .byte 109
|
|
|
1589 0080 4C .byte 76
|
|
|
1590 0081 14 .byte 20
|
|
|
1591 0082 35 .byte 53
|
|
|
1592 0083 2F .byte 47
|
|
|
1593 0084 E1 .byte -31
|
|
|
1594 0085 A2 .byte -94
|
|
|
1595 0086 CC .byte -52
|
|
|
1596 0087 39 .byte 57
|
|
|
1597 0088 57 .byte 87
|
|
|
1598 0089 F2 .byte -14
|
|
|
1599 008a 82 .byte -126
|
|
|
ARM GAS /tmp/ccJ0d890.s page 41
|
|
|
|
|
|
|
|
|
1600 008b 47 .byte 71
|
|
|
1601 008c AC .byte -84
|
|
|
1602 008d E7 .byte -25
|
|
|
1603 008e 2B .byte 43
|
|
|
1604 008f 95 .byte -107
|
|
|
1605 0090 A0 .byte -96
|
|
|
1606 0091 98 .byte -104
|
|
|
1607 0092 D1 .byte -47
|
|
|
1608 0093 7F .byte 127
|
|
|
1609 0094 66 .byte 102
|
|
|
1610 0095 7E .byte 126
|
|
|
1611 0096 AB .byte -85
|
|
|
1612 0097 83 .byte -125
|
|
|
1613 0098 CA .byte -54
|
|
|
1614 0099 29 .byte 41
|
|
|
1615 009a D3 .byte -45
|
|
|
1616 009b 3C .byte 60
|
|
|
1617 009c 79 .byte 121
|
|
|
1618 009d E2 .byte -30
|
|
|
1619 009e 1D .byte 29
|
|
|
1620 009f 76 .byte 118
|
|
|
1621 00a0 3B .byte 59
|
|
|
1622 00a1 56 .byte 86
|
|
|
1623 00a2 4E .byte 78
|
|
|
1624 00a3 1E .byte 30
|
|
|
1625 00a4 DB .byte -37
|
|
|
1626 00a5 0A .byte 10
|
|
|
1627 00a6 6C .byte 108
|
|
|
1628 00a7 E4 .byte -28
|
|
|
1629 00a8 5D .byte 93
|
|
|
1630 00a9 6E .byte 110
|
|
|
1631 00aa EF .byte -17
|
|
|
1632 00ab A6 .byte -90
|
|
|
1633 00ac A8 .byte -88
|
|
|
1634 00ad A4 .byte -92
|
|
|
1635 00ae 37 .byte 55
|
|
|
1636 00af 8B .byte -117
|
|
|
1637 00b0 32 .byte 50
|
|
|
1638 00b1 43 .byte 67
|
|
|
1639 00b2 59 .byte 89
|
|
|
1640 00b3 B7 .byte -73
|
|
|
1641 00b4 8C .byte -116
|
|
|
1642 00b5 64 .byte 100
|
|
|
1643 00b6 D2 .byte -46
|
|
|
1644 00b7 E0 .byte -32
|
|
|
1645 00b8 B4 .byte -76
|
|
|
1646 00b9 FA .byte -6
|
|
|
1647 00ba 07 .byte 7
|
|
|
1648 00bb 25 .byte 37
|
|
|
1649 00bc AF .byte -81
|
|
|
1650 00bd 8E .byte -114
|
|
|
1651 00be E9 .byte -23
|
|
|
1652 00bf 18 .byte 24
|
|
|
1653 00c0 D5 .byte -43
|
|
|
1654 00c1 88 .byte -120
|
|
|
1655 00c2 6F .byte 111
|
|
|
1656 00c3 72 .byte 114
|
|
|
ARM GAS /tmp/ccJ0d890.s page 42
|
|
|
|
|
|
|
|
|
1657 00c4 24 .byte 36
|
|
|
1658 00c5 F1 .byte -15
|
|
|
1659 00c6 C7 .byte -57
|
|
|
1660 00c7 51 .byte 81
|
|
|
1661 00c8 23 .byte 35
|
|
|
1662 00c9 7C .byte 124
|
|
|
1663 00ca 9C .byte -100
|
|
|
1664 00cb 21 .byte 33
|
|
|
1665 00cc DD .byte -35
|
|
|
1666 00cd DC .byte -36
|
|
|
1667 00ce 86 .byte -122
|
|
|
1668 00cf 85 .byte -123
|
|
|
1669 00d0 90 .byte -112
|
|
|
1670 00d1 42 .byte 66
|
|
|
1671 00d2 C4 .byte -60
|
|
|
1672 00d3 AA .byte -86
|
|
|
1673 00d4 D8 .byte -40
|
|
|
1674 00d5 05 .byte 5
|
|
|
1675 00d6 01 .byte 1
|
|
|
1676 00d7 12 .byte 18
|
|
|
1677 00d8 A3 .byte -93
|
|
|
1678 00d9 5F .byte 95
|
|
|
1679 00da F9 .byte -7
|
|
|
1680 00db D0 .byte -48
|
|
|
1681 00dc 91 .byte -111
|
|
|
1682 00dd 58 .byte 88
|
|
|
1683 00de 27 .byte 39
|
|
|
1684 00df B9 .byte -71
|
|
|
1685 00e0 38 .byte 56
|
|
|
1686 00e1 13 .byte 19
|
|
|
1687 00e2 B3 .byte -77
|
|
|
1688 00e3 33 .byte 51
|
|
|
1689 00e4 BB .byte -69
|
|
|
1690 00e5 70 .byte 112
|
|
|
1691 00e6 89 .byte -119
|
|
|
1692 00e7 A7 .byte -89
|
|
|
1693 00e8 B6 .byte -74
|
|
|
1694 00e9 22 .byte 34
|
|
|
1695 00ea 92 .byte -110
|
|
|
1696 00eb 20 .byte 32
|
|
|
1697 00ec 49 .byte 73
|
|
|
1698 00ed FF .byte -1
|
|
|
1699 00ee 78 .byte 120
|
|
|
1700 00ef 7A .byte 122
|
|
|
1701 00f0 8F .byte -113
|
|
|
1702 00f1 F8 .byte -8
|
|
|
1703 00f2 80 .byte -128
|
|
|
1704 00f3 17 .byte 23
|
|
|
1705 00f4 DA .byte -38
|
|
|
1706 00f5 31 .byte 49
|
|
|
1707 00f6 C6 .byte -58
|
|
|
1708 00f7 B8 .byte -72
|
|
|
1709 00f8 C3 .byte -61
|
|
|
1710 00f9 B0 .byte -80
|
|
|
1711 00fa 77 .byte 119
|
|
|
1712 00fb 11 .byte 17
|
|
|
1713 00fc CB .byte -53
|
|
|
ARM GAS /tmp/ccJ0d890.s page 43
|
|
|
|
|
|
|
|
|
1714 00fd FC .byte -4
|
|
|
1715 00fe D6 .byte -42
|
|
|
1716 00ff 3A .byte 58
|
|
|
1717 .section .rodata.sbox,"a",%progbits
|
|
|
1718 .align 2
|
|
|
1721 sbox:
|
|
|
1722 0000 63 .byte 99
|
|
|
1723 0001 7C .byte 124
|
|
|
1724 0002 77 .byte 119
|
|
|
1725 0003 7B .byte 123
|
|
|
1726 0004 F2 .byte -14
|
|
|
1727 0005 6B .byte 107
|
|
|
1728 0006 6F .byte 111
|
|
|
1729 0007 C5 .byte -59
|
|
|
1730 0008 30 .byte 48
|
|
|
1731 0009 01 .byte 1
|
|
|
1732 000a 67 .byte 103
|
|
|
1733 000b 2B .byte 43
|
|
|
1734 000c FE .byte -2
|
|
|
1735 000d D7 .byte -41
|
|
|
1736 000e AB .byte -85
|
|
|
1737 000f 76 .byte 118
|
|
|
1738 0010 CA .byte -54
|
|
|
1739 0011 82 .byte -126
|
|
|
1740 0012 C9 .byte -55
|
|
|
1741 0013 7D .byte 125
|
|
|
1742 0014 FA .byte -6
|
|
|
1743 0015 59 .byte 89
|
|
|
1744 0016 47 .byte 71
|
|
|
1745 0017 F0 .byte -16
|
|
|
1746 0018 AD .byte -83
|
|
|
1747 0019 D4 .byte -44
|
|
|
1748 001a A2 .byte -94
|
|
|
1749 001b AF .byte -81
|
|
|
1750 001c 9C .byte -100
|
|
|
1751 001d A4 .byte -92
|
|
|
1752 001e 72 .byte 114
|
|
|
1753 001f C0 .byte -64
|
|
|
1754 0020 B7 .byte -73
|
|
|
1755 0021 FD .byte -3
|
|
|
1756 0022 93 .byte -109
|
|
|
1757 0023 26 .byte 38
|
|
|
1758 0024 36 .byte 54
|
|
|
1759 0025 3F .byte 63
|
|
|
1760 0026 F7 .byte -9
|
|
|
1761 0027 CC .byte -52
|
|
|
1762 0028 34 .byte 52
|
|
|
1763 0029 A5 .byte -91
|
|
|
1764 002a E5 .byte -27
|
|
|
1765 002b F1 .byte -15
|
|
|
1766 002c 71 .byte 113
|
|
|
1767 002d D8 .byte -40
|
|
|
1768 002e 31 .byte 49
|
|
|
1769 002f 15 .byte 21
|
|
|
1770 0030 04 .byte 4
|
|
|
1771 0031 C7 .byte -57
|
|
|
1772 0032 23 .byte 35
|
|
|
ARM GAS /tmp/ccJ0d890.s page 44
|
|
|
|
|
|
|
|
|
1773 0033 C3 .byte -61
|
|
|
1774 0034 18 .byte 24
|
|
|
1775 0035 96 .byte -106
|
|
|
1776 0036 05 .byte 5
|
|
|
1777 0037 9A .byte -102
|
|
|
1778 0038 07 .byte 7
|
|
|
1779 0039 12 .byte 18
|
|
|
1780 003a 80 .byte -128
|
|
|
1781 003b E2 .byte -30
|
|
|
1782 003c EB .byte -21
|
|
|
1783 003d 27 .byte 39
|
|
|
1784 003e B2 .byte -78
|
|
|
1785 003f 75 .byte 117
|
|
|
1786 0040 09 .byte 9
|
|
|
1787 0041 83 .byte -125
|
|
|
1788 0042 2C .byte 44
|
|
|
1789 0043 1A .byte 26
|
|
|
1790 0044 1B .byte 27
|
|
|
1791 0045 6E .byte 110
|
|
|
1792 0046 5A .byte 90
|
|
|
1793 0047 A0 .byte -96
|
|
|
1794 0048 52 .byte 82
|
|
|
1795 0049 3B .byte 59
|
|
|
1796 004a D6 .byte -42
|
|
|
1797 004b B3 .byte -77
|
|
|
1798 004c 29 .byte 41
|
|
|
1799 004d E3 .byte -29
|
|
|
1800 004e 2F .byte 47
|
|
|
1801 004f 84 .byte -124
|
|
|
1802 0050 53 .byte 83
|
|
|
1803 0051 D1 .byte -47
|
|
|
1804 0052 00 .byte 0
|
|
|
1805 0053 ED .byte -19
|
|
|
1806 0054 20 .byte 32
|
|
|
1807 0055 FC .byte -4
|
|
|
1808 0056 B1 .byte -79
|
|
|
1809 0057 5B .byte 91
|
|
|
1810 0058 6A .byte 106
|
|
|
1811 0059 CB .byte -53
|
|
|
1812 005a BE .byte -66
|
|
|
1813 005b 39 .byte 57
|
|
|
1814 005c 4A .byte 74
|
|
|
1815 005d 4C .byte 76
|
|
|
1816 005e 58 .byte 88
|
|
|
1817 005f CF .byte -49
|
|
|
1818 0060 D0 .byte -48
|
|
|
1819 0061 EF .byte -17
|
|
|
1820 0062 AA .byte -86
|
|
|
1821 0063 FB .byte -5
|
|
|
1822 0064 43 .byte 67
|
|
|
1823 0065 4D .byte 77
|
|
|
1824 0066 33 .byte 51
|
|
|
1825 0067 85 .byte -123
|
|
|
1826 0068 45 .byte 69
|
|
|
1827 0069 F9 .byte -7
|
|
|
1828 006a 02 .byte 2
|
|
|
1829 006b 7F .byte 127
|
|
|
ARM GAS /tmp/ccJ0d890.s page 45
|
|
|
|
|
|
|
|
|
1830 006c 50 .byte 80
|
|
|
1831 006d 3C .byte 60
|
|
|
1832 006e 9F .byte -97
|
|
|
1833 006f A8 .byte -88
|
|
|
1834 0070 51 .byte 81
|
|
|
1835 0071 A3 .byte -93
|
|
|
1836 0072 40 .byte 64
|
|
|
1837 0073 8F .byte -113
|
|
|
1838 0074 92 .byte -110
|
|
|
1839 0075 9D .byte -99
|
|
|
1840 0076 38 .byte 56
|
|
|
1841 0077 F5 .byte -11
|
|
|
1842 0078 BC .byte -68
|
|
|
1843 0079 B6 .byte -74
|
|
|
1844 007a DA .byte -38
|
|
|
1845 007b 21 .byte 33
|
|
|
1846 007c 10 .byte 16
|
|
|
1847 007d FF .byte -1
|
|
|
1848 007e F3 .byte -13
|
|
|
1849 007f D2 .byte -46
|
|
|
1850 0080 CD .byte -51
|
|
|
1851 0081 0C .byte 12
|
|
|
1852 0082 13 .byte 19
|
|
|
1853 0083 EC .byte -20
|
|
|
1854 0084 5F .byte 95
|
|
|
1855 0085 97 .byte -105
|
|
|
1856 0086 44 .byte 68
|
|
|
1857 0087 17 .byte 23
|
|
|
1858 0088 C4 .byte -60
|
|
|
1859 0089 A7 .byte -89
|
|
|
1860 008a 7E .byte 126
|
|
|
1861 008b 3D .byte 61
|
|
|
1862 008c 64 .byte 100
|
|
|
1863 008d 5D .byte 93
|
|
|
1864 008e 19 .byte 25
|
|
|
1865 008f 73 .byte 115
|
|
|
1866 0090 60 .byte 96
|
|
|
1867 0091 81 .byte -127
|
|
|
1868 0092 4F .byte 79
|
|
|
1869 0093 DC .byte -36
|
|
|
1870 0094 22 .byte 34
|
|
|
1871 0095 2A .byte 42
|
|
|
1872 0096 90 .byte -112
|
|
|
1873 0097 88 .byte -120
|
|
|
1874 0098 46 .byte 70
|
|
|
1875 0099 EE .byte -18
|
|
|
1876 009a B8 .byte -72
|
|
|
1877 009b 14 .byte 20
|
|
|
1878 009c DE .byte -34
|
|
|
1879 009d 5E .byte 94
|
|
|
1880 009e 0B .byte 11
|
|
|
1881 009f DB .byte -37
|
|
|
1882 00a0 E0 .byte -32
|
|
|
1883 00a1 32 .byte 50
|
|
|
1884 00a2 3A .byte 58
|
|
|
1885 00a3 0A .byte 10
|
|
|
1886 00a4 49 .byte 73
|
|
|
ARM GAS /tmp/ccJ0d890.s page 46
|
|
|
|
|
|
|
|
|
1887 00a5 06 .byte 6
|
|
|
1888 00a6 24 .byte 36
|
|
|
1889 00a7 5C .byte 92
|
|
|
1890 00a8 C2 .byte -62
|
|
|
1891 00a9 D3 .byte -45
|
|
|
1892 00aa AC .byte -84
|
|
|
1893 00ab 62 .byte 98
|
|
|
1894 00ac 91 .byte -111
|
|
|
1895 00ad 95 .byte -107
|
|
|
1896 00ae E4 .byte -28
|
|
|
1897 00af 79 .byte 121
|
|
|
1898 00b0 E7 .byte -25
|
|
|
1899 00b1 C8 .byte -56
|
|
|
1900 00b2 37 .byte 55
|
|
|
1901 00b3 6D .byte 109
|
|
|
1902 00b4 8D .byte -115
|
|
|
1903 00b5 D5 .byte -43
|
|
|
1904 00b6 4E .byte 78
|
|
|
1905 00b7 A9 .byte -87
|
|
|
1906 00b8 6C .byte 108
|
|
|
1907 00b9 56 .byte 86
|
|
|
1908 00ba F4 .byte -12
|
|
|
1909 00bb EA .byte -22
|
|
|
1910 00bc 65 .byte 101
|
|
|
1911 00bd 7A .byte 122
|
|
|
1912 00be AE .byte -82
|
|
|
1913 00bf 08 .byte 8
|
|
|
1914 00c0 BA .byte -70
|
|
|
1915 00c1 78 .byte 120
|
|
|
1916 00c2 25 .byte 37
|
|
|
1917 00c3 2E .byte 46
|
|
|
1918 00c4 1C .byte 28
|
|
|
1919 00c5 A6 .byte -90
|
|
|
1920 00c6 B4 .byte -76
|
|
|
1921 00c7 C6 .byte -58
|
|
|
1922 00c8 E8 .byte -24
|
|
|
1923 00c9 DD .byte -35
|
|
|
1924 00ca 74 .byte 116
|
|
|
1925 00cb 1F .byte 31
|
|
|
1926 00cc 4B .byte 75
|
|
|
1927 00cd BD .byte -67
|
|
|
1928 00ce 8B .byte -117
|
|
|
1929 00cf 8A .byte -118
|
|
|
1930 00d0 70 .byte 112
|
|
|
1931 00d1 3E .byte 62
|
|
|
1932 00d2 B5 .byte -75
|
|
|
1933 00d3 66 .byte 102
|
|
|
1934 00d4 48 .byte 72
|
|
|
1935 00d5 03 .byte 3
|
|
|
1936 00d6 F6 .byte -10
|
|
|
1937 00d7 0E .byte 14
|
|
|
1938 00d8 61 .byte 97
|
|
|
1939 00d9 35 .byte 53
|
|
|
1940 00da 57 .byte 87
|
|
|
1941 00db B9 .byte -71
|
|
|
1942 00dc 86 .byte -122
|
|
|
1943 00dd C1 .byte -63
|
|
|
ARM GAS /tmp/ccJ0d890.s page 47
|
|
|
|
|
|
|
|
|
1944 00de 1D .byte 29
|
|
|
1945 00df 9E .byte -98
|
|
|
1946 00e0 E1 .byte -31
|
|
|
1947 00e1 F8 .byte -8
|
|
|
1948 00e2 98 .byte -104
|
|
|
1949 00e3 11 .byte 17
|
|
|
1950 00e4 69 .byte 105
|
|
|
1951 00e5 D9 .byte -39
|
|
|
1952 00e6 8E .byte -114
|
|
|
1953 00e7 94 .byte -108
|
|
|
1954 00e8 9B .byte -101
|
|
|
1955 00e9 1E .byte 30
|
|
|
1956 00ea 87 .byte -121
|
|
|
1957 00eb E9 .byte -23
|
|
|
1958 00ec CE .byte -50
|
|
|
1959 00ed 55 .byte 85
|
|
|
1960 00ee 28 .byte 40
|
|
|
1961 00ef DF .byte -33
|
|
|
1962 00f0 8C .byte -116
|
|
|
1963 00f1 A1 .byte -95
|
|
|
1964 00f2 89 .byte -119
|
|
|
1965 00f3 0D .byte 13
|
|
|
1966 00f4 BF .byte -65
|
|
|
1967 00f5 E6 .byte -26
|
|
|
1968 00f6 42 .byte 66
|
|
|
1969 00f7 68 .byte 104
|
|
|
1970 00f8 41 .byte 65
|
|
|
1971 00f9 99 .byte -103
|
|
|
1972 00fa 2D .byte 45
|
|
|
1973 00fb 0F .byte 15
|
|
|
1974 00fc B0 .byte -80
|
|
|
1975 00fd 54 .byte 84
|
|
|
1976 00fe BB .byte -69
|
|
|
1977 00ff 16 .byte 22
|
|
|
1978 .text
|
|
|
1979 .Letext0:
|
|
|
1980 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
|
|
|
1981 .file 3 "/usr/arm-none-eabi/include/sys/lock.h"
|
|
|
1982 .file 4 "/usr/arm-none-eabi/include/sys/_types.h"
|
|
|
1983 .file 5 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
|
|
|
1984 .file 6 "/usr/arm-none-eabi/include/sys/reent.h"
|
|
|
1985 .file 7 "/usr/arm-none-eabi/include/stdlib.h"
|
|
|
1986 .file 8 "/usr/arm-none-eabi/include/sys/_stdint.h"
|
|
|
1987 .file 9 "./Middlewares/Third_Party/Lora/Crypto/aes.h"
|
|
|
ARM GAS /tmp/ccJ0d890.s page 48
|
|
|
|
|
|
|
|
|
DEFINED SYMBOLS
|
|
|
*ABS*:0000000000000000 aes.c
|
|
|
/tmp/ccJ0d890.s:16 .text.xor_block:0000000000000000 $t
|
|
|
/tmp/ccJ0d890.s:22 .text.xor_block:0000000000000000 xor_block
|
|
|
/tmp/ccJ0d890.s:118 .text.copy_and_key:0000000000000000 $t
|
|
|
/tmp/ccJ0d890.s:124 .text.copy_and_key:0000000000000000 copy_and_key
|
|
|
/tmp/ccJ0d890.s:225 .text.aes_set_key:0000000000000000 $t
|
|
|
/tmp/ccJ0d890.s:232 .text.aes_set_key:0000000000000000 aes_set_key
|
|
|
/tmp/ccJ0d890.s:498 .text.aes_set_key:0000000000000128 $d
|
|
|
/tmp/ccJ0d890.s:1721 .rodata.sbox:0000000000000000 sbox
|
|
|
/tmp/ccJ0d890.s:503 .text.aes_encrypt:0000000000000000 $t
|
|
|
/tmp/ccJ0d890.s:510 .text.aes_encrypt:0000000000000000 aes_encrypt
|
|
|
/tmp/ccJ0d890.s:1060 .text.aes_encrypt:00000000000002dc $d
|
|
|
/tmp/ccJ0d890.s:1199 .rodata.gfm2_sbox:0000000000000000 gfm2_sbox
|
|
|
/tmp/ccJ0d890.s:1460 .rodata.gfm3_sbox:0000000000000000 gfm3_sbox
|
|
|
/tmp/ccJ0d890.s:1067 .text.aes_cbc_encrypt:0000000000000000 $t
|
|
|
/tmp/ccJ0d890.s:1074 .text.aes_cbc_encrypt:0000000000000000 aes_cbc_encrypt
|
|
|
/tmp/ccJ0d890.s:1196 .rodata.gfm2_sbox:0000000000000000 $d
|
|
|
/tmp/ccJ0d890.s:1457 .rodata.gfm3_sbox:0000000000000000 $d
|
|
|
/tmp/ccJ0d890.s:1718 .rodata.sbox:0000000000000000 $d
|
|
|
.debug_frame:0000000000000010 $d
|
|
|
|
|
|
UNDEFINED SYMBOLS
|
|
|
__aeabi_uidivmod
|
|
|
|