Crypt Image
Crypt Image
Crypt Image
Propsito
El propsito de este proyecto es mostrar cmo cifrar / descifrar BMP y JPEG archivos
de imagen.
Fondo
x y x XOR y
00 0
01 1
10 1
11 0
Expresin
Paso hexadecimal Binario comentarios
booleana
0100
1. ASCII "A" un $ 41 Mensaje original:
0001
2. Los bits "al 0111 valor pseudo-aleatorio de
segundo $ 7A
azar" 1010 generador de nmeros "al azar"
3. XOR para 0011
un XOR b $ 3B Encriptado "mensaje"
cifrar 1011
4. Los bits "al 0111 Mismas "bits aleatorios" que el
segundo $ 7A
azar" 1010 anterior
5. XOR para (A XOR b) 0100 Descifrado "mensaje" (igual
$ 41
descifrar XOR b 0001 que el original)
Antecedentes BMP
Slo los datos de lnea de barrido de pxeles se cifran en este proyecto por lo
que el archivo TBitmap / BMP resultante todava se puede utilizar como una
imagen. Si est presente, la paleta tambin podra ser encriptada, pero que no
se describe aqu.
Ver la lnea de trazado Nota tcnica para obtener informacin sobre cmo
acceder a los datos de pxeles dentro de un TBitmap .
Materiales y equipamiento
Requisitos de software
de Windows 95/98
Delphi 3/4/5 (recompilar)
CryptBMP.EXE
Requisitos de hardware
de visualizacin VGA con pantalla de 640 por 480 en el modo de
visualizacin de alta color verdadero /
Procedimiento
Por ejemplo, slo los colores de la pf1bit "Smiley" (de la Single-Bit mapas de
bits Informe de Laboratorio) estn presentes en la forma cifrada (ver
abajo). Ocultando estos colores mediante el cifrado de las entradas de la paleta
puede ser deseable.
Imgenes originales
UN segundo
Si cifra ambas imgenes con el nmero 19937 Cifrar la semilla, los resultados
parecen ocultar las imgenes:
A XOR B
Esto pone de relieve por qu una clave nica se debe utilizar con cada
imagen. Si una imagen se ha cifrado con la clave, 66547, la imagen se
parece mucho a A66547 A19937:
A66547 A19937
Antecedentes JPG
Materiales y equipamiento
Requisitos de software
de Windows 95/98
Delphi 3/4/5 (recompilar)
CryptJPEG.EXE
Requisitos de hardware
de visualizacin VGA con pantalla de 640 por 480 en el modo de
visualizacin de alta color verdadero /
Procedimiento
Discusin
Consulte el cdigo fuente completo de todos los detalles, pero aqu se
muestran las principales rutinas de cifrado / descifrado.
La tcnica que se muestra aqu para un JPEG archivo puede ser utilizado con
cualquier archivo de grficos, tales como GIF s, o cualquier otro tipo de
archivo. A diferencia de la BMP proceso de cifrado / descifrado se ha descrito
anteriormente, una vez que un JPEG archivo se cifra, no se puede mostrar
como un archivo de imagen. El cifrado JPEG archivo es un archivo de datos
binarios que deben ser descifrado antes de que pueda ser utilizado de ninguna
manera.
PIN: = JPEGOriginalBinary.Memory;
Conclusiones
cifrado utilizando una secuencia de bytes aleatorios y XOR es un proceso
bastante sencillo. Una tcnica similar se puede aplicar a otros tipos de
archivos.
Gracias a Morten Jacobsen de Noruega por preguntar cmo una imagen puede
ser encriptado.
Palabras clave
XOR, al azar, RandSeed, BMP, JPEG, TBitmap, TJEGImage, Scanline,
PixelFormat, paleta, CopyPalette, TMemoryStream, ruido de la imagen,
PBYTE, pByteArray, TMemoryStream.Memory, LoadFromFile,
LoadFromStream, ShellExecute, EditNumericKeyPress
Descargar
Delphi 3/4/5 Fuente y EXE: CryptBMP.ZIP (138 KB) y CryptJPEG.ZIP (191
KB)