⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ripemd_8cpp-source.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<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 + -