ÄãºÃ£¬»¶Ó­À´µ½£¡ ÉèΪÊ×Ò³ £üÊղر¾Õ¾
ÁªÏµµç»°
ÂÛÎÄ·¶ÎÄ µ±Ç°Î»ÖÃ: > д×÷Ö¸ÄÏ > ÂÛÎÄ·¶ÎÄ >

»ùÓÚeasyARM615µÄAESË㷨ʵÏÖ

ʱ¼ä:2013-12-28 10:45À´Ô´:ºËÐÄÆÚ¿¯Íø ×÷Õß:ÀîÀò ÀîÐãäÞ µã»÷: ´Î
¡¡¡¡¡¾ Õª Òª ¡¿ Ëæ×ŸßÐÔÄÜ¡¢µÍ¹¦ºÄµÄǶÈëʽϵͳµÄ¹ã·ºÓ¦Ó㬾ßÓа²È«±£Ãܹ¦ÄܵÄǶÈëʽ²úÆ·½«Õ¼ÓнϴóÊг¡¡£±¾ÎÄÎ§ÈÆ»ùÓÚARM615µÄAESËã·¨Éè¼ÆÊµÏÖ£¬Ñо¿ÁËAESµÄÕûÌå¼Ü¹¹¡¢Éè¼ÆÔ­Ôò¡¢Ëã·¨ÃèÊö£¬²¢Éè¼ÆÁ˾ßÌåµÄ²âÊÔϵͳ£¬ÀûÓÃRS232ͨѶʵÏÖPC»úÓëARM615ϵͳµÄ
¡¡¡¡1ÒýÑÔ
¡¡¡¡Ëæ×żÆËã»úͨÐż¼ÊõµÄ·ÉËÙ·¢Õ¹ÒÔ¼°»¥ÁªÍøµÄÓ¦Óã¬ÈËÃǶÔÐÅÏ¢°²È«µÄÒªÇóÒ²Ô½À´Ô½¸ß£¬ÐÅÏ¢°²È«ÒѳÉÁ˵±½ñÓÈÎªÖØÒªÇÒÐèÆÈÇнâ¾öµÄÎÊÌâ¡£¾­¹ý¼¸Ê®ÄêµÄ·¢Õ¹£¬Ä¿Ç°±£ÕÏÐÅÏ¢°²È«µÄÊÖ¶ÎÈÕÇ÷¶àÑù»¯£¬°üÀ¨ÐÅÏ¢¼ÓÃÜ¡¢Êý×ÖÇ©Ãû¡¢Óû§×îС»¯È¨ÏÞ¡¢ÈëÇÖ¼ì²â¡¢·À»ðǽµÈ£¬ÆäÖбȽϳ£ÓõϹÊÇÐÅÏ¢¼ÓÃÜ¡£
¡¡¡¡2AESËã·¨Ô­Àí
¡¡¡¡AESËã·¨×÷ΪÃÀ¹ú¹ú¼Ò±ê×¼Óë¼¼ÊõÑо¿Ôº£¨NIST£©ÕçÑ¡·¢²¼È¡´úDESµÄÐÂÒ»´ú¼ÓÃܱê×¼¡£Ëü²ÉÓöԳƷÖ×éÃÜÂëÌåÖÆ£¬Êý¾Ý¿é³¤¶ÈºÍÃÜÔ¿³¤¶È¶¼¿É±ä£¬ÓëDESµÄFeistel½á¹¹²»Í¬£¬ÆäÂÖº¯Êý²ÉÓÃÌæ´ú/Öû»£¨SP£©ÍøÂçµÄµü´ú½á¹¹£¬ÓÉ·ÇÏßÐԲ㣨×Ö½ÚÌæ´ú£©£¬ÏßÐÔ»ìºÏ²ã£¨ÐÐÒÆ¶¯¡¢ÁлìºÏ£©£¬ÃÜÔ¿¼Ó²ã£¨ÃÜÔ¿¼Ó£©×é³É£¬¼Ó½âÃܽṹ³Ê¶Ô³ÆÐÔ¡£Æä128±ÈÌØÃÜÔ¿µÄ¼ÓÃܰ²È«ÐÔ£¬±ÈDESµÄ56±ÈÌØÃÜÔ¿Ç¿10±¶¡£
¡¡¡¡Í¨³£È¡Ã÷ÃÜÎĵķÖ×鳤¶ÈΪ128±ÈÌØ£¬ÃÜÔ¿µÄ³¤¶È¿ÉΪ128¡¢192»ò256±ÈÌØ£¬Ò»°ãÓÃNk=4¡¢6¡¢8´ú±íÃÜÔ¿µÄ×ÖÊý£¨1×Ö=32±ÈÌØ£©£¬ÔÚ±¾Éè¼ÆÖÐÑ¡ÓÃNk=4£¬¼´ÃÜÔ¿³¤¶ÈΪ128±ÈÌØ¡£Îª±£Ö¤Ëã·¨µÄ°²È«£¬¼ÓÃÜÂÖÊýNrÓëÃÜÔ¿³¤¶ÈNk¹ØÏµÃÜÇУ¬Æä¼ä¹ØÏµÈç±í1Ëùʾ£¬ÓÉ´Ë¿ÉÖªNk=4ʱ£¬NrΪ10¡£
¡¡¡¡AES¼Ó/½âÃܰüÀ¨ÃÜÔ¿À©Õ¹£¨KeyExpansion£©¡¢³õʼÂÖ£¨InitialRound£©¡¢Öظ´ÂÖ£¨Rounds£©¡¢×îÖÕÂÖ£¨FinalRound£©¡£Öظ´ÂÖ·Ö±ð°üÀ¨×Ö½ÚÌæ´ú£¨SubBytes£©¡¢ÐÐÒÆ¶¯£¨ShiftRows£©¡¢ÁлìºÏ£¨MixColumns£©¡¢ÃÜÔ¿¼Ó£¨AddRoundKey£©£¬×îÖÕÂÖûÓÐÁлìºÏ¡£ÆäÁ÷³ÌÈçͼ1Ëùʾ¡£
¡¡¡¡3AESË㷨ʵÏÖ
¡¡¡¡ÊÂʵ֤Ã÷£¬Ä¿Ç°Ö»´æÔÚ¹¥»÷7ÂÖµÄAES-128ºÍAES-192Ëã·¨£¬ÕâÀï¶ÔNk=4¡¢Nr=10µÄAES-128Ëã·¨½øÐÐʵÏÖ¡£
¡¡¡¡3.1ÃÜÔ¿À©Õ¹
¡¡¡¡ÃÜÔ¿À©Õ¹½«128bitµÄÍⲿÃÜÔ¿£¨ÓֳƳõʼÃÜÔ¿£©À©Õ¹³É¸ü³¤µÄ±ÈÌØ´®£¬ÔÙ»®³É¶à¸ö128±ÈÌØµÄ·Ö×é×÷Ϊ×ÓÃÜÔ¿£¬¼´K0¡¢K1¡¢K2¡¢K3¡¢K4¡¢K5¡¢K6¡¢K7¡¢K8¡¢K9¡¢K10£¬ÒÔÍê³É¸÷ÂÖµÄÃÜÔ¿¼Ó£¬ÆäÖÐK0ÊÇÍⲿÃÜÔ¿±¾Éí¡£ÃÜÔ¿À©Õ¹ÓÐͬ²½ºÍÒì²½Á½ÖÖ·½Ê½£¬ÕâÀï²ÉÓÃÒì²½·½Ê½£¬¼´ÔÚ¼ÓÃÜǰ½øÐÐÃÜÔ¿À©Õ¹×¼±¸ºÃ10ÂÖ×ÓÃÜÔ¿¡£ÏÂÃæÒÔ×ÓÃÜÔ¿K0Éú³É×ÓÃÜÔ¿K1ΪÀý£¬½éÉÜÃÜÔ¿À©Õ¹¹ý³Ì¡£
¡¡¡¡½«K0µÄºó4¸ö×Ö½ÚA30¡«A33È¡³ö£¬ÔÝ´æµ½temp.decimal[4]ÖС£µ÷ÓÃ×Óº¯ÊýTwfour£¨£©£¬½«temp.decimal[4]Ñ­»·×óÒÆ1×Ö½Ú£¬È»ºóͨ¹ýSºÐÌæ´ú£¬ÔËËã½á¹ûµÄÊ××Ö½Útemp.decimal[0]Ó뵱ǰÂÖ³£ÊýRCÒì»ò£¬ÔÙ½«´Ë4×Ö½ÚÓëA00¡«A03°´Î»Òì»ò£¬¼´µÃµ½K1µÄÊ×4×Ö½ÚB00¡«B03¡£¶øB10¡«B13=B00¡«B03A10¡«A13£¬B20¡«B23=B10¡«B13A20¡«A23£¬B30¡«B33=B20¡«B23A30¡«A33¡£
¡¡¡¡ÂÖ³£ÊýRCÖµÓë¼ÓÃÜÂÖÊýNr¼äµÄ¹ØÏµÈç±í2Ëùʾ¡£
¡¡¡¡3.2ÖØ¸´ÂÖ¼ÓÃÜ
¡¡¡¡Öظ´ÂÖ¼ÓÃܼ´Îª9´Îµü´úµÄÒ»¸öµ¥ÂÖÔËË㣬ÍêÕûµÄÖØ¸´ÂÖ°üÀ¨×Ö½ÚÌæ´ú£¨SubBytes£©¡¢ÐÐÒÆ¶¯£¨ShiftRows£©¡¢ÁлìºÏ£¨MixColumns£©¡¢ÃÜÔ¿¼Ó£¨AddRoundKey£©ËIJ½²Ù×÷¡£
¡¡¡¡×Ö½ÚÌæ´úÊǹØÓÚ×ֽڵķÇÏßÐÔ¿ÉÄæ±ä»»¡£½«ÓÐÏÞÓòGF£¨28£©=X8+X4+X3+X+1ÉÏ·ÂÉä±ä»»ËùÓеĿÉÄܽá¹ûÅųÉÒ»¸öSºÐ£¨SºÐµÄ¾ßÌåÄÚÈݲμûÎÄÏ×4£©£¬¸ÃÌæ´ú¹æÄ£Îª16×16=256¸ö×Ö½Ú¡£ÔÚ·Ö×éÃÜÂëËã·¨£¬SºÐµÄÃÜÂëÇ¿¶ÈÖ±½Ó¾ö¶¨ÁËÃÜÂëËã·¨µÄºÃ»µ¡£´úÂëʵÏÖÖУ¬¿É½«×´Ì¬¾ØÕódata.hex[4][4][2]¸÷¸ö×Ö½Úת»»Îª0¡«15Ê®½øÖÆ£¬×÷ΪSºÐË÷Òýshe.ray[4][4][2]µÄÐÐÁÐÖµ£¬½øÐжþÔªÓòÉϵÄÓ³É䣬½á¹ûÖØ×é¼´µÃdata.hex[4][4][2]¾ØÕó¡£ÏÂÃæÊÇÌæ´ú¹ý³Ì£º
¡¡¡¡for£¨i=0£»i<4£»i++£©
¡¡¡¡{for£¨j=0£»j<4£»j++£©
¡¡¡¡{m=int£¨data.hex[i][j][0]£©£»
¡¡¡¡n=int£¨data.hex[i][j][1]£©£»
¡¡¡¡if£¨m<='9'£©m-=48£»elsem-=87£»
¡¡¡¡if£¨n<='9'£©n-=48£»elsen-=87£»
¡¡¡¡data.hex[i][j][0]=she.ray[m][n][0]£»
¡¡¡¡data.hex[i][j][1]=she.ray[m][n][1]£»}
¡¡¡¡}
¡¡¡¡ÐÐÒÆ¶¯ÊÇÖ¸4*4=16×Ö½ÚµÄdata.decimal[4][4]¾ØÕó£¬0¡«3¸÷Ðи÷×ÖÒÀ´Î×óÒÆ0¡«3×Ö½Ú£¬Ñ­»·Åжϵ±Ç°ÐÐÊý£¬½èÖúÁÙʱ±äÁ¿temp£¬»¥»»ÔªËØÎ»Öü´¿É¡£
¡¡¡¡ÁлìºÏÊǽ«data.decimal[4][4]ÓëÁлìºÏ¾ØÕóM£¨Èçͼ3£©½øÐоØÕó³Ë£¬½«¾ØÕó¸÷Ðп´³ÉÓÐÏÞÓòÉϵĶàÏîʽ£ºb7X7+b6X6+b5X5+b4X4+b3X3+b2X2+b1X1+b£¬½á¹û²ÉÓÃÄ£X8+X4+X3+X+1µÄÄ£³ËͬÓà¹æÔò£¬Êµ¼Ê°üº¬ÁË64´Î"Òì»ò"£¬16´Î"Óë"²Ù×÷£¬Ê¹Óöà¸öÑ­»·Ç¶Ì׿ÉÒÔÍê³Éÿ¶Ô×ÖµÄÒì»òÔËËã¡£data.decimal[4][4]ÓëMÒì»ò֮ǰ£¬Ê×ÏÈÔÝ´æµ½c1[4][4]¡£ÓÉÓÚMµÄÔªËØÖ»ÓÐÈýÖÖ£¬ÈôÓÃlog_01£¨c1£©±íʾc1^01£¬Ôòc1=log_01£¨c1£©£¬log_03£¨c1£©=c1^log_02£¨c1£©£¬ËùÒԹؼüҪʵÏÖµÄÊÇlog_02£¨c1£©ÔËËã¡£ÔÚÓÐÏÞÓòGF£¨28£©ÉÏ£¬×óÒÆ1λ±íʾ"^2"ÔËË㣬ËùÒÔc2=log_02£¨c1£©ÓÃCÓïÑÔ±í´ïÈçÏ£ºif£¨c1<80£©c2=c1<<1£»elsec2=c1<<1^11b£»ÏÂÃæM¾ØÕóµÚ¶þÁÐ"01020301"³Ëc1[4][4]¾ØÕóΪÀý£º
¡¡¡¡for£¨j=0£»j<4£»j++£©
¡¡¡¡{c2[0][j]=c1[0][j]£»
¡¡¡¡c2[1][j]=log_02£¨c1[1][j]£©£»
¡¡¡¡c2[2][j]=log_03£¨c1[2][j]£©£»
¡¡¡¡c2[3][j]=c1[3][j]£»
¡¡¡¡for£¨i=0£»i<4£»i++£©data.decimal[k][j]=c2[i][j]^data.decimal[k][j]£»}
¡¡¡¡½«ÁлìºÏµÄ½á¹û¾ØÕódata.decimal[4][4]Ó뵱ǰÂÖ×ÓÃÜÔ¿key.now[4][4]°´Î»Òì»ò½øÐÐÃÜÔ¿¼ÓÔËË㣬ËùµÃ½á¹û×÷ΪÏÂÒ»ÖØ¸´ÂÖµÄÊäÈë¡£
¡¡¡¡3.3AES¼Ó½âÃܶԳÆÉè¼Æ
¡¡¡¡Èçͼ1Ëùʾ£¬AES¼Ó½âÃܹý³Ì¾ßÓжԳÆÐÔ¡£ÔÚ¼ÓÃÜʵÏÖÖУ¬³õʼÂÖ£¨InitialRound£©Ö»ÊÇÃÜÔ¿¼Ó²Ù×÷£¬×îÖÕÂÖ£¨FinalRound£©²»°üº¬ÁлìºÏ¡£µ±Nk=4ʱ¹²Ðè¼ÓÃÜ10ÂÖ£¬ÓÃdata.decimal[4][4]±íʾÃ÷ÎÄ£¬key.decimal[4][4]±íʾÃÜÔ¿£¬LΪÂÖÊý¡£µ÷ÓÃExpandedKey£¨£©£¬Éú³ÉK1¡«K10ÂÖ×ÓÃÜÔ¿£¬ÍⲿÃÜÔ¿¼´Îª³õʼÂÖÃÜÔ¿K0£¬È»ºó½øÈëAes_perEncry£¨£©£¬Õë¶Ô128bit·Ö×éµÄ10ÂÖ¼ÓÃܹý³Ì£º
¡¡¡¡InitialRound£ºL=0ʱ£¬Ã÷ÎÄÓëK0½øÐÐÃÜÔ¿¼Ó²Ù×÷¡£
¡¡¡¡Rounds£ºL=1¡«9ʱ£¬»ñµÃµ±Ç°×ÓÃÜÔ¿key.now[4][4]=key.decimal[£¨ll+1£©*4][4]£¬²¢Ñ­»·ÒÔϲÙ×÷SubBytes£¨£©¡¢ShiftRows£¨£©¡¢MixColumns£¨£©¡¢AddRoundKey£¨£©¡£
¡¡¡¡FinalRound£ºL=10ʱ£¬ÔÚÖØ¸´ÂÖÑ­»·ÖÐʵÏÖ£¬Í¨¹ýif£¨L<11£©MixColumns£¨£©£¬Ê¹µÃ×îÖÕÂÖÌÞ³ýÁлìºÏ²Ù×÷¡£
¡¡¡¡AES½âÃܵÄʵÏÖ¹ý³ÌÓë¼ÓÃÜʵÏÖ¹ý³ÌµÄ²»Í¬Ö÷ÒªÌåÏÖÔÚµ¥ÂÖ¼ÓÃÜÖУº£¨1£©×Ö½ÚÌæ´úʹÓÃÄæSºÐ£¬Í¨¹ý×ÔÎÒÌæ»»Éú³ÉΪSºÐµÄÄæshe.Invray[4][4][2]£»£¨2£©ÐÐÒÆ¶¯·½ÏòÈ¡·´£¬×óÒÆ¸ÄΪÓÒÒÆ£»£¨3£©ÁлìºÏÓÃÓÚ"³Ë"µÄ¾ØÕó£¬ÐèÔÚÓÐÏÞÓòÉÏģĿ£»£¨4£©ÃÜÔ¿À©Õ¹»ñµÃµÄ×ÓÃÜÔ¿·´Ðò³ÉK10¡¢K9¡¢K8…………K0£¬Ó¦ÓÃÓÚ0¡«10ÂÖ¡£
¡¡¡¡4Ëã·¨¹¦ÄܲâÊÔ
¡¡¡¡Îª½øÐÐËã·¨¹¦ÄܵIJâÊÔ£¬°´ÕÕͼ5ËùʾÊý¾Ý´«ÊäÁ÷³Ì´î½¨²âÊÔÑé֤ϵͳ£¬Ëã·¨Êý¾ÝÀ´×ÔÉÏλ»úµÄÓ¦ÓÃÈí¼þ£¬AESËã·¨µÄ¼Ó½âÃܹ¦ÄÜÔÚeasyARM615оƬÉÏʵÏÖ£¬ARM615ÓëÉÏλ»ú¼äͨ¹ý´®¿Ú½øÐÐͨÐÅ£¬Êý¾ÝµÄ´ò°ü·Ö×éÓÉÉÏλ»úÈí¼þÍê³É£¬Êý¾Ý°üµÄ½á¹¹Èç±í3Ëùʾ¡£
¡¡¡¡±í3
¡¡¡¡ÆäÖÐ×îµÍλD0Ϊ¼Ó½âÃÜģʽ룬µ±D0=1ʱ£¬±íʾ¼ÓÃÜ£¬D0=0ʱ£¬±íʾ½âÃÜ£»Êý¾Ý³¤¶ÈLONG±íʾҪ½øÐмӽâÃÜÔËËãµÄÊý¾ÝµÄ³¤¶È£¬µ¥Î»Îª×Ö½Ú£»ÃÜÔ¿¹Ì¶¨Îª128bit£¬Êý¾Ý×îС³¤¶ÈΪ128±ÈÌØ£¬²»×ã128±ÈÌØ²¹0¡£ÓÉ´Ë¿ÉÖª£¬ARM615½ÓÊÕµÄ×îС³¤¶ÈΪ1+16+16=33×Ö½Ú£¬´®¿ÚͨÐŲÉÓÃÖжϽÓÊÕ¡¢ÂÖѯ·¢Ë͵ÄÊý¾Ý´«Ê䷽ʽ¡£
¡¡¡¡ARM615¿ØÖÆÆ÷ͨ¹ýÖжϷ½Ê½½ÓÊÕÊý¾Ý£¬½ÓÊÕÊý¾Ý³¤¶ÈÓɽÓÊÕµ½µÄµÚÒ»¸ö×Ö½ÚÖеÄÊý¾Ý³¤¶ÈLONG¾ö¶¨£¬²¢½«½ÓÊÕÊý¾Ý¸³Öµ¸øÁÙʱÊý×éalldata[i]£¬¼Ì¶ø½«Êý×éalldata[i]²ð·Ö»ñµÃ¼Ó/½âÃÜģʽ¡¢ÃÜÔ¿¡¢Êý¾ÝÈýÏîÐÅÏ¢£¬½øÐÐAES¼Ó/½âÃÜ¡£×îºóͨ¹ýRS232»ØËÍÃÜ/Ã÷ÎĸøÉÏλ»úÓ¦ÓóÌÐò¡£easyARM615ÉϵijÌÐòÁ÷³ÌÈçͼ6Ëùʾ¡£
¡¡¡¡²âÊÔ½á¹ûÈç±í4Ëùʾ£¬¼Ó½âÃܽá¹ûÕýÈ·£¬ÇÒÓëPCϵÄAESË㷨ʵÏֵĽá¹û½øÐÐÁ˶Աȣ¬½á¹ûÒ»Ö¡£
¡¡¡¡5½áÊøÓï
¡¡¡¡Ëæ×ŸßÐÔÄÜ¡¢µÍ¹¦ºÄµÄǶÈëʽϵͳµÄ¹ã·ºÓ¦Ó㬴øÓа²È«±£Ãܹ¦ÄܵÄǶÈëʽϵͳ²úÆ·½«Õ¼ÓнϴóÊг¡¡£±¾Éè¼Æ½«AES¼ÓÃÜËã·¨ºÍARM615´¦ÀíÆ÷Ïà½áºÏ£¬³ä·ÖÌåÏÖÁËÁ½ÕßµÄÓÅÔ½ÐÔ£¬ÔÚµÍÖÆ×÷³É±¾Ìõ¼þÏ£¬Ìá¸ßÁËϵͳµÄ°²È«ÐÔºÍÔËËãËÙ¶È£¬ÆäʵÏÖ¾ßÓÐÒ»¶¨µÄÓ¦ÓüÛÖµ¡£
¡¡¡¡²Î¿¼ÎÄÏ×
¡¡¡¡[1]ÀîêÍ£¬ÀîÀöÏ㣬ÉÛ˧.¶Ô³ÆÃÜÂëѧ¼°ÆäÓ¦ÓÃ.±±¾©Óʵç´óѧ³ö°æÉ磬2009Äê04ÔÂ.
¡¡¡¡[2]ÎâС²©.AES¼ÓÃÜËã·¨·ÖÎöÓëC++±à³ÌʵÏÖ.¼ÆËã»ú°²È«£¬2007Äê12ÔÂ.
¡¡¡¡[3]ºÎÃ÷ÐÇ£¬ÁÖê».AESËã·¨Ô­Àí¼°ÆäʵÏÖ.2002Äê5ÔÂ.
¡¡¡¡[4]½ðÀö.»ùÓÚARMǶÈëʽϵͳµÄAES¼ÓÃÜË㷨ʵÏÖ.¿Æ¼¼ÐÅÏ¢£¬2010Äê12ÆÚ.
¡¡¡¡[5]ÖÜÁ¢¹¦.ARMCortex-M3¿ª·¢Ö¸ÄÏ.¹ãÖÝÖÂÔ¶µç×ÓÓÐÏÞ¹«Ë¾.2006Äê.
¡¡¡¡×÷Õß¼ò½é£º
¡¡¡¡ÀîÀò£¨1974-£©£¬Å®£¬ºº×壬ɽ¶«ÇൺÈË£¬Ë¶Ê¿Ñо¿Éú£¬¸±½ÌÊÚ£¬Ö÷Òª´ÓÊÂǶÈëʽϵͳ¼°ÐÅÏ¢°²È«µÄÑо¿¡£


