📄 ripemd_8cpp-source.html
字号:
<a name="l00478"></a>00478 d1 = d2 = digest[3];<a name="l00479"></a>00479 <a name="l00480"></a>00480 Subround(F, a1, b1, c1, d1, X[ 0], 11, k0);<a name="l00481"></a>00481 Subround(F, d1, a1, b1, c1, X[ 1], 14, k0);<a name="l00482"></a>00482 Subround(F, c1, d1, a1, b1, X[ 2], 15, k0);<a name="l00483"></a>00483 Subround(F, b1, c1, d1, a1, X[ 3], 12, k0);<a name="l00484"></a>00484 Subround(F, a1, b1, c1, d1, X[ 4], 5, k0);<a name="l00485"></a>00485 Subround(F, d1, a1, b1, c1, X[ 5], 8, k0);<a name="l00486"></a>00486 Subround(F, c1, d1, a1, b1, X[ 6], 7, k0);<a name="l00487"></a>00487 Subround(F, b1, c1, d1, a1, X[ 7], 9, k0);<a name="l00488"></a>00488 Subround(F, a1, b1, c1, d1, X[ 8], 11, k0);<a name="l00489"></a>00489 Subround(F, d1, a1, b1, c1, X[ 9], 13, k0);<a name="l00490"></a>00490 Subround(F, c1, d1, a1, b1, X[10], 14, k0);<a name="l00491"></a>00491 Subround(F, b1, c1, d1, a1, X[11], 15, k0);<a name="l00492"></a>00492 Subround(F, a1, b1, c1, d1, X[12], 6, k0);<a name="l00493"></a>00493 Subround(F, d1, a1, b1, c1, X[13], 7, k0);<a name="l00494"></a>00494 Subround(F, c1, d1, a1, b1, X[14], 9, k0);<a name="l00495"></a>00495 Subround(F, b1, c1, d1, a1, X[15], 8, k0);<a name="l00496"></a>00496 <a name="l00497"></a>00497 Subround(G, a1, b1, c1, d1, X[ 7], 7, k1);<a name="l00498"></a>00498 Subround(G, d1, a1, b1, c1, X[ 4], 6, k1);<a name="l00499"></a>00499 Subround(G, c1, d1, a1, b1, X[13], 8, k1);<a name="l00500"></a>00500 Subround(G, b1, c1, d1, a1, X[ 1], 13, k1);<a name="l00501"></a>00501 Subround(G, a1, b1, c1, d1, X[10], 11, k1);<a name="l00502"></a>00502 Subround(G, d1, a1, b1, c1, X[ 6], 9, k1);<a name="l00503"></a>00503 Subround(G, c1, d1, a1, b1, X[15], 7, k1);<a name="l00504"></a>00504 Subround(G, b1, c1, d1, a1, X[ 3], 15, k1);<a name="l00505"></a>00505 Subround(G, a1, b1, c1, d1, X[12], 7, k1);<a name="l00506"></a>00506 Subround(G, d1, a1, b1, c1, X[ 0], 12, k1);<a name="l00507"></a>00507 Subround(G, c1, d1, a1, b1, X[ 9], 15, k1);<a name="l00508"></a>00508 Subround(G, b1, c1, d1, a1, X[ 5], 9, k1);<a name="l00509"></a>00509 Subround(G, a1, b1, c1, d1, X[ 2], 11, k1);<a name="l00510"></a>00510 Subround(G, d1, a1, b1, c1, X[14], 7, k1);<a name="l00511"></a>00511 Subround(G, c1, d1, a1, b1, X[11], 13, k1);<a name="l00512"></a>00512 Subround(G, b1, c1, d1, a1, X[ 8], 12, k1);<a name="l00513"></a>00513 <a name="l00514"></a>00514 Subround(H, a1, b1, c1, d1, X[ 3], 11, k2);<a name="l00515"></a>00515 Subround(H, d1, a1, b1, c1, X[10], 13, k2);<a name="l00516"></a>00516 Subround(H, c1, d1, a1, b1, X[14], 6, k2);<a name="l00517"></a>00517 Subround(H, b1, c1, d1, a1, X[ 4], 7, k2);<a name="l00518"></a>00518 Subround(H, a1, b1, c1, d1, X[ 9], 14, k2);<a name="l00519"></a>00519 Subround(H, d1, a1, b1, c1, X[15], 9, k2);<a name="l00520"></a>00520 Subround(H, c1, d1, a1, b1, X[ 8], 13, k2);<a name="l00521"></a>00521 Subround(H, b1, c1, d1, a1, X[ 1], 15, k2);<a name="l00522"></a>00522 Subround(H, a1, b1, c1, d1, X[ 2], 14, k2);<a name="l00523"></a>00523 Subround(H, d1, a1, b1, c1, X[ 7], 8, k2);<a name="l00524"></a>00524 Subround(H, c1, d1, a1, b1, X[ 0], 13, k2);<a name="l00525"></a>00525 Subround(H, b1, c1, d1, a1, X[ 6], 6, k2);<a name="l00526"></a>00526 Subround(H, a1, b1, c1, d1, X[13], 5, k2);<a name="l00527"></a>00527 Subround(H, d1, a1, b1, c1, X[11], 12, k2);<a name="l00528"></a>00528 Subround(H, c1, d1, a1, b1, X[ 5], 7, k2);<a name="l00529"></a>00529 Subround(H, b1, c1, d1, a1, X[12], 5, k2);<a name="l00530"></a>00530 <a name="l00531"></a>00531 Subround(I, a1, b1, c1, d1, X[ 1], 11, k3);<a name="l00532"></a>00532 Subround(I, d1, a1, b1, c1, X[ 9], 12, k3);<a name="l00533"></a>00533 Subround(I, c1, d1, a1, b1, X[11], 14, k3);<a name="l00534"></a>00534 Subround(I, b1, c1, d1, a1, X[10], 15, k3);<a name="l00535"></a>00535 Subround(I, a1, b1, c1, d1, X[ 0], 14, k3);<a name="l00536"></a>00536 Subround(I, d1, a1, b1, c1, X[ 8], 15, k3);<a name="l00537"></a>00537 Subround(I, c1, d1, a1, b1, X[12], 9, k3);<a name="l00538"></a>00538 Subround(I, b1, c1, d1, a1, X[ 4], 8, k3);<a name="l00539"></a>00539 Subround(I, a1, b1, c1, d1, X[13], 9, k3);<a name="l00540"></a>00540 Subround(I, d1, a1, b1, c1, X[ 3], 14, k3);<a name="l00541"></a>00541 Subround(I, c1, d1, a1, b1, X[ 7], 5, k3);<a name="l00542"></a>00542 Subround(I, b1, c1, d1, a1, X[15], 6, k3);<a name="l00543"></a>00543 Subround(I, a1, b1, c1, d1, X[14], 8, k3);<a name="l00544"></a>00544 Subround(I, d1, a1, b1, c1, X[ 5], 6, k3);<a name="l00545"></a>00545 Subround(I, c1, d1, a1, b1, X[ 6], 5, k3);<a name="l00546"></a>00546 Subround(I, b1, c1, d1, a1, X[ 2], 12, k3);<a name="l00547"></a>00547 <a name="l00548"></a>00548 Subround(I, a2, b2, c2, d2, X[ 5], 8, k5);<a name="l00549"></a>00549 Subround(I, d2, a2, b2, c2, X[14], 9, k5);<a name="l00550"></a>00550 Subround(I, c2, d2, a2, b2, X[ 7], 9, k5);<a name="l00551"></a>00551 Subround(I, b2, c2, d2, a2, X[ 0], 11, k5);<a name="l00552"></a>00552 Subround(I, a2, b2, c2, d2, X[ 9], 13, k5);<a name="l00553"></a>00553 Subround(I, d2, a2, b2, c2, X[ 2], 15, k5);<a name="l00554"></a>00554 Subround(I, c2, d2, a2, b2, X[11], 15, k5);<a name="l00555"></a>00555 Subround(I, b2, c2, d2, a2, X[ 4], 5, k5);<a name="l00556"></a>00556 Subround(I, a2, b2, c2, d2, X[13], 7, k5);<a name="l00557"></a>00557 Subround(I, d2, a2, b2, c2, X[ 6], 7, k5);<a name="l00558"></a>00558 Subround(I, c2, d2, a2, b2, X[15], 8, k5);<a name="l00559"></a>00559 Subround(I, b2, c2, d2, a2, X[ 8], 11, k5);<a name="l00560"></a>00560 Subround(I, a2, b2, c2, d2, X[ 1], 14, k5);<a name="l00561"></a>00561 Subround(I, d2, a2, b2, c2, X[10], 14, k5);<a name="l00562"></a>00562 Subround(I, c2, d2, a2, b2, X[ 3], 12, k5);<a name="l00563"></a>00563 Subround(I, b2, c2, d2, a2, X[12], 6, k5);<a name="l00564"></a>00564 <a name="l00565"></a>00565 Subround(H, a2, b2, c2, d2, X[ 6], 9, k6);<a name="l00566"></a>00566 Subround(H, d2, a2, b2, c2, X[11], 13, k6);<a name="l00567"></a>00567 Subround(H, c2, d2, a2, b2, X[ 3], 15, k6);<a name="l00568"></a>00568 Subround(H, b2, c2, d2, a2, X[ 7], 7, k6);<a name="l00569"></a>00569 Subround(H, a2, b2, c2, d2, X[ 0], 12, k6);<a name="l00570"></a>00570 Subround(H, d2, a2, b2, c2, X[13], 8, k6);<a name="l00571"></a>00571 Subround(H, c2, d2, a2, b2, X[ 5], 9, k6);<a name="l00572"></a>00572 Subround(H, b2, c2, d2, a2, X[10], 11, k6);<a name="l00573"></a>00573 Subround(H, a2, b2, c2, d2, X[14], 7, k6);<a name="l00574"></a>00574 Subround(H, d2, a2, b2, c2, X[15], 7, k6);<a name="l00575"></a>00575 Subround(H, c2, d2, a2, b2, X[ 8], 12, k6);<a name="l00576"></a>00576 Subround(H, b2, c2, d2, a2, X[12], 7, k6);<a name="l00577"></a>00577 Subround(H, a2, b2, c2, d2, X[ 4], 6, k6);<a name="l00578"></a>00578 Subround(H, d2, a2, b2, c2, X[ 9], 15, k6);<a name="l00579"></a>00579 Subround(H, c2, d2, a2, b2, X[ 1], 13, k6);<a name="l00580"></a>00580 Subround(H, b2, c2, d2, a2, X[ 2], 11, k6);<a name="l00581"></a>00581 <a name="l00582"></a>00582 Subround(G, a2, b2, c2, d2, X[15], 9, k7);<a name="l00583"></a>00583 Subround(G, d2, a2, b2, c2, X[ 5], 7, k7);<a name="l00584"></a>00584 Subround(G, c2, d2, a2, b2, X[ 1], 15, k7);<a name="l00585"></a>00585 Subround(G, b2, c2, d2, a2, X[ 3], 11, k7);<a name="l00586"></a>00586 Subround(G, a2, b2, c2, d2, X[ 7], 8, k7);<a name="l00587"></a>00587 Subround(G, d2, a2, b2, c2, X[14], 6, k7);<a name="l00588"></a>00588 Subround(G, c2, d2, a2, b2, X[ 6], 6, k7);<a name="l00589"></a>00589 Subround(G, b2, c2, d2, a2, X[ 9], 14, k7);<a name="l00590"></a>00590 Subround(G, a2, b2, c2, d2, X[11], 12, k7);<a name="l00591"></a>00591 Subround(G, d2, a2, b2, c2, X[ 8], 13, k7);<a name="l00592"></a>00592 Subround(G, c2, d2, a2, b2, X[12], 5, k7);<a name="l00593"></a>00593 Subround(G, b2, c2, d2, a2, X[ 2], 14, k7);<a name="l00594"></a>00594 Subround(G, a2, b2, c2, d2, X[10], 13, k7);<a name="l00595"></a>00595 Subround(G, d2, a2, b2, c2, X[ 0], 13, k7);<a name="l00596"></a>00596 Subround(G, c2, d2, a2, b2, X[ 4], 7, k7);<a name="l00597"></a>00597 Subround(G, b2, c2, d2, a2, X[13], 5, k7);<a name="l00598"></a>00598 <a name="l00599"></a>00599 Subround(F, a2, b2, c2, d2, X[ 8], 15, k9);<a name="l00600"></a>00600 Subround(F, d2, a2, b2, c2, X[ 6], 5, k9);<a name="l00601"></a>00601 Subround(F, c2, d2, a2, b2, X[ 4], 8, k9);<a name="l00602"></a>00602 Subround(F, b2, c2, d2, a2, X[ 1], 11, k9);<a name="l00603"></a>00603 Subround(F, a2, b2, c2, d2, X[ 3], 14, k9);<a name="l00604"></a>00604 Subround(F, d2, a2, b2, c2, X[11], 14, k9);<a name="l00605"></a>00605 Subround(F, c2, d2, a2, b2, X[15], 6, k9);<a name="l00606"></a>00606 Subround(F, b2, c2, d2, a2, X[ 0], 14, k9);<a name="l00607"></a>00607 Subround(F, a2, b2, c2, d2, X[ 5], 6, k9);<a name="l00608"></a>00608 Subround(F, d2, a2, b2, c2, X[12], 9, k9);<a name="l00609"></a>00609 Subround(F, c2, d2, a2, b2, X[ 2], 12, k9);<a name="l00610"></a>00610 Subround(F, b2, c2, d2, a2, X[13], 9, k9);<a name="l00611"></a>00611 Subround(F, a2, b2, c2, d2, X[ 9], 12, k9);<a name="l00612"></a>00612 Subround(F, d2, a2, b2, c2, X[ 7], 5, k9);<a name="l00613"></a>00613 Subround(F, c2, d2, a2, b2, X[10], 15, k9);<a name="l00614"></a>00614 Subround(F, b2, c2, d2, a2, X[14], 8, k9);<a name="l00615"></a>00615 <a name="l00616"></a>00616 c1 = digest[1] + c1 + d2;<a name="l00617"></a>00617 digest[1] = digest[2] + d1 + a2;<a name="l00618"></a>00618 digest[2] = digest[3] + a1 + b2;<a name="l00619"></a>00619 digest[3] = digest[0] + b1 + c2;<a name="l00620"></a>00620 digest[0] = c1;<a name="l00621"></a>00621 }<a name="l00622"></a>00622 <a name="l00623"></a>00623 <span class="comment">// *************************************************************</span><a name="l00624"></a>00624 <a name="l00625"></a><a class="code" href="class_r_i_p_e_m_d256.html#9f26f65a9f7d7ea8460ef792bdc5749d">00625</a> <span class="keywordtype">void</span> <a class="code" href="class_r_i_p_e_m_d256.html#9f26f65a9f7d7ea8460ef792bdc5749d">RIPEMD256::InitState</a>(<a class="code" href="class_iterated_hash.html#ce0350088eea8679cbe23668d2498c07">HashWordType</a> *state)<a name="l00626"></a>00626 {<a name="l00627"></a>00627 state[0] = 0x67452301L;<a name="l00628"></a>00628 state[1] = 0xefcdab89L;<a name="l00629"></a>00629 state[2] = 0x98badcfeL;<a name="l00630"></a>00630 state[3] = 0x10325476L;<a name="l00631"></a>00631 state[4] = 0x76543210L;<a name="l00632"></a>00632 state[5] = 0xfedcba98L;<a name="l00633"></a>00633 state[6] = 0x89abcdefL;<a name="l00634"></a>00634 state[7] = 0x01234567L;<a name="l00635"></a>00635 }<a name="l00636"></a>00636 <a name="l00637"></a><a class="code" href="class_r_i_p_e_m_d256.html#318a57c3411c59af01666cb6bdcdb201">00637</a> <span class="keywordtype">void</span> <a class="code" href="class_r_i_p_e_m_d256.html#318a57c3411c59af01666cb6bdcdb201">RIPEMD256::Transform</a> (word32 *digest, <span class="keyword">const</span> word32 *X)<a name="l00638"></a>00638 {<a name="l00639"></a>00639 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a1, b1, c1, d1, a2, b2, c2, d2, t;<a name="l00640"></a>00640 a1 = digest[0];<a name="l00641"></a>00641 b1 = digest[1];<a name="l00642"></a>00642 c1 = digest[2];<a name="l00643"></a>00643 d1 = digest[3];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -