Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - @XSStringManolo

#1211
Ese algoritmo de barajado utiliza un algoritmo aleatorio asique no puedo reversarlo. En caso de ser un algoritmo pseudoaleatorio no es un CSRNG y podría reversarse y romperse el cifrado.
Yo necesito desordenar en base a la contraseña para reducir los resultados estadísticos de análisis de frecuencia. Se da por hecho que el atacante no conoce la contraseña. Quiero desordenar antes de pasarle vector de inicialización. También tengo que fixear el tamaño a tamaño fijo. Mejorar la implementación, quitar código inútil, ampliar el diccionario de input y cambiar los caracteres de output para que no necesite base64.
Cifrado Live
Si se os ocurre algo mejor comentarlo.
#1212
Cita de: engel lex en 26 Noviembre 2019, 16:59 PM
de haber dicho en js :P es corto...


Código (javascript) [Seleccionar]

var original = ["H", "o", "l", "a", " "];
var orden = ["a", "d", "m", "i", "n"];
var copia = orden.slice();
copia.sort();

var salida = [];

copia.forEach(function(item){
 salida.push(original[orden.indexOf(item)] )
})




Tengo que probar este código, el que implementé yo no me sirvetras hacer unos cambios.

Cita de: NEBIRE en 27 Noviembre 2019, 16:02 PM
St..Man... Eso es implementar una tabla indexado por otra.

Sea el ASCII. que como sabes va de 0 a 255 (que se supone es el punto de partida), donde (por ejemplo) la 'A' ocupa la posiciópn 65, pero en tu caso ocuparía la posición 0...

MiTabla(0) = ASCII(65)
igual para el resto...

Si van contíguos, podría usarse un bucle, por ejemplo supuesto el caso de una tabla con las 26 mayúsculas:

bucle para k desde 65 hastas 65 + 26
   MiTabla(n) = ASCII(k)
   n +=1
siguiente


Ahora 'Mitabla(7)' tendrá la 8ª letra, osea la 'H', el valor 72.
Posteriormente puede usarse en la forma: ASCII(Mitabla(7))
Esto es una tabla de equivalencias. Yo lo que quiero es desordernar en base al contenido de un array. No tiene nada que ver.

#1213
Programación C/C++ / Re: Creacion de chats
27 Noviembre 2019, 01:36 AM
Yo por sencillez usaría un servidor de terceros como punto medio y me comunicaría con el servidor con peticiones HTTP.
De esta forma puedes comunicarte desde el PC al PC2 y viceversa sin necesidad de abrir puertos. También haría tu programa compatible con navegadores y por tanto multiplataforma.

Puedes cifrar el tráfico con criptografía asimétrica. De esta forma solo Pc1 y Pc2 conocen el conenido del mensaje. Y a la vez cualquier equipo a parte de esos pcs pueden enviarte mensajes cifrados.
#1214
De cuantas páginas es el primero? Podría estar bien si tienen bastante contenido que ando muy verde en estos temas. El segundo que mencionas apunta en la dirección de lo que busco. Gracias!
#1215
Cita de: Tachikomaia en 26 Noviembre 2019, 02:38 AM
Me entreveré mucho, sorry, creo que es así:

Una vez obtenido esto
array2 = ["1", "4", "13", "9", "14"]
hacemos:
Si array2[0] > array2[1]
   intercambiar array1[0] y array1[1]
findelsi
Si array2[1] > array2[2]
   intercambiar array1[1] y array1[2]
findelsi
Si array2[2] > array2[3]
   intercambiar array1[2] y array1[3]
findelsi
Si array2[3] > array2[4]
   intercambiar array1[3] y array1[4]
findelsi
Repites eso 4 o 5 veces, aunque cada vez se requieren menos ifs.

Hacerlo prolijo y usando sólo 1 repetición o 2, te lo dejo a ti xD
Muchas gracias, lo implementé de esta forma que me pareció sencilla. Lo implementé en js de forma un poco cutre jaja. Ya lo mejoraré:
Código (javascript) [Seleccionar]
function SMOA(TextCif, Contrasenha)
{
var temp = "";
var temp2 = 0;
var ct = Contrasenha.length;

    for(var j = 0;  j < TextCif.length; ++j)
   {
      for(var i = 0;  i < TextCif.length-1; ++i)
      {
       temp2 = i;
       ++temp2;
         if ( temp2 < ct || temp2 == ct)
         {
            if (Contrasenha[i] > Contrasenha[temp2])
            {
            temp += TextCif[temp2];         
            TextCif[temp2]=TextCif[i];           
            TextCif[i]=temp[0];
            temp = "";
            }   
         }     
      }
   }
return TextCif;
}


