RSA
RSA算法是基于數論中的同余理論。如果用m代表明文,c代表密文,E(m)代表加密運算,D(c)代表解密運算,x=y(mode z)表示x和y模z同余,則加密和解密算法簡單表示如下:
加密算法 c=E(m)=me(mod n)
解密算法 m=D(c)=cd(mod n)
其中n和密鑰e是公開的,而密鑰d是保密的。
下面討論密鑰的求?。?
①選取兩個隨機大素數p和q(保密);
②設n=p×q;
③歐拉函數φ(n)=(p-1)(q-1)(保密);
④選取與φ(n)互素的正整數e,即滿足gcd(φ(n),e)=1和0<e<φ(n);
⑤計算d(保密),使滿足e×d=1(mod φ(n)),即d和e相對于模φ(n)互為逆元素。
由RSA算法原理可知,RSA算法的核心是求模取余運算,其安全性是建立在大合數因子分解困難的基礎之上的。查看更多>>