Autor Tema: Stream cipher de archivos RIC  (Leído 509 veces)

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Stream cipher de archivos RIC
« : enero 17, 2010, 11:02:49 pm »
Que mas locos, como tan.??....pos lozano me pidio un programita y pos aca les traigo un programita chevere :), es un cifrador de archivos, con una clave de x longitud...uso un cifrado de flujo con el operador que tiene la reversa fija(atencion atencion, este coche esta retrocediendo) el conocidicimo XOR, lo que hago es un or exclusivo y escondo formato, muyyy breve pero util, pa que...


les dejo codigo, ;)

Código: (java) [Seleccionar]
import java.io.*;
import java.util.*;
public class RiCript{
public static void main(String args[]) throws IOException{
if(args.length != 3){
System.out.println("Usage:java RiCript [option] [file] [password]\n\n[option]--> -c For Encrypt the file.\n--> -d For Decrypt the file.\n[file] is the file to encrypt or decrypt.\n[password] is the salt used for encrypt the file.");
return;
}else{
if(!(new File(args[1]).exists())){
System.out.println("I can not find that file :S\n\nUsage:java RiCript [option] [file] [password]\n\n[option]--> -c For Encrypt the file.\n--> -d For Decrypt the file.\n[file] is the file to encrypt or decrypt.\n[password] is the salt used for encrypt the file.");
return;
}
FileInputStream flin = new FileInputStream(args[1]);
byte archivo[] = new byte[(int)(new File(args[1]).length())];
flin.read(archivo);
if(args[0].equalsIgnoreCase("-c")){
byte salida[]=new byte[archivo.length+1+(args[1].substring(args[1].indexOf(".")+1,args[1].length())).length()];
int c = 0;
if(args[1].indexOf(".")==-1){
System.out.println("I do not cypher files without extension :P.\n\nUsage:java RiCript [option] [file] [password]\n\n[option]--> -c For Encrypt the file.\n--> -d For Decrypt the file.\n[file] is the file to encrypt or decrypt.\n[password] is the salt used for encrypt the file.");
return;
}
for(int n = args[1].indexOf(".")+1;n<args[1].length();n++,c++)
salida[c]=(byte)args[1].charAt(n);
salida[++c]=(byte)0;
for(int p=0,x=0;p<archivo.length;p++,c++,x=((x+1)%args[2].length())){
byte val1 = archivo[p];
byte val2 = (byte)args[2].charAt(x);
salida[c]=(byte)(val1^val2);
}
FileOutputStream flout = new FileOutputStream(args[1].substring(0,args[1].indexOf(".")));
flout.write(salida);
}else if(args[0].equalsIgnoreCase("-d")){
String extension = "";
for(int n = 0;archivo[n]!=0;n++)
extension+=(char)((int)archivo[n]);
byte salida[] = new byte[archivo.length-(extension.length()+1)];
for(int n = 0,x=0,y=(extension.length()+1);n<salida.length;n++,y++,x=(x+1)%args[2].length())
salida[n]=(byte)(archivo[y]^((byte)args[2].charAt(x)));
FileOutputStream flout = new FileOutputStream(args[1]+"."+extension);
flout.write(salida);
}else{
System.out.println("I do not recognize that option :P\n\nUsage:java RiCript [option] [file] [password]\n\n[option]--> -c For Encrypt the file.\n--> -d For Decrypt the file.\n[file] is the file to encrypt or decrypt.\n[password] is the salt used for encrypt the file.");
return;
}
}
}
}

chau

pd:esto si es un lenguaje!
pd2:ni un hpta $ ;)
« Última Modificación: enero 17, 2010, 11:06:26 pm por Phicar »
:)

my.opera.com/phicar

Str4ng3letS

  • E=mc²
  • Administrador
  • Mensajes: 344
  • S-Lozano
    • MSN Messenger - stynky_xp4rky3x@hotmail.com
    • Ver Perfil
    • F1s1c0-H4ck3r
Re: Stream cipher de archivos RIC
« Respuesta #1 : enero 18, 2010, 05:39:06 pm »
jajaja bravo peludoooo. :P

Esa es como la idea del ricrypt, por lo que vi podriamos partir de aca :P

Que alguien lo compile o lo suba y ponga el link pa probarlo por que me da pereza descarga ide y compilarlo :P

