Red de conocimiento informático - Descarga de software - Programación para descifrar contraseñas

Programación para descifrar contraseñas

Puede parecer difícil a primera vista, pero en realidad es imposible tener un criptosistema tan débil.

No puedes intentar iniciar sesión 50 veces.

Pero a juzgar por 50 intentos, solo hay 8 números como máximo.

Basado en el principio más simple, si la contraseña es la más corta y no hay números repetidos, aún se puede descifrar.

Dado que las tres contraseñas fueron mencionadas aleatoriamente en orden, los 50 inicios de sesión nos brindan información sobre el orden de las contraseñas.

La idea concreta es que, en función del orden en que aparece cada número de la contraseña, podemos construir un gráfico dirigido.

Tres números a la vez proporcionan información sobre tres nodos y dos variables en el gráfico.

De hecho, la escritura de datos se repite, lo que puede reducir la cantidad de datos.

Finalmente, si se forma un gráfico acíclico dirigido conectado.

El camino más largo que cubre todos los puntos del gráfico es la secuencia de nuestros cifrados.

Según el análisis de la superficie de rendimiento, el nodo se usa para almacenar información del nodo y el mapa se usa para almacenar la matriz de adyacencia.

A partir de 50 datos de registro se puede construir este gráfico acíclico dirigido.

Usando la biografía de Matlab, hice este dibujo y resolví la contraseña 7316289.

a =[319;680;180;690;129;620;762;689;762;318;368;710;...

720;710;629; 168;160;689;716;731;736;729;316;729;...

729;710;769;290;719;680;318;389;162;289;162; 718;...

729;319;790;680;890;362;319;760;316;729;380;319;...

728;716] ;

b = num 2 str(a);

Nodo=[];Nodo

map =[];? Gráfico de matriz de adyacencia

Para ii=1: tamaño (b, 1)

temp=b(ii,);

Para jj=1: 3 o más Nodo

si está vacío(find(nodo==temp(jj),1))

nodo=[nodo, temp(jj)];

tamaño = longitud (nodo);

mapa(tamaño, tamaño) = 0

Fin

Fin

mapa(nodo=; =temp(1), nodo == temp(2))= 1; conexión

mapa(nodo==temp(2), nodo == temp(3))= 1;?

Fin

bg = biografía (mapa, nodo);

Ver (BG);

Escribiendo aquí por ahora, lo anterior; Es que escribiré la ruta y el código del programa lentamente cuando tenga tiempo.