BASE 64

Iniciado por cokeing, 3 Abril 2003, 08:30 AM

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

cokeing

Hola, me intereso mucho este tema y lo posteare:

"es de la revista eZine FIH nº 1"

Introduccion:
-------------

Esta es una traduccion del texto en Ingles, que pueden encontrar en la
siguiente URL:

http://www.rzweb.com.ar/files/txt/textos/base64.htm

Me dejo de vueltas y empiezo con el texto :o)

-----------------------------------------------------

A menudo es necesario para algunos servidores web poder autenticar usuarios
para permitir el acceso a directorios de archivos. Hay muchas formas de
hacer esto...la mas comun (y menos segura) es una autenticacion basica. La
autenticacion basica utiliza Base64 para codificar el nombre del usuario y
la contraseña de este modo no hay "clear" text contraseñas volando alrededor
de la red durante conexiones FTP.

Cuando ves con un sniffer el nombre del usuario 'Administrator' y su
contraseña 'pass' aparece como 'QWRtaW5pc3RyYXRvcjpwYXNz'. Cuando se
codifican el userID y su contraseña, se utilizan los dos puntos ( ':' sin
comilla :) para separlos. Entonces:

'QWRtaW5pc3RyYXRvcjpwYXNz'

Se traduce a:

Administrator:pass

Base64 utiliza un subconjunto de 65 caracteres del US-ASCII, permitiendo 6
bits para cada caracter, entonces el caracter 'm' tiene un valor Base64 de
38, y cuando esta representado en forma binaria, es 100110.

Cuando se codifica una secuencia, vamos a decir 'mne' esto es lo que sucede:

La secuencia de texto se cinvierte en su valor US-ASCII (En US-ASCII a cada
caracter se le asigna un valor):

El carácter "m" tiene el valor decimal de 109
El carácter "n" tiene el valor decimal de 110
El carácter "e" tiene el valor decimal de 101

de este modo 'mne' (una secuencia 3 8-bit-bytes) es 109 110 101 en forma
decimal.

Cuando convertimos esta secuencia a Binario nos queda lo siguiente:

01101101 01101110 01100101

Estos 3 8-bit-bytes se concatenan (se juntan) para hacer una cadena de 24
bit:

011011010110111001100101

Esta cadena de 24 bit la dividiremos en 4 secciones de 6 bit:

011011 010110 111001 100101

Ahora tenemos 4 valores. Estos valores binarios, cuando son convertidos al
sistema Decimal obtenemos lo siguiente:

27 22 57 37

Ahora cada caracter del conjunto de Base64 tiene un valor decimal. Ahora
cambiaremos estos valores decimales por los equivalentes en Base64:

27 = b

22 = W

57 = 5

37 = l

De este modo 'mne' cuando es codificado en Base 64 obtenemos 'bW51'.
Debajo esta la tabla del conjunto de caracteres Base64 con sus valores
Decimales:

                           Tabla 1: Alfabeto Base64

      Valor Codif.    Valor Codif.    Valor Codif.    Valor Codificado
          0 A            17 R            34 i            51 z
          1 B            18 S            35 j            52 0
          2 C            19 T            36 k            53 1
          3 D            20 U            37 l            54 2
          4 E            21 V            38 m            55 3
          5 F            22 W            39 n            56 4
          6 G            23 X            40 o            57 5
          7 H            24 Y            41 p            58 6
          8 I            25 Z            42 q            59 7
          9 J            26 a            43 r            60 8
         10 K            27 b            44 s            61 9
         11 L            28 c            45 t            62 +
         12 M            29 d            46 u            63 /
         13 N            30 e            47 v
         14 O            31 f            48 w         (pad) =
         15 P            32 g            49 x
         16 Q            33 h            50 y

Para descifrar una secuencia codificada en Base64 solo debe hacer esto al
reves:

1)Convertir cada caracter a el valor decimal de la tabla Base64.

2)Convertir este valor decimal en binario.

3)Reune los 6 bit binarios de cada caracter en una gran cadena.

4)Separa esta secuencia en grupos de 8 bit (empezando de derecha a
izquierda).

5)Convertir cada valor binario 8-bit en un numero decimal.

6)Convertir este valor decimal en su equivalente US-ASCII.

Listo, ahora todos pueden descifrar una cadena codificada en Base64 :o)

-----------------------------------------------------

Bueno espero que les sea util esta traduccion, si les parece que hace falta
alguna correccion, o tienen alguna duda, solo consulten, no molestan :o)

------------------------
By XyborG
xyborg@bigfoot.com
http://www.rzweb.com.ar
------------------------


espero que les sirva, ami me gusto mucho y pienso hacer un programa en C que lo haga, ya ponde el Source Code cuando lo termine.

SALUDOS

BASIC CAOS


Rojodos

Tambien lo encontrareis (este mismo) en la sección de criptografia y cifrado de mi web:

www.rojodos.com

Aunq recordad que el algoritmo Base64 es un algoritmo de cifrado MUY FLOJO (con la cabeza mismo se puede descifrar - cifrar...)

^Winder^

Hola

El procedimiento para "traducir" el BASE 64 parece muy mecánico,ai algun programa que lo haga automaticamente introduciendo la informacion que tengas cifrada en BASE 64?

es que si se tiene una gran información cifrada resultar muy pesado hacerlo a mano,sobretodo en mi caso,porke tengo un texto completo que me mandaron por EMAIL (que extraño) cifrado en BASE 64,y la verdad...si lo tengo que hacer con mi porpia cabeza me voy a morir...xDDD

salu2;)


Yo apoyo la esperanza de Caylees. Frenemos la Leucemia:
www.cayleeshope.com
Libertad conquistada.  (Justicia ;-))

Crack_X

Existen cientos de programas en linea , programas para descargar , calculadoras y etc que deencriptan la base64.

Ejm: http://makcoder.sourceforge.net/demo/base64.php

Creo que en esta misma web hay uno pero no recuerdo la ubicacion exacta.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

jvchino

Si ayudo a una sola persona a tener esperanza, no habré vivido en vano.

No, nada llega tarde, porque todas las cosas
tienen su tiempo justo, como el trigo y las rosas

enrik_wc

komo aces para sacar ese "mne"¿?

enrik_wc

no lo entiendo me salen mal las kuentas podriais poner un ejemplo kon el md5: 3f20a9d2a7882d44d2d3232b27537f48

gracias

Crack_X

Un md5 es distinto, no se puede descifrar como el base64. Solo se puede crackear. Busca en el foro sobre los md5.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone