@appzung/react-native-code-push 8.3.2 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CodePush.podspec +3 -3
  2. package/README.md +3 -1
  3. package/android/app/build.gradle +2 -0
  4. package/android/app/src/main/AndroidManifest.xml +1 -2
  5. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateUtils.java +15 -8
  6. package/android/build.gradle +3 -0
  7. package/ios/CodePush/CodePush.m +2 -1
  8. package/ios/CodePush/SSZipArchive/Info.plist +26 -0
  9. package/ios/CodePush/SSZipArchive/README.md +1 -1
  10. package/ios/CodePush/SSZipArchive/SSZipArchive.h +129 -27
  11. package/ios/CodePush/SSZipArchive/SSZipArchive.m +1119 -314
  12. package/ios/CodePush/SSZipArchive/SSZipCommon.h +71 -0
  13. package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +23 -0
  14. package/ios/CodePush/SSZipArchive/include/ZipArchive.h +25 -0
  15. package/ios/CodePush/SSZipArchive/minizip/LICENSE +17 -0
  16. package/ios/CodePush/SSZipArchive/minizip/mz.h +273 -0
  17. package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +1306 -0
  18. package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +346 -0
  19. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +187 -0
  20. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +65 -0
  21. package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +526 -0
  22. package/ios/CodePush/SSZipArchive/minizip/mz_os.c +348 -0
  23. package/ios/CodePush/SSZipArchive/minizip/mz_os.h +176 -0
  24. package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +350 -0
  25. package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +556 -0
  26. package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +132 -0
  27. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +383 -0
  28. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +42 -0
  29. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +269 -0
  30. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +48 -0
  31. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +40 -0
  32. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +203 -0
  33. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +334 -0
  34. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +46 -0
  35. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +429 -0
  36. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +43 -0
  37. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +360 -0
  38. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +46 -0
  39. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +389 -0
  40. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +43 -0
  41. package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +2782 -0
  42. package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +262 -0
  43. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +1942 -0
  44. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +285 -0
  45. package/ios/CodePush.xcodeproj/project.pbxproj +245 -130
  46. package/ios/PrivacyInfo.xcprivacy +31 -0
  47. package/package.json +2 -2
  48. package/ios/CodePush/SSZipArchive/Common.h +0 -81
  49. package/ios/CodePush/SSZipArchive/aes/aes.h +0 -198
  50. package/ios/CodePush/SSZipArchive/aes/aes_via_ace.h +0 -541
  51. package/ios/CodePush/SSZipArchive/aes/aescrypt.c +0 -294
  52. package/ios/CodePush/SSZipArchive/aes/aeskey.c +0 -548
  53. package/ios/CodePush/SSZipArchive/aes/aesopt.h +0 -739
  54. package/ios/CodePush/SSZipArchive/aes/aestab.c +0 -391
  55. package/ios/CodePush/SSZipArchive/aes/aestab.h +0 -173
  56. package/ios/CodePush/SSZipArchive/aes/brg_endian.h +0 -126
  57. package/ios/CodePush/SSZipArchive/aes/brg_types.h +0 -219
  58. package/ios/CodePush/SSZipArchive/aes/entropy.c +0 -54
  59. package/ios/CodePush/SSZipArchive/aes/entropy.h +0 -16
  60. package/ios/CodePush/SSZipArchive/aes/fileenc.c +0 -144
  61. package/ios/CodePush/SSZipArchive/aes/fileenc.h +0 -121
  62. package/ios/CodePush/SSZipArchive/aes/hmac.c +0 -145
  63. package/ios/CodePush/SSZipArchive/aes/hmac.h +0 -103
  64. package/ios/CodePush/SSZipArchive/aes/prng.c +0 -155
  65. package/ios/CodePush/SSZipArchive/aes/prng.h +0 -82
  66. package/ios/CodePush/SSZipArchive/aes/pwd2key.c +0 -103
  67. package/ios/CodePush/SSZipArchive/aes/pwd2key.h +0 -57
  68. package/ios/CodePush/SSZipArchive/aes/sha1.c +0 -258
  69. package/ios/CodePush/SSZipArchive/aes/sha1.h +0 -73
  70. package/ios/CodePush/SSZipArchive/minizip/crypt.h +0 -130
  71. package/ios/CodePush/SSZipArchive/minizip/ioapi.c +0 -369
  72. package/ios/CodePush/SSZipArchive/minizip/ioapi.h +0 -175
  73. package/ios/CodePush/SSZipArchive/minizip/mztools.c +0 -284
  74. package/ios/CodePush/SSZipArchive/minizip/mztools.h +0 -31
  75. package/ios/CodePush/SSZipArchive/minizip/unzip.c +0 -1839
  76. package/ios/CodePush/SSZipArchive/minizip/unzip.h +0 -248
  77. package/ios/CodePush/SSZipArchive/minizip/zip.c +0 -1910
  78. package/ios/CodePush/SSZipArchive/minizip/zip.h +0 -202
