¼ÆËã»úÓ¦ÓÃ

¼ÆËã»úÍøÂç
¼ÆËã»úÀíÂÛ
¼ÆËã»úÓ¦ÓÃ
µç×ÓÉÌÎñ

±¾ÀàÔĶÁTOP10

¡¤Í¼Êé¹Ý¹ÜÀíϵͳ
¡¤ÖÐСÆóÒµ°ì¹«×Ô¶¯»¯ÏµÍ³µÄÉè¼ÆÓëʵÏÖ
¡¤Ñ§Éúµµ°¸¹ÜÀíϵͳ
¡¤½Ó¿Ú±à³ÌÔÚÆÚ»õ½»Ò×ϵͳÖеÄÓ¦ÓÃ
¡¤Êý¾Ý¼ÓÃܼ¼Êõ
¡¤ÐÅÏ¢¼¼Êõ¶Ô¸ßУͼÊé¹Ý¹¤×÷µÄÓ°Ïì
¡¤Ïê½â¼ÓÃܼ¼Êõ¸ÅÄî¡¢¼ÓÃÜ·½·¨ÒÔ¼°Ó¦ÓÃ
¡¤¼ÆËã»úÍøÂçϵͳÔÚÖÆ¼î¹¤ÒµÖеÄÓ¦ÓÃ
¡¤»ùÓÚClient/Server µÄ¿Î¼þϵͳµÄÉè¼ÆÓëʵÏÖ
¡¤ÊµÊ±ÐÔÔ¶³Ì´ðÒÉϵͳ

¡ú ·ÖÀർº½
Ñݽ²Ö´ǵ³ÍÅ·¶ÎÄ
ÐĵÃÌå»áÁìµ¼½²»°
¾­Ñé½éÉÜʼ£²ÄÁÏ
×ܽá»ã±¨¼Æ»®·½°¸
³£Ó÷¶ÎÄд×÷Ö¸ÄÏ
֤ȯ½ðÈÚÒøÐйÜÀí
Õ®ÎñÊг¡±£ÏÕ×âÁÞ
½ðÈÚÑо¿Ö¤È¯Í¶×Ê
²ÆÎñ¹ÜÀíͶ×ʾö²ß
²ÆÎñ·ÖÎöÈÚ×ʾö²ß
²ÆÎñ¹ÜÀíÊг¡ÓªÏú
»á¼ÆÉó¼Æ»á¼ÆÉó¼Æ
³É±¾»á¼Æ¹ÜÀí»á¼Æ
CPAÐÐÒµ¹ÜÀíѧ
Õ½ÂÔ¾ºÕùÂÃÓιÜÀíѧ
³É±¾¹ÜÀí¹ÜÀíѧÀíÂÛ
ÎïÁ÷¹ÜÀíÈËÁ¦×ÊÔ´¹ÜÀí
²ÆÕþ˰ÊÕ²ÆÕþÕþ²ß
²ÆË°·¨¹æË°ÎñÑÐÌÖ
˰ÊÕÀíÂÛ¹úÕ®Ñо¿
²ÆÕþÑо¿¾­¼Ãѧ
Öйú¾­¼Ã¾­¼ÃѧÀíÂÛ
о­¼Ãѧ²úÒµ¾­¼Ã
¹ú¼Ê¾­¼Ã¾­¼ÃѧÏà¹Ø
µØ·½¾­¼Ã·¢Õ¹Õ½ÂÔ
¹ú¼ÊóÒ×¹«¹²¹ÜÀí
¹«¹²Õþ²ßÐÐÕþ¹ÜÀí
¾­¼Ã¹ÜÀíÆóÒµÕ½ÂÔ
¹ÜÀíÀíÂÛÊг¡ÓªÏú
ÆóÒµÑо¿ÆóÒµÎÄ»¯
ÎÄ»¯ÀàÎ÷·½ÎÄ»¯
´«Í³ÎÄ»¯Éç»áѧÏà¹Ø
ÒÕÊõѧÃÀѧ
ÒôÀÖÓ°ÊÓ
ÒÕÊõÀíÂÛÉç»áѧ
Â×ÀíµÀµÂ»·¾³±£»¤
ÈË¿ÚÎÊÌâÅ©´åÑо¿
½ÌÓýѧÀúʷѧ
½ÌÓýѧ¹úѧ
Àí¹¤¿ÆÀí¿ÆÏà¹Ø
ͳ¼ÆÑ§ÎïÀíѧ
¹¤ÒµÉè¼Æ½»Í¨
ÍÁ½¨Ë®Àûѧ²ÄÁϹ¤³Ìѧ
µç×ÓѧͨÐÅѧ
»¯¹¤¼ÆËã»ú
¼ÆËã»úÍøÂç¼ÆËã»úÀíÂÛ
¼ÆËã»úÓ¦Óõç×ÓÉÌÎñ
ÎÄѧÍâ¹úÓï
ÈËÎïÑо¿ÕÜѧ
ÕÜѧÏà¹ØË¼ÏëÕÜѧ
¿Æ¼¼ÕÜѧÖйúÕÜѧ
Î÷·½ÕÜѧÂß¼­Ñ§
ÕþÖÎÕþÖÎÏà¹Ø
Ãñ×åÖ÷Òå×ʱ¾Ö÷Òå
Éç»áÖ÷ÒåÂí¿Ë˼Ö÷Òå
·¨ÂÉÐÐÕþ·¨
·¨Ñ§ÀíÂÛ˾·¨ÖƶÈ
¾­¼Ã·¨Ãñ·¨
ҽѧҽѧ
ÁÙ´²Ò½Ñ§Ò©Ñ§
ÆäËûÎÄÃØ
¹«ÎñÔ±¿¼ÊÔ×îÐÂ×ÊѶ
¿¼ÊÔ×ÊÁϸ´Ï°Ö¸µ¼
ÃæÊÔÖ¸ÄϽÌÓý½Ìѧ
Êý¾Ý¼ÓÃܼ¼Êõ

