Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - zerosoft
Páginas: [1]
1
« en: Viernes 27 de Mayo de 2011, 15:10 »
Hola amigos, estoy haciendo un tipo de cifrado que consta de tres pasos. el primero divide la frase a codificar en bloques de tres caracteres cada uno y realiza una permutacion asi: El primer caracter se sustituye por el tercero, el segundo por el primero y el tercero por el segundo. Por ejemplo, la cadena abc seria permutada asi: cab. Este es el codigo, por si alguien quiere revisarlo, o mejorarlo. La primera funcion codifica y la segunda decodifica.
#!/usr/bin/python
def trasposicion_caracteres(cadena): a0=a1=a2="" n=0 aux="" if (len(cadena)%3)==1: cadena=cadena+" " if (len(cadena)%3)==2: cadena=cadena+" " while (n<=len(cadena)-1): a0=cadena[n+1] a1=cadena[n+2] a2=cadena[n] aux=aux+a0+a1+a2 n=n+3 return aux
def destrasposicion_caracteres(cadena): a0=a1=a2="" n=0 aux="" while (n<=len(cadena)-1): a0=cadena[n+2] a1=cadena[n] a2=cadena[n+1] aux=aux+a0+a1+a2 n=n+3 return aux
El segundo paso es la sustitucion de cada caracter por otro. Para no complicarnos, yo lo he realizado siguiendo el siguiente algoritmo: a cada caracter se le saca su codigo ASCII mediante la funcion ord() y se sustituye por otro codigo ASCII siguiendo la sencilla funcion discreta biyectiva: F(x)=255-ord(caracter). Esto significa que el caracter t, que tiene el codigo ASCII 112, seria sustituido por el caracter que corresponde al codigo ASCII 255-112=143 con la funcion chr(). E aqui el codigo de codificacion y decodificacion: #!/usr/bin/python
def sustitucionASCII(cadena): i=0 aux="" while (i<=len(cadena)-1): aux=aux+chr(255-ord(cadena)) i=i+1 return aux
def resustitucionASCII(cadena): i=0 aux="" while (i<=len(cadena)-1): aux=aux+chr(255-ord(cadena)) i=i+1 return aux
Estos dos pasos, permutacion y sustitucion es la base de sistemas criptograficos com el DES y el AES, de encriptacion simétrica. Todavia me queda el más importante paso, que es el de la difusion de los datos, que explicare edentro de poco. si veis algun fallo o algo, no dudeis en decirlo. GRACIAS HOLA QUE TAL.... BROTHER YO QUIERO APRENDER A PROGRAMAR EN PYTHON DESDE CERO QUIERO SABER QUE NECESITO YA QUE NO TENGO CONOCIMIENTO DE PROGRAMACION.. GRACIAS
2
« en: Viernes 27 de Mayo de 2011, 15:02 »
Hola a todos..... quisiera que alguien me ayudara quiero aprender a programar en python desde cero ya que no ningun conocimiento de programacion. quien me podria decir por donde empiezo y como.... muchas gracias de antemano
Páginas: [1]
|