Foros de matemática
27/02/2017, 12:58:41 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a NUMERARIUS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Factorización-III Análisis de los Compuestos RSA  (Leído 238 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« : 14/01/2017, 09:10:02 am »

Muy Buenas Tardes....


• Por lo general, al inicio de mis análisis, evalúo la pertenencia de los naturales en el Conjunto FV y en la Organización, habiendo hecho esto con los famosos "Compuestos RSA" (supuestamente muy difíciles de factorizar..)

Código:
* ANALIZANDO 41 COMPUESTOS RSA *

1° RSA-100 15226... PIG[7]
2° RSA-110 35794... PIG[7]
3° RSA-120 22701... PIG[7]
4° RSA-130 18070... PIG[13]
5° RSA-140 21290... PIG[7]
6° RSA-150 15508... PIG[7]
7° RSA-160 21527... PIG[13]
8° RSA-170 26062... PIG[7]
9° RSA-180 19114... PIG[13]
10° RSA-190 19075... PIG[13]
11° RSA-200 27997... PIG[7]
12° RSA-210 24524... PIG[7]
13° RSA-220 22601... PIG[13]
14° RSA-230 17969... PIG[13]
15° RSA-240 12462... PIG[7]
16° RSA-250 21403... PIG[13]
17° RSA-260 22112... PIG[7]
18° RSA-270 23310... PIG[7]
19° RSA-280 17907... PIG[13]
20° RSA-290 30502... PIG[7]
21° RSA-300 27693... PIG[7]
22° RSA-310 18482... PIG[13]
23° RSA-320 21368... PIG[13]
24° RSA-330 12187... PIG[7]
25° RSA-340 26909... PIG[13]
26° RSA-350 26507... PIG[7]
27° RSA-360 21868... PIG[13]
28° RSA-370 18882... PIG[13]
29° RSA-380 30135... PIG[7]
30° RSA-390 26804... PIG[13]
31° RSA-400 20140... PIG[13]
32° RSA-410 19653... PIG[7]
33° RSA-420 20913... PIG[7]
34° RSA-430 35346... PIG[13]
35° RSA-440 26014... PIG[7]
36° RSA-450 19846... PIG[13]
37° RSA-460 17868... PIG[13]
38° RSA-470 17051... PIG[13]
39° RSA-480 30265... PIG[7]
40° RSA-490 18602... PIG[7]
41° RSA-500 18971... PIG[13]

• Como se observa, estos compuestos, no son de cualquier aleatoriedad, nuestros amigos de RSA se vé que conocen del Conjunto FV, ya que sus compuestos solo pertenecen a los grupos [texx]PIG[7][/texx] y [texx]PIG[13][/texx] algo que no considero sea una coincidencia entre los 41 naturales compuestos dados en la lista que me proporcionó Feriva... ¿Dónde están los compuestos de los Grupos [texx]PIG[5][/texx] y [texx]PIG[11][/texx] ?  ¿A qué se debe que no tomaron compuestos para estos Grupos PIG ?


Código:
* COMPUESTOS RSA PERTENECIENTES a PIG[7] 21

1° RSA-100  15226...  PIG[7]
2° RSA-110  35794...  PIG[7]
3° RSA-120  22701...  PIG[7]
4° RSA-140  21290...  PIG[7]
5° RSA-150  15508...  PIG[7]
6° RSA-170  26062...  PIG[7]
7° RSA-200  27997...  PIG[7]
8° RSA-210  24524...  PIG[7]
9° RSA-240  12462...  PIG[7]
10° RSA-260  22112...  PIG[7]
11° RSA-270  23310...  PIG[7]
12° RSA-290  30502...  PIG[7]
13° RSA-300  27693...  PIG[7]
14° RSA-330  12187...  PIG[7]
15° RSA-350  26507...  PIG[7]
16° RSA-380  30135...  PIG[7]
17° RSA-410  19653...  PIG[7]
18° RSA-420  20913...  PIG[7]
19° RSA-440  26014...  PIG[7]
20° RSA-480  30265...  PIG[7]
21° RSA-490  18602...  PIG[7]


Código:
* COMPUESTOS RSA PERTENECIENTES a PIG[13] 20

1° RSA-130  18070...  PIG[13]
2° RSA-160  21527...  PIG[13]
3° RSA-180  19114...  PIG[13]
4° RSA-190  19075...  PIG[13]
5° RSA-220  22601...  PIG[13]
6° RSA-230  17969...  PIG[13]
7° RSA-250  21403...  PIG[13]
8° RSA-280  17907...  PIG[13]
9° RSA-310  18482...  PIG[13]
10° RSA-320  21368...  PIG[13]
11° RSA-340  26909...  PIG[13]
12° RSA-360  21868...  PIG[13]
13° RSA-370  18882...  PIG[13]
14° RSA-390  26804...  PIG[13]
15° RSA-400  20140...  PIG[13]
16° RSA-430  35346...  PIG[13]
17° RSA-450  19846...  PIG[13]
18° RSA-460  17868...  PIG[13]
19° RSA-470  17051...  PIG[13]
20° RSA-500  18971...  PIG[13]


• Otra observación no coincidente, es la cantidad de compuestos que seleccionaron nuestros amigos de RSA para cada Grupo PIG... ó debemos evaluar nuestros criterios con las reglas y/o leyes de la coincidencia ?


◘ Hice un intento de factorización-estructural con estos compuestos, no llegando a factorizar ninguno, por el simple hecho de no llegar a determinar su ciclo estructural, información que nos lleva al "punto de factorización" y con la metodología de Fermat determinamos en un solo paso los divisores primos, cuando se trata de un compuesto semiprimo.
→ Para comentar en el hilo de Miguel Angel, hice una simplificación de la metodología, de modo que se llegue a factorizar todo natural compuesto perteneciente al Conjunto FV, es decir, naturales impares no divisibles entre 2 ni 3, por carecer estructura evaluable.

• Se pudo lograr esto, y para acelerar el proceso y/o reducir la cantidad de evaluaciones, vi que con el ciclo, primero se seleccionaban que evaluaciones debía hacer Fermat, mismo que busca el valor de [texx]x[/texx] y despues de esto, se determina una constante de iteración para este, llegando en todos los casos al esperado que nos permite determinar [texx]y[/texx] y ya con esto determinamos a los divisores primos.
→ En el Conjunto FV, en mi criterio, todo [texx]nb[/texx] (Número Base) compuesto, tiene dos divisores, sean estos primos, sean estos primo y compuesto y sean estos compuestos, llegando a este resultado en las evaluaciones de factorización que realicé.





Saludos Cordiales...
En línea
Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #1 : 15/02/2017, 03:57:13 am »



AFRONTANDO UN RETO MATEMÁTICO .........



     LA FACTORIZACIÓN DEL COMPUESTO  RSA - 230



En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #2 : 15/02/2017, 01:53:12 pm »


Hola, Víctor Luis.

Los números de la forma

[texx]12k+7
 [/texx]

y

[texx]12k+13
 [/texx]

son lo mismo que los de las formas

[texx]12k+7=12k+6+1=6(2k+1)+1
 [/texx]

[texx]12k+13=12k+12+1=6(2k+2)+1
 [/texx]

donde podemos hacer (2k+1) ó (2k+2) igual a “n” y tendremos los números de la forma (6n+1)

Por el contrario, si hacemos igual con los números de las formas

[texx]12k+5
 [/texx]

y

[texx]12k+12
 [/texx]

tendremos los (6n+1).

Lo que quiere decir eso es que eligen primos de una misma forma para componer los semiprimos, o los dos de la forma (6n+1) o los dos de la forma (6n+1), ya que

[texx](6a+1)(6b+1)=6^{2}ab+6a+6b+1=6(6ab+a+b)+1
 [/texx] que haciendo 6a+a+b igual “n” es un número de la forma (6n+1)

Del mismo modo, si multiplicas [texx](6a-1)(6b-1)
 [/texx] tendrás que todos los sumandos son múltiplos de 6 a excepción del que da el producto (-1)(-1) que es 1, positivo, y por tanto es de la misma forma que el anterior.

Ahora bien, si multiplicas un primo (6a+1) por otro primo de la forma (6b-1); entonces, ya lo ves, da un semiprimo de la forma (6n-1); que parece que son más fáciles de factorizar y por eso no los eligen.

Seguramente es debido a que, al ser en ese caso un compuesto de la forma 6-1, es un múltiplo de 6 resto 1, y cuando el resto es 1, ya sabes, esto tiene unas ventajas, se puede intentar usar la función phi de Euler o, en particular, el pequeño teorema de Fermat.

Nuestro número, RSA 230 es de la forma “6n+1” y de tu grupo “12k+13”. La diferencia esencial con los “12k+7” radica en que en el primer caso, “12k+13”, el “n” del 6n+1 es par y en el caso de los “12k+7” es impar; es lo mismo que decir eso, fíjate.

Luego nuestro número es un “12k+1” y buscamos primos “a” y “b” tales que podrían ser así (o con signo menos pera el 1):

[texx](6a+1)(6b+1)=12k+1
 [/texx]

[texx]36ab+6a+6b+1=12k+1
 [/texx]

[texx]36ab+6a+6b=12k
 [/texx]

...

Dividiendo todo por 6

[texx]6ab+a+b=2k
 [/texx]

De aquí se deduce que “a” y “b” deben tener la misma paridad (o los dos impares o los dos pares) ya que eso es igual al par 2k, y si no tuvieran el mismo signo no podría dar un par (la conclusión es igual aunque tomemos (6a-1)(6b-1)).

Podemos dividir entre 2 todo y ver a ver

[texx]3ab+\dfrac{a+b}{2}=k
 [/texx]

El valor de “k” lo podemos calcular, ya que, nuestro RSA-230 es 12k+1; haciendo los cuentas nos da un par, que es

K =

Spoiler (click para mostrar u ocultar)

Y además es múltiplo de 4.

Quiere decir que estos dos sumandos

[texx]3ab+\dfrac{a+b}{2}
 [/texx]

son pares los dos o los dos impares; y, en cualquier caso, suman un múltiplo de 4.

Ahora, volvemos a multiplicar la ecuación por 2 y regresamos a la forma anterior

[texx]6ab+a+b=2k
 [/texx]

Entonces como todo eso era múltiplo de 4 y hemos multiplicado por 2, quiere decir que esto

[texx]6ab+a+b
 [/texx]

Es múltiplo de 8.

[texx]6ab+a+b=8t
 [/texx] (donde 8t es 2k y sabemos su valor, pero lo escribo así por si luego sirviera para algo saber que es múltiplo de 8)

Despejando b y dividiendo entre “a”

[texx]6b+1=\dfrac{8t-b}{a}
 [/texx]

(suponiendo que sean de la forma 6n+1, si fueran 6n-1, habría que hacer las operaciones con el otro signo; aquí se está considerando, un caso posible entre dos).

Y no sé qué más buscar de momento ahora.

Si sabes algo sobre la forma de los primos que puede ser ya me cuentas.



Mira qué semiprimo más bonito:

9999999999999999999999999999999999999999999999999999991=

2701593300560063647774277 X 3701519395212785560731843555083





Un cordial saludo.
En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #3 : 16/02/2017, 05:14:13 am »

Buenos Días Feriva...



(del otro hilo...)
Cita
En cualquiera de los casos es muy difícil dar pronto con los factores de un semiprimo de doscientas y pico cifras cono el que tenemos entre manos; ¿cuantos números de la forma 6n+1 y 6n-1 hay hasta un número de 200?

Pues, por ejemplo, en nuestro RSA hay la cantidad de estos 6n+1

Son muchísimos y sólo dos de ellos valen; claro que podemos intentar saber algunas cosas, como las que decía en el otro hilo; si son 6n+1 si son 6n-1, si “n” es par, si no lo es... Pero aun así, poco podremos filtrar. En cuanto a que sirva muy bien para factorizar números más pequeños no he dicho que no.


Cita
Lo que quiere decir eso es que eligen primos de una misma forma para componer los semiprimos, o los dos de la forma (6n+1) o los dos de la forma (6n+1),...

...

Ahora bien, si multiplicas un primo (6a+1) por otro primo de la forma (6b-1); entonces, ya lo ves, da un semiprimo de la forma (6n-1); que parece que son más fáciles de factorizar y por eso no los eligen.

Seguramente es debido a que, al ser en ese caso un compuesto de la forma 6-1, es un múltiplo de 6 resto 1, y cuando el resto es 1, ya sabes, esto tiene unas ventajas, se puede intentar usar la función phi de Euler o, en particular, el pequeño teorema de Fermat.

Nuestro número, RSA 230 es de la forma “6n+1” y de tu grupo “12k+13”. La diferencia esencial con los “12k+7” radica en que en el primer caso, “12k+13”, el “n” del 6n+1 es par y en el caso de los “12k+7” es impar; es lo mismo que decir eso, fíjate.


DATOS del COMPUESTO RSA-230


Código:
▼ RSA-230 comienza con los digitos numéricos: 17969....
▼ Raiz de 115 dgts
▼ Pertenece al Grupo PIG[13] en el Conjunto FV
▼ Pertenece al Grupo GO[7] en el Conjunto V

Raiz: 4239043712671652402680509502085873379711077970370529360979111047742174601905286733913433709805089522538514393599843

Valor Natural RSA[230]: 17969491597941066732916128449573246156367561808012600070888918835531726460341490933493372247868650755230855864199929221814436684722874052065257937495694348389263171152522525654410980819170611742509702440718010364831638288518852689


◘ Respondiendo a tus explicaciones, como comprenderás ambos tenemos diferentes enfoques metodológicos de factorización, donde no comprendo del todo lo que explicas en ambos hilos, algo que luego lo leeré con detenimiento y te haré mis consultas pertinentes.

• Sobre si cuántos "llones" de candidatos posibles a divisores de las formas [texx]6n\pm{1}[/texx] se dan hasta el RSA-230... como indicas son muchísimos, por lo que es absurdo el intentar evaluarlos con todos los primos.
→ Una de tus ideas ó planteamientos iniciales, es el reducir y/o simplificar la cantidad de candidatos a divisores, según lo que comprendí, de acuerdo a si el RSA es de la forma [texx]6n+1[/texx] ó [texx]6n-1[/texx] donde, aunque uno supiera el camino correcto a tomar de estos,... ¿Has estimado la cantidad de operaciones a realizar con estos candidatos a divisores y la cantidad de operaciones a la que se reduciría con tu metodología?

○ Por mi parte, como te dije, no me meto con los divisores de la divisibilidad prima, ya que son hiper-muchísimos y los señores y/o amigos de RSA, esperan que uno opte por seguir un camino alternativo a este criterio, que claro está, nos lo respalda la literatura en matemática.


¿ QUÉ MAS SABEMOS SOBRE EL RSA - 230 ?


▼ Al pertenecer al grupo PIG[13] del Conjunto FV, esto no nos dice a la primera cuáles son sus dos únicos divisores primos, al ser un semiprimo; pero a la primera ya nos dice, entre qué grupos PIG-RELACIONADOS se darán estos divisores, siendo estos:

[texx]PIG[5,5][/texx]
[texx]PIG[7,7][/texx]
[texx]PIG[11,11][/texx]
[texx]PIG[13,13][/texx]

• Si te das cuenta Feriva, esta es la razón de la dificultad en factorizar este compuesto (y a la vez su debilidad) mientras que los RSA, la otra casi mitad, que pertenecen al grupo PIG[7] la relación entre grupos PIG de los divisores es:

[texx]PIG[5,11][/texx]
[texx]PIG[7,13][/texx]

→ Es decir, que si uno de los divisores es PIG[5] el otro divisor necesariamente debe ser PIG[11] y esto es como una ley de los Primos-Relacionados que es innegable, ineludible e irrefutable. Mientras que en el anterior caso, el de nuestro RSA-230 si uno de los divisores es PIG[5], obligatoriamente y esto ya lo sabemos de antemano, que el otro divisor es de PIG[5] dándose en estos, 4 primos relacionados, que lo hace mas complejo la búsqueda de los dos únicos divisores.

○ Te explico esto, para que lo consideres y lo implementes en tu metodología, algo que podría simplificar aún mas la selección de candidatos ó la reducción de constantes de divisibilidad.


▼ En el Conjunto V el RSA-230 pertenece al grupo GO[7] para el cual se dan los siguientes Primos-Relacionados:

[texx]GO[5,5][/texx]
[texx]GO[7,19][/texx]
[texx]GO[11,17][/texx]
[texx]GO[13,13][/texx]

• En el Conjunto V, al ser 6 primos origen, deberían darse 3 grupos relacionados; pero se dan 4, lo que aumenta los posibles grupos en dónde buscar a los divisores primos.
→ Por otro lado, sabiendo esto, es que para tomar y/o seleccionar divisores, estos deben cumplir con la relación entre grupos, tanto para el Conjunto FV y para el Conjunto V, algo que no lo he analizado, tan solo una idea, faltando ver si con esto se depuran candidatos y se dá una reducida selección de primos divisores.


▼ Aún no he analizado las características de los compuestos del grupo PIG[13]... no respecto a los grupos PIG donde se dan sus divisores, que ya lo sabemos, sino, a las distancias que se van dando, respecto a la raiz cuadrada del compuesto.

• Observando esto en unos apuntes sueltos que hice, si [texx]p[/texx] es el menor de los divisores respecto de la raiz, donde [texx]p\in{PIG[5]}[/texx] se dan pocas soluciones y/o candidatos para el otro divisor [texx]q[/texx] que es el mayor respecto de la raiz donde [texx]q\in{PIG[5]}[/texx] es decir, que pertenezca al grupo [texx]PIG[5][/texx]
→ No hice mas que algunísimos calculos, en base a las ideas que se me venían, donde espero tú puedas analizarlo a fondo, ya que [texx]p[/texx] desde la raiz se genera linealmente en forma inversa, mientras que [texx]q[/texx] se va dando algo como por decir, exponencialmente, para los candidatos [texx]p[/texx] esto en cumplimiento a que ambos deben ser del mismo grupo PIG.
→ Estimo que hay la forma de calcular la constante de generación para [texx]q[/texx] ya que para [texx]p[/texx] es la que tenemos [texx]k=12[/texx] por ejemplo:

Siendo [texx]m=6757=p\cdot{}q[/texx] donde [texx]p[/texx] y [texx]q[/texx] pertenecen al grupo [texx]PIG[5][/texx] tenemos que [texx]\sqrt[ ]{m}=82[/texx] donde:

[texx]\displaystyle\frac{82}{12}=6[/texx]

[texx]p=(6\cdot{}12)+5=77[/texx]

Los candidatos divisores [texx]p[/texx] se irán generando como [texx]p=p-k[/texx] desde la raiz cuadrada hasta el menor de los primos del grupo PIG[5]; pero.... ¿Cómo generar los posibles candidatos [texx]q[/texx] que cumplan la conformidad del compuesto [texx]m[/texx] sin tener que dividir para cada caso que [texx]q=\displaystyle\frac{m}{p}[/texx] con resto cero?



ENFOQUE ESTRUCTURAL.


▼ En mi caso, el planteamiento es diferente, ya que como inicio, intentaré determinar el ciclo-estructural de RSA-230, con la metodología mas basica que se dá, para lo cual te pregunto Feriva, si nos daremos un tiempo de plazo para realizar cada abordaje de factorización de este compuesto... por lo que intentaré dejar realizando esto a Python, donde periódicamente me informe en qué punto estructural está, de modo de poder continuar desde ahí en la siguiente ocasión que se dé para dejar trabajando el ordenador, algo que no puedo hacer de forma contínua por días, tan solo algunas horas de cada día.

• Recurriré a los archivos, para que vaya guardando en estos, el punto estructural hasta donde evaluó, esto por si se dá algún corte de energía, lo que con esto, la búsqueda del ciclo, me llevaría un tiempo y por eso te hago la consulta.
→ Lo bueno de esto, aunque rudimentario, es que al tener el ciclo, pasamos a otro proceso, donde determinar a los divisores primos, estará ya dado por hecho, tan solo pocas operaciones iterativas y/o evaluaciones, mas con la ayuda de Fermat, de modo que el mismo día, ya podamos dar a conocer la factorización de este compuesto.

▼ Mientras, realizaré el analisis de la estructura-ciclica de los compuestos del grupo PIG[13] que desde ya será una multitud de variaciones, no así como sucede con los primos de este mismo grupo PIG, algo que ya te lo comenté en el otro hilo.

▼ También, ire analizando y evaluando, unpar de ideas que tengo, sobre unas modalidades para determinar mas prontamente el ciclo, siendo mi limite de iteración hasta la raiz del compuesto, ya que el divisor [texx]p[/texx] no puede ser mayor a este... verdad?





Saludos Cordiales...
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #4 : 16/02/2017, 03:46:11 pm »

Hola, Víctor Luis, buenos días.

Cita
Es decir, que si uno de los divisores es PIG[5] el otro divisor necesariamente debe ser PIG[11]

Sí, es lo que te decía, con los (6n+1) se ve igual.

He estado toda la mañana pensando en la matriz de semiprimo; la matriz de de un semiprimo es única a partir de la misma multiplicación a mano, mientras que la de un compuesto mayor, de más primos, no es única si entendemos que en todo caso nos estamos refiriendo a multiplicar sólo dos números; que pueden ser ambos primos o alguno de ellos o los dos, no.

Me parecía una forma de analizarlo muy interesante, pero el espacio no sabe muy bien de enteros y naturales, él es más de reales.

Pensé que me iba a servir para ir estimando cifra por cifra, esta mañana estaba muy convencido (porque sólo lo tenía esbozado en la cabeza, era una mera idea).

Fíjate, no es nada difícil de entender lo que estaba buscando, basta saber multiplicar a mano y poco más (pero en cualquier caso, no hace falta que lo entiendas porque de momento no sirve para nada, es por contártelo; lo del mcd que te dije sí es más interesante, más práctico, aunque tampoco sea una maravilla estaría bien que lo entendieses).

Pensemos en multiplicar dos números

Spoiler (click para mostrar u ocultar)

[texx]\begin{array}{c}
\underline{\begin{array}{ccccc}
0 & 0 & 1 & 2 & 7\\
0 & 0 & 1 & 2 & 1
\end{array}}\\
\underline{\begin{array}{ccccc}
{\color{blue}0} & {\color{blue}0} & {\color{blue}1} & {\color{blue}2} & {\color{blue}7}\\
{\color{blue}0} & {\color{blue}2} & {\color{blue}5} & {\color{blue}4} & {\color{blue}0}\\
{\color{blue}1} & {\color{blue}2} & {\color{blue}7} & {\color{blue}0} & {\color{blue}0}
\end{array}}\\
\begin{array}{ccccc}
1 & 5 & 3 & 6 & 7\end{array}
\end{array}
 [/texx]

...

Eso es lo que hacemos normalmente, pero si ponemos los números según las decenas y las centenas (según van saliendo, sin llevadas, sin acarreo) sería así:

[texx]\begin{array}{c}
\underline{\begin{array}{ccccc}
0 & 0 & 1 & 2 & 7\\
0 & 0 & 1 & 2 & 1
\end{array}}\\
\underline{\begin{array}{ccccc}
{\color{blue}0} & {\color{blue}0} & {\color{blue}1} & {\color{blue}2} & {\color{blue}7}\\
{\color{blue}0} & {\color{blue}2} & {\color{blue}5} & {\color{blue}4} & {\color{blue}0}\\
{\color{blue}1} & {\color{blue}2} & {\color{blue}7} & {\color{blue}0} & {\color{blue}0}
\end{array}}\\
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 7\\
0 & 0 & 0 & 6 & 0\\
0 & 1 & 3 & 0 & 0\\
0 & 4 & 0 & 0 & 0\\
1 & 0 & 0 & 0 & 0
\end{array}
\end{array}
 [/texx]

De esta manera, en esa matriz que hay debajo de la azul, tenemos representadas las operaciones, y el acarreo también queda representado así.


Podemos trasponer la matriz, girando las columnas hacia arriba y hacia la derecha para transoformarlas en filas, empezando así por la primera columna de la izquierda

[texx]\left(\begin{array}{ccccc}
0 & 0 & 0 & 0 & 1\\
0 & 0 & 1 & 4 & 0\\
0 & 0 & 3 & 0 & 0\\
0 & 6 & 0 & 0 & 0\\
7 & 0 & 0 & 0 & 0
\end{array}\right)
 [/texx]

...

Ahora sumamos las filas y da el número; de arriba abajo

[texx]\left(\begin{array}{c}
1\\
5\\
3\\
6\\
7
\end{array}\right)
 [/texx]

Está es una forma más común de escribir estas cosas.

El que haya llevadas, acarreo de cifras cuando se llega o se sobrepasa la decena, implica que la matriz no sea diagonal; con el mismo número es diagonal, haciéndolo así

[texx]\left(\begin{array}{ccccc}
1 & 0 & 0 & 0 & 0\\
0 & 5 & 0 & 0 & 0\\
0 & 0 & 6 & 0 & 0\\
0 & 0 & 0 & 3 & 0\\
0 & 0 & 0 & 0 & 7
\end{array}\right)
 [/texx]

(sólo hay números distintos de cero en la diagonal) y las sumas de las filas da lo mismo de antes).