@@ -1,391 +0,0 @@
1
- /*
2
- ---------------------------------------------------------------------------
3
- Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved.
4
-
5
- The redistribution and use of this software (with or without changes)
6
- is allowed without the payment of fees or royalties provided that:
7
-
8
- source code distributions include the above copyright notice, this
9
- list of conditions and the following disclaimer;
10
-
11
- binary distributions include the above copyright notice, this list
12
- of conditions and the following disclaimer in their documentation.
13
-
14
- This software is provided 'as is' with no explicit or implied warranties
15
- in respect of its operation, including, but not limited to, correctness
16
- and fitness for purpose.
17
- ---------------------------------------------------------------------------
18
- Issue Date: 20/12/2007
19
- */
20
-
21
- #define DO_TABLES
22
-
23
- #include "aes.h"
24
- #include "aesopt.h"
25
-
26
- #if defined(FIXED_TABLES)
27
-
28
- #define sb_data(w) {\
29
- w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), w(0xc5),\
30
- w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), w(0xab), w(0x76),\
31
- w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), w(0x59), w(0x47), w(0xf0),\
32
- w(0xad), w(0xd4), w(0xa2), w(0xaf), w(0x9c), w(0xa4), w(0x72), w(0xc0),\
33
- w(0xb7), w(0xfd), w(0x93), w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc),\
34
- w(0x34), w(0xa5), w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15),\
35
- w(0x04), w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a),\
36
- w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), w(0x75),\
37
- w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), w(0x5a), w(0xa0),\
38
- w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), w(0xe3), w(0x2f), w(0x84),\
39
- w(0x53), w(0xd1), w(0x00), w(0xed), w(0x20), w(0xfc), w(0xb1), w(0x5b),\
40
- w(0x6a), w(0xcb), w(0xbe), w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf),\
41
- w(0xd0), w(0xef), w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85),\
42
- w(0x45), w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8),\
43
- w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), w(0xf5),\
44
- w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), w(0xf3), w(0xd2),\
45
- w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), w(0x97), w(0x44), w(0x17),\
46
- w(0xc4), w(0xa7), w(0x7e), w(0x3d), w(0x64), w(0x5d), w(0x19), w(0x73),\
47
- w(0x60), w(0x81), w(0x4f), w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88),\
48
- w(0x46), w(0xee), w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb),\
49
- w(0xe0), w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c),\
50
- w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), w(0x79),\
51
- w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), w(0x4e), w(0xa9),\
52
- w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), w(0x7a), w(0xae), w(0x08),\
53
- w(0xba), w(0x78), w(0x25), w(0x2e), w(0x1c), w(0xa6), w(0xb4), w(0xc6),\
54
- w(0xe8), w(0xdd), w(0x74), w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a),\
55
- w(0x70), w(0x3e), w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e),\
56
- w(0x61), w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e),\
57
- w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), w(0x94),\
58
- w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), w(0x28), w(0xdf),\
59
- w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), w(0xe6), w(0x42), w(0x68),\
60
- w(0x41), w(0x99), w(0x2d), w(0x0f), w(0xb0), w(0x54), w(0xbb), w(0x16) }
61
-
62
- #define isb_data(w) {\
63
- w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), w(0x38),\
64
- w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), w(0xd7), w(0xfb),\
65
- w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), w(0x2f), w(0xff), w(0x87),\
66
- w(0x34), w(0x8e), w(0x43), w(0x44), w(0xc4), w(0xde), w(0xe9), w(0xcb),\
67
- w(0x54), w(0x7b), w(0x94), w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d),\
68
- w(0xee), w(0x4c), w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e),\
69
- w(0x08), w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2),\
70
- w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), w(0x25),\
71
- w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), w(0x98), w(0x16),\
72
- w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), w(0x65), w(0xb6), w(0x92),\
73
- w(0x6c), w(0x70), w(0x48), w(0x50), w(0xfd), w(0xed), w(0xb9), w(0xda),\
74
- w(0x5e), w(0x15), w(0x46), w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84),\
75
- w(0x90), w(0xd8), w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a),\
76
- w(0xf7), w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06),\
77
- w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), w(0x02),\
78
- w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), w(0x8a), w(0x6b),\
79
- w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), w(0x67), w(0xdc), w(0xea),\
80
- w(0x97), w(0xf2), w(0xcf), w(0xce), w(0xf0), w(0xb4), w(0xe6), w(0x73),\
81
- w(0x96), w(0xac), w(0x74), w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85),\
82
- w(0xe2), w(0xf9), w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e),\
83
- w(0x47), w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89),\
84
- w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), w(0x1b),\
85
- w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), w(0x79), w(0x20),\
86
- w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), w(0xcd), w(0x5a), w(0xf4),\
87
- w(0x1f), w(0xdd), w(0xa8), w(0x33), w(0x88), w(0x07), w(0xc7), w(0x31),\
88
- w(0xb1), w(0x12), w(0x10), w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f),\
89
- w(0x60), w(0x51), w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d),\
90
- w(0x2d), w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef),\
91
- w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), w(0xb0),\
92
- w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), w(0x99), w(0x61),\
93
- w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), w(0x77), w(0xd6), w(0x26),\
94
- w(0xe1), w(0x69), w(0x14), w(0x63), w(0x55), w(0x21), w(0x0c), w(0x7d) }
95
-
96
- #define mm_data(w) {\
97
- w(0x00), w(0x01), w(0x02), w(0x03), w(0x04), w(0x05), w(0x06), w(0x07),\
98
- w(0x08), w(0x09), w(0x0a), w(0x0b), w(0x0c), w(0x0d), w(0x0e), w(0x0f),\
99
- w(0x10), w(0x11), w(0x12), w(0x13), w(0x14), w(0x15), w(0x16), w(0x17),\
100
- w(0x18), w(0x19), w(0x1a), w(0x1b), w(0x1c), w(0x1d), w(0x1e), w(0x1f),\
101
- w(0x20), w(0x21), w(0x22), w(0x23), w(0x24), w(0x25), w(0x26), w(0x27),\
102
- w(0x28), w(0x29), w(0x2a), w(0x2b), w(0x2c), w(0x2d), w(0x2e), w(0x2f),\
103
- w(0x30), w(0x31), w(0x32), w(0x33), w(0x34), w(0x35), w(0x36), w(0x37),\
104
- w(0x38), w(0x39), w(0x3a), w(0x3b), w(0x3c), w(0x3d), w(0x3e), w(0x3f),\
105
- w(0x40), w(0x41), w(0x42), w(0x43), w(0x44), w(0x45), w(0x46), w(0x47),\
106
- w(0x48), w(0x49), w(0x4a), w(0x4b), w(0x4c), w(0x4d), w(0x4e), w(0x4f),\
107
- w(0x50), w(0x51), w(0x52), w(0x53), w(0x54), w(0x55), w(0x56), w(0x57),\
108
- w(0x58), w(0x59), w(0x5a), w(0x5b), w(0x5c), w(0x5d), w(0x5e), w(0x5f),\
109
- w(0x60), w(0x61), w(0x62), w(0x63), w(0x64), w(0x65), w(0x66), w(0x67),\
110
- w(0x68), w(0x69), w(0x6a), w(0x6b), w(0x6c), w(0x6d), w(0x6e), w(0x6f),\
111
- w(0x70), w(0x71), w(0x72), w(0x73), w(0x74), w(0x75), w(0x76), w(0x77),\
112
- w(0x78), w(0x79), w(0x7a), w(0x7b), w(0x7c), w(0x7d), w(0x7e), w(0x7f),\
113
- w(0x80), w(0x81), w(0x82), w(0x83), w(0x84), w(0x85), w(0x86), w(0x87),\
114
- w(0x88), w(0x89), w(0x8a), w(0x8b), w(0x8c), w(0x8d), w(0x8e), w(0x8f),\
115
- w(0x90), w(0x91), w(0x92), w(0x93), w(0x94), w(0x95), w(0x96), w(0x97),\
116
- w(0x98), w(0x99), w(0x9a), w(0x9b), w(0x9c), w(0x9d), w(0x9e), w(0x9f),\
117
- w(0xa0), w(0xa1), w(0xa2), w(0xa3), w(0xa4), w(0xa5), w(0xa6), w(0xa7),\
118
- w(0xa8), w(0xa9), w(0xaa), w(0xab), w(0xac), w(0xad), w(0xae), w(0xaf),\
119
- w(0xb0), w(0xb1), w(0xb2), w(0xb3), w(0xb4), w(0xb5), w(0xb6), w(0xb7),\
120
- w(0xb8), w(0xb9), w(0xba), w(0xbb), w(0xbc), w(0xbd), w(0xbe), w(0xbf),\
121
- w(0xc0), w(0xc1), w(0xc2), w(0xc3), w(0xc4), w(0xc5), w(0xc6), w(0xc7),\
122
- w(0xc8), w(0xc9), w(0xca), w(0xcb), w(0xcc), w(0xcd), w(0xce), w(0xcf),\
123
- w(0xd0), w(0xd1), w(0xd2), w(0xd3), w(0xd4), w(0xd5), w(0xd6), w(0xd7),\
124
- w(0xd8), w(0xd9), w(0xda), w(0xdb), w(0xdc), w(0xdd), w(0xde), w(0xdf),\
125
- w(0xe0), w(0xe1), w(0xe2), w(0xe3), w(0xe4), w(0xe5), w(0xe6), w(0xe7),\
126
- w(0xe8), w(0xe9), w(0xea), w(0xeb), w(0xec), w(0xed), w(0xee), w(0xef),\
127
- w(0xf0), w(0xf1), w(0xf2), w(0xf3), w(0xf4), w(0xf5), w(0xf6), w(0xf7),\
128
- w(0xf8), w(0xf9), w(0xfa), w(0xfb), w(0xfc), w(0xfd), w(0xfe), w(0xff) }
129
-
130
- #define rc_data(w) {\
131
- w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
132
- w(0x1b), w(0x36) }
133
-
134
- #define h0(x) (x)
135
-
136
- #define w0(p) bytes2word(p, 0, 0, 0)
137
- #define w1(p) bytes2word(0, p, 0, 0)
138
- #define w2(p) bytes2word(0, 0, p, 0)
139
- #define w3(p) bytes2word(0, 0, 0, p)
140
-
141
- #define u0(p) bytes2word(f2(p), p, p, f3(p))
142
- #define u1(p) bytes2word(f3(p), f2(p), p, p)
143
- #define u2(p) bytes2word(p, f3(p), f2(p), p)
144
- #define u3(p) bytes2word(p, p, f3(p), f2(p))
145
-
146
- #define v0(p) bytes2word(fe(p), f9(p), fd(p), fb(p))
147
- #define v1(p) bytes2word(fb(p), fe(p), f9(p), fd(p))
148
- #define v2(p) bytes2word(fd(p), fb(p), fe(p), f9(p))
149
- #define v3(p) bytes2word(f9(p), fd(p), fb(p), fe(p))
150
-
151
- #endif
152
-
153
- #if defined(FIXED_TABLES) || !defined(FF_TABLES)
154
-
155
- #define f2(x) ((x<<1) ^ (((x>>7) & 1) * WPOLY))
156
- #define f4(x) ((x<<2) ^ (((x>>6) & 1) * WPOLY) ^ (((x>>6) & 2) * WPOLY))
157
- #define f8(x) ((x<<3) ^ (((x>>5) & 1) * WPOLY) ^ (((x>>5) & 2) * WPOLY) \
158
- ^ (((x>>5) & 4) * WPOLY))
159
- #define f3(x) (f2(x) ^ x)
160
- #define f9(x) (f8(x) ^ x)
161
- #define fb(x) (f8(x) ^ f2(x) ^ x)
162
- #define fd(x) (f8(x) ^ f4(x) ^ x)
163
- #define fe(x) (f8(x) ^ f4(x) ^ f2(x))
164
-
165
- #else
166
-
167
- #define f2(x) ((x) ? pow[log[x] + 0x19] : 0)
168
- #define f3(x) ((x) ? pow[log[x] + 0x01] : 0)
169
- #define f9(x) ((x) ? pow[log[x] + 0xc7] : 0)
170
- #define fb(x) ((x) ? pow[log[x] + 0x68] : 0)
171
- #define fd(x) ((x) ? pow[log[x] + 0xee] : 0)
172
- #define fe(x) ((x) ? pow[log[x] + 0xdf] : 0)
173
-
174
- #endif
175
-
176
- #include "aestab.h"
177
-
178
- #if defined(__cplusplus)
179
- extern "C"
180
- {
181
- #endif
182
-
183
- #if defined(FIXED_TABLES)
184
-
185
- /* implemented in case of wrong call for fixed tables */
186
-
187
- AES_RETURN aes_init(void)
188
- {
189
- return EXIT_SUCCESS;
190
- }
191
-
192
- #else /* Generate the tables for the dynamic table option */
193
-
194
- #if defined(FF_TABLES)
195
-
196
- #define gf_inv(x) ((x) ? pow[ 255 - log[x]] : 0)
197
-
198
- #else
199
-
200
- /* It will generally be sensible to use tables to compute finite
201
- field multiplies and inverses but where memory is scarse this
202
- code might sometimes be better. But it only has effect during
203
- initialisation so its pretty unimportant in overall terms.
204
- */
205
-
206
- /* return 2 ^ (n - 1) where n is the bit number of the highest bit
207
- set in x with x in the range 1 < x < 0x00000200. This form is
208
- used so that locals within fi can be bytes rather than words
209
- */
210
-
211
- static uint_8t hibit(const uint_32t x)
212
- { uint_8t r = (uint_8t)((x >> 1) | (x >> 2));
213
-
214
- r |= (r >> 2);
215
- r |= (r >> 4);
216
- return (r + 1) >> 1;
217
- }
218
-
219
- /* return the inverse of the finite field element x */
220
-
221
- static uint_8t gf_inv(const uint_8t x)
222
- { uint_8t p1 = x, p2 = BPOLY, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;
223
-
224
- if(x < 2)
225
- return x;
226
-
227
- for( ; ; )
228
- {
229
- if(n1)
230
- while(n2 >= n1) /* divide polynomial p2 by p1 */
231
- {
232
- n2 /= n1; /* shift smaller polynomial left */
233
- p2 ^= (p1 * n2) & 0xff; /* and remove from larger one */
234
- v2 ^= v1 * n2; /* shift accumulated value and */
235
- n2 = hibit(p2); /* add into result */
236
- }
237
- else
238
- return v1;
239
-
240
- if(n2) /* repeat with values swapped */
241
- while(n1 >= n2)
242
- {
243
- n1 /= n2;
244
- p1 ^= p2 * n1;
245
- v1 ^= v2 * n1;
246
- n1 = hibit(p1);
247
- }
248
- else
249
- return v2;
250
- }
251
- }
252
-
253
- #endif
254
-
255
- /* The forward and inverse affine transformations used in the S-box */
256
- uint_8t fwd_affine(const uint_8t x)
257
- { uint_32t w = x;
258
- w ^= (w << 1) ^ (w << 2) ^ (w << 3) ^ (w << 4);
259
- return 0x63 ^ ((w ^ (w >> 8)) & 0xff);
260
- }
261
-
262
- uint_8t inv_affine(const uint_8t x)
263
- { uint_32t w = x;
264
- w = (w << 1) ^ (w << 3) ^ (w << 6);
265
- return 0x05 ^ ((w ^ (w >> 8)) & 0xff);
266
- }
267
-
268
- static int init = 0;
269
-
270
- AES_RETURN aes_init(void)
271
- { uint_32t i, w;
272
-
273
- #if defined(FF_TABLES)
274
-
275
- uint_8t pow[512], log[256];
276
-
277
- if(init)
278
- return EXIT_SUCCESS;
279
- /* log and power tables for GF(2^8) finite field with
280
- WPOLY as modular polynomial - the simplest primitive
281
- root is 0x03, used here to generate the tables
282
- */
283
-
284
- i = 0; w = 1;
285
- do
286
- {
287
- pow[i] = (uint_8t)w;
288
- pow[i + 255] = (uint_8t)w;
289
- log[w] = (uint_8t)i++;
290
- w ^= (w << 1) ^ (w & 0x80 ? WPOLY : 0);
291
- }
292
- while (w != 1);
293
-
294
- #else
295
- if(init)
296
- return EXIT_SUCCESS;
297
- #endif
298
-
299
- for(i = 0, w = 1; i < RC_LENGTH; ++i)
300
- {
301
- t_set(r,c)[i] = bytes2word(w, 0, 0, 0);
302
- w = f2(w);
303
- }
304
-
305
- for(i = 0; i < 256; ++i)
306
- { uint_8t b;
307
-
308
- b = fwd_affine(gf_inv((uint_8t)i));
309
- w = bytes2word(f2(b), b, b, f3(b));
310
-
311
- #if defined( SBX_SET )
312
- t_set(s,box)[i] = b;
313
- #endif
314
-
315
- #if defined( FT1_SET ) /* tables for a normal encryption round */
316
- t_set(f,n)[i] = w;
317
- #endif
318
- #if defined( FT4_SET )
319
- t_set(f,n)[0][i] = w;
320
- t_set(f,n)[1][i] = upr(w,1);
321
- t_set(f,n)[2][i] = upr(w,2);
322
- t_set(f,n)[3][i] = upr(w,3);
323
- #endif
324
- w = bytes2word(b, 0, 0, 0);
325
-
326
- #if defined( FL1_SET ) /* tables for last encryption round (may also */
327
- t_set(f,l)[i] = w; /* be used in the key schedule) */
328
- #endif
329
- #if defined( FL4_SET )
330
- t_set(f,l)[0][i] = w;
331
- t_set(f,l)[1][i] = upr(w,1);
332
- t_set(f,l)[2][i] = upr(w,2);
333
- t_set(f,l)[3][i] = upr(w,3);
334
- #endif
335
-
336
- #if defined( LS1_SET ) /* table for key schedule if t_set(f,l) above is*/
337
- t_set(l,s)[i] = w; /* not of the required form */
338
- #endif
339
- #if defined( LS4_SET )
340
- t_set(l,s)[0][i] = w;
341
- t_set(l,s)[1][i] = upr(w,1);
342
- t_set(l,s)[2][i] = upr(w,2);
343
- t_set(l,s)[3][i] = upr(w,3);
344
- #endif
345
-
346
- b = gf_inv(inv_affine((uint_8t)i));
347
- w = bytes2word(fe(b), f9(b), fd(b), fb(b));
348
-
349
- #if defined( IM1_SET ) /* tables for the inverse mix column operation */
350
- t_set(i,m)[b] = w;
351
- #endif
352
- #if defined( IM4_SET )
353
- t_set(i,m)[0][b] = w;
354
- t_set(i,m)[1][b] = upr(w,1);
355
- t_set(i,m)[2][b] = upr(w,2);
356
- t_set(i,m)[3][b] = upr(w,3);
357
- #endif
358
-
359
- #if defined( ISB_SET )
360
- t_set(i,box)[i] = b;
361
- #endif
362
- #if defined( IT1_SET ) /* tables for a normal decryption round */
363
- t_set(i,n)[i] = w;
364
- #endif
365
- #if defined( IT4_SET )
366
- t_set(i,n)[0][i] = w;
367
- t_set(i,n)[1][i] = upr(w,1);
368
- t_set(i,n)[2][i] = upr(w,2);
369
- t_set(i,n)[3][i] = upr(w,3);
370
- #endif
371
- w = bytes2word(b, 0, 0, 0);
372
- #if defined( IL1_SET ) /* tables for last decryption round */
373
- t_set(i,l)[i] = w;
374
- #endif
375
- #if defined( IL4_SET )
376
- t_set(i,l)[0][i] = w;
377
- t_set(i,l)[1][i] = upr(w,1);
378
- t_set(i,l)[2][i] = upr(w,2);
379
- t_set(i,l)[3][i] = upr(w,3);
380
- #endif
381
- }
382
- init = 1;
383
- return EXIT_SUCCESS;
384
- }
385
-
386
- #endif
387
-
388
- #if defined(__cplusplus)
389
- }
390
- #endif
391
-
@@ -1,173 +0,0 @@
1
- /*
2
- ---------------------------------------------------------------------------
3
- Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved.
4
-
5
- The redistribution and use of this software (with or without changes)
6
- is allowed without the payment of fees or royalties provided that:
7
-
8
- source code distributions include the above copyright notice, this
9
- list of conditions and the following disclaimer;
10
-
11
- binary distributions include the above copyright notice, this list
12
- of conditions and the following disclaimer in their documentation.
13
-
14
- This software is provided 'as is' with no explicit or implied warranties
15
- in respect of its operation, including, but not limited to, correctness
16
- and fitness for purpose.
17
- ---------------------------------------------------------------------------
18
- Issue Date: 20/12/2007
19
-
20
- This file contains the code for declaring the tables needed to implement
21
- AES. The file aesopt.h is assumed to be included before this header file.
22
- If there are no global variables, the definitions here can be used to put
23
- the AES tables in a structure so that a pointer can then be added to the
24
- AES context to pass them to the AES routines that need them. If this
25
- facility is used, the calling program has to ensure that this pointer is
26
- managed appropriately. In particular, the value of the t_dec(in,it) item
27
- in the table structure must be set to zero in order to ensure that the
28
- tables are initialised. In practice the three code sequences in aeskey.c
29
- that control the calls to aes_init() and the aes_init() routine itself will
30
- have to be changed for a specific implementation. If global variables are
31
- available it will generally be preferable to use them with the precomputed
32
- FIXED_TABLES option that uses static global tables.
33
-
34
- The following defines can be used to control the way the tables
35
- are defined, initialised and used in embedded environments that
36
- require special features for these purposes
37
-
38
- the 't_dec' construction is used to declare fixed table arrays
39
- the 't_set' construction is used to set fixed table values
40
- the 't_use' construction is used to access fixed table values
41
-
42
- 256 byte tables:
43
-
44
- t_xxx(s,box) => forward S box
45
- t_xxx(i,box) => inverse S box
46
-
47
- 256 32-bit word OR 4 x 256 32-bit word tables:
48
-
49
- t_xxx(f,n) => forward normal round
50
- t_xxx(f,l) => forward last round
51
- t_xxx(i,n) => inverse normal round
52
- t_xxx(i,l) => inverse last round
53
- t_xxx(l,s) => key schedule table
54
- t_xxx(i,m) => key schedule table
55
-
56
- Other variables and tables:
57
-
58
- t_xxx(r,c) => the rcon table
59
- */
60
-
61
- #if !defined( _AESTAB_H )
62
- #define _AESTAB_H
63
-
64
- #if defined(__cplusplus)
65
- extern "C" {
66
- #endif
67
-
68
- #define t_dec(m,n) t_##m##n
69
- #define t_set(m,n) t_##m##n
70
- #define t_use(m,n) t_##m##n
71
-
72
- #if defined(FIXED_TABLES)
73
- # if !defined( __GNUC__ ) && (defined( __MSDOS__ ) || defined( __WIN16__ ))
74
- /* make tables far data to avoid using too much DGROUP space (PG) */
75
- # define CONST const far
76
- # else
77
- # define CONST const
78
- # endif
79
- #else
80
- # define CONST
81
- #endif
82
-
83
- #if defined(DO_TABLES)
84
- # define EXTERN
85
- #else
86
- # define EXTERN extern
87
- #endif
88
-
89
- #if defined(_MSC_VER) && defined(TABLE_ALIGN)
90
- #define ALIGN __declspec(align(TABLE_ALIGN))
91
- #else
92
- #define ALIGN
93
- #endif
94
-
95
- #if defined( __WATCOMC__ ) && ( __WATCOMC__ >= 1100 )
96
- # define XP_DIR __cdecl
97
- #else
98
- # define XP_DIR
99
- #endif
100
-
101
- #if defined(DO_TABLES) && defined(FIXED_TABLES)
102
- #define d_1(t,n,b,e) EXTERN ALIGN CONST XP_DIR t n[256] = b(e)
103
- #define d_4(t,n,b,e,f,g,h) EXTERN ALIGN CONST XP_DIR t n[4][256] = { b(e), b(f), b(g), b(h) }
104
- EXTERN ALIGN CONST uint_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
105
- #else
106
- #define d_1(t,n,b,e) EXTERN ALIGN CONST XP_DIR t n[256]
107
- #define d_4(t,n,b,e,f,g,h) EXTERN ALIGN CONST XP_DIR t n[4][256]
108
- EXTERN ALIGN CONST uint_32t t_dec(r,c)[RC_LENGTH];
109
- #endif
110
-
111
- #if defined( SBX_SET )
112
- d_1(uint_8t, t_dec(s,box), sb_data, h0);
113
- #endif
114
- #if defined( ISB_SET )
115
- d_1(uint_8t, t_dec(i,box), isb_data, h0);
116
- #endif
117
-
118
- #if defined( FT1_SET )
119
- d_1(uint_32t, t_dec(f,n), sb_data, u0);
120
- #endif
121
- #if defined( FT4_SET )
122
- d_4(uint_32t, t_dec(f,n), sb_data, u0, u1, u2, u3);
123
- #endif
124
-
125
- #if defined( FL1_SET )
126
- d_1(uint_32t, t_dec(f,l), sb_data, w0);
127
- #endif
128
- #if defined( FL4_SET )
129
- d_4(uint_32t, t_dec(f,l), sb_data, w0, w1, w2, w3);
130
- #endif
131
-
132
- #if defined( IT1_SET )
133
- d_1(uint_32t, t_dec(i,n), isb_data, v0);
134
- #endif
135
- #if defined( IT4_SET )
136
- d_4(uint_32t, t_dec(i,n), isb_data, v0, v1, v2, v3);
137
- #endif
138
-
139
- #if defined( IL1_SET )
140
- d_1(uint_32t, t_dec(i,l), isb_data, w0);
141
- #endif
142
- #if defined( IL4_SET )
143
- d_4(uint_32t, t_dec(i,l), isb_data, w0, w1, w2, w3);
144
- #endif
145
-
146
- #if defined( LS1_SET )
147
- #if defined( FL1_SET )
148
- #undef LS1_SET
149
- #else
150
- d_1(uint_32t, t_dec(l,s), sb_data, w0);
151
- #endif
152
- #endif
153
-
154
- #if defined( LS4_SET )
155
- #if defined( FL4_SET )
156
- #undef LS4_SET
157
- #else
158
- d_4(uint_32t, t_dec(l,s), sb_data, w0, w1, w2, w3);
159
- #endif
160
- #endif
161
-
162
- #if defined( IM1_SET )
163
- d_1(uint_32t, t_dec(i,m), mm_data, v0);
164
- #endif
165
- #if defined( IM4_SET )
166
- d_4(uint_32t, t_dec(i,m), mm_data, v0, v1, v2, v3);
167
- #endif
168
-
169
- #if defined(__cplusplus)
170
- }
171
- #endif
172
-
173
- #endif
@@ -1,126 +0,0 @@
1
- /*
2
- ---------------------------------------------------------------------------
3
- Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved.
4
-
5
- The redistribution and use of this software (with or without changes)
6
- is allowed without the payment of fees or royalties provided that:
7
-
8
- source code distributions include the above copyright notice, this
9
- list of conditions and the following disclaimer;
10
-
11
- binary distributions include the above copyright notice, this list
12
- of conditions and the following disclaimer in their documentation.
13
-
14
- This software is provided 'as is' with no explicit or implied warranties
15
- in respect of its operation, including, but not limited to, correctness
16
- and fitness for purpose.
17
- ---------------------------------------------------------------------------
18
- Issue Date: 20/12/2007
19
- */
20
-
21
- #ifndef _BRG_ENDIAN_H
22
- #define _BRG_ENDIAN_H
23
-
24
- #define IS_BIG_ENDIAN 4321 /* byte 0 is most significant (mc68k) */
25
- #define IS_LITTLE_ENDIAN 1234 /* byte 0 is least significant (i386) */
26
-
27
- /* Include files where endian defines and byteswap functions may reside */
28
- #if defined( __sun )
29
- # include <sys/isa_defs.h>
30
- #elif defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __NetBSD__ )
31
- # include <sys/endian.h>
32
- #elif defined( BSD ) && ( BSD >= 199103 ) || defined( __APPLE__ ) || \
33
- defined( __CYGWIN32__ ) || defined( __DJGPP__ ) || defined( __osf__ )
34
- # include <machine/endian.h>
35
- #elif defined( __linux__ ) || defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
36
- # if !defined( __MINGW32__ ) && !defined( _AIX )
37
- # include <endian.h>
38
- # if !defined( __BEOS__ )
39
- # include <byteswap.h>
40
- # endif
41
- # endif
42
- #endif
43
-
44
- /* Now attempt to set the define for platform byte order using any */
45
- /* of the four forms SYMBOL, _SYMBOL, __SYMBOL & __SYMBOL__, which */
46
- /* seem to encompass most endian symbol definitions */
47
-
48
- #if defined( BIG_ENDIAN ) && defined( LITTLE_ENDIAN )
49
- # if defined( BYTE_ORDER ) && BYTE_ORDER == BIG_ENDIAN
50
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
51
- # elif defined( BYTE_ORDER ) && BYTE_ORDER == LITTLE_ENDIAN
52
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
53
- # endif
54
- #elif defined( BIG_ENDIAN )
55
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
56
- #elif defined( LITTLE_ENDIAN )
57
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
58
- #endif
59
-
60
- #if defined( _BIG_ENDIAN ) && defined( _LITTLE_ENDIAN )
61
- # if defined( _BYTE_ORDER ) && _BYTE_ORDER == _BIG_ENDIAN
62
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
63
- # elif defined( _BYTE_ORDER ) && _BYTE_ORDER == _LITTLE_ENDIAN
64
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
65
- # endif
66
- #elif defined( _BIG_ENDIAN )
67
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
68
- #elif defined( _LITTLE_ENDIAN )
69
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
70
- #endif
71
-
72
- #if defined( __BIG_ENDIAN ) && defined( __LITTLE_ENDIAN )
73
- # if defined( __BYTE_ORDER ) && __BYTE_ORDER == __BIG_ENDIAN
74
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
75
- # elif defined( __BYTE_ORDER ) && __BYTE_ORDER == __LITTLE_ENDIAN
76
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
77
- # endif
78
- #elif defined( __BIG_ENDIAN )
79
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
80
- #elif defined( __LITTLE_ENDIAN )
81
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
82
- #endif
83
-
84
- #if defined( __BIG_ENDIAN__ ) && defined( __LITTLE_ENDIAN__ )
85
- # if defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __BIG_ENDIAN__
86
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
87
- # elif defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __LITTLE_ENDIAN__
88
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
89
- # endif
90
- #elif defined( __BIG_ENDIAN__ )
91
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
92
- #elif defined( __LITTLE_ENDIAN__ )
93
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
94
- #endif
95
-
96
- /* if the platform byte order could not be determined, then try to */
97
- /* set this define using common machine defines */
98
- #if !defined(PLATFORM_BYTE_ORDER)
99
-
100
- #if defined( __alpha__ ) || defined( __alpha ) || defined( i386 ) || \
101
- defined( __i386__ ) || defined( _M_I86 ) || defined( _M_IX86 ) || \
102
- defined( __OS2__ ) || defined( sun386 ) || defined( __TURBOC__ ) || \
103
- defined( vax ) || defined( vms ) || defined( VMS ) || \
104
- defined( __VMS ) || defined( _M_X64 )
105
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
106
-
107
- #elif defined( AMIGA ) || defined( applec ) || defined( __AS400__ ) || \
108
- defined( _CRAY ) || defined( __hppa ) || defined( __hp9000 ) || \
109
- defined( ibm370 ) || defined( mc68000 ) || defined( m68k ) || \
110
- defined( __MRC__ ) || defined( __MVS__ ) || defined( __MWERKS__ ) || \
111
- defined( sparc ) || defined( __sparc) || defined( SYMANTEC_C ) || \
112
- defined( __VOS__ ) || defined( __TIGCC__ ) || defined( __TANDEM ) || \
113
- defined( THINK_C ) || defined( __VMCMS__ ) || defined( _AIX )
114
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
115
-
116
- #elif 0 /* **** EDIT HERE IF NECESSARY **** */
117
- # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
118
- #elif 0 /* **** EDIT HERE IF NECESSARY **** */
119
- # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
120
- #else
121
- # error Please edit lines 126 or 128 in brg_endian.h to set the platform byte order
122
- #endif
123
-
124
- #endif
125
-
126
- #endif