×÷ÕߣºÎ´Öª À´Ô´£ºÓ¦ÓÃÎÄд×÷Íø ¼ÓÈëʱ¼ä£º2005-12-29¡¡Ô¹âÈí¼þÕ¾

Êý¾Ý¼ÓÃܼ¼Êõ  
·¢²¼Ê±¼ä£º 2003-11-3  ×÷ÕߣºØýÃû  
ÎÒÃǾ­³£ÐèÒªÒ»ÖÖ´ëÊ©À´±£»¤ÎÒÃǵÄÊý¾Ý£¬·ÀÖ¹±»Ò»Ð©»³Óв»Á¼ÓÃÐĵÄÈËËù¿´µ½»òÕßÆÆ»µ¡£ÔÚÐÅϢʱ´ú£¬ÐÅÏ¢¿ÉÒÔ°ïÖúÍÅÌå»ò¸öÈË£¬Ê¹ËûÃÇÊÜÒæ£¬Í¬Ñù£¬ÐÅÏ¢Ò²¿ÉÒÔÓÃÀ´¶ÔËûÃǹ¹³ÉÍþв£¬Ôì³ÉÆÆ»µ¡£ÔÚ¾ºÕù¼¤ÁҵĴó¹«Ë¾ÖУ¬¹¤Òµ¼äµý¾­³£»á»ñÈ¡¶Ô·½µÄÇ鱨¡£Òò´Ë£¬Ôڿ͹ÛÉϾÍÐèÒªÒ»ÖÖÇ¿ÓÐÁ¦µÄ°²È«´ëÊ©À´±£»¤»úÃÜÊý¾Ý²»±»ÇÔÈ¡»ò´Û¸Ä¡£Êý¾Ý¼ÓÃÜÓë½âÃÜ´Óºê¹ÛÉϽ²ÊǷdz£¼òµ¥µÄ£¬ºÜÈÝÒ×Àí½â¡£¼ÓÃÜÓë½âÃܵÄһЩ·½·¨ÊǷdz£Ö±½ÓµÄ£¬ºÜÈÝÒ×ÕÆÎÕ£¬¿ÉÒԺܷ½±ãµÄ¶Ô»úÃÜÊý¾Ý½øÐмÓÃܺͽâÃÜ¡£

 