Éste no es semiprimo, pero en los semiprimos, haciéndolo como lo he hecho más arriba, sólo tienen una matriz posible para dar el semiprimo (aparte de la diagonal, si no lo fuera) ya que, sólo existe el producto de esos dos primos, no hay más descomposición.

En el ejemplo anterior, como no es semiprimo, podríamos haber mutliplicado también 1397*11, dos números distintos que nos darían una matriz distinta; en los semiprimos, como su factorización como producto de dos factores es única, sólo hay una; o dos, en los casos que sea diferente de la diagonal.

Con esto se tiene un sistema indeterminado que nos puede quitar alguna incógnitas (dejando muchas todavía)  aparte de que sabemos que la primera cifra sólo puede acabar en 1, 3, 7 ó 9, dado que no consideramos semiprimos pares ni múltiplos de 5.

Creo que habría que intentar esto, ir sacando un primo cifra por cifra, tanteando y tal.

He hecho más experimentos (con el mcd, con una cosa que se llama autovalores y autovectores...) pero nada, se ha quedado todo en un mero pasatiempo.

Por otra parte, cada vez que pruebo al ordenador a ver si cazo la factorización, me desaliento más, parece que cada día tiene más cifras que el anterior, no se acaba nunca.

Un cordial Saludo.
En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #5 : 19/02/2017, 04:27:21 am »

