¡¶¼ÆËã»úÐÅÏ¢°²È«¡·ÊµÑéÖ¸µ¼Êé
ʵÑé¶þ ¹«Ô¿ÃÜÂë¼ÓÃܽâÃÜʵÑé
ʵÑéѧʱ£º2ѧʱ ʵÑéÀàÐÍ£ºÉè¼Æ ʵÑéÒªÇ󣺱ØÐÞ Ò» ʵÑéÄ¿µÄ
1¡¢ÕÆÎÕ¹«Ô¿ÃÜÂëÌåÖÆµÄ»ù±¾¸ÅÄ
2¡¢ÕÆÎÕ¹«Ô¿ÃÜÂëÌåÖÆ¼ÓÃÜ/½âÃܵŤ×÷ÔÀí£» 3¡¢ÖصãÕÆÎÕRSAÃÜÂëËã·¨¼ÓÃÜ/½âÃܵĻù±¾ÔÀí£»
4¡¢Í¨¹ýÓÃRSAËã·¨¶Ôʵ¼ÊµÄÊý¾Ý½øÐмÓÃÜ/½âÃÜÔËËãÀ´Éî¿ÌÁ˽âRSAµÄÔËÐÐÔÀí¡£
¶þ ʵÑéÄÚÈÝ
1¡¢¸ù¾ÝRSAÃÜÂëËã·¨ÔÀí£¬ÓÃTurbo C2.0»òVisual C++6.0Éè¼Æ±àд·ûºÏRSAÃÜÂëË㷨˼ÏëµÄ¼ÓÃÜ/½âÃܳÌÐò¡£
Èý ʵÑé»·¾³
1¡¢²Ù×÷ϵͳ£ºWindows9x/NT/2000/XP 2¡¢±à³ÌÈí¼þ£ºTurbo C2.0»òVisual C++6.0
ËÄ ÊµÑéÔÀí
RSAËã·¨»ùÓÚÊýÂÛ¹¹Ô죬ÊÇÆù½ñÀíÂÛÉÏ×îΪÍêÉÆµÄ·Ç¶Ô³ÆÃÜÔ¿ÃÜÂëËã·¨£¬ËüµÄ°²È«ÐÔÊǽ¨Á¢ÔÚ¡°´óÕûÊýµÄÖÊÒò×Ó·Ö½âºÍËØÐÔ¼ì²â¡±Õâ¸öÊýÂÛÄÑÌâµÄ»ù´¡ÉÏ£¬¼´½«Á½¸ö´óËØÊýÏà³ËÔÚ¼ÆËãÉÏÈÝÒ×ʵÏÖ£¬¶ø½«¸Ã³Ë»ý·Ö½âΪÁ½¸ö´óËØÊýÒò×ӵļÆËãÁ¿ÔòÏ൱´ó¡£
1¡¢RSAµÄÃÜÔ¿²úÉú¹ý³ÌÈçÏ£º ¢ÙÑ¡ÔñÁ½¸ö±£ÃܵĴóËØÊýpºÍq£»
¢Ú¼ÆËãn=pq£¨¹«¿ª£©£»¦Õ(n)=(p-1)(q-1)£¨±£ÃÜ£©£»
¢ÛËæ»úѡȡһ¸öÕûÊýe£¬Âú×ã1£¼e£¼¦Õ(n)ÇÒgcd(¦Õ(n),e)=1£¨¹«¿ª£©£»
5
¡¶¼ÆËã»úÐÅÏ¢°²È«¡·ÊµÑéÖ¸µ¼Êé
¢Ü¼ÆËãd£¬Âú×ãed?1(mod ¦Õ(n))£¨±£ÃÜ£©£»
˵Ã÷£ºdÊÇeÔÚÄ£¦Õ(n)ϵij˷¨ÄæÔª¡£ÒòΪeÓë¦Õ(n)»¥ËØ£¬ËùÒÔÆä³Ë·¨ÄæÔªÒ» ¶¨´æÔÚ¡£
¢ÝµÃµ½Ò»¶ÔÃÜÔ¿£º¹«Ô¿{e,n}£¬Ë½Ô¿{p,q,d}¡£
2¡¢RSAµÄ¼ÓÃܹý³ÌÈçÏ£º
¢ÙÃ÷ÎÄÊý×Ö»¯£¬¼´½«Ã÷ÎÄת»»³ÉÊý×Ö´®¡£
¢Ú½«Ã÷ÎıÈÌØ´®·Ö×飬ʹµÃÿ¸ö·Ö×é¶ÔÓ¦µÄÊ®½øÖÆÊýСÓÚn£¬¼´·Ö×鳤¶ÈСÓÚµÈ ÓÚlog2n+1¡£
¢ÛÉèµÚi¸öÃ÷ÎÄ·Ö×é¶ÔÓ¦µÄÊý×ÖΪmi£¬¶Ômi×÷¼ÓÃÜÔËËã¡£¼´½«ÏûÏ¢miÒÔ¼ÓÃÜÖ¸ Êýe×ö³Ë·½£¬²¢È¡Ä£n£¬¼´£ºci=mie mod n £¨0¡Ümi 3¡¢RSAµÄ½âÃܹý³ÌÈçÏ£º ¢Ù½«ÃÜÎÄת»»³ÉÊý×Ö´®¡£ ¢Ú½«ÒÔÉÏÊý×Ö´®·Ö¶Î£¬Ê¹µÃÿһ¶ÎÊý×Ö¾ùСÓÚn¡£ ¢ÛÉèµÚi¸öÃÜÎÄ·Ö×é¶ÔÓ¦µÄÊý×ÖΪci£¬¶Ôci×÷½âÃÜÔËËã¡£¼´½«Ã÷ÎÄ·Ö×éciÒÔ½â ÃÜÖ¸Êýd×ö³Ë·½£¬²¢È¡Ä£n£¬¼´£º mi=cid mod n ¢Ü×îºóµÃµ½µÄÃ÷ÎÄMÓÉËùÓ㤶ÈÏàͬµÄÃ÷ÎÄ·Ö×émi×é³É¡£ Îå ʵÑé²½Öè ±¾ÊµÑéΪÉè¼ÆÐÍʵÑ飬ҪÇóѧÉú×Ô¼º¸ù¾ÝʵÑéÔÀí£¬×ÔÐÐÉè¼ÆÊµÑé²½Ö裬ÀûÓÃTurbo C2.0»òVisual C++6.0±à³ÌÓïÑÔ£¬±à³ÌʵÏÖRSAËã·¨¡£±à³ÌÄÚÈݰüÀ¨£º 1¡¢Óú¯ÊýÇó³ö1¡«65535Ö®¼äµÄÈ«²¿ËØÊý¡£ 2¡¢Óú¯ÊýÉú³ÉÒ»¶ÔRSAÃÜÔ¿¡£ 3¡¢²¢ÀûÓøóÌÐòʵÏÖ¶ÔÒ»¸öÎļþ½øÐмÓÃܺͽâÃÜ´¦Àí¡£ 6 ¡¶¼ÆËã»úÐÅÏ¢°²È«¡·ÊµÑéÖ¸µ¼Êé Áù ʵÑé½á¹û 1¡¢¼ÓÃÜÔËÐÐ 7 ¡¶¼ÆËã»úÐÅÏ¢°²È«¡·ÊµÑéÖ¸µ¼Êé 2¡¢½âÃÜÔËÐР˵Ã÷£ºÓÉÓÚintÐͱäÁ¿³¤¶ÈΪ16룬Òò´Ën×î´óÖ»ÄÜСÓÚ65536¡£´Ë³ÌÐòÖ»ÊÇ ¶ÔRSAËã·¨½øÐÐÑéÖ¤£¬ÎÞ·¨ÊµÏÖ´ïµ½°²È«ÒªÇóµÄÊý¾ÝλÊý¡£ Æß ˼¿¼Ìâ 1¡¢·ÖÎöÓ°ÏìRSAÃÜÂëÌåÖÆ°²È«µÄÒòËØ¡£ 2¡¢·ÖÎö±È½ÏRSAÃÜÔ¿µÄ³¤¶È¶Ô¼ÓÃÜ¡¢½âÃÜÐÔÄܵÄÓ°Ïì¡£ 8
Ïà¹ØÍÆ¼ö£º