非對稱(chēng)密鑰RSA加密算法及其密鑰產(chǎn)生
一、 RSA算法是第一個(gè)能同時(shí)用于加密和數字簽名的算法,也易于理解和操作。 RSA是被研究得最廣泛的公鑰算法,從提出到現在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴(lài)于大數的因子分解,但并沒(méi)有從理論上證明破譯RSA的難度與大數分解難度等價(jià)。即RSA的重大缺陷是無(wú)法從理論上把握它的保密性能如何,而且密碼學(xué)界多數人士?jì)A向于因子分解不是NPC問(wèn)題。RSA的缺點(diǎn)主要有:A)產(chǎn)生密鑰很麻煩,受到素數產(chǎn)生技術(shù)的限制,因而難以做到一次一密。B)分組長(cháng)度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價(jià)很高,尤其是速度較慢,較對稱(chēng)密碼算法慢幾個(gè)數量級;且隨著(zhù)大數分解技術(shù)的發(fā)展,這個(gè)長(cháng)度還在增加,不利于數據格式的標準化。目前,SET(Secure Electronic Transaction)協(xié)議中要求CA采用2048比特長(cháng)的密鑰,其他實(shí)體使用1024比特的密鑰。
?。?):隨機選取兩個(gè)100位(指十進(jìn)制)以上的素數p和q;
產(chǎn)生素數的方法:根據修改的歐拉定理,如p為素數,則對于X的所有整數值,應滿(mǎn)足:pow(X,(p一1))=1modP。
這是一個(gè)必要條件而非充分條件,不過(guò),如果有5個(gè)以上的X值能滿(mǎn)足上述條件,則P可基本斷定為素數。圖1是產(chǎn)生素數的流程圖,該流程圖表示,如果X從1一5之間變化時(shí),均能滿(mǎn)足上述條件,則P為素數,否則將P十1,重復計算,直到獲得素數為止。由此求得p和q,其乘積即為n。
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論