¿Entendiendo nibbles y codificando usando la herramienta EnDe de owasp?

1

Estoy usando la herramienta basada en web owasp EnDe para comprender los nibbles y la codificación en general. En mi conocimiento, esta utilidad en línea es el mejor recurso gratuito disponible para cualquier persona interesada en aprender técnicas de codificación.

Estoy probando una entrada de muestra que es abcdwxyz.

Ahora, los resultados de la codificación basada en el primer nibble y el segundo nibble se dan como 36,1,36,2,36,3,36,4,37,7,37,8,37,9,37,A y 6,31,6,32,6,33,6,34,7,37,7,38,7,39,7,61 respectivamente.

Una representación simple en hexadecimal de la entrada de muestra anterior es 61 62 63 64 77 78 79 7a .

¿Puede alguien explicar cómo se relaciona con el uso en esta herramienta?

Para aquellos que estén interesados en descargar owasp live cd, aquí está el enlace enlace

ACTUALIZACIÓN

Con un poco de ayuda de los chicos de las hermanas stackexchange, puedo resolver las cosas desordenadas. Toda la codificación funciona así.

En realidad, estaba confundido en la definición de nibble 1 y nibble 2 en la herramienta. En teoría, nibble 1 debería referirse a high nibble y nibble 2 como low nibble. Estaba confundido en el uso del formato de nibbles en la herramienta.

Ahora considera esto. La herramienta enDe toma el conjunto completo (abcdwxyz) y lo convierte en ahora. Las herramientas lo convierten de esta forma, 36,1,36,2,36,3,36,4,37,7,37,8,37,9,37,A , basado en la siguiente lógica.

Para la cadena (abcd) se escribe como 36,1,36,2,36,3,36,4 seleccionando, por ejemplo,

'a' - > hex (61) - > chr (36) Al final, agregue 1 en el lado izquierdo como 36,1

Ahora, cuando elijo nibble 2 se traduce abcdwxyz como 'a' - > hex (61) - > chr (31) Al final agrega 1 en el lado izquierdo como 6,31

Ahora, dos cosas a tener en cuenta aquí es que en nibble 1 (codificación) se utiliza msb (6) para obtener el equivalente hexadecimal 36 para nibble 2, mientras que la codificación lsb (1) se utiliza para obtener el equivalente hexadecimal 31 anexando lsb antes del resultado (6 , 31). Todavía estoy un poco confundido sobre el uso y la ubicación de los nibbles. Espero que alguien aquí se tome un tiempo para comentar y explicar más.

Espero que esta explicación, para que otros entiendan el uso de una herramienta tan útil y un poco de retroalimentación sobre esta pequeña investigación de los gurús del sitio, también sea una ventaja :)

    
pregunta Saladin 27.02.2013 - 11:43
fuente

1 respuesta

1

Aunque su pregunta está lejos de ser clara, lo que aparentemente sucede en sus codificaciones es bastante simple de desentrañar. Vea su cadena de ejemplo abcdwxyz . Cuando se codifica en ASCII , esto produce 8 bytes, con valores hexadecimales: 61 62 63 64 77 78 79 7a .

Ahora, para cada byte, tome el dígito hexadecimal izquierdo: es un carácter que a su vez tiene un código ASCII, que se puede representar en hexadecimal. Por ejemplo, 61 comienza con 6 y el código ASCII para el carácter 6 es 54, que es 36 en hexadecimal. Por otro lado, puede tomar el dígito hexadecimal correcto, que representa un valor numérico entre 0 y 15, y representar ese valor como un dígito hexadecimal (usando los dígitos 0 a 9 y las letras A a F) . En otras palabras, no cambia el dígito correcto, excepto que posiblemente lo normalice a mayúsculas.

Si aplica estas reglas, entonces 61 se convierte en 36,1 , 62 se convierte en 36,2 , y así sucesivamente ... hasta 7a que se convierte en 37,A . Y terminas con tu primera "codificación".

Si realiza el mismo proceso, pero invierte los roles de los dígitos hexadecimales izquierdo y derecho para cada byte (es decir, mantiene el dígito hexadecimal izquierdo de cada byte sin cambios, y convierte el derecha dígito hexadecimal a la representación hexadecimal del valor ASCII de su carácter), luego obtiene su segunda "codificación": 61 se convierte en 6,31 , 62 se convierte en 6,32 ... y 7a se convierte en 7,61 (el código ASCII para a es 97, también conocido como 61 en hexadecimal).

Por mi vida, no puedo entender qué uso posible podrían tener estas "codificaciones".

    
respondido por el Tom Leek 27.02.2013 - 15:42
fuente

Lea otras preguntas en las etiquetas