Ò»£ºÊý¾Ý¼ÓÃÜ·½·¨

   ÔÚ´«Í³ÉÏ£¬ÎÒÃÇÓм¸ÖÖ·½·¨À´¼ÓÃÜÊý¾ÝÁ÷¡£ËùÓÐÕâЩ·½·¨¶¼¿ÉÒÔÓÃÈí¼þºÜÈÝÒ×µÄʵÏÖ£¬µ«Êǵ±ÎÒÃÇÖ»ÖªµÀÃÜÎĵÄʱºò£¬ÊDz»ÈÝÒׯÆÒëÕâЩ¼ÓÃÜËã·¨µÄ£¨µ±Í¬Ê±ÓÐÔ­ÎĺÍÃÜÎÄʱ£¬ÆÆÒë¼ÓÃÜËã·¨ËäȻҲ²»ÊǺÜÈÝÒ×£¬µ«ÒѾ­ÊÇ¿ÉÄܵÄÁË£©¡£×îºÃµÄ¼ÓÃÜËã·¨¶ÔϵͳÐÔÄܼ¸ºõûÓÐÓ°Ï죬²¢ÇÒ»¹¿ÉÒÔ´øÀ´ÆäËûÄÚÔÚµÄÓŵ㡣ÀýÈ磬´ó¼Ò¶¼ÖªµÀµÄpkzip£¬Ëü¼ÈѹËõÊý¾ÝÓÖ¼ÓÃÜÊý¾Ý¡£ÓÖÈ磬dbmsµÄһЩÈí¼þ°ü×ÜÊǰüº¬Ò»Ð©¼ÓÃÜ·½·¨ÒÔʹ¸´ÖÆÎļþÕâÒ»¹¦ÄܶÔһЩÃô¸ÐÊý¾ÝÊÇÎÞЧµÄ£¬»òÕßÐèÒªÓû§µÄÃÜÂë¡£ËùÓÐÕâЩ¼ÓÃÜËã·¨¶¼ÒªÓиßЧµÄ¼ÓÃܺͽâÃÜÄÜÁ¦¡£

  

   ÐÒÔ˵ÄÊÇ£¬ÔÚËùÓеļÓÃÜËã·¨ÖÐ×î¼òµ¥µÄÒ»ÖÖ¾ÍÊÇ¡°Öû»±í¡±Ëã·¨£¬ÕâÖÖËã·¨Ò²Äܺܺôﵽ¼ÓÃܵÄÐèÒª¡£Ã¿Ò»¸öÊý¾Ý¶Î£¨×ÜÊÇÒ»¸ö×Ö½Ú£©¶ÔÓ¦×Å¡°Öû»±í¡±ÖеÄÒ»¸öÆ«ÒÆÁ¿£¬Æ«ÒÆÁ¿Ëù¶ÔÓ¦µÄÖµ¾ÍÊä³ö³ÉΪ¼ÓÃܺóµÄÎļþ¡£¼ÓÃܳÌÐòºÍ½âÃܳÌÐò¶¼ÐèÒªÒ»¸öÕâÑùµÄ¡°Öû»±í¡±¡£ÊÂʵÉÏ£¬80x86 cpuϵÁоÍÓÐÒ»¸öÖ¸Áî¡®xlat¡¯ÔÚÓ²¼þ¼¶À´Íê³ÉÕâÑùµÄ¹¤×÷¡£ÕâÖÖ¼ÓÃÜËã·¨±È½Ï¼òµ¥£¬¼ÓÃܽâÃÜËٶȶ¼ºÜ¿ì£¬µ«ÊÇÒ»µ©Õâ¸ö¡°Öû»±í¡±±»¶Ô·½»ñµÃ£¬ÄÇÕâ¸ö¼ÓÃÜ·½°¸¾ÍÍêÈ«±»Ê¶ÆÆÁË¡£¸ü½øÒ»²½½²£¬ÕâÖÖ¼ÓÃÜËã·¨¶ÔÓÚºÚ¿ÍÆÆÒëÀ´½²ÊÇÏ൱ֱ½ÓµÄ£¬Ö»ÒªÕÒµ½Ò»¸ö¡°Öû»±í¡±¾Í¿ÉÒÔÁË¡£ÕâÖÖ·½·¨ÔÚ¼ÆËã»ú³öÏÖ֮ǰ¾ÍÒѾ­±»¹ã·ºµÄʹÓá£

 

    ¶ÔÕâÖÖ¡°Öû»±í¡±·½Ê½µÄÒ»¸ö¸Ä½ø¾ÍÊÇʹÓÃ2¸ö»òÕ߸ü¶àµÄ¡°Öû»±í¡±£¬ÕâЩ±í¶¼ÊÇ»ùÓÚÊý¾ÝÁ÷ÖÐ×Ö½ÚµÄλÖõ쬻òÕß»ùÓÚÊý¾ÝÁ÷±¾Éí¡£Õâʱ£¬ÆÆÒë±äµÄ¸ü¼ÓÀ§ÄÑ£¬ÒòΪºÚ¿Í±ØÐëÕýÈ·µÄ×ö¼¸´Î±ä»»¡£Í¨¹ýʹÓøü¶àµÄ¡°Öû»±í¡±£¬²¢ÇÒ°´Î±Ëæ»úµÄ·½Ê½Ê¹ÓÃÿ¸ö±í£¬ÕâÖָĽøµÄ¼ÓÃÜ·½·¨ÒѾ­±äµÄºÜÄÑÆÆÒë¡£±ÈÈ磬ÎÒÃÇ¿ÉÒÔ¶ÔËùÓеÄżÊýλÖõÄÊý¾ÝʹÓÃa±í£¬¶ÔËùÓÐµÄÆæÊýλÖÃʹÓÃb±í£¬¼´Ê¹ºÚ¿Í»ñµÃÁËÃ÷ÎĺÍÃÜÎÄ£¬ËûÏëÆÆÒëÕâ¸ö¼ÓÃÜ·½°¸Ò²ÊǷdz£À§Äѵ쬳ý·ÇºÚ¿ÍÈ·ÇеÄÖªµÀÓÃÁËÁ½ÕÅ±í¡£

 

   ÓëʹÓá°Öû»±í¡±ÏàÀàËÆ£¬¡°±ä»»Êý¾ÝλÖá±Ò²ÔÚ¼ÆËã»ú¼ÓÃÜÖÐʹÓᣵ«ÊÇ£¬ÕâÐèÒª¸ü¶àµÄÖ´ÐÐʱ¼ä¡£´ÓÊäÈëÖжÁÈëÃ÷Îķŵ½Ò»¸öbufferÖУ¬ÔÙÔÚbufferÖжÔËûÃÇÖØÅÅÐò£¬È»ºó°´Õâ¸ö˳ÐòÔÙÊä³ö¡£½âÃܳÌÐò°´Ïà·´µÄ˳Ðò»¹Ô­Êý¾Ý¡£ÕâÖÖ·½·¨×ÜÊǺÍһЩ±ðµÄ¼ÓÃÜËã·¨»ìºÏʹÓã¬Õâ¾ÍʹµÃÆÆÒë±äµÄÌØ±ðµÄÀ§ÄÑ£¬¼¸ºõÓÐЩ²»¿ÉÄÜÁË¡£ÀýÈ磬ÓÐÕâÑùÒ»¸ö´Ê£¬±ä»»Æð×ÖĸµÄ˳Ðò£¬slient ¿ÉÒÔ±äΪlisten£¬µ«ËùÓеÄ×Öĸ¶¼Ã»Óб仯£¬Ã»ÓÐÔö¼ÓҲûÓмõÉÙ£¬µ«ÊÇ×Öĸ֮¼äµÄ˳ÐòÒѾ­±ä»¯ÁË¡£

 

    µ«ÊÇ£¬»¹ÓÐÒ»ÖÖ¸üºÃµÄ¼ÓÃÜËã·¨£¬Ö»ÓмÆËã»ú¿ÉÒÔ×ö£¬¾ÍÊÇ×Ö/×Ö½ÚÑ­»·ÒÆÎ»ºÍxor²Ù×÷¡£Èç¹ûÎÒÃǰÑÒ»¸ö×Ö»ò×Ö½ÚÔÚÒ»¸öÊý¾ÝÁ÷ÄÚ×öÑ­»·ÒÆÎ»£¬Ê¹Óöà¸ö»ò±ä»¯µÄ·½Ïò£¨×óÒÆ»òÓÒÒÆ£©£¬¾Í¿ÉÒÔѸËٵIJúÉúÒ»¸ö¼ÓÃܵÄÊý¾ÝÁ÷¡£ÕâÖÖ·½·¨ÊǺܺõ쬯ÆÒëËü¾Í¸ü¼ÓÀ§ÄÑ£¡¶øÇÒ£¬¸ü½øÒ»²½µÄÊÇ£¬Èç¹ûÔÙʹÓÃxor²Ù×÷£¬°´Î»×öÒì»ò²Ù×÷£¬¾Í¾ÍÊ¹ÆÆÒëÃÜÂë¸ü¼ÓÀ§ÄÑÁË¡£Èç¹ûÔÙʹÓÃÎ±Ëæ»úµÄ·½·¨£¬ÕâÉæ¼°µ½Òª²úÉúһϵÁеÄÊý×Ö£¬ÎÒÃÇ¿ÉÒÔʹÓÃfibbonaciÊýÁС£¶ÔÊýÁÐËù²úÉúµÄÊý×öÄ£ÔËË㣨ÀýÈçÄ£3£©£¬µÃµ½Ò»¸ö½á¹û£¬È»ºóÑ­»·ÒÆÎ»Õâ¸ö½á¹ûµÄ´ÎÊý£¬½«Ê¹ÆÆÒë´ÎÃÜÂë±äµÄ¼¸ºõ²»¿ÉÄÜ£¡µ«ÊÇ£¬Ê¹ÓÃfibbonaciÊýÁÐÕâÖÖÎ±Ëæ»úµÄ·½Ê½Ëù²úÉúµÄÃÜÂë¶ÔÎÒÃǵĽâÃܳÌÐòÀ´½²ÊǷdz£ÈÝÒ׵ġ£

 

    ÔÚһЩÇé¿öÏ£¬ÎÒÃÇÏëÄܹ»ÖªµÀÊý¾ÝÊÇ·ñÒѾ­±»´Û¸ÄÁË»ò±»ÆÆ»µÁË£¬Õâʱ¾ÍÐèÒª²úÉúһЩУÑéÂ룬²¢ÇÒ°ÑÕâЩУÑéÂë²åÈëµ½Êý¾ÝÁ÷ÖС£ÕâÑù×ö¶ÔÊý¾ÝµÄ·ÀαÓë³ÌÐò±¾Éí¶¼ÊÇÓкô¦µÄ¡£µ«ÊǸÐȾ¼ÆËã»ú³ÌÐòµÄ²¡¶¾²Å²»»áÔÚÒâÕâЩÊý¾Ý»ò³ÌÐòÊÇ·ñ¼Ó¹ýÃÜ£¬ÊÇ·ñÓÐÊý×ÖÇ©Ãû¡£ËùÒÔ£¬¼ÓÃܳÌÐòÔÚÿ´Îloadµ½ÄÚ´æÒª¿ªÊ¼Ö´ÐÐʱ£¬¶¼Òª¼ì²éһϱ¾ÉíÊÇ·ñ±»²¡¶¾¸ÐȾ£¬¶ÔÓëÐèÒª¼Ó¡¢½âÃܵÄÎļþ¶¼Òª×öÕâÖÖ¼ì²é£¡ºÜ×ÔÈ»£¬ÕâÑùÒ»ÖÖ·½·¨ÌåÖÆÓ¦¸Ã±£Ãܵģ¬ÒòΪ²¡¶¾³ÌÐòµÄ±àдÕß½«»áÀûÓÃÕâЩÀ´ÆÆ»µ±ðÈ˵ijÌÐò»òÊý¾Ý¡£Òò´Ë£¬ÔÚһЩ·´²¡¶¾»òɱ²¡¶¾Èí¼þÖÐÒ»¶¨ÒªÊ¹ÓüÓÃܼ¼Êõ¡£