Buenos Días FERIVA.... 


Cita
Por otra parte, cada vez que pruebo al ordenador a ver si cazo la factorización, me desaliento más, parece que cada día tiene más cifras que el anterior, no se acaba nunca.

• Es muy pronto para andar desalentándose Amigo y Maestro "Matemático..." el RSA-230 parece grande frente a la factorización... pero es ínfimo... frente a la primalidad... y digo esto, porque, la primalidad estructural está relacionada a la factorización estructural, algo que sigue el criterio de la divisibilidad de ustedes; pero es un enfoque muy distinto y paraticular en cada caso.
→ Yo también me he metido con nuestro RSA-230... primero, recorrí su estructura hasta el punto 200.000.000.000 y nada de dar con alguna pista de su ciclo-estructural, por lo que me pasé a factorizarlo directamente, es decir, determinar su "punto de factorización" lo cual no se dió, tan solo unos errores de Python que me hicieron sorprender, al darme una supuesta posición del ciclo-estructural, lo que sucedió, fué un error mío, en la codificación, que ante esto, me sirvió para hacer otros desarrollos de programa, con las ideas que tenía en mi cabezota.

• Realicé un rastrillaje superficial del RSA-230 de acuerdo a la proporción [texx]kp[/texx] para el primer y/o menor divisor de un compuesto semiprimo, algo que lo tratamos en otro hilo... recuerdas?
→ Al no darse resultados, implementé en el programa, que se conformase un compuesto semiprimo perteneciente al grupo PIG[13] de 21 digitos, debiendo poder factorizar el compuesto con  la metodología, al tener de respaldo el algoritmo de factorización, con el que te dí esos compuestos a que los factorizaras con tu metodología.

