《数论算法》教æ¡?5ç«?原根与离散对æ•? - 百度文库 ÏÂÔر¾ÎÄ

¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԭ¸ùÓëÀëÉ¢¶ÔÊý

¡Ôg¡Ôgr11?p?1?p1gr12?p?1??gr1??1?1??1?3?p?1?p1

r11?p?1?p12p1¼´ ?z1?ÄÇô£¬ÀàËÆÓÚÈ·¶¨r10µÄ·½·¨£¬ÓÉÉÏʽ¿ÉÒÔÈ·¶¨r11¡£

111?p?1??modp? r?p?1?p?g?modp?

?r11p1z?zgͬÀí£¬Èô?1?3£¬¿ÉÁî2£¬ÔòÓÐ 1gr1?r10?r11p1?g2r12p1+??r1??p1?1?1r?1?1

p1?z2??p?1?3p1=gr1?r10?r11p1???p?1?3p1¡Ôg12?p?1??modp?

ÓÉÉÏʽ¿ÉÒÔÈ·¶¨r12¡£

ÒÔ´ËÀàÍÆ£¬¿ÉµÃr13,r14,?,r1??1?1?¡£

ÁíÍ⣬ÓÉÉϱߵÄÍƵ¼¹ý³Ì¿ÉÒÔ¿´³ö£¬ÔÚÈ·¶¨

r10,r11,?,r1??1?1?ʱ£¬Ã¿´Î¶¼Òª·´¸´Óõ½

p1gi?p?1?p1?g??p?1??i?modp?£¨i£½0, 1, ¡­,

p?1?p1£¬¹ÊΪp1?1£©

?Á˼ÆËã·½±ã£¬¿ÉÒÔÁî?1?g£¬Ô¤ÏȼÆËãºÃ

£©£¬²¢ÁÐp£©

?1,?12,?,?1p?1£¨ÏÔÈ»?10?g0??p?1?1p1¡Ô1£¨mod

±íÒÔ±¸Ê¹ÓÃʱֱ½Ó²é±í¼´¿É¡£

¡¾Àý6.4.1¡¿Éèp£½8101£¬g£½6£¬y£½7833¡£Çóxʹ֮Âú×ã

y?gx?modp?

£¨½â£©Ê×ÏÈÓÐ

8101£½6¡Á1350£«1 6(£­1350)¡Ô1£¨mod 8101£©

¡à 6?1¡Ô£­1350¡Ô6751£¨mod 8101£© Æä´Î£¬·Ö½âp?1µÃ

p?1£½8100£½223452

?6¶Ôp1£½2£¬ÓÐ?1?g²¢¹¹Ôì?1i±í£¨¼û±í6.4.1£©¡£

±í6.4.1 ?1i

33/58

?p?1?p181002¡Ô8100£¨mod 8101£©£¬

¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԭ¸ùÓëÀëÉ¢¶ÔÊý

?10 ?1 1 8100

2?6¶Ôp2£½3£¬ÓÐ?2?g¡Ô5883£¨mod 8101£©£¬£¬¹¹Ôì?2i±í£¨¼û±í6.4.2£©¡£ ?22?58832¡Ô2217£¨mod 8101£©

?p?1?p81003

±í6.4.2 ?2i ?20 ?2 ?22 1 5883 2217 ¶Ôp3£½5£¬ÓÐ?3?g?p?1?p?681005¡Ô3547£¨mod 8101£©£¬¹¹Ôì?3i±í£¨¼û±í6.4.3£©¡£

±í6.4.3 ?3i ?30 ?3 ?32 ?33 ?34 1 3547 356 7077 5221

£¨a£©p1£½2£¬?1£½2£ºÐèÒª·Ö±ðÈ·¶¨r10,r11ÒÔ»ñµÃ

3r1=r10+r11?2¡£

£¨a.1£©¼ÆËã

y?p?1?p1?783381002?78334050¡Ô8100£¨mod 8101£©

²é±í6.4.1Öª8100£½?1¡£ËùÒÔ

r10£½1

£¨a.2£©¼ÆËã

z1?yg?r10?7833?6?1¡Ô7833¡Á6751¡Ô5356£¨mod 8101£©

?z1??p?1?2p1?5356810022¡Ô1£¨mod 8101£©

²é±í6.4.1Öª1£½?10¡£ËùÒÔ

r11£½0

¡à r1£½1£«0¡Á2£½1

£¨b£©p2£½3£¬?2£½4£ºÐèÒª·Ö±ðÈ·¶¨r20,r21,r22,r23ÒÔ»ñ

23r=r+r?3+r?3+r?3µÃ22021¡£ 2223£¨b.1£©¼ÆËã

y?p?1?p2?783381003?78332700¡Ô2217£¨mod 8101£©