¡¡¡¡ºËÐÄÆÚ¿¯Íø£¨www.hexinqk.com£©±ü³Ð¡°³ÏÒÔΪ»ù£¬ÐÅÒÔΪ±¾¡±µÄ×ÚÖ¼£¬Îª¹ã´óѧÕßÀÏʦÌṩͶ¸å¸¨µ¼¡¢Ð´×÷Ö¸µ¼¡¢ºËÐÄÆÚ¿¯ÍƼöµÈ·þÎñ¡£
¡¡¡¡ºËÐÄÆÚ¿¯Íø×¨ÒµÆÚ¿¯·¢±í»ú¹¹£¬ÎªÑ§ÊõÑо¿¹¤×÷Õß½â¾ö±±´óºËÐÄ¡¢CSSCIºËÐÄ¡¢Í³¼ÆÔ´ºËÐÄ¡¢EIºËÐĵÈͶ¸å¸¨µ¼×ÉѯÓëд×÷Ö¸µ¼µÄÎÊÌâ¡£

¡¡¡¡Í¶¸å¸¨µ¼×Éѯµç»°£º18915033935
¡¡¡¡Í¶¸å¸¨µ¼¿Í·þQQ£º ÂÛÎÄͶ¸å1002080872¡¢ ÂÛÎÄͶ¸å1003158336
¡¡¡¡Í¶¸å¸¨µ¼Í¶¸åÓÊÏ䣺1003158336@qq.com
------·Ö¸ôÏß----------------------------
À¸Ä¿ÁÐ±í  
ÍÆ¼öÂÛÎÄ  
ÈȵãÂÛÎÄ  
 
