text: 在密碼學中，RC5是一種因簡潔著稱的對稱分組加密演算法。由羅納德·李維斯特於1994年設計，“RC”代表“Rivest Cipher”，或者“Ron's Code”。RC6演算法是基於RC5的。簡介.和許多加密方法不同，RC5支援可變的塊大小(32、64或128位元)，金鑰長度。最初建議選擇的引數是64位的塊大小，128位的金鑰和12輪加密。RC5的一個關鍵特徵是使用基於資料的置換。RC5的其中一個目標是促進對於這類作為原始密碼#重定向RC5通常被記為RC5-w/r/b，w=字的大小，r=加密輪數，b=金鑰的位元組數。演算法.RC5加密和解密都將隨機的金鑰擴充套件成2(r+1)個字，在加密和解密的過程中，這些字將會被按順序使用。以下的所有內容都來自Rivest的修訂後的RC5的論文金鑰擴充套件.金鑰擴充套件演算法將會在下面講解，首先以偽程式碼表示，之後是用從的論文附錄中直接複製的C語言程式碼。以下是論文中的命名方案，使用了這些變數名：c = ceiling( max(b, 1) / u )for i = b-1 down to 0 do:L[i/u] = (L[i/u] « 8) + K[i]S = P_wfor i = 1 to t-1 do:S[i] = S[i-1] + Q_wi = j = 0A = B = 0do 3 * max(t, c) times:A = S[i] = (S[i] + A + B) « 0; i--)B = ROTR(B - S[2*i + 1], A) ^ A;A = ROTR(A - S[2*i], B) ^ B;pt = B - S; pt = A - S;密碼分析.12輪RC5(64位塊)容易受到使用了244的選定的明文的差分攻擊。 18–20輪加密則被認為可以提供足夠的保護。擁有其演算法專利的公司RSA安全， 提供一系列的10,000美元的獎金作為破譯用RC5加密的密文的獎勵，但這些競賽已經在2007年5月停止。其中的一部分已經在Distributed.net組織下利用分散式計算破解。Distributed.net暴力破解了用56位和64位金鑰的RC5加密的密文，正在嘗試破解72位金鑰的密文；截至2018年2月，5.02%的金鑰空間已被遍歷。以目前的速度，這將需要大約166年以測試的每一個可能的剩餘金鑰，以此才能保證專案的完成。這項任務啟發了許多在叢集計算領域的新興的開發研究。
metadata: erhwenkuo/wikipedia-zhtw
metadata: RC5
metadata: https://zh.wikipedia.org/wiki?curid=6309078