ä»ä¹æ¯RSA
RSAç®æ³æ¯ç¬¬ä¸ä¸ªè½åæ¶ç¨äºå å¯åæ°åç¾åçç®æ³ï¼ä¹æäºç解åæä½ã
RSAæ¯è¢«ç 究å¾æ广æ³çå
¬é¥ç®æ³ï¼ä»æåºå°ç°å¨å·²è¿äºåå¹´ï¼ç»åäºåç§æ»å»çèéªï¼éæ¸ä¸ºäººä»¬æ¥åï¼æ®é认为æ¯ç®åæä¼ç§çå
¬é¥æ¹æ¡ä¹ä¸ãRSAçå®å
¨æ§ä¾èµäºå¤§æ°çå åå解ï¼ä½å¹¶æ²¡æä»ç论ä¸è¯æç ´è¯RSAçé¾åº¦ä¸å¤§æ°å解é¾åº¦çä»·ãå³RSAçé大缺é·æ¯æ æ³ä»ç论ä¸ææ¡å®çä¿å¯æ§è½å¦ä½ï¼èä¸å¯ç å¦çå¤æ°äººå£«å¾åäºå åå解ä¸æ¯NPCé®é¢ã
RSAç缺ç¹ä¸»è¦æï¼A)产çå¯é¥å¾éº»ç¦ï¼åå°ç´ æ°äº§çææ¯çéå¶ï¼å èé¾ä»¥åå°ä¸æ¬¡ä¸å¯ãB)åç»é¿åº¦å¤ªå¤§ï¼ä¸ºä¿è¯å®å
¨æ§ï¼n è³å°ä¹è¦ 600 bits以ä¸ï¼ä½¿è¿ç®ä»£ä»·å¾é«ï¼å°¤å
¶æ¯é度è¾æ
¢ï¼è¾å¯¹ç§°å¯ç ç®æ³æ
¢å 个æ°é级ï¼ä¸éç大æ°å解ææ¯çåå±ï¼è¿ä¸ªé¿åº¦è¿å¨å¢å ï¼ä¸å©äºæ°æ®æ ¼å¼çæ ååãç®åï¼SET(Secure Electronic Transaction)åè®®ä¸è¦æ±CAéç¨2048æ¯ç¹é¿çå¯é¥ï¼å
¶ä»å®ä½ä½¿ç¨1024æ¯ç¹çå¯é¥ã
è¿ç§ç®æ³1978å¹´å°±åºç°äºï¼å®æ¯ç¬¬ä¸ä¸ªæ¢è½ç¨äºæ°æ®å å¯ä¹è½ç¨äºæ°åç¾åçç®æ³ãå®æäºç解åæä½ï¼ä¹å¾æµè¡ãç®æ³çåå以åæè
çååå½åï¼Ron Rivest, AdiShamir åLeonard Adlemanã
RSAç®æ³æ¯ä¸ç§é对称å¯ç ç®æ³ï¼æè°é对称ï¼å°±æ¯æ该ç®æ³éè¦ä¸å¯¹å¯é¥ï¼ä½¿ç¨å
¶ä¸ä¸ä¸ªå å¯ï¼åéè¦ç¨å¦ä¸ä¸ªæè½è§£å¯ã
RSAçç®æ³æ¶åä¸ä¸ªåæ°ï¼nãe1ãe2ã
å
¶ä¸ï¼næ¯ä¸¤ä¸ªå¤§è´¨æ°pãqç积ï¼nçäºè¿å¶è¡¨ç¤ºæ¶æå ç¨çä½æ°ï¼å°±æ¯æè°çå¯é¥é¿åº¦ã
e1åe2æ¯ä¸å¯¹ç¸å
³çå¼ï¼e1å¯ä»¥ä»»æåï¼ä½è¦æ±e1ä¸(p-1)*(q-1)äºè´¨ï¼åéæ©e2ï¼è¦æ±(e2*e1)mod((p-1)*(q-1))=1ã
(nåe1),(nåe2)å°±æ¯å¯é¥å¯¹ã
RSAå 解å¯çç®æ³å®å
¨ç¸å,设A为ææï¼B为å¯æï¼åï¼A=B^e1 mod nï¼B=A^e2 mod nï¼
e1åe2å¯ä»¥äºæ¢ä½¿ç¨ï¼å³ï¼
A=B^e2 mod nï¼B=A^e1 mod nï¼
[ç¼è¾æ¬æ®µ]ä¸ãRSA çå®å
¨æ§
RSAçå®å
¨æ§ä¾èµäºå¤§æ°å解ï¼ä½æ¯å¦çåäºå¤§æ°å解ä¸ç´æªè½å¾å°ç论ä¸çè¯æï¼å 为没æè¯æç ´è§£ RSAå°±ä¸å®éè¦ä½å¤§æ°å解ãå设åå¨ä¸ç§æ é¡»å解大æ°çç®æ³ï¼é£å®è¯å®å¯ä»¥ä¿®æ¹æ为大æ°å解ç®æ³ãç®åï¼ RSA çä¸äºåç§ç®æ³å·²è¢«è¯æçä»·äºå¤§æ°å解ãä¸ç®¡ææ ·ï¼å解næ¯ææ¾ç¶çæ»å»æ¹æ³ãç°å¨ï¼äººä»¬å·²è½å解å¤ä¸ªåè¿å¶ä½çå¤§ç´ æ°ãå æ¤ï¼æ¨¡æ°n å¿
é¡»é大ä¸äºï¼å å
·ä½éç¨æ
åµèå®ã
[ç¼è¾æ¬æ®µ]äºãRSAçé度
ç±äºè¿è¡çé½æ¯å¤§æ°è®¡ç®ï¼ä½¿å¾RSAæå¿«çæ
åµä¹æ¯DESæ
¢ä¸åï¼æ 论æ¯è½¯ä»¶è¿æ¯ç¡¬ä»¶å®ç°ãé度ä¸ç´æ¯RSAç缺é·ãä¸è¬æ¥è¯´åªç¨äºå°éæ°æ®å å¯ã
[ç¼è¾æ¬æ®µ]ä¸ãRSAçéæ©å¯ææ»å»
RSAå¨éæ©å¯ææ»å»é¢åå¾èå¼±ãä¸è¬æ»å»è
æ¯å°æä¸ä¿¡æ¯ä½ä¸ä¸ä¼ªè£
( Blind)ï¼è®©æ¥æç§é¥çå®ä½ç¾ç½²ãç¶åï¼ç»è¿è®¡ç®å°±å¯å¾å°å®ææ³è¦çä¿¡æ¯ãå®é
ä¸ï¼æ»å»å©ç¨çé½æ¯åä¸ä¸ªå¼±ç¹ï¼å³åå¨è¿æ ·ä¸ä¸ªäºå®ï¼ä¹å¹ä¿çäºè¾å
¥çä¹æ³ç»æï¼
( XM )^d = X^d *M^d mod n
åé¢å·²ç»æå°ï¼è¿ä¸ªåºæçé®é¢æ¥èªäºå
¬é¥å¯ç ç³»ç»çææç¨çç¹å¾--æ¯ä¸ªäººé½è½ä½¿ç¨å
¬é¥ãä½ä»ç®æ³ä¸æ æ³è§£å³è¿ä¸é®é¢ï¼ä¸»è¦æªæ½æ两æ¡ï¼ä¸æ¡æ¯éç¨å¥½çå
¬é¥åè®®ï¼ä¿è¯å·¥ä½è¿ç¨ä¸å®ä½ä¸å¯¹å
¶ä»å®ä½ä»»æ产ççä¿¡æ¯è§£å¯ï¼ä¸å¯¹èªå·±ä¸æ æç¥çä¿¡æ¯ç¾åï¼å¦ä¸æ¡æ¯å³ä¸å¯¹éç人éæ¥çéæºææ¡£ç¾åï¼ç¾åæ¶é¦å
使ç¨One-Way HashFunction 对ææ¡£ä½HASHå¤çï¼æ
[ç¼è¾æ¬æ®µ]åãRSAçå
Œ
±æ¨¡æ°æ»å»
è¥ç³»ç»ä¸å
±æä¸ä¸ªæ¨¡æ°ï¼åªæ¯ä¸åç人æ¥æä¸åçeådï¼ç³»ç»å°æ¯å±é©çãææ®éçæ
åµæ¯åä¸ä¿¡æ¯ç¨ä¸åçå
¬é¥å å¯ï¼è¿äºå
¬é¥å
±æ¨¡èä¸äºè´¨ï¼é£æ«è¯¥ä¿¡æ¯æ éç§é¥å°±å¯å¾å°æ¢å¤ã设P为信æ¯ææï¼ä¸¤ä¸ªå å¯å¯é¥ä¸ºe1åe2ï¼å
Œ
±æ¨¡æ°æ¯nï¼åï¼
C1 = P^e1 mod n
C2 = P^e2 mod n
å¯ç åæè
ç¥énãe1ãe2ãC1åC2ï¼å°±è½å¾å°Pã
å 为e1åe2äºè´¨ï¼æ
ç¨Euclideanç®æ³è½æ¾å°råsï¼æ»¡è¶³ï¼
r * e1 + s * e2 = 1
å设r为è´æ°ï¼éåç¨Euclideanç®æ³è®¡ç®C1^(-1)ï¼å
( C1^(-1) )^(-r) * C2^s = P mod n
å¦å¤ï¼è¿æå
¶å®å ç§å©ç¨å
Œ
±æ¨¡æ°æ»å»çæ¹æ³ãæ»ä¹ï¼å¦æç¥éç»å®æ¨¡æ°çä¸å¯¹eådï¼ä¸æ¯æå©äºæ»å»è
å解模æ°ï¼ä¸æ¯æå©äºæ»å»è
计ç®åºå
¶å®æ对çeâådâï¼èæ éå解模æ°ã解å³åæ³åªæä¸ä¸ªï¼é£å°±æ¯ä¸è¦å
±äº«æ¨¡æ°nã
RSAçå°ææ°æ»å»ã æä¸ç§æé« RSAé度ç建议æ¯ä½¿å
¬é¥eåè¾å°çå¼ï¼è¿æ ·ä¼ä½¿å å¯åå¾æäºå®ç°ï¼é度æ
ææé«ãä½è¿æ ·ä½æ¯ä¸å®å
¨çï¼å¯¹ä»åæ³å°±æ¯eådé½åè¾å¤§çå¼ã
RSAç®æ³æ¯ç¬¬ä¸ä¸ªè½åæ¶ç¨äºå å¯åæ°åç¾åçç®æ³ï¼ä¹æäºç解åæä½ãRSAæ¯è¢«ç 究å¾æ广æ³çå
¬é¥ç®æ³ï¼ä»æåºå°ç°å¨å·²è¿äºåå¹´ï¼ç»åäºåç§æ»å»çèéªï¼éæ¸ä¸ºäººä»¬æ¥åï¼æ®é认为æ¯ç®åæä¼ç§çå
¬é¥æ¹æ¡ä¹ä¸ãRSAçå®å
¨æ§ä¾èµäºå¤§æ°çå åå解ï¼ä½å¹¶æ²¡æä»ç论ä¸è¯æç ´è¯RSAçé¾åº¦ä¸å¤§æ°å解é¾åº¦çä»·ãå³RSAçé大缺é·æ¯æ æ³ä»ç论ä¸ææ¡å®çä¿å¯æ§è½å¦ä½ï¼èä¸å¯ç å¦çå¤æ°äººå£«å¾åäºå åå解ä¸æ¯NPCé®é¢ã RSAç缺ç¹ä¸»è¦æï¼A)产çå¯é¥å¾éº»ç¦ï¼åå°ç´ æ°äº§çææ¯çéå¶ï¼å èé¾ä»¥åå°ä¸æ¬¡ä¸å¯ãB)åç»é¿åº¦å¤ªå¤§ï¼ä¸ºä¿è¯å®å
¨æ§ï¼n è³å°ä¹è¦ 600 bits 以ä¸ï¼ä½¿è¿ç®ä»£ä»·å¾é«ï¼å°¤å
¶æ¯é度è¾æ
¢ï¼è¾å¯¹ç§°å¯ç ç®æ³æ
¢å 个æ°é级ï¼ä¸éç大æ°å解ææ¯çåå±ï¼è¿ä¸ªé¿åº¦è¿å¨å¢å ï¼ä¸å©äºæ°æ®æ ¼å¼çæ ååãç®åï¼SET( Secure Electronic Transaction )åè®®ä¸è¦æ±CAéç¨æ¯ç¹é¿çå¯é¥ï¼å
¶ä»å®ä½ä½¿ç¨æ¯ç¹çå¯é¥ã
[ç¼è¾æ¬æ®µ]äºãRSA å å¯ç®æ³ç缺ç¹
)产çå¯é¥å¾éº»ç¦ï¼åå°ç´ æ°äº§çææ¯çéå¶ï¼å èé¾ä»¥åå°ä¸æ¬¡ä¸å¯ã
2)å®å
¨æ§, RSAçå®å
¨æ§ä¾èµäºå¤§æ°çå åå解ï¼ä½å¹¶æ²¡æä»ç论ä¸è¯æç ´è¯RSAçé¾åº¦ä¸å¤§æ°å解é¾åº¦çä»·ï¼èä¸å¯ç å¦çå¤æ°äººå£«å¾åäºå åå解ä¸æ¯NPCé®é¢ãç®åï¼äººä»¬å·²è½å解140å¤ä¸ªåè¿å¶ä½çå¤§ç´ æ°ï¼è¿å°±è¦æ±ä½¿ç¨æ´é¿çå¯é¥ï¼é度æ´æ
¢ï¼å¦å¤ï¼ç®å人们æ£å¨ç§¯æ寻æ¾æ»å»RSAçæ¹æ³ï¼å¦éæ©å¯ææ»å»ï¼ä¸è¬æ»å»è
æ¯å°æä¸ä¿¡æ¯ä½ä¸ä¸ä¼ªè£
(Blind)ï¼è®©æ¥æç§é¥çå®ä½ç¾ç½²ãç¶åï¼ç»è¿è®¡ç®å°±å¯å¾å°å®ææ³è¦çä¿¡æ¯ãå®é
ä¸ï¼æ»å»å©ç¨çé½æ¯åä¸ä¸ªå¼±ç¹ï¼å³åå¨è¿æ ·ä¸ä¸ªäºå®ï¼ä¹å¹ä¿çäºè¾å
¥çä¹æ³ç»æï¼
( XM )d = Xd *Md mod n
åé¢å·²ç»æå°ï¼è¿ä¸ªåºæçé®é¢æ¥èªäºå
¬é¥å¯ç ç³»ç»çææç¨çç¹å¾--æ¯ä¸ªäººé½è½ä½¿ç¨å
¬é¥ãä½ä»ç®æ³ä¸æ æ³è§£å³è¿ä¸é®é¢ï¼ä¸»è¦æªæ½æ两æ¡ï¼ä¸æ¡æ¯éç¨å¥½çå
¬é¥åè®®ï¼ä¿è¯å·¥ä½è¿ç¨ä¸å®ä½ä¸å¯¹å
¶ä»å®ä½ä»»æ产ççä¿¡æ¯è§£å¯ï¼ä¸å¯¹èªå·±ä¸æ æç¥çä¿¡æ¯ç¾åï¼å¦ä¸æ¡æ¯å³ä¸å¯¹éç人éæ¥çéæºææ¡£ç¾åï¼ç¾åæ¶é¦å
使ç¨One-Way Hash Function对ææ¡£ä½HASHå¤çï¼æåæ¶ä½¿ç¨ä¸åçç¾åç®æ³ãé¤äºå©ç¨å
Œ
±æ¨¡æ°ï¼äººä»¬è¿å°è¯ä¸äºå©ç¨è§£å¯ææ°æÏï¼nï¼ççæ»å».
3)é度太æ
¢,ç±äºRSA çåç»é¿åº¦å¤ªå¤§ï¼ä¸ºä¿è¯å®å
¨æ§ï¼n è³å°ä¹è¦ 600 bitx以ä¸ï¼ä½¿è¿ç®ä»£ä»·å¾é«ï¼å°¤å
¶æ¯é度è¾æ
¢ï¼è¾å¯¹ç§°å¯ç ç®æ³æ
¢å 个æ°é级ï¼ä¸éç大æ°å解ææ¯çåå±ï¼è¿ä¸ªé¿åº¦è¿å¨å¢å ï¼ä¸å©äºæ°æ®æ ¼å¼çæ ååãç®åï¼SET(Secure Electronic Transaction)åè®®ä¸è¦æ±CAéç¨2048æ¯ç¹é¿çå¯é¥ï¼å
¶ä»å®ä½ä½¿ç¨1024æ¯ç¹çå¯é¥ã为äºé度é®é¢,ç®å人们广æ³ä½¿ç¨å,å
¬é¥å¯ç ç»å使ç¨çæ¹æ³,ä¼ç¼ºç¹äºè¡¥:åé¥å¯ç å å¯é度快,人们ç¨å®æ¥å å¯è¾é¿çæ件,ç¶åç¨RSAæ¥ç»æ件å¯é¥å å¯,æ好ç解å³äºåé¥å¯ç çå¯é¥ååé®é¢ã
[ç¼è¾æ¬æ®µ]å
ãå·²å
¬å¼ççæ»å»æ¹æ³
é对RSAææµè¡çæ»å»ä¸è¬æ¯åºäºå¤§æ°å æ°å解ã1999å¹´ï¼RSA-155(512 bits)被æåå解ï¼è±äºäºä¸ªææ¶é´ï¼çº¦8000 MIPS å¹´ï¼å224 CPU hours å¨ä¸å°æ3.2Gä¸å¤®å
åçCray C916计ç®æºä¸å®æ ã
2002å¹´ï¼RSA-158ä¹è¢«æåå æ°å解ã
RSA-158表示å¦ä¸ï¼
åèèµæï¼http://baike.baidu.com/view/539299.htm