Numero cifrados

Iniciado por kielrom, 31 Marzo 2017, 14:50 PM

0 Miembros y 1 Visitante están viendo este tema.

kielrom

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


Tendréis que descargarlo para ver  todos los caracteres.



engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

kielrom

#2


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.

engel lex

el cifrado es estatico y bastante simple por lo que creo qne python con esto bastaría

Código (python) [Seleccionar]
fijo = "02443010121210102211"
file = open("aaaa.txt","r")
for i in file.readlines():
s = ""
for j in range(20):
s+= chr(ord(i[j])-int(fijo[j])-20)
print s,"\n"


los resultados parecen ser estos

9999999999999999
-  -    -
5545013097652196
9999999999999999
4539970039538539
-  -    -
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Serapis

Cita de: kielrom en 31 Marzo 2017, 15:32 PM


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.

kielrom

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

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.