Se acerca el viernes por la noche, las semanas de trabajo de la próxima semana escolar se acercan agresivamente a su conclusión lógica, y esto significa que puede aflojar un poco el dominio de los deberes oficiales un poco y holgazanear un poco. ¿Y qué podría ser más pacífico que caer en fantasías sofisticadas sobre los patrones según los cuales existe este mundo mortal? Absolutamente nada ...
Con este texto, propongo diluir el alto grado de seriedad de la mayoría de las habropublicaciones y, recostándome en la silla / camino del trabajo / estudio, seguir la lógica de una analogía interesante
ilusoria que revela todos los secretos del universo (en serio).
Descargo de responsabilidad. El autor de ninguna manera exige considerar esta publicación como la verdad última, sino que simplemente comparte su propio punto de vista (que, por cierto, puede variar según la ubicación de las estrellas). Bueno, Kamon, ¡déjame soñar, al final!
Antecedentes
Para poder hacer la comparación, nacida de mi mente inflamada, tendré que comenzar desde lejos.
Una vez, hace aproximadamente un año, estaba resolviendo
un problema criptográfico de este tipo. Lo más destacado del programa fue una sustitución especial en un conjunto de números
overline0,255 utilizado en la cuasi implementación del algoritmo de cifrado AES-256, que convirtió un cifrado irrompible en una pila de transformaciones algebraicas inútiles.
Esta sustitución fue la siguiente:
2b c4 4d a2 76 99 10 ff 56 b9 30 df 0b e4 6d 82
db 34 bd 52 86 69 e0 0f a6 49 c0 2f fb 14 9d 72
95 7a f3 1c c8 27 ae 41 e8 07 8e 61 b5 5a d3 3c
65 8a 03 ec 38 d7 5e b1 18 f7 7e 91 45 aa 23 cc
cb 24 ad 42 96 79 f0 1f b6 59 d0 3f eb 04 8d 62
3b d4 5d b2 66 89 00 ef 46 a9 20 cf 1b f4 7d 92
75 9a 13 fc 28 c7 4e a1 08 e7 6e 81 55 ba 33 dc
85 6a e3 0c d8 37 be 51 f8 17 9e 71 a5 4a c3 2c
6f 80 09 e6 32 dd 54 bb 12 fd 74 9b 4f a0 29 c6
9f 70 f9 16 c2 2d a4 4b e2 0d 84 6b bf 50 d9 36
d1 3e b7 58 8c 63 ea 05 ac 43 ca 25 f1 1e 97 78
21 ce 47 a8 7c 93 1a f5 5c b3 3a d5 01 ee 67 88
8f 60 e9 06 d2 3d b4 5b f2 1d 94 7b af 40 c9 26
7f 90 19 f6 22 cd 44 ab 02 ed 64 8b 5f b0 39 d6
31 de 57 b8 6c 83 0a e5 4c a3 2a c5 11 fe 77 98
c1 2e a7 48 9c 73 fa 15 bc 53 da 35 e1 0e 87 68
En forma decimal:
Sbox-M Decimal43 196 77 162 118 153 16 255
86 185 48 223 11 228 109 130
219 52 189 82 134 105 224 15
166 73 192 47 251 20 157 114
149 122 243 28 200 39 174 65
232 7 142 97 181 90 211 60
101 138 3 236 56 215 94 177
24 247 126 145 69 170 35 204
203 36 173 66 150 121 240 31
182 89 208 63 235 4 141 98
59 212 93 178 102 137 0 239
70 169 32 207 27 244 125 146
117 154 19 252 40 199 78 161
8 231 110 129 85 186 51 220
133 106 227 12 216 55 190 81
248 23 158 113 165 74 195 44
111 128 9 230 50 221 84 187
18 253 116 155 79 160 41 198
159 112 249 22 194 45 164 75
226 13 132 107 191 80 217 54
209 62 183 88 140 99 234 5
172 67 202 37 241 30 151 120
33 206 71 168 124 147 26 245
92 179 58 213 1 238 103 136
143 96 233 6 210 61 180 91
242 29 148 123 175 64 201 38
127 144 25 246 34 205 68 171
2 237 100 139 95 176 57 214
49 222 87 184 108 131 10 229
76 163 42 197 17 254 119 152
193 46 167 72 156 115 250 21
188 83 218 53 225 14 135 104
Cómo comenzar la solución:
- Construye una tabla de características diferenciales.
- Con base en las características de la tabla resultante (resulta ser degenerada), concluimos que el "antepasado" de la permutación extraña es una función afín de la forma f(x)=Mx oplusv .
Antes de llegar a la conclusión correcta descrita anteriormente, llamé la atención sobre otros patrones con los que esta sustitución "vive".
Por ejemplo, aquí hay algunos de ellos (
sbox - la sustitución especificada por la matriz unidimensional;
oplus - operación de adición módulo 2 (también conocido como XOR)):
- \ forall i \ in \ {0, 1, 2, 4, 8, 16, 32, 64, 128 \}: sbox [i] = random \ _unique\ forall i \ in \ {0, 1, 2, 4, 8, 16, 32, 64, 128 \}: sbox [i] = random \ _unique - arbitrario, no coincide con otros elementos de sustitución.
- \ forall i \ in \ {3, 5, 7, 9, 11, 13, 15 \}: sbox [i] = sbox [i-3] \ oplus sbox [i-2] \ oplus sbox [i-1 ]\ forall i \ in \ {3, 5, 7, 9, 11, 13, 15 \}: sbox [i] = sbox [i-3] \ oplus sbox [i-2] \ oplus sbox [i-1 ]
- \ forall i \ in \ {6, 10, 14 \}: sbox [i] = sbox [i-6] \ oplus sbox [i-4] \ oplus sbox [i-2]\ forall i \ in \ {6, 10, 14 \}: sbox [i] = sbox [i-6] \ oplus sbox [i-4] \ oplus sbox [i-2]
- i=12:sbox[i]=sbox[i−12] oplussbox[i−8] oplussbox[i−4]
- foralli in overline17,32 cup overline33,48 cup overline65,80 cup overline129,144:sbox[i]=sbox[i−17] oplussbox[i−16] oplussbox[i−1]
- foralli in overline80,96 cup overline144,160 cup overline208,224:sbox[i]=sbox[i−16] oplussbox[16] oplussbox[0]
- foralli in overline96,112 cup overline160,176 cup overline224,240:sbox[i]=sbox[i−32] oplussbox[32] oplussbox[0]
- foralli in overline192,208:sbox[i]=sbox[i−64] oplussbox[64] oplussbox[0]
- foralli in overline48,64 cup overline112,128 cup overline176,192 cup overline240,256:sbox[i]=sbox[i−48] oplussbox[i−32] oplussbox[i−16]
- ldots
Ahora es obvio que todo esto es solo un "efecto secundario", las "consecuencias" de aplicar el método verdadero (usando transformación matemática) para generar tales permutaciones.
Antes de obtener el algoritmo correcto para construir
Sboxes afines, estaba tan interesado en esta "adicción mágica a tres XOR" que traté de deducir un método artificial para su producción (
Sbox falso). Y tuve éxito: encontré un número suficiente de patrones consistentes (que, recuerdo, son
solo una consecuencia de la estera. Operación utilizada) para poder generar sustituciones (256 elementos de largo), que, a su vez, tienen
la misma tabla degenerada dif. características, así como permutaciones construidas de la manera "correcta".
Un algoritmo simple debajo del spoiler a continuación.
De vuelta al sueño
Ahora, volvamos a los sueños del viernes: imagínese, ¿qué pasaría si todas las matemáticas existentes en la actualidad son solo un "efecto secundario" de algunos fenómenos que aún no hemos podido comprender? que mi historia con una sustitución afín es "un diseño moderno de la ciencia en miniatura", donde todos los descubrimientos que le costaron a la humanidad tales esfuerzos son solo un eco de los fenómenos que realmente gobiernan la pelota.
De hecho, la humanidad ha aprendido a usar magistralmente incluso las secciones más abstractas de las matemáticas en beneficio de sus necesidades: álgebra general, mat. La lógica, la teoría de campo finito y la teoría de números nos dieron una criptografía sólida, sin la cual la existencia de tecnologías modernas de Internet no es concebible. Los grandes científicos han producido innumerables teoremas, introducido una miríada de notaciones diferentes con iconos extraños, intentando al menos sistematizar y clasificar los mismos "ecos" de la "magia" real que subyace (¿no?) El mundo material. La gente ha aprendido a aplicar las consecuencias de las leyes fundamentales para el bien, cuya verdadera naturaleza no entendemos ni un ápice: los éxitos de varias ramas de la física de partículas son una excelente prueba de ello.
Entonces, ¿por qué soy todo esto? Si cierras los ojos e imaginas
qué tipo de cambios traen la comprensión de los fundamentos mismos del funcionamiento de nuestro mundo (si solo el eco miserable de
la ciencia
real nos trae todo lo que se puede observar), entonces puedes sumergirte en un trance de pensamientos agradables en en la víspera del próximo fin de semana.
Pruébalo, no te decepcionará y ten un buen fin de semana ╮ (︶ ▽ ︶) ╭