• Todos los compuestos semiprimos conformados, fueron factorizados con la metodología, por lo que estaba en buen camino; pero no se daba esto en nuestro RSA-230, de tal forma, que modifiqué el programa, para que evaluara y/o determinara el ciclo, con proporciones [texx]kp[/texx] desde 99,9% hasta 20,0% ... no determinándose ningún ciclo, por lo que re-evalué desde 99,999% hasta 50,000% con una metodlogía simplificada y/o reducida, donde no me dió ni pistas del ciclo-estructural, donde probando esto con compuestos semiprimos pequeños, son factorizados sin excepción alguna, por lo que la complejidad se debe al tamaño del compuesto RSA-230.
→ En realidad, según mi criterio observacional del enfoque estructural, esta complejidad no existe como tal, al menos no llega a ser por lo menos, de complejidad logarítmica, tendiendo a ser de complejidad [texx]O[/texx] es decir, lineal al tamaño operacional del natural en evaluación, que se dá en mi caso, al tener un ordenador antiguo y no saber lo suficiéntemente adecuado de programación y de funciones matemáticas que eliminen y simplifiquen los procesos iterativos que realizo.... y es que no tengo mas de otra.
→ Por eso, cuando, la primalidad estructural, tenga su demostración matemática y sea validada en los anales y/o registros de la literatura matemática (en Teoría de Números, particularmente) ... surgirán muchas críticas y desarrollos metodológicos que simplificarán, lo que para mí, por ahora, es medio complejo... que en base a esto, demostrado y simplificado por los matemáticos,... cualquier natural humano-terrestre, que sepa un poquitín de matemática y/o Algebra, podrá desarrollar, metodologías de primalidad y metodología de factorización, en base al "criterio estructural", donde los novatos y/o aficionados en matemática como mi persona, podrán retar a GIMPS en determinar los siguientes primos de Mersenne.... donde GIMPS estará operando con su milenio de ordenadores en red, mientras que un natural humano, podrá hacerle frente con un simple ordenador Pentium-IV y hasta con un "lentium" Pentium-II que aún se pueden adquirir en mi país... y es que la primalidad como la factorización... no es tan compleja como se la cree... y se la creyó por mas de dos mil años atrás... todo debido a la famosa, dichosa y mal tomada "divisibilidad" que si bien, nos dice con certeza absoluta que un natural primo, solo es divisible entre 1 y entre uno mismo... esto, señores... "NO es Primalidad..." y la divisibilidad no puede ser sinónimo de concepto de primalidad, algo que es muy, pero muy distinto y se lo dice, alguien que ni siguiera ha explorado del todo la estructura numérica, donde nuestros díscolos y famosos primos, perderán su misterio de aleatoriedad, porque en este enfoque, encontraremos, su curioso criterio, con que se dá la "Distribución de Números Primos".


◘ Estos probando el desarrollo en Python, en factorizar tu compuesto Feriva... ese de 43 digitos, lo cual me servirá, para ajustar las implementaciones metodológicas y al darse esto, proceder a realizar la factorización, en serio, de nuestro RSA-230.

• Aún no hice los análisis que te dije haría... y es que seguí tu criterio, de un abordaje por tentativa, que al tener "suerte" (algo trivial) podríamos, dar con la factorización de este natural compuesto, no logrado por muchos matemáticos y/o aficionados, durante muchos años, algo que pretendemos realizarlo; pero no de un modo fortuito, sino que al lograrlo, debemos poder factorizar también, los otros compuestos RSA que se tengan y se vayan a dar, para demostrar prácticamente, que no es "imposible" ni que nos llevaría la creación de otro universo, la factorización de estos compuestos... donde si yo fuera Feriva... con su potencial creativo y las herramientas matemáticas que comprende y dispone, ya tendríamos en "jaque" a los señores y amigos de RSA.
→ Y a GIMPS... ni que se diga... su metodología es obsoleta... y lo dice un no matemático formado... con todo respeto a los aludidos.. y es que señores... GIMPS nos dice que el sol es de color rosado, medio tirado a fuccia... siendo en realidad en el enfoque estructural, de un tono mayoritáriamente "amarillo" lo que sin una demostración matemática... decirle a GIMPS que está en el camino equivocado... es como hacer publicidad sin contenido... simplemente, porque uno comprovó esto, hasta donde pudo, observa el enfoque distinto al resto del mundo, donde no puede ganar contra todos, si no es con una demostración matemática, que vaya a saber uno, si se darán los criterios de base, para lograr esto, sin desestimar muchos criterios validados y fundamentados en nuestra matemática.

• Continuándo... tengo un par ó mas de criterios metodológicos que analizar y evaluar en el tema de la factorización... antes de entrar a un análisis de la estructura numérica.... por lo que, si procedemos a determinar el ciclo del modo rústico como lo hacía.... esto nos llevaría en sí a la factorizacion del compuesto RSA-230....  Pero en un muy largo tiempo de proceso... que aunque no fuera mas de un año, esto para mí, en mi criterio personal, el un tiempo de proceso nó útil, no es polinomial y en concreto, es algo absurdo de considerar... porque RSA-230 tiene 230 digitos... es por tanto un natural, astronómicamente enano y su factorización, como es su primalidad, no debe darnos ninguna complejidad... y es a lo que apostamos con Feriva, al intentar factorizar este compuesto, enzañado con nuestro amigo Feriva... donde por mi parte,... debo una piel de "tigre de Bengala" a un maestro matemático... algo que sigue en mi cometido y no pienso defraudar a mi cliente... mientras la vida me siga dando algo de salud, para proseguir en esto.... lo cual, en verdad es estresante, cuando no sigues el proceso evaluativo de las ideas que se van dando y que hasta ahora, nos han dado novedosas metodologías... GIMPS tiene una disqué mejora de la metodología de Lucas Lehemer, respetado matemático, ... mientras que hoy por hoy, contamos con dos nuevas metodologías de primalidad para Mersenne, totalmente deterministas y con pizca de complejidad, en comparación a los miles de ordenadores, con que opera GIMPS... con esto, en 3 años, ya tendríamos el primo de mil millones de digitos, que no siempre deberá ser un Mersenne.


