基于RSA加密算法的組播加密方法
為了避免安全組播中的密鑰更新,強化密鑰管理和提高安全組播的效率,在分析安全組播需求的基礎(chǔ)上,我們根據(jù)組播加密方法的基本原則,我們提出來一種基于RSA加密算法的組播加密方法。
一、基于RSA加密算法的組播加密方法基本原理
當組播組成員加入組播組時,組播管理者分配給每個組成員互不相同的私鑰.在某次組播過程中,由密鑰管理中心選擇授權(quán)收聽的用戶,利用授權(quán)收聽用戶的私鑰生成解密密鑰(即RSA公鑰加密體制的私鑰對中的d)和加密密鑰(即RSA公鑰加密體制的公鑰對中的e);解密密鑰是保密的。密鑰管理中心在信息白板上發(fā)布加密密鑰和輔助密鑰。發(fā)送者利用從信息白板上得到的加密密鑰加密所發(fā)送的消息,組播到組播地址。只有授權(quán)收聽用戶手中的私鑰參與生成加密和解密密鑰,因而能解密消息,其他未授權(quán)用戶則無法使用自己的私鑰解密數(shù)據(jù)。
二、 基于RSA加密算法的組播的密鑰設(shè)計及加密解密過程
隨機選取兩個大素數(shù)p、q(約為十進制100位或更大),且p、q保密。計算n=pq和n的歐拉函數(shù)Φ(n)=(p-1)(q-1)。n是公開的。而Φ(n)是保密的.隨機選取m個大于n的互不相同的素數(shù)a1,a2,a3,…,am(m為授權(quán)收聽的組成員數(shù),a1,a2,a3,…,am為組成員手中的私鑰)。計算d=a1a2…am,即d為a1,a2,a3,…,am的乘積.令k=[d/n],r=dmoln。其中[x]為取整符號,k是公開的。有下面結(jié)果:
(1)d=kn+r
(2)對任意ai(i=1,2,…,m)有:

由此,若已知ai、n和k,可通過式(1)計算出r,進而求出d。但對于不同于a1,a2,a3,…,am的其他素數(shù)p代替ai,式(1)不成立.即已知p、n和k很難計算出r及d。
(3)由a1,a2,a3,…,am的選取及d的定義知:
gcd(d,Φ(n))=1
類似RSA公鑰密碼體制,由歐幾里德擴展算法,從ed≡1modΦ(n)中計算出e。
稱(e,n,k)為加密密鑰,需要公開;(d,n,k)為解密密鑰;(ai,n,k)(i=1,2,…,m)為私鑰。為方便,也稱e為加密密鑰,d為解密密鑰,ai(i=1,2,3,…,m)為私鑰,n和k為輔助密鑰。
3、基于RSA加密算法組播加密方法的實現(xiàn)過程
假設(shè)在某次組播過程中,授權(quán)收聽的組成員為1,2,…,m;他們手中的私鑰為a1,a2,a3,…,am.密鑰管理中心隨機選取兩個大素數(shù)p、q,且p、q保密.計算n=pq和n的歐拉函數(shù)Φ(n)=(p-q)(q-1)。n是公開的,而Φ(n)是保密的.用授權(quán)收聽用戶的私鑰計算出解密密鑰d=a1a2…am,d需要保密;同時計算k=[d/n],并由ed≡1modΦ(n)求出e。
密鑰管理中心在信息白板上發(fā)布n、k和e;發(fā)送者從信息白板上得到加密密鑰(e,n,k),由C=Memodn加密組播明文M得到密文C,并把C組播到組播地址。
當授權(quán)收聽的組成員收到密文C后,用其手中的私鑰ai及由信息白板上得到的輔助密鑰n和k的值,根據(jù)r=ai-knmodai及d=kn+r求出解密密鑰d,從而計算出明文M=Cdmodn。對于其他未授權(quán)收聽的組成員,利用手中的私鑰無法求出r及d從而難以求出組播的明文。
4、基于RSA加密算法組播加密方法的強度分析
組播加密方法是基于RSA公鑰加密體制的改進,關(guān)于RSA公鑰加密體制的強度已有大量的分析結(jié)果。
對RSA加密算法的改進部分,由于n和k已知,故為了計算d,窮舉破解可以從r做起;窮舉破解范圍與n成正比。由n的選取可知,其值超過10200;窮舉破解強度已經(jīng)超過DES加密算法,與RSA加密算法相當。
值得注意的是,在有些情況下r可能很小,很容易遭到窮舉破解攻擊。這是RSA加密算法的弱點,也是需要改進之處。
小知識之組播
一種通訊模式。主機之間“一對一組”的通訊模式,也就是加入了同一個組的主機可以接收到此組內(nèi)的所有數(shù)據(jù),網(wǎng)絡(luò)中的交換機和路由器只向有需求者復(fù)制并轉(zhuǎn)發(fā)其所需數(shù)據(jù)。主機可以向路由器請求加入或退出某個組,網(wǎng)絡(luò)中的路由器和交換機有選擇的復(fù)制并傳輸數(shù)據(jù),即只將組內(nèi)數(shù)據(jù)傳輸給那些加入組的主機。這樣既能一次將數(shù)據(jù)傳輸給多個有需要(加入組)的主機,又能保證不影響其他不需要(未加入組)的主機的其他通訊。










