Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: kielrom en 31 Marzo 2017, 14:50 pm



Título: Numero cifrados
Publicado por: kielrom en 31 Marzo 2017, 14:50 pm
Hola un compañero de trabajo a hecho un programita para cifrar datos y me gustaría saber si hay algún tipo de software que lo desencripte.


Gracias


Aquí os dejo unos ejemplos por si me podéis ayudar.

https://www.dropbox.com/s/935f12y69v68n1o/aaaa.txt?dl=0 (https://www.dropbox.com/s/935f12y69v68n1o/aaaa.txt?dl=0)


Tendréis que descargarlo para ver  todos los caracteres.




Título: Re: Numero cifrados
Publicado por: engel lex en 31 Marzo 2017, 15:20 pm
si das más información... que estamos viendo? que tipo de cifrado usa? que se supone que decia llí originalmente? estás seguro que es cifrado y no hash?

con decir que esta cifrado y dar eso, poco dices :s


tema movido a criptografía


Título: Re: Numero cifrados
Publicado por: kielrom en 31 Marzo 2017, 15:32 pm


Código:
STORE SPAC(0)  TO MINTERESA1A ,MINTERESA2A ,MINTERESA3A ,MINTERESA4A ,MINTERESA5A ,MINTERESA6A ,MINTERESA7A ,MINTERESA8A ,MINTERESA9A ,MINTERESA10A

STORE SPAC(0)  TO MINTERESA11A,MINTERESA12A,MINTERESA13A,MINTERESA14A,MINTERESA15A,MINTERESA16A,MINTERESA17A,MINTERESA18A,MINTERESA19A,MINTERESA20A




DO CORTAR
DO MOSTRAR

RETURN



*------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------
PROCEDURE CORTAR

STORE MIO_TARJETA    TO   MIO_TARJETA1

*DO WHILE .T.

     STORE SUBSTR(MIO_TARJETA1,1,1) TO MINTERESA1
     STORE CHR(ASC(MINTERESA1)+20)  TO MINTERESA1A


     STORE LTRIM(RTRIM(SUBSTR(MIO_TARJETA1,2,1))) TO MINTERESA2
     STORE CHR(ASC(MINTERESA2)+22)  TO MINTERESA2A

     STORE LTRIM(RTRIM(SUBSTR(MIO_TARJETA1,3,1)))   TO MINTERESA3
     STORE CHR(ASC(MINTERESA3)+24)    TO MINTERESA3A

     STORE SUBSTR(MIO_TARJETA1,4,1)   TO MINTERESA4
     STORE CHR(ASC(MINTERESA4)+24)    TO MINTERESA4A

     STORE SUBSTR(MIO_TARJETA1,5,1)   TO MINTERESA5
     STORE CHR(ASC(MINTERESA5)+23)    TO MINTERESA5A

     IF LTRIM(RTRIM(  SUBSTR(MIO_TARJETA1,6,1) )) = SPAC(0)
          *----------------NO HAY NADA------------PARO
          RETURN

     ENDIF

    *-----------------------------2 BUCLE--------------
     STORE SUBSTR(MIO_TARJETA1,6,1) TO MINTERESA6
     STORE CHR(ASC(MINTERESA6)+20)  TO MINTERESA6A


     STORE SUBSTR(MIO_TARJETA1,7,1) TO MINTERESA7
     STORE CHR(ASC(MINTERESA7)+21)  TO MINTERESA7A

     STORE SUBSTR(MIO_TARJETA1,8,1)   TO MINTERESA8
     STORE CHR(ASC(MINTERESA8)+20)    TO MINTERESA8A

     STORE SUBSTR(MIO_TARJETA1,9,1)   TO MINTERESA9
     STORE CHR(ASC(MINTERESA9)+21)    TO MINTERESA9A

     STORE SUBSTR(MIO_TARJETA1,10,1)   TO MINTERESA10
     STORE CHR(ASC(MINTERESA10)+22)    TO MINTERESA10A


     *-------------------3BUCLE------------------------------------------
     STORE SUBSTR(MIO_TARJETA1,11,1) TO MINTERESA11
     STORE CHR(ASC(MINTERESA11)+21)   TO MINTERESA11A


     STORE SUBSTR(MIO_TARJETA1,12,1) TO MINTERESA12
     STORE CHR(ASC(MINTERESA12)+22)   TO MINTERESA12A

     STORE SUBSTR(MIO_TARJETA1,13,1)   TO MINTERESA13
     STORE CHR(ASC(MINTERESA13)+21)     TO MINTERESA13A

     STORE SUBSTR(MIO_TARJETA1,14,1)   TO MINTERESA14
     STORE CHR(ASC(MINTERESA14)+20)     TO MINTERESA14A

     STORE SUBSTR(MIO_TARJETA1,15,1)   TO MINTERESA15
     STORE CHR(ASC(MINTERESA15)+21)     TO MINTERESA15A

     *-------------------4BUCLE------------------------------------------
     STORE SUBSTR(MIO_TARJETA1,16,1)  TO MINTERESA16
     STORE CHR(ASC(MINTERESA16)+20)   TO MINTERESA16A


     STORE SUBSTR(MIO_TARJETA1,17,1)  TO MINTERESA17
     STORE CHR(ASC(MINTERESA17)+22)   TO MINTERESA17A

     STORE SUBSTR(MIO_TARJETA1,18,1)    TO MINTERESA18
     STORE CHR(ASC(MINTERESA18)+22)     TO MINTERESA18A

     STORE SUBSTR(MIO_TARJETA1,19,1)    TO MINTERESA19
     STORE CHR(ASC(MINTERESA19)+21)     TO MINTERESA19A

     STORE SUBSTR(MIO_TARJETA1,20,1)    TO MINTERESA20
     STORE CHR(ASC(MINTERESA20)+21)     TO MINTERESA20A



     STORE MINTERESA1A+MINTERESA2A+MINTERESA3A+MINTERESA4A+MINTERESA5A+MINTERESA6A+MINTERESA7A+MINTERESA8A+MINTERESA9A+MINTERESA10A+MINTERESA11A+MINTERESA12A+MINTERESA13A+MINTERESA14A+MINTERESA15A+MINTERESA16A+MINTERESA17A+MINTERESA18A+MINTERESA19A+MINTERESA20A    TO MIO_TARJETA_ENCRIPTADA




