La introducción en la criptografíaLa traducción del artículo Tatu Ylonen "Introduction to Cryptography"
El prefacioLas personas diferentes comprenden bajo la cifración las cosas diferentes. Los niños juegan en las cifras de juguetes y las lenguas secretas. Esto no tiene nada de común, sin embargo, con la criptografía presente. LaCon la formación de la sociedad informativa, a los grandes estados se les hacen accesibles los medios tecnológicos de la vigilancia total detrás de unos millones de personas. Por eso la La terminología básicaPresenten que tenéis que enviar el mensaje al destinatario. Queréis que nadie excepto el destinatario no pueda leer la información enviada. Sin embargo siempre hay una probabilidad que alguien abrirá el sobre o interceptará la misiva electrónica.En la terminología criptográfica la misiva inicial llaman por el texto abierto (plaintext o cleartext). El cambio del texto inicial así para esconder de otros su contenido, llaman la cifración (encryption). El mensaje cifrado llaman шифротекстом (ciphertext). El proceso, a que de шифротекста se extrae el texto abierto llaman la descodificación (decryption). Habitualmente durante el cifrado y la descodificación se usa cierta llave (key) y el algoritmo abastece que se puede hacer la descodificación sólo sabiendo esta llave. |
|
Los algoritmos básicos de la cifración | |
El método del cifrado/descodificación llaman la cifra (cipher). Algunos algoritmos de la cifración son fundados en lo que el método mismo las cifraciones (algoritmo) es secreto. Ahora tales métodos representan el interés sólo histórico y no tienen el significado práctico. Todos los algoritmos modernos usan la llave para la dirección del cifrado y la descodificación; el mensaje puede ser con éxito descifrado solamente si es conocida la llave. La llave usada para la descodificación puede no coincidir con la llave usada para la cifración, sin embargo en la mayoría de los algoritmos las llaves coinciden. Los algoritmos con el uso de la llave comparten a dos clases: simétrico (o los algoritmos por la clave secreta) y асиметричные (o los algoritmos con la llave abierta). La diferencia en lo que los algoritmos simétricos usan la misma llave para la cifración y para la descodificación (o la llave para la descodificación es calculada simplemente por la llave del cifrado). Mientras que los algoritmos asimétricos usan las llaves diferentes, y la llave para la descodificación no puede ser calculada por la llave del cifrado. Los algoritmos smmetrichnye subdividen en потоковые las cifras y las cifras de bloques prefabricados. Потоковые permiten cifrar la información побитово, mientras que de bloques prefabricados trabajan con algún juego de las palas dado (habitualmente la dimensión del bloque compone 64 pala) y cifran este juego como una unidad. Las cifras assimetrichnye (también llamado por los algoritmos con la llave abierta, o--- en un plan más general--- la criptografía con la llave abierta) permiten que la llave abierta sea доступн todo (diremos, es publicado en el periódico). Esto permite cifrar el mensaje. Sin embargo descifrar este mensaje puede solamente la persona necesaria (el que posee la llave de la descodificación). La llave para la cifración llaman la llave abierta, а la llave para la descodificación--- la llave cerrada o la clave secreta. Los algoritmos modernos del cifrado/descodificación son bastante difíciles ellos es imposible pasar a mano. Los algoritmos presentes criptográficos son elaborados para el uso por los ordenadores o los mecanismos especiales duros. En la mayoría de las aplicaciones la En general, los algoritmos simétricos trabajan más rápidamente, que ассиметричные. En практке los dos como los algoritmos se usan a menudo juntos: el algoritmo con la llave abierta se usa para entregar por casualidad clave secreta generada, que luego se usa para la descodificación del mensaje. Muchos algoritmos cualitativos criptográficos son accesibles ampliamente - en la librería, la biblioteca, la oficina de patente o en el Internet. A los algoritmos ampliamente conocidos simétricos se refieren DES e IDEA, Probable el mejor algoritmo asimétrico es RSA. Las firmas digitalesAlgunos de los algoritmos asimétricos pueden usarse para la generación de la firma digital. La firma digital llaman el bloque de los datos generados con el uso de alguna clave secreta. Además por medio de la llave abierta es posible comprobar que los datos eran realmente generados por medio de esta clave secreta. El algoritmo de la generación de la firma digital debe abastecer que era imposible sin clave secreta crear la firma, que durante la comprobación se encuentra correcta.Las firmas digitales se usan para confirmar que el mensaje ha llegado realmente del remitente dado (en la suposición que sólo el remitente posee la clave secreta correspondiente a su llave abierta). También las firmas se usan para проставления de la estampilla del tiempo (timestamp) sobre los documentos: la parte, a que nos confiamos, firma el documento con la estampilla del tiempo con помошью de la clave secreta y confirma, así, que el documento existía ya en el momento de, declarado en la estampilla del tiempo. Las firmas digitales es posible usar también para el certificado (la certificación--- to certify) lo que el documento pertenece a una cierta persona. Esto se hace así: la llave abierta y la información sobre aquel, a quien él pertenece se firman por la parte, por que se es confiado. Además confiarse a la parte que firma nosotros podemos en razon de lo que su llave era firmada por la tercera parte. Surge así la jerarquía de la confianza. Es evidente que alguna llave debe ser la raíz de la jerarquía (es decir nos le confiamos no porque él por alguien es firmado, y por eso que creemos a-priori que es posible confiarle). En la infraestructura centralizada de las llaves hay una cantidad muy pequeña de las llaves radicales de la red (por ejemplo, investido por los poderes estatal агенства; los llaman también de certificación агенствами--- certification authorities). En la infraestructura distribuida no hay necesidad de tener universal para todos las llaves radicales, y cada uno las partes puede confiarse al juego de las llaves radicales (diremos a propia llave y las llaves, ella firmado). Esta concepción lleva el nombre de la red de la confianza (web of trust) y es realizada, por ejemplo, en PGP. La firma digital del documento se crea habitualmente así: del documento es generada la selección así llamada (message digest) y a él es añadida la información sobre el que firma el documento, la estampilla del tiempo etc. La línea que ha resultado más es cifrada por la clave secreta de uno u otro algoritmo, que firma con el uso. El juego que ha resultado cifrado de las palas representa la firma. A la firma se acerca habitualmente la llave abierta que firma. Si el destinatario decide primero para se confía él a lo que la llave abierta pertenece a aquel, a quien debe pertenecer (por medio de la red de la confianza o el conocimiento apriorístico), y luego descifra la firma por medio de la llave abierta. Si la firma era descifrada normalmente, y su contenido corresponde al documento (la selección etc.), el mensaje se considera confirmado. Son con soltura accesibles algunos métodos de la creación y comprobación de las firmas digitales. Más conocido es el algoritmo RSA. Las hesh-funciones criptográficasLas hesh-funciones criptográficas se usan habitualmente para la generación de la selección del mensaje a la creación de la firma digital. Las Hesh-funciones representan el mensaje en el hesh-significado, que tiene la dimensión fijado, (hash value) así que toda la multitud de mensajes posibles se distribuye es uniforme por la multitud de hesh-significados. Además la hesh-función criptográfica lo hace así que es prácticamente imposible llevar el documento al hesh-significado dado.Las hesh-funciones criptográficas hacen habitualmente los significados de la longitud de 128 y más palas. Este número es significativo más que la cantidad собщений, que existirán alguna vez en el mundo. Muchas hesh-funciones buenas criptográficas en una forma accesible gratis. Ampliamente conocido incluyen MD5 y SHA. Los generadores criptográficos de los números casualesLos generadores criptográficos de los números casuales hacen los números casuales, que se usan en las aplicaciones criptográficas, por ejemplo - para la generación de las llaves. Los generadores regulares de los números casuales que hay en muchas lenguas de la programación y los ambientes de programa, no se acercan para las necesidades de la criptografía (se creaban con el objetivo recibir es estadística la distribución casual, криптоаналитики pueden predecir la conducta de tales generadores casuales).En el ideal los números casuales deben fundarse en la fuente presente física de la información casual, que es imposible predecir. Los ejemplos de tales fuentes incluyen los aparatos de semiconductor que hacen ruido, las palas menores del sonido digitalizado, los intervalos entre las interrupciones de los mecanismos o las presiones de las teclas. El ruido, recibido de la fuente físico, luego "es destilado" por la hesh-función criptográfica así que cada uno las palas dependa de cada uno la pala. Bastante a menudo para el almacenaje de la información casual se usa el fondo común bastante grande (algunos mil de palas) y cada uno las palas del fondo común se hace por dependiente de cada uno pala шумовой информаци y cada uno de otro la pala del fondo común криптографически seguro (strong) por el modo. Cuando no hay fuente presente física del ruido, cae usar los números seudocasuales. Tal situación es indeseable, pero surge a menudo en los ordenadores del destino general. Siempre es deseable recibir cierto ruido del ambiente--- diremos de la cantidad de las demoras en los mecanismos, la cifra de la estadística del uso de los recursos, la estadística de red, las interrupciones del teclado o algo de otro. La tarea es recibir los datos, imprevisible para el observador exterior. Para el logro de esto el fondo común casual debe contener como mínimo 128 palas presente энтропии. Los generadores criptográficos de los números seudocasuales usan habitualmente el fondo común (seed-significado) grande que contiene la información casual. Las palas es generado por medio del extracto del fondo común con la carrera posible a través de la hesh-función criptográfica para esconder el contenido del fondo común del observador exterior. Cuando es necesaria una nueva porción de palas, el fondo común se mezcla por medio del cifrado con la llave casual (de ello es posible tomar de no usado mientras las partes del fondo común) así que cada uno las palas del fondo común dependa de cada uno de otro la pala. Un nuevo ruido del ambiente debe ser añadido al fondo común ante las mezclas para hacer la predicción de los nuevos significados del fondo común aún más difícil. A pesar de que al diseñado exacto криптографически es tampoco difícil realizar el generador seguro de los números casuales, esta pregunta pierden a menudo del tipo. Así, debe hacer resaltar el generador criptográfico de los números casuales--- si él es hecho mal, él puede es fácil hacerse el elemento más vulnerable del sistema.
El grado, abastecido de la cifra, de la defensaLos sistemas buenos criptográficos se crean así para hacer su apertura por un asunto lo más posible difícil. Se puede construir los sistemas, que en la práctica es imposible abrir (aunque demostrar el hecho este no es posible habitualmente). No es necesario Además los esfuerzos muy grandes para la realización. La única cosa que es necesario--- es la exactitud y los conocimientos básicos. No hay perdón al elaborador, si él ha dejado la posibilidad para la apertura del sistema. Todos los mecanismos, que pueden usarse para la fractura del sistema es necesario задокументировать y hacer saber a los usuarios finales.Es teorético, cualquiera шифровальный el algoritmo con el uso de la llave puede ser abierto por el método del exceso de todos los significados de la llave. Si la llave se forma por el método de la fuerza bruta (brute force), la potencia exigida del ordenador crece экспоненциально con el aumento de la longitud de la llave. La llave de la longitud en 32 pala exige 2^32 (cerca de 10^9) los pasos. Tal tarea bajo la fuerza se decide a cualquier diletante en el ordenador de casa. Los sistemas con la llave 40-de bit (por ejemplo, la variante de exportación americana del algoritmo RC4) exigen 2^40 pasos--- tales potencias informáticas hay en la mayoría de las universidades y hasta en las compañías pequeñas. Los sistemas con las llaves 56-de bit (DES) exigen para la apertura de los esfuerzos visibles, pueden ser fácilmente abiertos sin embargo por medio de los aparatos especiales. El coste de tales aparatos es considerable, pero es accesible para la mafia, las grandes compañías y los gobiernos. Las llaves de la longitud 64 pala en el momento presente, probablemente, pueden ser abiertas por los grandes estados y ya en próximo algunos años serán accesibles para la apertura criminal организацими, las grandes compañías y los estados pequeños. Las llaves de la longitud de 80 palas pueden hacerse en el futuro vulnerables. Las llaves de la longitud de 128 palas se quedarán es probable inaccesible para la apertura el método de la fuerza bruta en el futuro visible. Se puede usar y unas llaves más largas. En el límite es fácil conseguir que la energía exigida para la apertura (contando que a un paso gasta mínimo квантовомеханический el cuanto de la energía) supere la masa del sol o el universo. Sin embargo, la longitud de la llave esto todavía no todo. Se puede abrir muchas cifras y sin escoger todas las combinaciones posibles. En general, es muy difícil inventar la cifra, que no es posible abrir por otro modo más eficaz. La elaboración de propias cifras puede hacerse el pasatiempo agradable, pero para las aplicaciones reales usar las cifras improvisadas no es recomendable si no sois al experto y no están seguro a 100 por ciento que hacéis. En general, debe tenerse aparte de los algoritmos inéditos o secretos. A menudo el elaborador de tal algoritmo no está seguro de su seguridad, o seguridad depende de la confidencialidad del algoritmo. En general, ni un algoritmo, que confidencialidad depende de la confidencialidad del algoritmo no явяется seguro. En particular, teniendo el programa que cifra, se puede emplear прграммиста, que дизассемблирует ella y restablecerá el algoritmo por el método de la ingeniería de vuelta. La experiencia muestra que la mayoría de los algoritmos secretos que se han hecho posteriormente de los bienes a la comunidad, se encontraban hasta ridículo poco seguros. Las longitudes de las llaves usadas en la criptografía con la llave abierta habitualmente considerablemente más que en los algoritmos simétricos. Aquí el problema consiste no en la selección de la llave, а en la reconstitución de la clave secreta por abierto. En caso de RSA el problema es equivalente a la descomposición en el multiplicador del número grande entero, que es la obra de los par de los números simples desconocidos. En caso de algunos otros криптосистем, el problema es equivalente al cálculo del logaritmo discreto por el módulo del número grande entero (tal tarea se considera aproximadamente a la tarea, análoga por las dificultades, de la descomposición en el multiplicador). Hay криптосистемы, que usan otros problemas. Para dar la representación sobre el grado de la complicación de la apertura RSA, digamos, que los módulos de la longitud de 256 palas fácilmente факторизуются por los programadores regulares. Las llaves en 384 pala pueden ser abiertas por el grupo de investigación de la universidad o la compañía. Las llaves 512-de bit se encuentran al alcance de los grandes estados. Las llaves de la longitud de 768 palas no serán seguro es probable el largo tiempo. Las llaves de la longitud de 1024 palas pueden considerarse seguro hasta que sea el progreso esencial en el algoritmo факторизации; las llaves de la longitud de 2048 mayoría cuenta seguro a las décadas. Se puede sacar una información más detallada sobre las longitudes de las llaves RSA del artículo de Bruce Shnajera (Bruce Scheier). Es importante subrayar que el grado de seguridad del sistema criptográfico está determinado por su eslabón más débil. No es posible perder del tipo ni un aspecto de la elaboración del sistema--- de la elección del algoritmo hasta la política del uso y la difusión de las llaves. Криптоанализ y el ataque en криптосистемыКриптоанализ es una ciencia sobre la descodificación de los mensajes codificados sin saber las llaves. Hay mucho криптоаналитических de los accesos. Algunos de más importante para los elaboradores son llevados más abajo.
Disclaimer. Todas las opiniones llevadas aquí y las conclusiones son el punto de vista subjetivo del autor, y el autor no puede tener la responsabilidad de ellos ильность. Discutir en el foro» |
|