Hola a todos, me gustaría saber cual es el mejor método para cifrar textos planos, yo uso XOR pero me gustaría saber si hay algo mejor.
Suponiendo que usas XOR con una clave de la misma longitud del texto no creo que necesitaras algo más seguro siempre y cuando los bits de la clave fueran realmente aleatorios. Hablo bajo suposiciones porque para un texto extenso vas a tener problemas para utilizar la clave de la misma longitud que éste (compartirla, guardar bien un fichero que la contenga o teclearla, por no hablar de memorizarla

)
Así que puedes usar algoritmos como AES (que te ha recomendado xdearted), o si es para un correo (u otro tipo de compartición) GPG.
(si tiendes al comportamiento paranoide te diría que te fíes más de este último a menos que creas que existen y trabajan de forma eficiente en la actualidad ordenadores cuánticos)También tengo otra duda ¿es posible cifrar una imagen desplazando los pixeles como si de un cubo de rubik en 2D se tratara?
En realidad no la estarías cifrando, solamente "desordenándola", la seguridad de ésto depende del algoritmo y de la capacidad del que quiera comprometer el sistema, ya que si se intentan buscar formas reconocibles y se aplica fuerza bruta o estadística podría sacarse información. La razón es que tienes una lista de los píxeles que aparecen en la imagen original junto con la frecuencia de cada uno. (para ésto hay que tener medios o hablar de un caso trivial)
Claro que puedes cifrar una fotografía, busca algo llamado "Esteganografía"

La esteganografía no sirve para cifrar imágenes, sino para ocultar información (cualquiera) en otros ficheros con tolerancia al error (imágenes, música, vídeo...). La información puede ir cifrada o no. Una aplicación(a la que te debes referir) es ocultar información en imágenes basándose en que al alterar los bits menos significativos no se produce un cambio perceptible en la imagen.
Para cifrar algo no existen diferencias entre textos, imágenes, vídeos... Se consideran todos ficheros binarios. Es verdad que existen algoritmos que fueron pensados para texto plano, pero bastan unas modificaciones para que el alfabeto sean los 255 bytes posibles en la mayoría de los casos.
Saludos