Ñ­»·ÈßÓàУÑéÊÇÒ»ÖÖµäÐ͵ÄУÑéÊý¾ÝµÄ·½·¨¡£¶ÔÓÚÿһ¸öÊý¾Ý¿é£¬ËüʹÓÃλѭ»·ÒÆÎ»ºÍxor²Ù×÷À´²úÉúÒ»¸ö16λ»ò32λµÄУÑéºÍ £¬ÕâʹµÃ¶ªÊ§Ò»Î»»òÁ½¸öλµÄ´íÎóÒ»¶¨»áµ¼ÖÂУÑéºÍ³ö´í¡£ÕâÖÖ·½Ê½ºÜ¾ÃÒÔÀ´¾ÍÓ¦ÓÃÓÚÎļþµÄ´«Ê䣬ÀýÈç xmodem-crc¡£ ÕâÊÇ·½·¨ÒѾ­³ÉΪ±ê×¼£¬¶øÇÒÓÐÏêϸµÄÎĵµ¡£µ«ÊÇ£¬»ùÓÚ±ê×¼crcËã·¨µÄÒ»ÖÖÐÞ¸ÄËã·¨¶ÔÓÚ·¢ÏÖ¼ÓÃÜÊý¾Ý¿éÖеĴíÎóºÍÎļþÊÇ·ñ±»²¡¶¾¸ÐȾÊǺÜÓÐЧµÄ¡£

 

 ¶þ£®»ùÓÚ¹«Ô¿µÄ¼ÓÃÜËã·¨

 

    Ò»¸öºÃµÄ¼ÓÃÜËã·¨µÄÖØÒªÌØµãÖ®Ò»ÊǾßÓÐÕâÖÖÄÜÁ¦£º¿ÉÒÔÖ¸¶¨Ò»¸öÃÜÂë»òÃÜÔ¿£¬²¢ÓÃËüÀ´¼ÓÃÜÃ÷ÎÄ£¬²»Í¬µÄÃÜÂë»òÃÜÔ¿²úÉú²»Í¬µÄÃÜÎÄ¡£ÕâÓÖ·ÖΪÁ½ÖÖ·½Ê½£º¶Ô³ÆÃÜÔ¿Ëã·¨ºÍ·Ç¶Ô³ÆÃÜÔ¿Ëã·¨¡£Ëùν¶Ô³ÆÃÜÔ¿Ëã·¨¾ÍÊǼÓÃܽâÃܶ¼Ê¹ÓÃÏàͬµÄÃÜÔ¿£¬·Ç¶Ô³ÆÃÜÔ¿Ëã·¨¾ÍÊǼÓÃܽâÃÜʹÓò»Í¬µÄÃÜÔ¿¡£·Ç³£ÖøÃûµÄpgp¹«Ô¿¼ÓÃÜÒÔ¼°rsa¼ÓÃÜ·½·¨¶¼ÊǷǶԳƼÓÃÜËã·¨¡£¼ÓÃÜÃÜÔ¿£¬¼´¹«Ô¿£¬Óë½âÃÜÃÜÔ¿£¬¼´Ë½Ô¿£¬ÊǷdz£µÄ²»Í¬µÄ¡£´ÓÊýѧÀíÂÛÉϽ²£¬¼¸ºõûÓÐÕæÕý²»¿ÉÄæµÄËã·¨´æÔÚ¡£ÀýÈ磬¶ÔÓÚÒ»¸öÊäÈë¡®a¡¯Ö´ÐÐÒ»¸ö²Ù×÷µÃµ½½á¹û¡®b¡¯,ÄÇôÎÒÃÇ¿ÉÒÔ»ùÓÚ¡®b¡¯£¬×öÒ»¸öÏà¶ÔÓ¦µÄ²Ù×÷£¬µ¼³öÊäÈë¡®a¡¯¡£ÔÚһЩÇé¿öÏ£¬¶ÔÓÚÿһÖÖ²Ù×÷£¬ÎÒÃÇ¿ÉÒԵõ½Ò»¸öÈ·¶¨µÄÖµ£¬»òÕ߸òÙ×÷ûÓж¨Ò壨±ÈÈ磬³ýÊýΪ0£©¡£¶ÔÓÚÒ»¸öûÓж¨ÒåµÄ²Ù×÷À´½²£¬»ùÓÚ¼ÓÃÜËã·¨£¬¿ÉÒԳɹ¦µØ·ÀÖ¹°ÑÒ»¸ö¹«Ô¿±ä»»³ÉΪ˽Կ¡£Òò´Ë£¬ÒªÏëÆÆÒë·Ç¶Ô³Æ¼ÓÃÜËã·¨£¬ÕÒµ½ÄǸöΨһµÄÃÜÔ¿£¬Î¨Ò»µÄ·½·¨Ö»ÄÜÊÇ·´¸´µÄÊÔÑ飬¶øÕâÐèÒª´óÁ¿µÄ´¦Àíʱ¼ä¡£

    

    rsa¼ÓÃÜË㷨ʹÓÃÁËÁ½¸ö·Ç³£´óµÄËØÊýÀ´²úÉú¹«Ô¿ºÍ˽Կ¡£¼´Ê¹´ÓÒ»¸ö¹«Ô¿ÖÐͨ¹ýÒòÊý·Ö½â¿ÉÒԵõ½Ë½Ô¿£¬µ«Õâ¸öÔËËãËù°üº¬µÄ¼ÆËãÁ¿ÊǷdz£¾Þ´óµÄ£¬ÒÔÖÁÓÚÔÚÏÖʵÉÏÊDz»¿ÉÐеġ£¼ÓÃÜËã·¨±¾ÉíÒ²ÊǺÜÂýµÄ£¬ÕâʹµÃʹÓÃrsaËã·¨¼ÓÃÜ´óÁ¿µÄÊý¾Ý±äµÄÓÐЩ²»¿ÉÐС£Õâ¾ÍʹµÃһЩÏÖʵÖмÓÃÜËã·¨¶¼»ùÓÚrsa¼ÓÃÜËã·¨¡£pgpËã·¨(ÒÔ¼°´ó¶àÊý»ùÓÚrsaËã·¨µÄ¼ÓÃÜ·½·¨)ʹÓù«Ô¿À´¼ÓÃÜÒ»¸ö¶Ô³Æ¼ÓÃÜËã·¨µÄÃÜÔ¿£¬È»ºóÔÙÀûÓÃÒ»¸ö¿ìËٵĶԳƼÓÃÜËã·¨À´¼ÓÃÜÊý¾Ý¡£Õâ¸ö¶Ô³ÆËã·¨µÄÃÜÔ¿ÊÇËæ»ú²úÉúµÄ£¬ÊDZ£Ãܵģ¬Òò´Ë£¬µÃµ½Õâ¸öÃÜÔ¿µÄΨһ·½·¨¾ÍÊÇʹÓÃ˽ԿÀ´½âÃÜ¡£

   

    ÎÒÃǾÙÒ»¸öÀý×Ó£º¼Ù¶¨ÏÖÔÚÒª¼ÓÃÜһЩÊý¾ÝʹÓÃÃÜÔ¿¡®12345¡¯¡£ÀûÓÃrsa¹«Ô¿£¬Ê¹ÓÃrsaËã·¨¼ÓÃÜÕâ¸öÃÜÔ¿¡®12345¡¯£¬²¢°ÑËü·ÅÔÚÒª¼ÓÃܵÄÊý¾ÝµÄÇ°Ãæ£¨¿ÉÄܺóÃæ¸ú×ÅÒ»¸ö·Ö¸î·û»òÎļþ³¤¶È£¬ÒÔÇø·ÖÊý¾ÝºÍÃÜÔ¿£©£¬È»ºó£¬Ê¹ÓöԳƼÓÃÜËã·¨¼ÓÃÜÕýÎÄ£¬Ê¹ÓõÄÃÜÔ¿¾ÍÊÇ¡®12345¡¯¡£µ±¶Ô·½ÊÕµ½Ê±£¬½âÃܳÌÐòÕÒµ½¼ÓÃܹýµÄÃÜÔ¿£¬²¢ÀûÓÃrsa˽Կ½âÃܳöÀ´£¬È»ºóÔÙÈ·¶¨³öÊý¾ÝµÄ¿ªÊ¼Î»Öã¬ÀûÓÃÃÜÔ¿¡®12345¡¯À´½âÃÜÊý¾Ý¡£ÕâÑù¾ÍʹµÃÒ»¸ö¿É¿¿µÄ¾­¹ý¸ßЧ¼ÓÃܵÄÊý¾Ý°²È«µØ´«ÊäºÍ½âÃÜ¡£

 

   Ò»Ð©¼òµ¥µÄ»ùÓÚrsaËã·¨µÄ¼ÓÃÜËã·¨¿ÉÔÚÏÂÃæµÄÕ¾µãÕÒµ½£º

    ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa 

 

  Èý£®Ò»¸öոеĶಽ¼ÓÃÜËã·¨

 

    ÏÖÔÚÓÖ³öÏÖÁËÒ»ÖÖеļÓÃÜËã·¨£¬¾Ý˵ÊǼ¸ºõ²»¿ÉÄܱ»ÆÆÒëµÄ¡£Õâ¸öËã·¨ÔÚ1998Äê6ÔÂ1ÈÕ²ÅÕýʽ¹«²¼µÄ¡£ÏÂÃæÏêϸµÄ½éÉÜÕâ¸öËã·¨:

ʹÓÃһϵÁеÄÊý×Ö£¨±ÈÈç˵128λÃÜÔ¿£©£¬À´²úÉúÒ»¸ö¿ÉÖØ¸´µÄµ«¸ß¶ÈËæ»ú»¯µÄÎ±Ëæ»úµÄÊý×ÖµÄÐòÁС£Ò»´ÎʹÓÃ256¸ö±íÏʹÓÃËæ»úÊýÐòÁÐÀ´²úÉúÃÜÂëת±í£¬ÈçÏÂËùʾ£º

°Ñ256¸öËæ»úÊý·ÅÔÚÒ»¸ö¾àÕóÖУ¬È»ºó¶ÔËûÃǽøÐÐÅÅÐò£¬Ê¹ÓÃÕâÑùÒ»ÖÖ·½Ê½£¨ÎÒÃÇÒª¼Çס×î³õµÄλÖã©Ê¹ÓÃ×î³õµÄλÖÃÀ´²úÉúÒ»¸ö±í£¬ËæÒâÅÅÐòµÄ±í£¬±íÖеÄÊý×ÖÔÚ0µ½255Ö®¼ä¡£Èç¹û²»ÊǺÜÃ÷°×ÈçºÎÀ´×ö£¬¾Í¿ÉÒÔ²»¹ÜËü¡£µ«ÊÇ£¬ÏÂÃæÒ²ÌṩÁËһЩԭÂ루ÔÚÏÂÃæ£©ÊÇÎÒÃÇÃ÷°×ÊÇÈçºÎÀ´×öµÄ¡£ÏÖÔÚ£¬²úÉúÁËÒ»¸ö¾ßÌåµÄ256×Ö½ÚµÄ±í¡£ÈÃÕâ¸öËæ»úÊý²úÉúÆ÷½Ó×ÅÀ´²úÉúÕâ¸ö±íÖÐµÄÆäÓàµÄÊý£¬ÒÔÖÁÓÚÿ¸ö±íÊDz»Í¬µÄ¡£ÏÂÒ»²½£¬Ê¹ÓÃ"shotgun technique"¼¼ÊõÀ´²úÉú½âÂë±í¡£»ù±¾ÉÏ˵£¬Èç¹û aÓ³Éäµ½b£¬ÄÇôbÒ»¶¨¿ÉÒÔÓ³Éäµ½a£¬ËùÒÔb[a[n]] = n.£¨nÊÇÒ»¸öÔÚ0µ½255Ö®¼äµÄÊý£©¡£ÔÚÒ»¸öÑ­»·Öи³Öµ£¬Ê¹ÓÃÒ»¸ö256×ֽڵĽâÂë±íËü¶ÔÓ¦ÓÚÎÒÃǸղÅÔÚÉÏÒ»²½²úÉúµÄ256×ֽڵļÓÃÜ±í¡£

 

    Ê¹ÓÃÕâ¸ö·½·¨£¬ÒѾ­¿ÉÒÔ²úÉúÕâÑùµÄÒ»¸ö±í£¬±íµÄ˳ÐòÊÇËæ»ú£¬ËùÒÔ²úÉúÕâ256¸ö×Ö½ÚµÄËæ»úÊýʹÓõÄÊǶþ´ÎÎ±Ëæ»ú,ʹÓÃÁËÁ½¸ö¶îÍâµÄ16λµÄÃÜÂë.ÏÖÔÚ£¬ÒѾ­ÓÐÁËÁ½ÕÅת»»±í£¬»ù±¾µÄ¼ÓÃܽâÃÜÊÇÈçÏÂÕâÑù¹¤×÷µÄ¡£Ç°Ò»¸ö×Ö½ÚÃÜÎÄÊÇÕâ¸ö256×ֽڵıíµÄË÷Òý¡£»òÕߣ¬ÎªÁËÌá¸ß¼ÓÃÜЧ¹û£¬¿ÉÒÔʹÓöàÓà8λµÄÖµ£¬ÉõÖÁʹÓÃУÑéºÍ»òÕßcrcËã·¨À´²úÉúË÷Òý×Ö½Ú¡£¼Ù¶¨Õâ¸ö±íÊÇ256*256µÄÊý×é,½«»áÊÇÏÂÃæµÄÑù×Ó:

   

    crypto1 = a[crypto0][value]

 

    ±äÁ¿'crypto1'ÊǼÓÃܺóµÄÊý¾Ý£¬'crypto0'ÊÇǰһ¸ö¼ÓÃÜÊý¾Ý£¨»ò×ÅÊÇÇ°Ãæ¼¸¸ö¼ÓÃÜÊý¾ÝµÄÒ»¸öº¯ÊýÖµ£©¡£ºÜ×ÔÈ»µÄ£¬µÚÒ»¸öÊý¾ÝÐèÒªÒ»¸ö¡°ÖÖ×Ó¡±£¬Õâ¸ö¡°ÖÖ×Ó¡± ÊÇÎÒÃDZØÐë¼ÇסµÄ¡£Èç¹ûʹÓÃ256*256µÄ±í£¬ÕâÑù×ö½«»áÔö¼ÓÃÜÎĵij¤¶È¡£»òÕߣ¬¿ÉÒÔʹÓÃÄã²úÉú³öËæ»úÊýÐòÁÐËùÓõÄÃÜÂ룬Ҳ¿ÉÄÜÊÇËüµÄcrcУÑéºÍ¡£Ë³±ãÌá¼°µÄÊÇÔø×÷¹ýÕâÑùÒ»¸ö²âÊÔ: Ê¹ÓÃ16¸ö×Ö½ÚÀ´²úÉú±íµÄË÷Òý,ÒÔ128λµÄÃÜÔ¿×÷ΪÕâ16¸ö×ֽڵijõʼµÄ"ÖÖ×Ó"¡£È»ºó£¬ÔÚ²úÉú³öÕâÐ©Ëæ»úÊýµÄ±íÖ®ºó£¬¾Í¿ÉÒÔÓÃÀ´¼ÓÃÜÊý¾Ý£¬ËٶȴﵽÿÃëÖÓ100k¸ö×Ö½Ú¡£Ò»¶¨Òª±£Ö¤ÔÚ¼ÓÃÜÓë½âÃÜʱ¶¼Ê¹ÓüÓÃܵÄÖµ×÷Ϊ±íµÄË÷Òý£¬¶øÇÒÕâÁ½´ÎÒ»¶¨ÒªÆ¥Åä¡£

 

    ¼ÓÃÜʱËù²úÉúµÄÎ±Ëæ»úÐòÁÐÊǺÜËæÒâµÄ£¬¿ÉÒÔÉè¼Æ³ÉÏëÒªµÄÈκÎÐòÁС£Ã»ÓйØÓÚÕâ¸öËæ»úÐòÁеÄÏêϸµÄÐÅÏ¢£¬½âÃÜÃÜÎÄÊDz»ÏÖʵµÄ¡£ÀýÈ磺һЩasciiÂëµÄÐòÁУ¬Èç¡°eeeeeeee"¿ÉÄܱ»×ª»¯³ÉÒ»Ð©Ëæ»úµÄûÓÐÈκÎÒâÒåµÄÂÒÂ룬ÿһ¸ö×Ö½Ú¶¼ÒÀÀµÓÚÆäǰһ¸ö×Ö½ÚµÄÃÜÎÄ£¬¶ø²»ÊÇʵ¼ÊµÄÖµ¡£¶ÔÓÚÈÎÒ»¸öµ¥¸öµÄ×Ö·ûµÄÕâÖֱ任À´Ëµ£¬Òþ²ØÁ˼ÓÃÜÊý¾ÝµÄÓÐЧµÄÕæÕýµÄ³¤¶È¡£

 

    Èç¹ûȷʵ²»Àí½âÈçºÎÀ´²úÉúÒ»¸öËæ»úÊýÐòÁУ¬¾Í¿¼ÂÇfibbonacciÊýÁУ¬Ê¹ÓÃ2¸öË«×Ö£¨64룩µÄÊý×÷Ϊ²úÉúËæ»úÊýµÄÖÖ×Ó£¬ÔÙ¼ÓÉϵÚÈý¸öË«×ÖÀ´×öxor²Ù×÷¡£ Õâ¸öËã·¨²úÉúÁËһϵÁеÄËæ»úÊý¡£Ëã·¨ÈçÏ£º

 