○ Ya te comentaré los resultados de las pruebas y/o intentos iniciales de factorización de nuestro compuesto RSA-230.




Saludos Cordiales...
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #6 : 19/02/2017, 09:07:33 am »


Buenos días, Víctor Luis.

Cita
 y es a lo que apostamos con Feriva, al intentar factorizar este compuesto, enzañado con nuestro amigo Feriva... donde por mi parte,... debo una piel de "tigre de Bengala" a un maestro matemático... algo que sigue en mi cometido y no pienso defraudar a mi cliente...

No me debes nada y, aunque no pudieras, no me defraudarías.

Efectivamente el número es muy grande en comparación con los de 21 dígitos y ahí está la cuestión; pienso ahora que  quizá debería tomar unos más pequeños e investigar con ellos en vez de perder el tiempo dando palos de ciego con éste número casi infinito para mí.

Piensa esto: un conjunto de “infintas” arañas; no se acaban. Por muy infinitas  que sean, por mucho que no se acaben los primos en ese conjunto, al menos existe una racionalidad relacionada si consideramos que todas las arañas tienen sus ocho patas. Pero basta quitar una pata a una araña y la cantidad de patas del conjunto... se ha convertido en un número imposible de hacer corresponder con una “unidad”, con una pieza o módulo que sirva para medirlo enteramente sin que sobre nada.

Esa “cantidad” de patas (si cabe hablar de cantidad con el infinito) es distinta de la anterior; y de eso podemos estar seguros, no creo que lo dude nadie, pues hemos quitado una pata del conjunto de patas de araña.

Si quitamos dos patas, el número será distinto al primero, múltiplo de 8, y también al segundo, en el cual es imposible definir ninguna divisibilidad; es [texx]8k+7[/texx], pero ese “k” es tan grande que es cualquier cosa, es múltiplo de “todos”, y “todos” no se acaban, luego no es múltiplo de una cantidad finita de primos.

Si quitamos 3 patas, tendremos otro número distinto más, y así.

Surge algo que rompe los esquemas, hay más números que números, porque si intentamos hacer corresponder las patas que vamos quitando, 1, 2, 3, 4... con las “cantidades” totales que quedan, no se puede, aparece una visión “cantoriana” de la divisibilidad; ninguna de esas cantidades es divisible entre 2,3,4,5... n.

Nuestro RSA-230 (y elegí el más pequeño de los que aún no se había factorizado) es finito, sí, pero para nosotros, en la práctica, es como si fuera infinito. No podemos ir quitando patas 2,3,4,5... y esperar que en esta vida encontremos un número que divida al RSA.

Entonces, damos saltos, porque podemos eliminar números que sabemos que no van a ser divisores, quedarnos con los 6n+1, hacer cosas...

Lo que último que hice (ayer, concretamente) fue dar saltos usando un primorial cuyo número de cifras era igual al de la raíz; es decir, si “f” es ese primorial, probé con las sucesión de los [texx]fn\pm1 [/texx]

o sea

[texx]f\pm1;\, f*2\pm1;f*3\pm1...
 [/texx]

Fíjate si me cargo números, muchísimos más que si me quedo sólo con los 6n+1; en un cualquier número un poco grande estoy dejando de meter en las probaturas no sólo los múltiplos de 2 y 3 sino también los de 5,7,11,13,17,19,23... así hasta un primo grande, dependiendo de lo grande que sea el semiprimo.

¿Funcionó?

Sí, se puede decir que sí. Primero lo hice con números de pocas cifras, de 10, 12, 14... y en todos encontraba uno de los divisores del semiprimo; pero cuando tomaba más grandes, se ponía a tardar; ni lo intenté con el RSA, luego probaré por probar, por inercia, si ninguna esperanza.

Es decir, parece que así siempre vamos a encontrar un [texx]fn\pm1 [/texx] que contiene a uno de los divisores; el cual detecto como te dije, mediante el m.c.d.

La cuestión es programar (y es fácil en Python, luego si acaso te pongo el programa, después de comer) una rutina que tome un primorial cuyas cantidad de cifras sea igual al de la raíz cuadrada del RSA y probar los mcd de las parejas de simétricos en los intervalos (0,rsa) y (rsa, 2*rsa).

Ya te digo, pego unos saltos intergalácticos, pero... ni siquiera esto es garantía; tengo que analizar más, probar más cosas, quizá haya que tomar primoriales de menos cifras que la raíz para tener seguridad de que alguno contendrá algún divisor; ya te digo después.

En cualquier caso, lo consigamos o no, muchas gracias por tu colaboración y por los ánimos que me das.

Un cordial saludo.

En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #7 : 21/02/2017, 09:24:43 am »

Buenas Tardes Feriva…


Cita
“Efectivamente el número es muy grande en comparación con los de 21 dígitos y ahí está la cuestión; pienso ahora que  quizá debería tomar unos más pequeños e investigar con ellos en vez de perder el tiempo dando palos de ciego con éste número casi infinito para mí.”

• Comprendo tu enfoque y/o criterio de observación ante el RSA-230, pero este natural no es nada grande, respecto a la primalidad de su estructura, simplemente que el enfoque de la divisibilidad, lo hace ver y/o parecer así como lo observas.
→ Es como intentar determinar primos de Mersenne con la criba de Eratóstenes, que sabemos es determinista; pero no es la única metodología determinista, tan solo una referencia de lo que tanto de voy reiterando y digo van redundando en torno a la “divisibilidad” la cual no es primalidad en sí misma, es decir, no nos lleva a una escencia mas pura, que nos permita hacer inferencias como las que me atrevo en hacerlas.


Cita
“Nuestro RSA-230 (y elegí el más pequeño de los que aún no se había factorizado) es finito, sí, pero para nosotros, en la práctica, es como si fuera infinito. No podemos ir quitando patas 2,3,4,5... y esperar que en esta vida encontremos un número que divida al RSA.”

• Ahora estamos de acuerdo, el RSA-230 es “pequeño”, mas propiamente “diminuto” ya que no supera los 2.500 digitos, donde recién se nota la disminución de los números primos y por ende, encontraríamos ya un algo mas de dificultad en factorizar un RSA-2500.
→ Esto tampoco debe ser el criterio a considerar al abordar la factorización de los compuestos semiprimos y te lo explico con terminología matemática, fíjate:

FUNCION de la FACTORIZACION ESTRUCTURAL.


[texx]m=p\cdot{}q[/texx]

[texx]m[p,q]=c[/texx]

[texx] \displaystyle\frac{c}{2}+1=x [/texx]

[texx]y=\sqrt[ ]{x^{2}-m} [/texx]

De donde:

[texx]p=x-y[/texx]

[texx]q=x+y[/texx]



• Siendo [texx]m[/texx] un natural compuesto semiprimo, por ser producto de [texx]p[/texx] y [texx]q[/texx] dos naturales primos, se cumple que en [texx]m[p,q]=c[/texx] tenemos el ciclo-estructural, lo que nos permite determinar a sus factores divisores, desde yá.
→ Una vez determinado [texx]c[/texx] el resto ya no es desarrollo mío, es la función de factorización de Fermat, donde aplicamos esto, tan solo para finalizar el proceso de factorización, es decir, determinar el valor de los divisores primos, ya que con el ciclo que está exactamente en el “punto de factorización” determinamos [texx]x[/texx] de la función de Fermat y con esto determinamos [texx]y[/texx] y finalmente conformamos el valor natural de los divisores primos.

• Como comprenderá, la factorización de cualquier natural semiprimo [texx]m[/texx] sea cual sea el tamaño en digitos que tenga, cumple con este criterio estructural y en esto no hay quién lo refute ó lo contradiga, siempre y cuando, comprenda el enfoque estructural.
→ En mi caso y como ya te lo he dicho, no he analizado a fondo la estructura numérica, tan solo llegué a saber como operar en esto y determinar la estructura que tienen todos los naturales primos, (excepto el 2 y 3) logrando la PEN Primalidad Estructural Natural, que supera en mucho, a la primalidad de Mathematica 5.0 que considero es uno de los mejores lenguajes y/o aplicaciones en matemática.
→ Del mismo modo, hemos logrado la PEM Primalidad Estructural para Mersenne, la cual es una metodología distinta a las que se pueden encontrar en la literatura, siendo que:

[texx]m=2^{p}-1[/texx]

[texx]m[p]=k[/texx]

Donde [texx]\{k\}[/texx] es un valor de un conjunto de naturales, que es único para cada primo de Mersenne, es decir si en conjunto es:
[texx]K_{s}=\{k_{1},k_{2},k_{3},k_{4},k_{5},…,k_{n}\}[/texx]