34/58

²é±í6.4.2Öª2217£½?22¡£ËùÒÔ

¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԭ¸ùÓëÀëÉ¢¶ÔÊý

r20£½2

£¨b.2£©¼ÆËã

z1?yg?r20?7833?6?2?7833?67512¡Ô3593£¨mod 8101£©

?z1??p?1?2p2?3593810032?3593900¡Ô2217£¨mod 8101£©

²é±í6.4.2Öª2217£½?22¡£ËùÒÔ

r21£½2

£¨b.3£©ÔÙËã

z2?z1g?r21p2?3593?6?2?3?3593?67516¡Ô3708£¨mod

8101£©

?z2??p?1?3p2?3708810033?3708300¡Ô5883£¨mod 8101£©

r22£½1

¡à

£¨b.4£©ÔÙËã

z3?z2g2?r22p2?3708?6?1?32?3708?67519¡Ô6926£¨mod

8101£©

?z3??p?1?4p2?6926810034?6926100¡Ô5883£¨mod 8101£©

¡à r23£½1

¡à r2£½2£«2¡Á3£«1¡Á32£«1¡Á33£½44

£¨c£©p3£½5£¬?3£½2

y?p?1?p3?783381005?78331620¡Ô356£¨mod 8101£©

¡à

r30£½2

z1?yg?r30?7833?6?2?7833?67512¡Ô3593£¨mod

8101£©

?z1??p?1?2p3?3593810052?3593324¡Ô356£¨mod 8101£©

¡à r31£½2

¡à r3£½2£«2¡Á5£½12

×îºó£¬¼ÆËã

?1M1=?p?1?p1=3452£½2025£¬

?2M2=?p?1?p2=2252£½100£¬

?3M3=?p?1?p3=2234£½324

35/58

¡¶ÊýÂÛËã·¨¡· µÚÎåÕ ԭ¸ùÓëÀëÉ¢¶ÔÊý

²¢·Ö±ð½âͬÓà·½³Ì

M1M1?1?2025M1?1?1?mod22?

?1?1M2M2?100M2?1?mod34?

M3M3?1?324M3?1?1?mod52?

µÃ

M1?1?1?mod22?£¬

?1M2?64?mod34?£¬

M3?1?24?mod52?¡£

¡à

?1x?1rMM11??1rM?22M2?1rMM33?m3od??1 p¡Ô1¡Á1¡Á2025£«44¡Á100¡Á64£«12¡Á324¡Á24

£¨mod 8100£©

¡Ô4337£¨mod 8100£©

¡à 64337¡Ô7833£¨mod 8101£©»òdlog67833¡Ô4337£¨mod 8100£©

×îºóÐèҪ˵Ã÷µÄÊÇ£ºÓÉÇ°ÃæµÄÍƵ¼¹ý³Ì¿ÉÒÔ¿´³ö£¬Pohlid-HellmanËã·¨ÊÇÀûÓÃÇî¾ÙºÍ±È½ÏÇóµÃr1j£¬²¢ÓÉÆäÔÙÇó

?k?1?2p2?pkµÃr1£¬×îÖյõ½ÎÊÌâµÄ´ð°¸x¡£¹Êµ±p?1?p1Ö»ÓÐ

СµÄËØÒòÊýʱ£¬´ËËã·¨ÓÐЧ¡£·´Ö®£¬Ö»Òªp?1ÓÐÒ»¸öºÜ´óµÄËØÒòÊýq£¬ÔòʹÓñ¾Ëã·¨µÄÒâÒå²¢²»´ó¡£ÒòΪ´Ëʱ¼ÆËã

??gij??p?1?pj?i?modp?£¨i£½0, 1, ¡­, q£©µÄ¹¤×÷Á¿»¹ÊÇ

ºÜ´óµÄ¡£ 5. 4. 2 Shank·¨

Shank£¨ÉÌ¿Ë£©·¨ÊÇÒ»ÖֱȽÏÓÐЧµÄËã·¨£¬²»½öËٶȿ죬¶øÇÒÐèÒªµÄ´æ´¢Á¿Ò²½ÏÉÙ¡£

ÉèÒÑÖªËØÊýp¡¢ÕûÊýaºÍy£¬ÇóxÂú×ã

y?ax?modp?£¬ 0?x£¼n

ÆäÖÐnÊÇaµÄ³Ë·¨ÖÜÆÚ£¬¼´a?1?modp?¡£

ÎÊÌâµÈ¼ÛÓÚÇóÀëÉ¢¶ÔÊýx?dlogp,ay¡£

nShank·¨µÄÔËËãÊÇÔÚÓÐÏÞÓòGF?p?ÉϽøÐУ¨¼´ÊÇÔÚ¼¯ºÏZp36/58