RETURN
*-----------------------------------------------------------------------------------------------------------------------
*-----------------------------------------------------------------------------------------------------------------------




PROCEDURE MOSTRAR
?
?
?

?MINTERESA1A +""+MINTERESA2A+""+MINTERESA3A+""+MINTERESA4A+""+MINTERESA5A
??MINTERESA6A +""+MINTERESA7A+""+MINTERESA8A+""+MINTERESA9A+""+MINTERESA10A
??MINTERESA11A+""+MINTERESA12A+""+MINTERESA13A+""+MINTERESA14A+""+MINTERESA15A
??MINTERESA16A+""+MINTERESA17A+""+MINTERESA18A+""+MINTERESA19A+""+MINTERESA20A

RETURN


     *ENDD


Este seria el código que se a usado para "cifrar" esto. Lo hacemos en dbase plus, y nos gustaría saber cuanto costaría "descifrar" esto.


Lo que "cifra" son números.


Título: Re: Numero cifrados
Publicado por: engel lex en 31 Marzo 2017, 16:40 pm
el cifrado es estatico y bastante simple por lo que creo qne python con esto bastaría

Código
  1. fijo = "02443010121210102211"
  2. file = open("aaaa.txt","r")
  3. for i in file.readlines():
  4. s = ""
  5. for j in range(20):
  6. s+= chr(ord(i[j])-int(fijo[j])-20)
  7. print s,"\n"

los resultados parecen ser estos

Código:
9999999999999999
-  -    -
5545013097652196
9999999999999999
4539970039538539
-  -    -


Título: Re: Numero cifrados
Publicado por: Serapis en 1 Abril 2017, 11:49 am


Este seria el código que se a usado para "cifrar" esto. Lo hacemos en dbase plus, y nos gustaría saber cuanto costaría "descifrar" esto.


Lo que "cifra" son números.

Confundís cifrado con desordenado...
En ell cifrado a modo grosso, se recurre a 3 modelos:
Sustitución: Uno o más caracteres se remplazan por otro u otros caracteres.
Transposición: Uno o más caracteres cambian de posición (pero permanecen en el mensaje los mismos caracteres).
Ampliación/reducción: Básicamente cuando la sustitución de x caracteres se remplaza por un número de caracteres distinto. O bien cuando después del cifrado existe una compresión (puede acabar siendo más corto o más largo el mensaje).
Como quiera que sea, estos cifrados suelen ser extremadamente simples, para que la fuerza de un cifrado sea considerable, la fuerza del mismo debe recaer no en el método, sino en la clave usada para cifrarlo. Así aunque alguien posea el código fuente, ni por fuerza bruta le sería posible romperlo (por cuestión física de tiempo).

Un consejo: Usad operaciones XOR en el cifrado. si tienes un resultado pongamos como: 234 (un byte), siendo el resultado de una operación XOR, puede ser 1 entre 256 posibilidades de operar con 2 bytes "A xor B", sin saber al menos una de las variables es imposible saber cual es la otra. Con cada carácter de longitud, se multiplica por 256 las posibilidades combinatorias.... luego cuanto más larga y aleatoria sea una clave, más imposible será de descifrar. si además se usa una clave para cada vez, aunque en una ocasión encontraran una 'solución' solo les serviría para esa 'solución'... por tanto el método se mantiene a salvo y la fuera es exclusivamente dependiente de la clave. Si al tiempo haceis que no sea dependiente del ser humano (que es el factor más débil en la ecuación de seguridad, por lo general), el resultado suele ser un sistema irrompible.


Título: Re: Numero cifrados
Publicado por: kielrom en 3 Abril 2017, 09:34 am
Hola de nuevo,


Gracias por vuestros comentarios y aportaciones, lo agradecemos mucho.

Pero nos gustaría saber si habría algún programa que poniéndole "los números cifrados", sin tener el código claro, pudiera resolverlo.


Muchisimas gracias por anticipado.

Un saludo


Título: Re: Numero cifrados
Publicado por: engel lex en 3 Abril 2017, 13:02 pm
si me das 2 muestras, del numero sin ocultar y el numero ocultado, si, te podría resolver el algoritmo, como te dije, es simple y si, no es como tal un cifrado, es una codificación... incluso si usaras base64 (para quien no sepa lo que es, difícil en  nuestros tiempos) sería mucho más difícil de romper, tienes metodos más seguros que son standard y están ampliamente documentados e implementados, te recomiendo, averiguar de ellos