Estos no corresponden en este orden y/o secuencia, a los primos de Mersenne que se van dando, que si fuera así, de forma directa determinaríamos los [texx]n[/texx] primos [texx]Mp[/texx].

Donde si [texx]2^{5}-1[/texx] tiene [texx]k_{3}[/texx], en [texx]2^{7}-1[/texx] se dará [texx]k_{1}[/texx] y en ningún primo de Mersenne que se fuera a dar, encontraremos en su estructura, en [texx]m[p][/texx] tanto [texx]k_{3}[/texx] como [texx]k_{1}[/texx] y así sucede esto con estos primos, siendo que para determinar su primalidad, tan solo nos importa, que la valoración de [texx]m[p][/texx] sea del conjunto [texx]K_{s}[/texx] y hasta el exponente [texx]p=35000[/texx] y un poco mas que he evaluado a los números de Mersenne, ningún compuesto, ha pasado, por si quiera, como lo que podríamos decir, un pseudo-Mersenne, no hay tal, ya que la metodología es completamente determinista.

○ Ante esto, es que, con la comprensión espero me tengan, me jacto de la complejidad que maneja GIMPS, utilizando su milenio de ordenadores, donde de seguir a este paso, no logrará dar con el primo de 100 millones de digitos, que tanto ansía.



Cita
“La cuestión es programar (y es fácil en Python, luego si acaso te pongo el programa, después de comer) una rutina que tome un primorial cuyas cantidad de cifras sea igual al de la raíz cuadrada del RSA y probar los mcd de las parejas de simétricos en los intervalos (0,rsa) y (rsa, 2*rsa).”

• Lo que hice en estos días, es hacer un rastrillaje del RSA-230 de acuerdo a la proporción [texx]kp[/texx] respecto a la raíz cuadrada de este compuesto, donde esta proporción lo tomé primero con una fracción decimal y ahora voy evaluando con 3 fracciones decimales, lo que implica hacer muchas mas evaluaciones; pero en Mathematica, aplico un método, que como decías, son con “Saltos” y ver si damos con el ciclo-estructural.
→ Este “rastrillaje” no nos garantiza que encontremos a la primera la aguja en el pajar, tan solo es un tanteo, de acuerdo a como planteaste afrontar este reto.

• A la par, en Python estoy, analizando el camino directo al punto de factorización, es decir, cómo reconocer los puntos estructurales que uno debe evaluar y al ser estos pocos, con un minimo de evaluaciones, llegamos al punto de factorización y el ciclo del compuesto, que como ya te expliqué, logrando esto, tan solo aplicamos Fermat y ya tenemos la factorización ineludible e inevitable.
→ He dado con algunas ideas para esto; pero observé que tu compuesto de 43 digitos, pertenece al grupo PIG[7] no así a PIG[13] que es de nuestro RSA-230, por lo cual, debo analizar compuestos semiprimos PIG[13], intuyendo que al igual que la clasificación de los números primos, y siendo estos que conforman a estos compuestos, tendremos una clasificación estructural, con lo cual, sabremos dónde y con qué criterio selectivo determinar el ciclo-estructural y con esto, ponderarlo al punto de factorización y asi dar con la factorización, de un modo mas directo.
→ Como comprenderás, la metáfora de las patas de araña, como patas de divisibilidad de los primos, no se aplica en este enfoque… simplemente, que no he analizado a fondo, mas que todo en función a la factorización, la estructura numérica, donde si de compuestos semiprimos se trata, no hay tal que se quitan 1,2 ó mas patas, el panorama se hace complejo… no hay tal, ya que la estructura de los números primos, definen de antemano, la estructura de sus naturales múltiplos que se conformarán con los demás números primos y esto ustedes lo entienden con solo un enfoque de la divisibilidad; pero estructuralmente, por ejemplo, hasta el enésimo múltiplo de 5, la estructura de estos compuestos, no queda al azar, ya que la estructura de los demás primos que le siguen al 5, deberán y asi es, sin falla alguna, que encajan perfectamente su estructura con la estructura de estos compuestos, por lo que comprender esto, que es como ver el futuro, es el cometido que nos llevará a expresar y exponer, la “Distribución de los Números Primos” con lo cual daremos respuesta a todas las conjeturas planteadas y veremos si en esto, está involucrado nuestro famoso Riemann, con quien no deseo involucrarme por el momento, mas es la respuesta general y amplia que todos buscamos… verdad?


◘ Feriva… mientras Mathematica realiza el rastrillaje, analizaré y desarrollaré la metodología de factorización para aplicarlo a nuestro RSA-230, lo cual pienso dejarlo en proceso contínuo, en los días de carnaval que se vienen, que es cuando aprovecharé de dejar trabajando al ordenador y no tenga inconvenientes en casa, con lo cual espero, dar un paso muy, muy cerca, sino directo, a la factorización de nuestro RSA-230… la señal de aviso de esto, será el decirte… “Maestro, trabajo completado…” con lo que espero, podamos factorizar los demás compuestos que faltan, ya que mi cabeza dice, que la respuesta a la simplificación del proceso de determinar el ciclo de estos compuestos, está ahí, en las evaluaciones anotadas y/o exportadas, solo que no lo comprendo, ó mejor dicho, no lo veo… así como Fermat, no vió la valoración de [texx]K_{s}[/texx] para primos [texx]Mp[/texx] para su amigo y contemporáneo Marin Mersenne.





Cordiales Saludos….
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #8 : 22/02/2017, 04:17:58 am »

Buenos días, Víctor Luis.

Durante este verano estuve probando de todo, también con Fermat y varias ocurrencias para intentar atinar con la zona de alguno delos primos, pero, aunque parecía acercarme un poco, llegaba un momento en el que ya no conseguía acercarme más; ni siquiera recuerdo muy bien cómo lo hice, porque en los programas no puse comentarios y, además, ni siquiera son muy descriptivos en cuanto al título.

Da igual en cualquiera caso, no funciono.


Una cosa que tuve en mente y que, mirando ahora lo largo del número se me vuelve a a ocurrir, es intentar construir uno de los divisores de forma aproximada; y tengo una idea de cómo hacerlo, pero el programa no será tan sencillo como otros, pues según lo que tengo en la cabeza, requiere hallar una media de “mcedés”; pero son muchos los que tengo que hallar, y luego una media de la media. A ver si me pongo y cuando eso te digo.

 Espero que lo encuentres cuando dejes tiempo funcionando el ordenador; a ver si hay suerte. Voy a ir pensando ya en lo que digo, a ver qué me sale.

Un cordial saludo.
En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #9 : 22/02/2017, 06:55:12 am »

Buenos Días Feriva...


• Comencé a analizar la estructura de los compuestos semiprimos del grupo PIG[13], donde encontré que la mayoría tienen su ciclo en proporción a 6, lo que no me ayudo en casi nada; pero con esto, aprendí a utilizar listas en Mathematica, ya que en Python se dá mayor complejidad al caragar arrays un tanto llenos.
→ Bueno, eso fue el principio, pues de ahí, asocié el Conjunto FV con la Organización, donde en todos los compuestos semiprimos PIG[13] para cada grupo GO, la conformación de sus divisores es única, es decir, sabemos que [texx]m=p\cdot{}q[/texx] donde al ser [texx]m[/texx] PIG[13] sabemos que si [texx]p[/texx] es PIG[7] tendremos que [texx]q[/texx] también será PIG[7]

• Evaluando compuestos semiprimos PIG[13] con divisores [texx]p[/texx] y [texx]q[/texx] para PIG[7] si de esta selección, tomamos compuestos semiprimos por ejemplo GO[5] respecto al Conjunto V, se dá una especificidad de pertenencia de grupos PIG y GO para los divisores primos de estos compuestos, algo que luego de haber evaluado un gran número de estos, esto se dá de manera constante.
→ Te comento esto, por si quieres evaluar el RSA-230 con divisores primos... Me animé a hacer esto, evaluando el RSA con divisores NB desde la proporción kp=99,99999% hasta kp=50,00000% con una iteración de 10 lineas de generación, como solo una prueba de rastrillaje... no habiendo dado con algún divisor.

• Ante esto, me dije si los de RSA no hayan elegido como divisor [texx]p[/texx] a uno que esté en proporción kp=25,00% ó menos... Ante esto, no sabes si ya alguien evaluó la divisibilidad de RSA-230 hasta algún limite?
→ La evaluación tardó, poco mas de hora y media, lo que me parece adecuado, ya que sabemos que los divisores no están en proporción [texx]kp[/texx] de 5 fracciones decimales, donde la distancia entre este reparto de saltos, es de unos 105 digitos, algo grande; pero se puede volver a evaluar desde las 10 lineas de generación y asi, con esto, aunque es una metodología pésima, resulta ser determinista, pues con un buen tiempo de proceso, se dará con el divisor primo [texx]p[/texx]
→ Si ampliamos la cantidad de fraccioens decimales en [texx]kp[/texx] la distancia de los saltos disminuye, lo que viene siendo lo mismo; pero si por ejemplo tenemos kp=998877650000, no vamos a evaluar con [texx]kp=kp-1[/texx] que sería lo anterior, sino, [texx]kp=kp-2500[/texx] por ejemplo, permitiéndonos hacer un rastrillaje mas amplio... no te parece?