unsigned long dw1, dw2, dw3, dwmask;

int i1;

unsigned long arandom[256];

 

dw1 = {seed #1};

dw2 = {seed #2};

dwmask = {seed #3};

// this gives you 3 32-bit "seeds", or 96 bits total

for(i1=0; i1 < 256; i1++)

{

dw3 = (dw1 + dw2) ^ dwmask;

arandom[i1] = dw3;

dw1 = dw2;

dw2 = dw3;

}

 

   Èç¹ûÏë²úÉúһϵÁеÄËæ»úÊý×Ö£¬±ÈÈç˵£¬ÔÚ0ºÍÁбíÖÐËùÓеÄËæ»úÊýÖ®¼äµÄһЩÊý£¬¾Í¿ÉÒÔʹÓÃÏÂÃæµÄ·½·¨£º

 

int __cdecl mysortproc(void *p1, void *p2)

{

unsigned long **pp1 = (unsigned long **)p1;

unsigned long **pp2 = (unsigned long **)p2;

if(**pp1 < **pp2)

return(-1);

else if(**pp1 > *pp2)

return(1);

return(0);

}

 

...

int i1;

unsigned  long  *aprandom[256];

unsigned  long  arandom[256];    // same array as before, in this case

int  aresult[256];                // results go here

 

for(i1=0; i1 < 256; i1++)

{

aprandom[i1] = arandom + i1;

}

 

// now sort it

qsort(aprandom, 256, sizeof(*aprandom), mysortproc);

 

// final step - offsets for pointers are placed into output array

for(i1=0; i1 < 256; i1++)

{

aresult[i1] = (int)(aprandom[i1] - arandom);

}

...

 

    ±äÁ¿'aresult'ÖеÄÖµÓ¦¸ÃÊÇÒ»¸öÅŹýÐòµÄΨһµÄһϵÁеÄÕûÊýµÄÊý×飬ÕûÊýµÄÖµµÄ·¶Î§¾ùÔÚ0µ½255Ö®¼ä¡£ÕâÑùÒ»¸öÊý×éÊǷdz£ÓÐÓõģ¬ÀýÈ磺¶ÔÒ»¸ö×Ö½Ú¶Ô×Ö½ÚµÄת»»±í£¬¾Í¿ÉÒÔºÜÈÝÒײ¢Çҷdz£¿É¿¿µÄÀ´²úÉúÒ»¸ö¶ÌµÄÃÜÔ¿£¨¾­³£×÷ÎªÒ»Ð©Ëæ»úÊýµÄÖÖ×Ó£©¡£ÕâÑùÒ»¸ö±í»¹ÓÐÆäËûµÄÓô¦£¬±ÈÈç˵£ºÀ´²úÉúÒ»¸öËæ»úµÄ×Ö·û£¬¼ÆËã»úÓÎÏ·ÖÐÒ»¸öÎïÌåµÄËæ»úµÄλÖõȵȡ£ÉÏÃæµÄÀý×Ó¾ÍÆä±¾Éí¶øÑÔ²¢Ã»Óй¹³ÉÒ»¸ö¼ÓÃÜËã·¨£¬Ö»ÊǼÓÃÜËã·¨Ò»¸ö×é³É²¿·Ö¡£

 

    ×÷Ϊһ¸ö²âÊÔ£¬¿ª·¢ÁËÒ»¸öÓ¦ÓóÌÐòÀ´²âÊÔÉÏÃæËùÃèÊöµÄ¼ÓÃÜËã·¨¡£³ÌÐò±¾Éí¶¼¾­¹ýÁ˼¸´ÎµÄÓÅ»¯ºÍÐ޸ģ¬À´Ìá¸ßËæ»úÊýµÄÕæÕýµÄËæ»úÐԺͷÀÖ¹»á²úÉúһЩ¶ÌµÄ¿ÉÖØ¸´µÄÓÃÓÚ¼ÓÃܵÄËæ»úÊý¡£ÓÃÕâ¸ö³ÌÐòÀ´¼ÓÃÜÒ»¸öÎļþ£¬ÆÆ½âÕâ¸öÎļþ¿ÉÄÜ»áÐèÒª·Ç³£¾Þ´óµÄʱ¼äÒÔÖÁÓÚÔÚÏÖʵÉÏÊDz»¿ÉÄܵġ£

 

  ËÄ£®½áÂÛ£º

    ÓÉÓÚÔÚÏÖʵÉú»îÖУ¬ÎÒÃÇҪȷ±£Ò»Ð©Ãô¸ÐµÄÊý¾ÝÖ»Äܱ»ÓÐÏàӦȨÏÞµÄÈË¿´µ½£¬ÒªÈ·±£ÐÅÏ¢ÔÚ´«ÊäµÄ¹ý³ÌÖв»»á±»´Û¸Ä£¬½ØÈ¡£¬Õâ¾ÍÐèÒªºÜ¶àµÄ°²È«ÏµÍ³´óÁ¿µÄÓ¦ÓÃÓÚÕþ¸®¡¢´ó¹«Ë¾ÒÔ¼°¸öÈËϵͳ¡£Êý¾Ý¼ÓÃÜÊǿ϶¨¿ÉÒÔ±»ÆÆ½âµÄ£¬µ«ÎÒÃÇËùÏëÒªµÄÊÇÒ»¸öÌØ¶¨Ê±ÆÚµÄ°²È«£¬Ò²¾ÍÊÇ˵£¬ÃÜÎÄµÄÆÆ½âÓ¦¸ÃÊÇ×ã¹»µÄÀ§ÄÑ£¬ÔÚÏÖʵÉÏÊDz»¿ÉÄܵģ¬ÓÈÆäÊǶÌʱ¼äÄÚ¡£

 

 

 

²Î¿¼ÎÄÏ×£º

 

1 . pgp!  http://www.pgpi.com/ 

cyber knights(new link)  http://members.tripod.com/cyberkt/ 

(old link:  http://netnet.net/~merlin/knights/ )

2 . crypto chamber  http://www.jyu.fi/~paasivir/crypt/ 

 

3 . ssh cryptograph a-z (includes info on ssl and https)  http://www.ssh.fi/tech/crypto/ 

 

4 . funet' cryptology ftp (yet another finland resource)  ftp://ftp.funet.fi/pub/crypt/ 

a great enigma article, how the code was broken by polish scientists

 http://members.aol.com/nbrass/1enigma.htm 

 

5 . ftp site in uk  ftp://sable.ox.ac.uk/pub/crypto/ 

 

6 . australian ftp site  ftp://ftp.psy.uq.oz.au/pub/ 

 

7 . replay associates ftp archive  ftp://utopia.hacktic.nl/pub/replay/pub/crypto/ 

 

8 . rsa data security (why not include them too!)  http://www.rsa.com/ 

netscape's whitepaper on ssl

 http://developer1.netscape.com/docs/manuals/security/sslin/contents.htm 
 
 



Ïà¹ØÎÄÕ£º

Ïà¹ØÈí¼þ£º