Ahora si podriamos pensar en hacer la parte en C y utilizar lo que me dijo estos dias para unir java y C.

Que se pronuncien los c0d3r5 :D !!!

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Stream cipher de archivos RIC
« Respuesta #2 : enero 18, 2010, 11:54:17 pm »
la vuelta cual es, conociendo el fichero, que es breve de conocer y pos conociendo la cabecera habitual, si es lo suficientemente larga cmo la clave, el archivo se obtiene en ni mierda, cual seria la idea???

hacer mas procesos que subieran la complejidad algoritmica y pos meterle matematicas, se me ocurre algebra modular con algo de primalidad...voy a echarle cabeza ;)
:)

my.opera.com/phicar

Str4ng3letS

  • E=mc²
  • Administrador
  • Mensajes: 344
  • S-Lozano
    • MSN Messenger - stynky_xp4rky3x@hotmail.com
    • Ver Perfil
    • F1s1c0-H4ck3r
Re: Stream cipher de archivos RIC
« Respuesta #3 : enero 19, 2010, 02:48:41 pm »
y pasandolo por varios cifrados que?, como un ciclo de cifrado donde pase por varios algoritmos y hacerle reverse para otra vez componerlo

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Stream cipher de archivos RIC
« Respuesta #4 : enero 19, 2010, 08:49:59 pm »
No se loco, pensaba mas meterle PRGA como en los rivest ;)
:)

my.opera.com/phicar

[D-m-K]

  • Administrador
  • Mensajes: 229
  • [-.|.-]
    • MSN Messenger - d4rk.m0nk3y@hotmail.com
    • Ver Perfil
    • Red Informatica Colombiana
    • Email
Re: Stream cipher de archivos RIC
« Respuesta #5 : enero 19, 2010, 09:34:56 pm »
Eso significa que vas a crear un cifrado de llave publica.?.... porque la idea es tambi
:: Todas las grandes cosas que se disfrutan son el producto de las pequeñas cosas que se logran ::

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Stream cipher de archivos RIC
« Respuesta #6 : enero 19, 2010, 11:26:54 pm »
nada, no tiene nada que ver con publica ni privada, por ahora...solo quiero subirle complejidad porque es muy facil de romper ;)


pero despues se podria pensar implementarle algo de publico y privado :), que buena idea :)
:)

my.opera.com/phicar

Str4ng3letS

  • E=mc²
  • Administrador
  • Mensajes: 344
  • S-Lozano
    • MSN Messenger - stynky_xp4rky3x@hotmail.com
    • Ver Perfil
    • F1s1c0-H4ck3r
Re: Stream cipher de archivos RIC
« Respuesta #7 : enero 20, 2010, 06:01:41 pm »
Eso significa que vas a crear un cifrado de llave publica.?

nada, no tiene nada que ver con publica ni privada, por ahora

El programa lo que hace es coger una cadena de texto por ejemplo y pasarla por un algoritmo (la cifra) pidiendo una contraseña, se asegura que solo el que conoce la contraseña lo pueda volver a ver (descifrar), basicamente segun el code lo que hace es meter la cadena de texto en un algoritmo y cuando se quiere descifrar la devuelve para que quede en su estado natural, igual tambn deja sin formato el archivo, eso fue lo que entendi segun el codigo (Corrijame peludo si ando equivocado).

porque la idea es también poder hacer legible lo que cifres.

Es legible, solo que no lo puede ver como se acostumbra a hacer para ver un archivo de texto (haciendole doble click) por que el archivo queda sin formato :P, pero igual se puede ver la cadena cifrada (otra vez philipo :P corrijame si ando equivocado :D )

pero despues se podria pensar implementarle algo de publico y privado :), que buena idea :)

Eso si me lo tiene que explicar (aunque habria que mirar codigo primero), estos dias si puedo lo llamo y me explica la vuelta haber que idea me sale :P

PD: HptA peludo...Subalo a una web o paselo compilado pa verlo funcionando...Deje de ser tan peresoso :D

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Stream cipher de archivos RIC
« Respuesta #8 : enero 20, 2010, 08:57:16 pm »
Ahi ta en java 6, hay una pagina que complia online, conchudo


y no, no cifra texto, cifra bytes, desde las cabeceras las cifra....por eso es el problema que tengo, sabien estructura de headers se puede atacar super breve.
:)

my.opera.com/phicar