• Bueno, eso es respecto a la divisibilidad... mas respecto a la factorización estructural, me surgieron otras ideas, para determinar el ciclo-estructural, lo que iré probando; pero en esto, me topé con una proporcionalidad respecto a [texx]c=m[p,q][/texx] el punto de factorización, donde sabiendo [texx]c[/texx] calculamos [texx]nr=(m-c) \ mod \ q[/texx] conformamos  [texx]p=(q-nr)+1[/texx] ... algo que no sabía en este enfoque.
→ Esto lo he comprobado no tan ampliamente, pero hice un programa para que buscara fallos en esto y no se dió ninguno, donde claro que sabemos el valor del divisor [texx]q[/texx] pero de ahi, se puede sacar alguna función, que si no, se verá su utilidad mas adelante.

• Por ultimo, como la evaluación con la proporción [texx]kp[/texx] es muy amplia, lo que pienso hacer, es aplicar la determinación del ciclo, algo que ya les dije, tanto a ti como a El_Manco, puesto que si en 10 lineas de generación avarcamos [texx]10\cdot{}k=120[/texx] esto es muy ínfimo frente a lo que se abarca al buscar y/o determinar el ciclo del punto de factorización, pudiendo ser unas diez veces mas (1200) ó unas mil veces mas (120.000) según el ordenador que tengamos y las modalidades de calculo que apliquemos.
→ Aún no he desarrollado esto, pues estoy en eso si de hacerlo en Python ó en Mathematica, donde si con un primer rastrillaje no damos con el ciclo, con otros y limitados rastrillajes, podremos lograrlo, algo que sigue siendo complejo; pero menos que el anterior, pues abarcamos mas terreno... esto mientras continúo el análisis estructural.




Saludos Cordiales...
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #10 : 22/02/2017, 08:01:18 am »


Cita

• Ante esto, me dije si los de RSA no hayan elegido como divisor p a uno que esté en proporción kp=25,00% ó menos... Ante esto, no sabes si ya alguien evaluó la divisibilidad de RSA-230 hasta algún limite?


Supongo que sí, Víctor, de hecho yo probé en muchos “segmentos” pero no puedo precisar cuáles, porque fueron tantos y tan aleatoriamente que no te puedo decir; desde luego que entre los 100000 primos que hay a un lado y otro de la raíz no está los divisores, creo que eso sí lo comprobé y seguramente hasta el millón de primos consecutivos, aunque no recuerdo bien del todo; como hablo de primos, decir 100000 primos supone muchos más naturales de 100000. Y, después, pues probé trozos a saltos, muchos, que no apunté. Hay que buscar algo más sistemático, algo constructivo, pero no es fácil.

Un cordial saludo.
En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 833


Ver Perfil
« Respuesta #11 : 22/02/2017, 04:55:48 pm »

Buenas Noches (aún tardes) Feriva...



Cita
Hay que buscar algo más sistemático, algo constructivo, pero no es fácil.

• Ya hice el desarrollo inicial del programa para factorizar nuestro compuesto RSA-230... ya que el tiempo apremia, siendo que desde mañana tengo que dejar el computador procesando y no tanto a ver qué suerte tenemos, sino que, aunque pasen varios días, se logrará la factorización de este compuesto, no tanto como al "tic tac" como queríamos, es decir, una factorización directa, que tampoco es algo imposible esto.
→ Terminé la evaluación con divisores [texx]nb[/texx] hasta la proporción [texx]kp=5,000[/texx]% sin ningún resultado novedoso... y es que era de esperarse... no lo crees?  La divisibilidad es muy compleja...

• El desarrollo que hice, fue para determinar el ciclo del punto de factorización estructural, donde inicio de la proporción [texx]kp=98,999[/texx] ya que superior a este, ya lo evalué y no están los divisores ahí.
→ Abro un array y/o vector y/o lista, (lo hice en Mathematica 5.0) donde itero en un bucle reduciendo [texx]kp=kp-1[/texx] en una cantidad de 500 veces, donde para cada proporción [texx]kp[/texx] calculo un valor de [texx]p[/texx] es decir, que [texx]p=\displaystyle\frac{\sqrt[ ]{m}\cdot{}kp}{100}[/texx] que en sí es un mero calculo, ya que esto no nos dá un natural primo en [texx]p[/texx] lo que está bien, ya que en la factorización estructural no empleamos primos.

• Con [texx]p[/texx] (simple valor natural) calculamos un valor natural para [texx]q[/texx] y con estos, determinamos [texx]m[p,q]=c[/texx] un punto de factorización, que desde ya y como suponemos, no es el punto mismo que buscamos; donde estos valores los cargamos en la lista, de tal forma que al finalizar quedamos en [texx]kp=98,949[/texx]%
→ Seguidamente, evaluamos cada valor de la lista, buscando el ciclo de factorización estructural, iterando 50 veces, para una lista de referencia de valoración de 5000 datos, por lo que evaluamos una distancia de 250.000 y esto se prosigue realizando por 5 veces mediante un bucle, donde al final cada punto [texx]c[/texx] de la lista, evalúa un rango de 1.250.000 que es mucho mayor a lo que hicimos con la evaluación de divisibilidad con divisores [texx]nb[/texx] que aunque realicemos 50 lineas de generación, con esto abarcaríamos un rango de 600 y con esta misma iteración, buscando el ciclo, abarcamos un rango de 250.000... que es lo que les decía.

• Es esto me hice un lío... por considerar en los calculos, a los divisores dados respecto de la raiz cuadrada, ya que probando factorizar tu compuesto de 43 digitos, no se daba esto, donde los calculos son muy distintos... y al corregir esto, se dió la determinación del ciclo de forma casi inmediata... claro está que, partiendo de una proporción [texx]kp[/texx] muy próxima al que tiene tu compuesto.
→ La distancia entre los puntos estructurales calculados con [texx]kp[/texx] y cargados en la lista, siguen siendo grandes, al emplear un [texx]kp[/texx] de 3 fracciones decimales, donde si ampliamos a mas, como por ejemplo 10 fracciones decimales, la distancia disminuye y nos dá una mayor cobertura para determinar el ciclo de factorización.

Por ejemplo, en tu compuesto, el divisor [texx]p[/texx] se dá en proporción [texx]kp=96,575900345[/texx]% el cual tiene 9 fracciones decimales, que por ahora es mucho, para la evaluación por rastrillaje que voy realizando.

• En este momento, realizo un rastrillaje "superficial" con esta metodología, con proporción [texx]kp[/texx] de 3 fracciones decimales; pero con esto, podemos evaluar de forma general, desde [texx]kp=98,999[/texx] hasta [texx]kp=5,000[/texx] pudiendo realizar el mismo proceso, para evaluar el siguiente rango de 1.250.000  y así con esto, tenemos una metodología, aunque compleja y morosa por ahora, esta es totalmente polinomial, es decir, aplicable y determinista para factorizar el compuesto RSA-230, que aunque no lo haga en cuestión de minutos, con horas de proceso para algunos varios días, tendremos la buscada factorización, en sí, la determinación del ciclo-estructural, que como ya sabemos, esto es en sí, la factorización misma del compuesto.
→ Como te dije, es un primer desarrollo, el cual dejaré ejecutando y procesando,... aprovechando los días de carnaval, mientras voy a la tienda de mi hermana, donde recorrerá proporciones [texx]kp[/texx] de 5 fracciones decimales, iterando 10 veces en rangos valorados de 10.000 para subiteraciones de 100, con lo cual abarcaremos en cada proceso un rango de 10.000.000 hasta un limite [texx]kp[/texx] determinado, de modo que al finalizar el proceso, reinicie el mismo proceso, pero continuando desde el rango 10.000.000 ya evaluados.

◘ UNA CONSULTA:

○ Feriva... Entre qué proporciones [texx]kp[/texx] debería realizar la evaluación?