Estaba intentando implementarlo como dices engel lex antes de crear el tema en el foro pero me quedaba mucho código y un batiburrillo.

Es parte de una librería sencilla en javascript que estoy creando con un cifrado que quiero que sea irrompible basándome en el principio de que todas las posibilidades son igual de frecuentes estadísticamente.

Por ejemplo "hola que tal" 12 caracteres dara un resultado que al intentar romperlo dará todas las combinaciones posibles de caracteres de 12 caracteres. Es decir, el texto original podría ser:
"aaaaaaaaaaaa" o "qbfkwusbwp1;$" o "adios amigos", etc.

Ahora estoy mirando de que forma fixear el tamaño a un tamaño concreto sin limitar la cantidad de entrada sin rompear la equidad estadística.

Los cifrados actuales basan su seguridad en capacidad de cómputo, y no me convence ya que teóricamente todos puede romperse dada X capacidad de cómputo e Y tiempo.
#1216
Tengo leído por ahí sobre ese problema y hay personas a las que le tardaba cerca de 40 minutos. Supongo que usaban proyectos más largos.

Nunca usé Android Studio en Windows. Lo instalé en Kubuntu en un Laptop de 2gb ram, grafica family y prcesador 2ghz y siempre me fue de marabilla.

A ver si alguien sabe darte solución.

Tienes la alternativa de usar Java N-IDE directamente en Android. Está limitado porque el gradle está capado y tiene bugs poco frecuentes con crasheos que conllevan a la pérdida de los archivos abiertos.
Quitando eso, va perfecto. Si vas a usar clases nativas y te gusta programar las interfaces a mano con código te lo recomiendo. Cada vez que compiles haces copia y pega de la carpeta y sin mucho problema. Es cómodo escribir, compilar y probar todo en el mismo dispositivo por velocidad de desarrollo. Y para el problema de los archivos siempre puedes programarte cualquier servicio, o script en algún lenguaje para que te haga las backups automáticas cada poco tiempo. Lo tienes en la PlayStore.
#1217
Hay otros riesgos más importantes de los que no interesa hablar.
https://www.medicalnewstoday.com/articles/326141.php
#1218
En algunos libros y artículos de ciberforensics hay secciones que explican ciertos archivos que usan algunos navegadores y software relacionado para guardar el historial, cookies, cache, configuraciones, residuos de localStorage y demás. Estos permanecen a pesar de que tu los borres explícitmente desde la interfaz que te proporcionan los navegadores. Muchos de ellos teniendo partes del código privativo te puedes imaginar con que objetivo o cuales son los intereses que puedan tener en guardar estos archivos.

Por ahí hay bastantes pappers de fingerprinting. También hay otros métodos no legales que no se mencionan pero se usan.

Esta web está bastante bien:
https://browserleaks.com/

Falta mucho fingerprint con CSS, scanneres, vulns, cookies, leaks de DNS, y demás. Tampoco se hace mención a beacons, o software instalado. Hay mucha info por ahí.
#1219
Quiero reorganizar un texto en base a la posición alfabética de cada caracter de otro texto programáticamente.

Tengo un array que contiene caracteres random:
array1 = ["H", "o", "l", "a", " "];

Y otro array que contiene el mismo número de caracteres:
array2 = ["a", "d", "m", "i", "n"];

En base al array2 quiero ordenar el array1 de la siguiente forma:

array2 = ["1", "4", "13", "9", "14"]

a = primeraPosicion
d = segundaPosicion
m = cuartaPosicion
i = terceraPosicion
m = quintaPosicion

ResultadoQueQuiero = ["H", "o", "a", "l", " "];

No consigo implementarlo.
#1220
Internet lo ensucia principalmente el periodismo populista barato y los imbéciles sin criterio. Tampoco me agradan redes sin ética como Facebook.