b'\n_START_ARTICLE_\nSHA-3\n_START_PARAGRAPH_\nSHA-3 (Secure Hash Algorithm 3) es el \xc3\xbaltimo miembro de la familia de est\xc3\xa1ndares Secure Hash Algorithm , publicado por NIST el 5 de agosto de 2015.\xe2\x80\x8b El c\xc3\xb3digo fuente de la implementaci\xc3\xb3n de referencia se dedic\xc3\xb3 al dominio p\xc3\xbablico mediante la exenci\xc3\xb3n de CC0.\xe2\x80\x8b Aunque es parte de la misma serie de est\xc3\xa1ndares, SHA-3 es internamente bastante diferente de la estructura similar a MD5 de SHA-1 y SHA-2 .\xe2\x80\x8b_NEWLINE_SHA-3 es un subconjunto de la familia primitiva criptogr\xc3\xa1fica m\xc3\xa1s amplio Keccak ( / k \xc9\x9b t\xca\x83 \xc3\xa6 k , - \xc9\x91\xcb\x90 k / ),\xe2\x80\x8b dise\xc3\xb1ado por Guido Bertoni, Joan Daemen , Micha\xc3\xabl Peeters, y Gilles Van Assche , construyendo sobre RadioGat\xc3\xban . Los autores del Keccak han propuesto usos adicionales para la funci\xc3\xb3n, (todav\xc3\xada) no estandarizada por el NIST, incluyendo un cifrado de flujo , un cifrado autenticado sistema, un "\xc3\xa1rbol" hash esquema de hash m\xc3\xa1s r\xc3\xa1pido en ciertas arquitecturas, yAEAD cifra Keyak y Ketje.\xe2\x80\x8b_NEWLINE_Keccak se basa en un enfoque novedoso llamado construcci\xc3\xb3n de esponjas. La construcci\xc3\xb3n de esponja se basa en una amplia funci\xc3\xb3n aleatoria o permutaci\xc3\xb3n aleatoria , y permite ingresar ("absorber" en la terminolog\xc3\xada de esponja) cualquier cantidad de datos, y generar (exprimir) cualquier cantidad de datos, mientras act\xc3\xbaa como una funci\xc3\xb3n pseudoaleatoria con respecto a todas las entradas anteriores. Esto conduce a una gran flexibilidad. El prop\xc3\xb3sito de SHA-3 es que puede ser sustituido directamente por SHA-2 en aplicaciones actuales si es necesario, y para mejorar significativamente la solidez del conjunto de herramientas de algoritmo hash general de NIST.\n_START_SECTION_\nHistoria\n_START_PARAGRAPH_\nEl algoritmo Keccak es el trabajo de Guido Bertoni, Joan Daemen, Michael Peeters y Gilles Van Assche. Est\xc3\xa1 basado en los dise\xc3\xb1os de hash PANAMA y RadioGat\xc3\xban.\xe2\x80\x8b En el a\xc3\xb1o 2006 la NIST organiz\xc3\xb3 una nueva edici\xc3\xb3n de la competici\xc3\xb3n para la creaci\xc3\xb3n de una nueva funci\xc3\xb3n para los est\xc3\xa1ndares de Secure Hash Algorithm (SHA), el SHA-3. Al no existir un ataque significativo demostrado en SHA-2, el nuevo est\xc3\xa1ndar SHA-3 no lo reemplazar\xc3\xa1. La NIST ha mencionado que debido a exitosos ataques a los est\xc3\xa1ndares MD5, SHA-0 y SHA-1, es necesario una alternativa llamada SHA-3.\xe2\x80\x8b _NEWLINE_Las admisiones de proyectos comenzaron en el a\xc3\xb1o 2008. Keccak fue aceptado como uno de los 51 candidatos. En julio de 2009 14 algoritmos pasaron a la segunda ronda y Keccak avanz\xc3\xb3 a la ronda final en diciembre de 2010.\xe2\x80\x8b Durante el periodo de la competici\xc3\xb3n, se les permiti\xc3\xb3 a los participantes corregir problemas descubiertos en sus algoritmos. Keccak hizo algunos cambios como el n\xc3\xbamero de rondas, se ampli\xc3\xb3 de  a .\xe2\x80\x8b En octubre de 2012 fue seleccionado como el ganador de la competici\xc3\xb3n.\xe2\x80\x8b En el a\xc3\xb1o 2014 la NIST public\xc3\xb3 la documentaci\xc3\xb3n t\xc3\xa9cnica del algoritmo\xe2\x80\x8b y fue aprobado en agosto de 2015,\xe2\x80\x8b para as\xc3\xad convertirse en el nuevo est\xc3\xa1ndar SHA-3.\xe2\x80\x8b\n_START_SECTION_\nDise\xc3\xb1o\n_START_PARAGRAPH_\nSHA-3 usa una construcci\xc3\xb3n de esponja, donde los datos son absorbidos (metaf\xc3\xb3ricamente) y \xc3\xa9stos son procesados para mostrar una salida de longitud deseada. En la fase de absorci\xc3\xb3n, los bloques de datos pasan por una operaci\xc3\xb3n XOR y despu\xc3\xa9s son transformados usando una funci\xc3\xb3n de permutaci\xc3\xb3n, denominada f. SHA-3 adem\xc3\xa1s permite que  contenga bits adicionales de informaci\xc3\xb3n, esto protege al algoritmo contra ataques de extensi\xc3\xb3n, a los que son susceptibles los est\xc3\xa1ndares SHA-1, SHA-2 y MD5. Adem\xc3\xa1s la flexibilidad en sus par\xc3\xa1metros lo hace \xc3\xbatil para probar ataques criptoanal\xc3\xadticos y usarlo en aplicaciones ligeras.\xe2\x80\x8b\n_START_SECTION_\nPermutaci\xc3\xb3n de bloque\n_START_PARAGRAPH_\nLa transformaci\xc3\xb3n de bloque  es una permutaci\xc3\xb3n que usa las operaciones XOR, AND y NOT, est\xc3\xa1 dise\xc3\xb1ada para su f\xc3\xa1cil implementaci\xc3\xb3n en software y hardware. La funci\xc3\xb3n de permutaci\xc3\xb3n de bloques consiste en  rondas de cinco pasos, nombrados como: paso , paso , paso , paso  y paso \xce\xb9.\n_START_SECTION_\nVelocidad\n_START_PARAGRAPH_\nLa velocidad de SHA-3 para crear un hash de mensajes largos se determina con  y aplicando un XOR a la funci\xc3\xb3n . Los autores del algoritmo obtuvieron algunos resultados al aplicar una implementaci\xc3\xb3n en software, por ejemplo se registraron 57.4 ciclos por byte en un Intel Pentim 4. El algoritmo ha sido criticado por su lentitud en software, en comparaci\xc3\xb3n, SHA2-512 es el doble de r\xc3\xa1pido que SHA3-512.\xe2\x80\x8b Destaca que SHA-3 es m\xc3\xa1s r\xc3\xa1pido que cualquiera de los est\xc3\xa1ndares anteriores si es implementado en hardware.\xe2\x80\x8b\n_START_SECTION_\nSeguridad contra ataques cu\xc3\xa1nticos\n_START_PARAGRAPH_\nDe acuerdo al algoritmo de Grover las computadoras cu\xc3\xa1nticas pueden realizar ataques de preimagen en , cuando en un ataque de fuerza bruta com\xc3\xban se necesita . Para realizar un ataque de preimagen se necesita un segundo ataque que termina en una colisi\xc3\xb3n.\xe2\x80\x8b Una computadora cu\xc3\xa1ntica puede realizar un ataque de cumplea\xc3\xb1os y romper la resistencia a la colisi\xc3\xb3n del algoritmo en .\xe2\x80\x8b\n_START_SECTION_\nControversias\n_START_PARAGRAPH_\nEn febrero de 2013 en la Conferencia RSA, la NIST anunci\xc3\xb3 que cambiar\xc3\xada el valor de la capacidad y otros par\xc3\xa1metros de seguridad del algoritmo SHA-3.\xe2\x80\x8b Durante la competici\xc3\xb3n, se pidi\xc3\xb3 a los participantes que SHA-3 fuera al menos igual de seguro que SHA-2. El algoritmo Keccak permite un ajuste en los niveles de seguridad basados en la capacidad, llamada  y provee  de resistencia tanto para ataques de colisi\xc3\xb3n como de preimagen.\xe2\x80\x8b_NEWLINE_En septiembre de 2013, el experto en criptograf\xc3\xada, Daniel J. Bernstein, sugiri\xc3\xb3 al NIST aumentar la seguridad del algoritmo, que inicialmente fue propuesto con mucha m\xc3\xa1s capacidad de resistencia.\xe2\x80\x8b Estos cambios har\xc3\xadan que SHA3-224 y SHA3-256 tuvieran la misma resistencia contra ataques que SHA-2.\xe2\x80\x8b En respuesta a la controversia, el NIST propuso regresar a la versi\xc3\xb3n original de , los cambios fueron confirmados en el borrador del algoritmo propuesto en abril de 2014.\xe2\x80\x8b Las implementaciones con capacidad reducida fueron publicadas como SHAKE128 y SHAKE256, donde el n\xc3\xbamero indica el nivel de seguridad.\xe2\x80\x8b\n_START_SECTION_\nEjemplos\n_START_PARAGRAPH_\nAlgunos ejemplos con las diferentes implementaciones:_NEWLINE_SHA3-224("")_NEWLINE_6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7_NEWLINE_SHA3-256("")_NEWLINE_a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a_NEWLINE_SHA3-384("")_NEWLINE_0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004_NEWLINE_SHA3-512("")_NEWLINE_a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26_NEWLINE_SHAKE128("", 256)_NEWLINE_7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26_NEWLINE_SHAKE256("", 512)_NEWLINE_46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be_NEWLINE_El cambio de un solo bit causa un efecto avalancha:_NEWLINE_SHAKE128("The quick brown fox jumps over the lazy dog", 256)_NEWLINE_f4202e3c5852f9182a0430fd8144f0a74b95e7417ecae17db0f8cfeed0e3e66e_NEWLINE_SHAKE128("The quick brown fox jumps over the lazy dof", 256)_NEWLINE_853f4538be0db9621a6cea659a06c1107b1f83f02b13d18297bd39d7411cf10c'