Texto Oculto & lt; code class = & quot; dos & quot; & gt; trabajo bitcoin * hash SHA-256 * Ken Shirriff http://righto.com ctl 6641 org 087 X1 dcw @ 000 @ org 092 X2 dcw @ 000 @ org 097 X3 dcw @ 000 @ org 333 inicia cs 299 r sw 001 lca 064, input0 mcw 064, 264 w * Inicializar marcas denominativas en mcw almacenamiento + s0, x3 wmloop sw 0 & amp; ma x3 @ 032 @ , x3 c + h7 + 32, x3 bu wmloop mcw + input-127, x3 * Ponga la entrada en warr [0] para Warr [15] mcw + warr, x1 mcw @ 128 @, tobinc b tobin * cronograma mensaje Compute serie w [0..63] mcw @ 16 @, i * i es el índice palabra 16-63 * x1 es inicio de warr [i-16], es decir, bit 0 (bit 0 de la izquierda, bit 31 a la derecha) mcw + warr, x1 wloop c @ 64 @, yo estaré wloopd * Calcular s0 mcw + s0, za x2 0, 31 & amp; x2 * Cero s0 * Añadir w [i -15] rightrotate 7 sw 7 & amp; x2 * Wordmark en el bit 7 (desde la izquierda) de s0 un 56 & amp; x1, 31 & amp; x2 * Derecho cambió: 32 + 31-7 = 24 bits de w [i-15], 31 = final de s0 un 63 & amp; x1, 6 & amp; x2 * Envuelto: 32 + 31 = final de w [i-15], 7-1 = bit 6 de s0 cw 7 & amp; x2 * Claro wordmark * Añadir w [i-15] rightrotate 18 sw 18 & amp; x2 * Wordmark en el bit 18 (desde la izquierda) de s0 un 45 & amp; x1, 31 & amp; x2 * Derecho cambió: 32 + 31-18 = bit 13 de w [i-15], 31 = final de s0 un 63 & amp; x1, 17 & amp; x2 * Envuelto: 32 + 31 = final de w [i-15], 18-1 = Bit 17 de s0 cw 18 & amp; x2 * Claro wordmark * Añadir w [i-15] SHIFTDERECHA 3 sw 3 & amp; x2 * Wordmark en el bit 3 (desde la izquierda) de s0 un 60 & amp; x1, 31 & amp; x2 * Derecho cambió: 32 + 31-3 = bit 28 de w [i-15], 31 = final de s0 cw amplificador 3 y; x2 * Claro wordmark * Convertir suma a xor mcw x1, x1tmp mcw + s0 + 31, x1 x1 * = extremo derecho de mcw s0 @ 032 @, x2 * Proceso de 32 bits b xor sw s0 * Restaurar wordmark despejado por xor mcw x1tmp, x1 * s1 Compute mcw + s1, x2 za 0, 31 & amp; x2 * Cero s1 * Añadir w [i-2] rightrotate 17 sw 17 & amp; x2 * Wordmark en el bit 17 (desde la izquierda) de s1 un 462 & amp; x1, 31 & amp ; x2 * Derecho cambió: 14 * 32 + 31-17 = bit 14 de w [i-2], 31 = final de s1 un 479 & amp; x1, 16 & amp; x2 * Envuelto: 14 * 32 + 31 = final de w [ i-2], 17-1 = mordí 16 de s1 cw 17 & amp; x2 * Claro wordmark * Añadir w [i-2] rightrotate 19 sw 19 & amp; x2 * Wordmark en el bit 19 (desde la izquierda) de s1 un 460 & amp; x1, 31 & amp; x2 * Derecho cambió: 14 * 32 + 31-19 = bit 12 de w [i-2], 31 = final de s1 un 479 & amp; x1, 18 & amp; x2 * Envuelto: 14 * 32 + 31 = final de w [i-2], 19-1 = mordí 18 de s1 cw 19 & amp; x2 * Claro wordmark * Añadir w [i-2] SHIFTDERECHA 10 sw 10 & amp; x2 * Wordmark en el bit 10 (desde la izquierda) de s1 un 469 & amp; x1 31 & amp; x2 * Derecho cambió: 14 * 32 + 31-10 = Bit 21 de w [i-2], 31 = final de s1 cw 10 & amp; x2 * Claro wordmark * Convertir suma a mcw xor + s1 + 31, x1 * x1 = extremo derecho de mcw s1 @ 032 @, x2 * Proceso de 32 bits b xor sw s1 * Restaurar wordmark despejado por xor * Calcular w [i]: = w [i-16] + s0 + w [i-7] + s1 x1tmp mcw, x1 un s1 + 31, s0 + 31 * Añadir s1 a S0 un 31 & amp; x1, s0 + 31 * Añadir w [i-16] para S0 un 319 & amp; x1, s0 + 31 * Agregar 9 * 32 31 = w [i-7] para S0 * Convertir suma poco a una suma mcw 32 bits + s0 + 31, x1 x1 * = extremo derecho de mcw s0 @ 032 @, x2 * Proceso de 32 bits b suma sw s0 * Restaurar Wordmark despejado por x1tmp suma mcw, mcw x1 s0 + 31, 543 & amp; x1 * Movimiento s0 a w [i] ma @ 032 @, x1 un 1, i MZ @ 0 @, ib wloop x1tmp dcw # 5 * Inicializar: Copia hexagonal h0init-h7init en binario wloopd MCW-h0 h7 + h0init-7, mcw x3 + h0, mcw x1 @ 064 @, tobinc * 8 * 8 dígitos hexadecimal b tobin * Inicializa ah desde MCW-h0 h7 @ 000 @, ILP x1 h0 MCW + 31 & amp; x1, a + 31 & amp; ma x1 @ 032 @, x1 c x1, @ 256 @ bu ILP mcw @ 000 @, bitidx * bitidx = i * 32 = poco mcw índice @ 000 @, kidx * kidx = i * 8 = índice de clave * Calcular s1 de correo mainlp mcw + e, x1 mcw + s1, x2 za 0, 31 & amp; x2 * Cero s1 * Añadir e rightrotate 6 sw 6 & amp; x2 * Wordmark en el bit 6 (desde la izquierda) de s1 un 25 & amp; x1, 31 & amp; x2 * Derecho cambió: 31-6 = Bit 25 de la e, 31 = final de s1 un 31 & amp; x1, 5 & amp; x2 * Envuelto: 31 = final del correo, 6-1 = bits 5 de s1 cw 6 & amp; x2 * Claro wordmark * Agregar e rightrotate 11 sw 11 & amp; x2 * Wordmark en el bit 11 (desde la izquierda) de s1 un 20 & amp; x1, 31 & amp; Derecho x2 * cambió: 31-11 = Bit 20 de la e 31 = final de s1 un 31 & amp; x1, 10 & amp; x2 * Envuelto: 31 = fin de la e, 11-1 = bit 10 de s1 cw 11 & amp; x2 * Claro wordmark * Añadir e rightrotate 25 sw 25 & amp; x2 * Wordmark en bit 25 (desde la izquierda) de s1 un 6 & amp; x1, 31 & amp; x2 * Derecho cambió: 31-25 = bit 6 de e, 31 = final de s1 un 31 & amp; x1, 24 & amp; x2 * Envuelto: 31 = fin de la e , 25-1 = 24 bits de s1 cw 25 & amp; x2 * Claro wordmark * Convertir suma a xor mcw + s1 + 31, x1 x1 * = extremo derecho de mcw s1 @ 032 @, x2 * Proceso de 32 bits b xor sw s1 * Restaurar wordmark despejado por xor * Calcular ch: elegir función mcw @ 000 @, x1 * x1 es el índice de 0 a 31 chl c e & amp; x1, @ 0 @ sea chzero mn f & amp; x1, ch & amp; x1 * para 1, seleccione f bit b chincr chzero mn g & amp; x1, ch & amp; x1 * durante 0, seleccione g poco chincr un 1, x1 mz @ 0 @, x1 c @ 032 @, x1 bu chl * Calcular temp1: k [i] + H + S1 + ch + w [i] cs 299 mcw + k-7, x3 * Convertir k [i] a binario en kidx ma temp1, x3 mcw + temp1, mcw x1 @ 008 @, tobinc * 8 dígitos hexadecimales b tobin mcw @
Fuente: geektimes.ru/company/hashflare/blog/252092/