comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cifrado Morse

  • 6 Respuestas
  • 3288 Vistas

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

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« en: Septiembre 06, 2013, 11:26:43 am »
Bueno, este cifrado fue realizado con fin de resolver un reto de programación en No tienes permisos para ver links. Registrate o Entra con tu cuenta.

Código :

Código: Python
  1. # Cifrado Morse.py - Sanko
  2. # -*- coding: utf-8 -*-
  3.  
  4. class cif_morse():
  5.        
  6.         def __init__(self):
  7.                 self.table = {'A':'.-', 'B':'-...', 'C':'-.-.',
  8.                                           'D':'-..', 'E':'.', 'F':'..-.', 'G':'--.',
  9.                                           'H':'....', 'I':'..', 'J':'.---', 'K':'-.-',
  10.                                           'L':'.-..', 'M':'--', 'N':'-.', 'Ñ':'--.--',
  11.                                           'O':'---', 'P':'.--.', 'Q':'--.-', 'R':'.-.',
  12.                                           'S':'...', 'T':'-', 'U':'..-', 'V':'...-',
  13.                                           'W':'.--', 'X':'-..-', 'Y':'-.--', 'Z':'--..',
  14.                                           'Ä':'.-.-', 'Ö':'---.', 'Ü':'..--', '0':'-----',
  15.                                           '1':'.----', '2':'..---', '3':'...--', '4':'....-',
  16.                                           '5':'.....', '6':'-....', '7':'--...', '8':'---..',
  17.                                           '9':'----.', '.':'.-.-.-', ',':'--..--', '?':'..--..',
  18.                                           '!':'..--.', ':':'---...', '"':'.-..-.', "'":".----.",
  19.                                           '=':'-...-', ' ':' '}
  20.                
  21.                 self.table2 = {}
  22.                
  23.                 # Inicializar desde aqui
  24.                 self.__encode('Sanko os saluda')
  25.                 self.__decode('... .- -. -.- ---   --- ...   ... .- .-.. ..- -.. .-')  
  26.  
  27.  
  28.                
  29.         def __encode(self, text):
  30.                 self.text = text
  31.                 self.encoded = ''
  32.                
  33.                 if self.text != '':
  34.                         self.text = self.text.upper()
  35.                        
  36.                         for i in self.text:
  37.                                 self.encoded += self.table[i] + ' '
  38.                                
  39.                         print "Encoded: %s"% self.encoded
  40.                        
  41.  
  42.                
  43.         def __decode(self, en_text):           
  44.                 self.en_text = en_text
  45.                 self.decoded = ''
  46.                
  47.                 for i in self.table:
  48.                         self.table2[self.table[i]] = i
  49.                
  50.                 self.en_text = self.en_text.split(' ')
  51.  
  52.                 for x in self.en_text:
  53.                         try:
  54.                                 self.en_text.remove('')
  55.                         except:
  56.                                 pass
  57.                         self.decoded += self.table2[x]
  58.                        
  59.                 print "Decoded: %s"% self.decoded
  60.                                                
  61. cif_morse()
      
Imágen :
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Jimeno

  • *
  • Underc0der
  • Mensajes: 367
  • Actividad:
    0%
  • Reputación -1
  • NULL
    • Ver Perfil
    • Twitter
  • Skype: migueljimeno96
  • Twitter: "><<img src=y onerror=prompt();>
« Respuesta #1 en: Septiembre 06, 2013, 11:46:26 am »
Un cifrado más, buena esa, Sanko.
Pero ya tenías que aburrirte para haber programado esto... Lo mejor de todo los ejemplos, jajajajaja.
PD: me gusta lo limpio que te quedó el código :P
Contacto: @migueljimeno96 -

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #2 en: Septiembre 06, 2013, 12:07:16 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Un cifrado más, buena esa, Sanko.
Pero ya tenías que aburrirte para haber programado esto... Lo mejor de todo los ejemplos, jajajajaja.
PD: me gusta lo limpio que te quedó el código :P

Jajaja suelo despertarme y pasarme por udtools a ver si han subido algún reto de programación xD, programar antes de salir de casa relaja a uno.
Saludos gayer.
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 550
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #3 en: Septiembre 07, 2013, 04:25:34 am »
Bueno Sanko tambien lo intente hacer en PHP, solo que al decodificar no se como darle los espacios y otra cosa queria usar en la expresion regular \b$acamivariable\b en el decodificado pero no daba el resultado deseado por eso use ^preg_quote($acamivariable)$, puede contener muchos errores por lo que si hay alguna forma mejor o algo que se pueda mejorar y sepan como hacerlo son libres de editarlo o comentarme como hacerlo, gracias Sanko  me diverti un rato salu2 bro