QQÔÚÏß×Éѯ
Ͷ¸å¸¨µ¼ÈÈÏß:
189-1503-3935
΢ÐźÅ×Éѯ:
18915033935
ÍøÕ¾¼ò½é ºË¿¯×ÜÀÀ ÆÕ¿¯×¨À¸ ÆÚ¿¯ÑéÖ¤ ѧÊõ´ðÒÉ ·þÎñÁ÷³Ì д×÷Ö¸ÄÏ Ö§¸¶·½Ê½ ÐÅÓÃ˵Ã÷ ÁªÏµÎÒÃÇ
CopyRight © 2013 All Rights Reserved.
ÃâÔðÉùÃ÷£º±¾Õ¾ÌṩͶ¸å¸¨µ¼ ÂÛÎÄͶ¸å Ͷ¸å¸¨µ¼ ºËÐÄÆÚ¿¯¼ìË÷ ºËÐÄͶ¸å¸¨µ¼µÈ·þÎñ£¬±¾Õ¾¿¯ÔØÎÄÕ½ö´ú±í×÷Õß¹Ûµã
²¢²»Òâζ×ű¾Õ¾ÈÏͬ£¬²¿·Ö×÷Æ·Ïµ×ªÔØ,°æÈ¨¹éÔ­×÷Õß»òÏàÓ¦µÄ»ú¹¹£»Èôijƪ×÷Æ·ÇÖ·¸ÄúµÄȨÀû£¬ÇëÀ´ÐŸæÖª£º1003158336@qq.com