• Como te dije, iniciamos desde [texx]kp=98,99999[/texx]% estimando hacerlo hasta [texx]kp=50,00000[/texx]%  donde de seguro, el tamaño de los divisores primos, no serán de la misma cantidad de digitos, ya habrán mas de 2 ó 3 digitos de diferencia.
→ Por ejemplo en tu compuesto de 43 digitos, con [texx]kp=96,575900345[/texx]% proporción del divisor [texx]p[/texx] respecto a la raiz cuadrada del compuesto semiprimo, este y el divisor [texx]q[/texx] tienen 21 digitos; pero con una proporción [texx]kp[/texx] menor, ya los divisores no son del mismo tamaño.
→ En una proporción [texx]kp=10,000[/texx]% ya los divisores, tienen una notable diferencia de tamaño en digitos, donde al ser [texx]p[/texx] pequeño, su determinación es facil con la metodología de divisibilidad con primos.


CONSULTA



Código:
g=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,..]

Descartamos {1,2,4,8,16,32}
g=[3,5,6,7,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,..]

Descartamos {3,6,12,24,48}
g=[5,7,9,10,11,13,14,15,17,18,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,50,..]

Descartamos {5,10,20,40}
g=[7,9,11,13,14,15,17,18,19,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,41,42,43,44,45,46,47,49,50,..]

Descartamos {7,14,28}
g=[9,11,13,15,17,18,19,21,22,23,25,26,27,29,30,31,33,34,35,36,37,38,39,41,42,43,44,45,46,47,49,50,..]

Descartamos {9,18,36}
g=[11,13,15,17,19,21,22,23,25,26,27,29,30,31,33,34,35,37,38,39,41,42,43,44,45,46,47,49,50,..]

Descartamos {11,22,44}
g=[13,15,17,19,21,23,25,26,27,29,30,31,33,34,35,37,38,39,41,42,43,45,46,47,49,50,..]

Descartamos {13,26}
g=[15,17,19,21,23,25,27,29,30,31,33,34,35,37,38,39,41,42,43,45,46,47,49,50,..]


• En [texx]g[/texx] tenemos una sucesión natural, donde cubrimos las posiciones [texx]\{1,2,4,8,16,32,...\}[/texx] mismas que indico como descartadas, ya que se deben cubrir las demás posiciones de naturales, así como se continúa en el ejemplo.

◘ Mi pregunta es si sabes en la matemática, otra manera o modo de realizar esto, algo que sea simple y de cobertura total?

Lo digo, porque quizás, esto falle ó no sea lo adecuado en la forma de proceder con esto... qué opinas?


Spoiler (click para mostrar u ocultar)




Saludos Cordiales....
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.139



Ver Perfil
« Respuesta #12 : 23/02/2017, 11:41:59 am »


Hola, Víctor Luis, buenos días.

Pues no sé decirte lo de la razón “K” pero uno de los números, casi seguro, tiene una, dos, o varias cifras menos que la raíz cuadrada.

 No me acuerdo muy bien, pero tengo apuntado, de este verano, números que probablemente podrían estar “cerca” del primo más pequeño; me fui acercando poco a poco con unos programas que hice. Me quedé en éste, creo

59660962717769940676929369867199603643998513415838

35674082980974626530768790426504850522815285577548

75855094080896

EL primo más pequeño podría estar por debajo de ése  “no muy lejos”; pero eso puede querer decir muchos trillones o más y, encima, tampoco es seguro del todo, es una simple posibilidad.



Estuve haciendo ayer un programa que, en principio, no sé cómo aprovechar. Y no sé ahora mismo pasarlo a Python 3 porque uso la función “map”, que es diferente en Python3 o no existe
(me gusta más Python 2, es más ágil y funcionan cosas que en el otro no, no sé por qué hicieron esos cambios).

Se trata de lo siguiente, te lo explico con un número pequeño [texx]5*17=85[/texx]

Esto número, descompuesto por unidades, decenas... es

[texx]80+5[/texx]

Y la factorización de 5 es 5 y la de 80 es [texx]2^4 *5[/texx].

En este caso sólo están compuestas (las unidades, decenas... y aquí se acaba en este ejemplo) de uno y dos primos elevados a unas potencias, pero en todo caso pueden estar compuestos, como mucho, de los primos de una sola cifra, ya que, tenemos una sola cifra seguida de ceros, salvo las unidades, a las que no le sigue ningún cero.

Así pues, si extraemos los primos y las potencias de cada primo que aparece, para 85 tenemos

[texx]2^4[/texx] y [texx]5^2[/texx]

lo que pasa es que el “cinco a la dos” no está así, está “a la uno” repartido como factor en los dos diferentes sumando; o sea, que si sumamos eso, no da el número, no da 85, da

[texx]2^4+5^2=16+25=41[/texx]

En principio no tiene nada que ver con los posibles factores, pero estoy estudiando algunas coincidencias que, no sé por qué, parece haber en ocasiones según los semiprimos; es un inventó sin razón ninguna, simplemente me dije “a ver si puedo programar esto”, y lo programé antes de ver si servía para algo.

Aquí, el programa; donde he metido nuestro RSA (se puede cambiar). Ya te digo que, si lo quieres correr, tiene que ser en Python 2. Ah, está sin terminar, saca las matrices de las potencias de 2, de 3, de 5 y de 7 (según lo que he explicado) No las suma ni hace nada más hasta donde termina el código; ya lo haré ahora.

Código:

#-*- coding: utf-8 -*-

from sympy import*


a1="1796949159794106673291612844957324615636756180801260007088891883553172646"
a2="0341490933493372247868650755230855864199929221814436684722874052065257937"
a3="495694348389263171152522525654410980819170611742509702440718010364831638288518852689"

a=a1+a2+a3

rsa =int(a)



M=  []   # Matriz donde van las unidades, decenas... etc., que suman el número

M2 =[]   # Matriz donde va la factorización; es decir los diccionarios de cada valor contenido en M.

Pot2=[]  # Matriz donde van las potencias de 2 que son componentes de los números (que sean pares) de la matriz M.

Pot3=[]  # Análogamente para las potencias de 3.

Pot5=[]  # Para las de 5.

Pot7=[]  # Para las de 7.

P=[Pot2, Pot3, Pot5, Pot7]     # Matriz de las potencias

pri = [2,3,5,7] # Dígitos primos

cont = 1 # Contador que hace de multiplicador (de cadenas ce ceros) para poner los ceros en los números de la matriz M.


k1 = map (int, a)  # Convierte en lista el RSA (sus cifras separadas por una coma)

k2 = k1[0: (len (a) -1 )]  # Toma todas las cifras del RSA menos la última (el último nuevo, que no lleva cero detras, las unidades).

k3=k2[::-1]        # invierte el orden de la lista, de manera que la cifra de las decenas queda a la derecha.


for j in (k3):     # Recorre entonces todas las cifras; la de las decenas, centenas....

cifra =str (j) +"0"*cont   # Le añade los ceros correspondientes.

cifra =int (cifra)          # Convierte a entero cifra

cont =cont+1               # cont es el multiplicador de ceros de la cadena; va aumentando en una unidad.

M.append (cifra)           #  Mete la cifra que sea, ya con sus ceros detŕas, en la matriz M.

M=M[::-1]                         # Recordando que estaban ivertidas, las ponemos otra vez en su orden.

M=M+[a[len(a)-1]]    # Añadimos la última cifra de las unidades (9 en este caso) al final y ya tenemos los números (que suman el RSA).

for j in range (len(M)):          # Recorre la cantidad de elmentos de M

t=int(M[j])                # Mete en t la el diccionario de la factorización del número tomado.


M2. append(  ( factorint (t) )       )      # y lo mete en la matrzi M2; así con todos.




for j in range (len(M)):            # Recorre la cantidad de elmentos

M2[j].update ( M2[j]  )  # Va uniendo todos los diccionarios en uno solo a medida que corre el bucle.



def f():

for j in range (len(M)):           # El bucle vuelve a recorrer la misma longitud de siempre.

t=M2[j]                    # Mete en t el diccionario del primer elemento (y después va metiendo los otros)

try:                       # Va a intentar meter en las matrices "Pot" las potencias de 2 y demás primos

P[y].append (M2[j] [pri [y] ])   # Si p (primo 2,3,5 ó 7) es factor del número, mete la potencia
except:

continue        # Si no es factor continúa buscando otro número.

P[y].sort()             # Ordena la patriz de las potencias del primo que sea; de menor a mayor



for y in range (4):

v= P[y] # v va siendo las matrices Pot2, Pot3, Pot5, Pot7; y van siendo mandadas a la función f()

goto =f()

goto        # Llama a la función


for j in (P):

print j # Imprime las matrices de las potencies de 2,3,5,7

print ".........."


Aquí, por orden de aparición, las potencias de dos, las de tres, cinco y siete, en sus matrices:

Spoiler (click para mostrar u ocultar)

Es una curiosidad más que nada, pero por si te sirve algún día para pensar algo

Saludos.
En línea

Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.1 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!