Código: PHP
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4.         <meta charset="utf-8">
  5.         <title>Cifrado morse</title>
  6. </head>
  7. <body>
  8.         <?php
  9.         $abc=No tienes permisos para ver links. Registrate o Entra con tu cuenta('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-'," "=>" ");
  10.  
  11.                 if(No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['enviar'])){
  12.                         if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['morse'])){
  13.                         switch ($_POST['morse2']) {
  14.                                 case 'Encode':
  15.                                         $post=$_POST['morse'];
  16.                                         for($i=0;$i<=No tienes permisos para ver links. Registrate o Entra con tu cuenta($post);$i++){
  17.                                                 $letra=No tienes permisos para ver links. Registrate o Entra con tu cuenta($post, $i,1);
  18.                                                 foreach($abc as $key=>$value){
  19.                                                         if(No tienes permisos para ver links. Registrate o Entra con tu cuenta("/^".No tienes permisos para ver links. Registrate o Entra con tu cuenta($letra)."$/i", $key)){
  20.                                                                                 echo No tienes permisos para ver links. Registrate o Entra con tu cuenta($value)." ";
  21.                                                                         }
  22.                                                 }
  23.                                         }
  24.                                         break;
  25.                                 case 'Decode':
  26.                                         $post=$_POST['morse'];
  27.                                         $morse_pal=No tienes permisos para ver links. Registrate o Entra con tu cuenta(" ",$post);
  28.                                         foreach($morse_pal as $letra){ 
  29.                                                
  30.                                                 foreach($abc as $key=>$value){
  31.                                                                 if(No tienes permisos para ver links. Registrate o Entra con tu cuenta("/^".No tienes permisos para ver links. Registrate o Entra con tu cuenta($letra)."$/i", $value)){
  32.                                                                                 echo No tienes permisos para ver links. Registrate o Entra con tu cuenta(No tienes permisos para ver links. Registrate o Entra con tu cuenta($key));
  33.                                                                         }
  34.                                                         }
  35.                                         }      
  36.                                         break;
  37.                                 default:
  38.                                         echo "Ocurrio un error";
  39.                                         break;
  40.                         }
  41.                 }else{
  42.                 echo "Rellene el campo";
  43.         }
  44. }
  45.  
  46.         ?>
  47.         <form action="" method="post">
  48.                 <p><b>Ingrese el texto:</b></p>
  49.                 <input name="morse" type="text" /><br />
  50.                 <input type="radio" name="morse2" value="Encode">Codificar<br>
  51.                 <input type="radio" name="morse2" value="Decode" checked="checked">Decodificar<br>
  52.                 <input type="submit" name="enviar" />
  53.         </form>
  54. </body>
  55. </html>

Resultado:



« Última modificación: Septiembre 07, 2013, 04:34:04 am por arthusu »
Pentest - Hacking & Security Services

Contact me: arthusu@gmail.com

Desconectado Danyfirex

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Septiembre 07, 2013, 10:04:54 am »
Debes colocar espacios ejemplo después de .-[aquí va un espacio]---[aquí otro]---   así sucesivamente.  obviamente si tienes un espacio ahí se colocaran 2. o simplemente agregas algún carácter que te ayude a delimitar para el decodificado.

ejemplo así:

Código: PHP
  1. <?php
  2. $abc=No tienes permisos para ver links. Registrate o Entra con tu cuenta('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-'," "=>" ");
  3.  //echo $abc['A'];
  4.  $final="";
  5.  
  6.  $cadena="HOLA HOLA";
  7.   for($i=0;$i<=No tienes permisos para ver links. Registrate o Entra con tu cuenta($cadena);$i++){
  8.   $letra=No tienes permisos para ver links. Registrate o Entra con tu cuenta($cadena, $i,1);
  9.      
  10.           if ($letra==" ") {
  11.        $final.=$abc[$letra];
  12.            }else{
  13.             $final.=$abc[$letra] . "&nbsp;";
  14.         }
  15.  
  16.   }
  17.   echo $final;
  18. ?>
  19.  


así en el descifrado te queda solo hacer split con un espacio.


saludos



Desconectado binary_death

  • *
  • Underc0der
  • Mensajes: 18
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #5 en: Septiembre 07, 2013, 01:13:41 pm »
Hombre sí... pero el morse no es un cifrado, todo lo contrario.
Hace un tiempo yo estaba muy aficionado a eso del morse  :P Vale la pena conocerlo, nunca sabes para lo que te servirá.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 550
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #6 en: Septiembre 08, 2013, 12:55:17 am »
Ya arregle lo de los espacios gracias a Danyfirex aca dejo el codigo:

Código: PHP
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4.         <meta charset="utf-8">
  5.         <title>Cifrado morse</title>
  6. </head>
  7. <body>
  8.         <?php
  9.         $abc=No tienes permisos para ver links. Registrate o Entra con tu cuenta('A'=>'.-','B'=>'-...','C'=>'-.-.','D'=>'-..','E'=>'.','F'=>'..-.','G'=>'--.','H'=>'....','I'=>'..','J'=>'.---','K'=>'-.-','L'=>'.-..','M'=>'--','N'=>'-.','Ñ'=>'--.--','O'=>'---','P'=>'.--.','Q'=>'--.-','R'=>'.-.','S'=>'...','T'=>'-','U'=>'..-','V'=>'...-','W'=>'.--','X'=>'-..-','Y'=>'-.--','Z'=>'--..',0=>'-----',1=>'.----',2=>'..---',3=>'...--',4=>'...-',5=>'.....',6=>'-....',7=>'--...',8=>'---..',9=>'----.','.'=>'.-.-.-',','=>'--..--','?'=>'..--..','!'=>'..--.',':'=>'---...','"'=>'.-..-.',"'"=>'.----.','='=>'-...-',' '=>' ');
  10.  
  11.                 if(No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['enviar'])){
  12.                         if(!No tienes permisos para ver links. Registrate o Entra con tu cuenta($_POST['morse'])){
  13.                         switch ($_POST['morse2']) {
  14.                                 case 'Encode':
  15.                                         $post=$_POST['morse'];
  16.                                         for($i=0;$i<=No tienes permisos para ver links. Registrate o Entra con tu cuenta($post);$i++){
  17.                                                 $letra=No tienes permisos para ver links. Registrate o Entra con tu cuenta($post, $i,1);
  18.                                                 foreach($abc as $key=>$value){
  19.                                                         if(No tienes permisos para ver links. Registrate o Entra con tu cuenta("/^".No tienes permisos para ver links. Registrate o Entra con tu cuenta($letra)."$/i", $key)){
  20.                                                                                 echo No tienes permisos para ver links. Registrate o Entra con tu cuenta($value)."&nbsp;";
  21.                                                                         }
  22.                                                 }
  23.                                         }
  24.                                         break;
  25.                                 case 'Decode':
  26.                                         $post=$_POST['morse'];
  27.                                         $morse_pal=No tienes permisos para ver links. Registrate o Entra con tu cuenta(" ",$post);
  28.                                         foreach($morse_pal as $indice=>$letra){
  29.                                                 foreach($abc as $key=>$value){
  30.                                                         if(No tienes permisos para ver links. Registrate o Entra con tu cuenta($letra)){$letra=' ';}
  31.                                                                 if(No tienes permisos para ver links. Registrate o Entra con tu cuenta("/^".No tienes permisos para ver links. Registrate o Entra con tu cuenta($letra)."$/i", $value)){
  32.                                                                                 echo No tienes permisos para ver links. Registrate o Entra con tu cuenta(No tienes permisos para ver links. Registrate o Entra con tu cuenta($key));
  33.                                                                         }
  34.                                                         }
  35.                                         }      
  36.  
  37.                                         break;
  38.                                 default:
  39.                                         echo "Ocurrio un error";
  40.                                         break;
  41.                         }
  42.                 }else{
  43.                 echo "Rellene el campo";
  44.         }
  45. }
  46.  
  47.         ?>
  48.         <form action="" method="post">
  49.                 <p><b>Ingrese el texto:</b></p>
  50.                 <input name="morse" type="text" /><br />
  51.                 <input type="radio" name="morse2" value="Encode">Codificar<br>
  52.                 <input type="radio" name="morse2" value="Decode" checked="checked">Decodificar<br>
  53.                 <input type="submit" name="enviar" />
  54.         </form>
  55. </body>
  56. </html>
Pentest - Hacking & Security Services

Contact me: arthusu@gmail.com

 

¿Te gustó el post? COMPARTILO!



Cifrado rot13 y atbash

Iniciado por Once

Respuestas: 3
Vistas: 2979
Último mensaje Abril 23, 2013, 08:47:19 pm
por k0ws
Cifrado Compresor [Archivos]

Iniciado por Azav

Respuestas: 8
Vistas: 1845
Último mensaje Enero 30, 2015, 04:00:56 am
por Once
Cifrado julio cesar

Iniciado por blozzter

Respuestas: 0
Vistas: 1634
Último mensaje Mayo 26, 2011, 01:53:13 am
por blozzter
Cifrado L213

Iniciado por Sanko

Respuestas: 0
Vistas: 1082
Último mensaje Febrero 05, 2014, 07:11:22 pm
por Sanko
Cifrado de Vigenère

Iniciado por Sanko

Respuestas: 1
Vistas: 1804
Último mensaje Septiembre 10, 2013, 10:23:26 am
por 79137913