{"id":10818,"date":"2020-01-13T16:14:43","date_gmt":"2020-01-13T16:14:43","guid":{"rendered":"https:\/\/www.conectasoftware.com\/?p=10818"},"modified":"2024-02-02T17:35:43","modified_gmt":"2024-02-02T17:35:43","slug":"metodos-criptograficos-una-introduccion","status":"publish","type":"post","link":"https:\/\/www.conectasoftware.com\/magazine\/metodos-criptograficos-una-introduccion\/","title":{"rendered":"M\u00e9todos criptogr\u00e1ficos &#8211; una introducci\u00f3n"},"content":{"rendered":"\n<p>Conocer los m\u00e9todos criptogr\u00e1ficos es importante para entender c\u00f3mo las comunicaciones digitales se dotan de seguridad. Veremos la terminolog\u00eda utilizada en los diferentes tipos y lo que significa cada uno.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">LA CRIPTOGRAF\u00cdA EN LA ACTUALIDAD<\/h2>\n\n\n\n<p>El cifrado de datos es uno de los requisitos que los desarrolladores de software deben cumplir para garantizar la <strong>confidencialidad<\/strong> e <strong>integridad<\/strong> de los mismos.<\/p>\n\n\n\n<p>En primer lugar, est\u00e1n los algoritmos de clave p\u00fablica o tambi\u00e9n llamados de<strong> criptograf\u00eda asim\u00e9trica<\/strong>. A continuaci\u00f3n, los algoritmos de clave privada o <strong>criptograf\u00eda sim\u00e9trica<\/strong>. Por \u00faltimo, la <strong>criptograf\u00eda h\u00edbrida<\/strong>, que une lo bueno de las dos anteriores. Adem\u00e1s, se deben tener en cuenta las funciones hash.<\/p>\n\n\n\n<p>En este primer art\u00edculo, veremos los algoritmos de clave privada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ALGORITMOS DE CLAVE PRIVADA: EL ALGORITMO AES (Advanced Encryption Standard)<\/h2>\n\n\n\n<p>Desarrollado por los expertos en criptograf\u00eda Joan Daemen y Vincent Rijmen gracias a <a href=\"https:\/\/www.nytimes.com\/2000\/10\/03\/business\/technology-us-selects-a-new-encryption-technique.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"un concurso p\u00fablico en el a\u00f1o 2000 (se abre en una nueva pesta\u00f1a)\">un concurso p\u00fablico en el a\u00f1o 2000<\/a>, el algoritmo se conoc\u00eda inicialmente como <a href=\"https:\/\/csrc.nist.gov\/csrc\/media\/projects\/cryptographic-standards-and-guidelines\/documents\/aes-development\/rijndael-ammended.pdf#page=1\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Rijndael (se abre en una nueva pesta\u00f1a)\">Rijndael<\/a>, que proviene de la mezcla de los nombres de dichos cript\u00f3grafos.<\/p>\n\n\n\n<p>M\u00e1s adelante pas\u00f3 a denominarse <strong>AES<\/strong>, que significa <strong>Advanced Encryption Standard<\/strong>. Es uno de los algoritmos criptogr\u00e1ficos por bloques m\u00e1s utilizados desde el a\u00f1o 2006.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tipos de AES<\/h3>\n\n\n\n<p>El algoritmo AES se basa en una red de <strong>sustituci\u00f3n-permutaci\u00f3n<\/strong>. Esto quiere decir que son bloques que combinan rondas donde se realizan sustituciones y permutaciones. Existen varios tipos de AES en funci\u00f3n de la cantidad de bits que se utilice, variando la cantidad de rondas en funci\u00f3n de los mismos :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AES de 128 bits.<\/li>\n\n\n\n<li>AES de 192 bits.<\/li>\n\n\n\n<li>Y AES de 256 bits<\/li>\n<\/ul>\n\n\n\n<p>Si el algoritmo es de 128 bits, se utilizan 10 rondas. En el caso de que sea de 192 bits, el algoritmo utiliza 12 rondasen y si el algoritmo es de 256 bits, se utilizan 14 rondas.<\/p>\n\n\n\n<p>En la actualidad, los desarrolladores optan por utilizar <strong>AES de 256 bits<\/strong> ya que provee un mayor nivel de seguridad en comparaci\u00f3n con los dos anteriores.<\/p>\n\n\n\n<p>El algoritmo AES se caracteriza por ser r\u00e1pido tanto en hardware como en software.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FUNCIONAMIENTO DEL ALGORITMO<\/h3>\n\n\n\n<p>Al tratarse de un algoritmo de <strong>clave privada<\/strong>, la clave utilizada para cifrar nunca debe ser desvelada ya que parte de la seguridad del algoritmo recae en la clave para cifrar. Las funciones b\u00e1sicas del AES se componen a trav\u00e9s de cuatro etapas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>ByteSub<\/strong>: en esta etapa, se hace una sustituci\u00f3n de elementos de una matriz por otra, generando una matriz de estado cuya finalidad es crear confusi\u00f3n.<\/li>\n\n\n\n<li><strong>ShiftRow<\/strong>: en esta etapa, se realiza una permutaci\u00f3n entre las columnas que componen la matriz de estado.<\/li>\n\n\n\n<li><strong>MixColumn<\/strong>: en esta etapa se realizan operaciones entre la matriz de estado y una matriz constante.<\/li>\n\n\n\n<li><strong>AddRoundKey<\/strong>: en esta etapa se emplea la operaci\u00f3n l\u00f3gica XOR entre la matriz de estado y la subclave generada. Destacar que en esta etapa realiza la generaci\u00f3n de claves aleatorias.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">A\u00d1ADIENDO UNA CAPA DE SEGURIDAD AL AES: MODOS DE OPERACI\u00d3N<\/h3>\n\n\n\n<p>Existen varios modos de operaci\u00f3n aplicables a algoritmos criptogr\u00e1ficos por bloques que proporcionan una capa de seguridad m\u00e1s. Dichos modos de operaci\u00f3n pueden ser los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ECB <\/strong>(Electronic Codebook)<\/li>\n\n\n\n<li><strong>CBC <\/strong>(Cipher-Block Chaining)<\/li>\n\n\n\n<li><strong>PCBC <\/strong>(Propagating Cipher-Block Chaining)<\/li>\n<\/ul>\n\n\n\n<p>El modo m\u00e1s com\u00fan utilizado junto con AES es el modo CBC.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enigma &#8211; descifrando claves en la 2GM con m\u00e9todos criptogr\u00e1ficos<\/h2>\n\n\n\n<p>Uno de los ejemplos m\u00e1s conocidos del uso de clave privada es Enigma, una maquina de cifrado rotativo. Durante la Segunda Guerra Mundial, Alemania utilizaba este sistema de encriptaci\u00f3n para sus comunicaciones diarias. Dicha clave se actualizaba a diario.<\/p>\n\n\n\n<p>En Netflix est\u00e1 disponible la pelicula C\u00f3digo Enigma, basada en el libro del mismo nombre de Andrew Hodges. Cuenta la historia real de Alan Turing y c\u00f3mo descifr\u00f3 Enigma con la construcci\u00f3n de la maquina Bombe.<\/p>\n\n\n<h2>\u00a0<\/h2>\n<p><!-- \/wp:heading --><\/p>\n<p><!-- wp:paragraph --><\/p>","protected":false},"excerpt":{"rendered":"<p>Conocer los m\u00e9todos criptogr\u00e1ficos es importante para entender c\u00f3mo las comunicaciones digitales se dotan de seguridad. Veremos la terminolog\u00eda utilizada en los diferentes tipos y lo que significa cada uno. LA CRIPTOGRAF\u00cdA EN LA ACTUALIDAD El cifrado de datos es uno de los requisitos que los desarrolladores de software deben cumplir para garantizar la confidencialidad [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10824,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[54],"tags":[],"class_list":{"0":"post-10818","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-ciberseguridad"},"_links":{"self":[{"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/posts\/10818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/comments?post=10818"}],"version-history":[{"count":2,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/posts\/10818\/revisions"}],"predecessor-version":[{"id":39959,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/posts\/10818\/revisions\/39959"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/media\/10824"}],"wp:attachment":[{"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/media?parent=10818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/categories?post=10818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.conectasoftware.com\/magazine\/wp-json\/wp\/v2\/tags?post=10818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}