рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ - рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд▓рд╛ рдШреЛрдбрд╝рд╛ред рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рдХреНрд╕ рдХреА рдЫрд╛рдпрд╛ рдореЗрдВ рдЕрдпреЛрдЧреНрдп рд░реВрдк рд╕реЗ рд╢реЗрд╖ рд╣реИрдВ, рд╡реЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рддреНрд░ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рддрддреНрд╡ рд╣реИрдВ, рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ, рд╕рд┐рдореБрд▓реЗрд╢рди рдореЙрдбрд▓рд┐рдВрдЧ рдореЗрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЪрдХреНрд░рд╡рд╛рдд рдЧрдарди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ!
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдгрд╛рдореА рдЕрдиреБрдХреНрд░рдо рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рд╣реА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реА рдХреЛ рдореМрдХрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред"

рдПрдХ рдЫрджреНрдо рдЖрдпрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдпрд╛рд░реЛ, рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХреНрд░рд┐рдкреНрдЯреЛ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреИрд╕реЗ рдПрдИрдПрд╕ -256, рдПрд╕рдПрдЪрдП -1, рдПрдордбреА 5; Microsoft рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реА рд╡рд┐рджреЗрд╢реА рдЕрд░рд╛рдЬрдХрддрд╛ рдФрд░ PRAND рдФрд░ рдЕрдиреНрдпред
рд▓реЗрдХрд┐рди рдЗрд╕ рдиреЛрдЯ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЕрд▓рдЧ рд╣реИред рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ / рджреЗрд╡ / рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрджреНрдо-рдЙрдкрдХрд░рдг, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдореЗрдВ рдФрд░ рд╕рд┐рдлрд░ рдмрдирд╛рддреЗ рд╕рдордпред рдпрд╣
LFSR (рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд░рд╛рдп рд╣реИ рдХрд┐ рдШрдиреЗ рдмрд╣реБрдкрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, LFSR рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВред
LFSR рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛
рд╡рд╕реНрддреБрддрдГ, LFSR рдПрдХ рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╛рд░реА рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ рдкрд╛рд▓реА рд░рдЬрд┐рд╕реНрдЯрд░ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд╝рдВрдХреНрд╢рдиред рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ; рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ рдЗрди рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИред

рдЬрдм рдПрдХ рдмрд┐рдЯ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдмрд┐рдЯреНрд╕ рдХреЛ рдПрдХ рд╕реНрдерд┐рддрд┐ рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирдИ рд╕рдмрд╕реЗ рдмрд╛рдИрдВ рдмрд┐рдЯ рдирд┐рд╖реНрдХрд░реНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рд╢реЗрд╖ рдмрд┐рдЯреНрд╕ рдХреЗ рдХрд╛рд░реНрдп рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЙрддреНрдкрд╛рджрд┐рдд рдЕрдиреБрдХреНрд░рдо рдХреЗ рдЧреБрдг рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрдкрдж рдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рдиреЙрдирдЬрд╝реЗрд░реЛ рдЧреБрдгрд╛рдВрдХ рдХреЛ рдЯреИрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлреАрдбрдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдПрд▓рдПрдлрдПрд╕рдЖрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рдмрд┐рдЯ рдХреНрд╖реЗрддреНрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдЯреИрдк
рдЗрдВрдбрд┐рдХреЗрд╢рдВрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░, рдПрд▓рдПрдлрдПрд╕рдЖрд░ рдХрд╛рдЙрдВрдЯрд░реНрд╕, рдФрд░ рд▓реЙрдиреНрдЧ рд╕реНрдпреВрдбреЛ-рд░реИрдВрдбрдо рд╕реАрдХреНрд╡реЗрдВрд╕ рдЬреЗрдирд░реЗрдЯрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рддреЛ, LFSR рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдШрдиреЗ рдмрд╣реБрдкрдж рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд┐рдЯ рд╕рдВрдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг, рдЬреИрд╕реЗ рдХрд┐ XOR, рдЧрддрд┐ рдЕрдХреНрд╕рд░ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЙрд╕реЗ "рд╡рд╛рд░реНрдо рдЕрдк" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЧреИрд▓реЛрдЬрд╝ рд╕реНрдХреАрдо рдХреЗ рд╕рд╛рде рдПрдХ рдПрд▓рдПрдлрдПрд╕рдЖрд░ рд╕рдВрд╢реЛрдзрди рднреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдерд╛, рдПрд▓рдПрдлрдПрд╕рдЖрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЙрд▓ рдХрд╛ рдПрдХ рдЪрдХреНрд░ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓рдЧрднрдЧ рджреЛ рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛, рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рд╣реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╣реЛрддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░ рд╣рдо рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рджреЗрдЦрддреЗ рд╣реИрдВ:
int LFSR (void) { static unsigned long S = 0xFFFFFFFF; S = ((( (S>>0)^(S>>1)^(S>>2)^(S>>4)^(S>>6)^(S>>31) ) & 1 ) << 31 ) | (S>>1); return S & 1; }
рдХреНрд░реВрд░ред рдпрд╣рд╛рдВ, рдХрдо рд╕реЗ рдХрдо, рд╣рдо рдзреНрд╡рдЬ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рдорддрд╛ рдзреНрд╡рдЬ PF (рд╕рдорддрд╛ рдзреНрд╡рдЬ) рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ XORs рдФрд░ рдкрд╛рд░рд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореЛрдбреБрд▓реЛ 2 (XOR) рдЬреЛрдбрд╝ рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдорддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдЗрдЯ рдЗрдХрд╛рдИ (рдЧреИрд░-рд╢реВрдиреНрдп) рдмрд┐рдЯреНрд╕ рдХреА рдПрдХ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдХреЗрд╡рд▓ рдПрдХрдорд╛рддреНрд░ рд╕рдорддрд╛ рдзреНрд╡рдЬ PF рд╕реЗрдЯ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
xor ecx,ecx mov ebx,0FFFFFFFFh ; S mov eax,080000057h ; taps (32,31,30,28,26,1) and ebx,eax mov cl,ah sar ebx,018h lahf xor cl,ah sar cl,02h and cl,01h
рдШрдиреЗ рдмрд╣реБрдкрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рдирд▓ рдХреЛ 32-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 4 рдмрджрд▓рд╛рд╡ рдФрд░ 3 XOR рдСрдкрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:
xor ecx,ecx mov ebx,0FFFFFFFFh ; S mov eax,095324C57h ; taps (32,31,30,28,26,22,21,18,15,12,11,8,6,4,1) and ebx,eax lahf mov cl,ah ; [0-7] bits sar ebx,08h lahf xor cl,ah ; [8-15] bits sar ebx,08h lahf xor cl,ah ; [16-23] bits sar ebx,08h lahf xor cl,ah ; [24-31] bits sar cl,02h and cl,01h
рд╡рд┐рдЪрд▓рди: рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╕рд░ рдИрдмреЗрдХреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛, 08h рдкрд╛рд▓реА рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ, рддреЛ XOR рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдПрдЪ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкрд▓рдЯрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреАрдПрдл рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдиреЙрдирдЬреЗрд░реЛ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рд╣реЛрддреА рд╣реИред рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЪрд╛рд╣рд┐рдПредрдЬреЛ рдЕрдм рднреА рдХреБрдЫ рд╣рдж рддрдХ рдХреЛрд╖реЗрд░ рд╣реИ:
int LFSR (void) { static unsigned long S = 0xFFFFFFFF; S = ((( (S>>0)^(S>>1)^(S>>2)^(S>>4)^(S>>6)^(S>>10)^(S>>11)^ (S>>14)^(S>>17)^(S>>20)^(S>>21)^(S>>24)^(S>>26)^ (S>>28)^(S>>31) ) & 1 ) << 31 ) | (S>>1); return S & 1; }
рдЕрдЧрд▓рд╛ рдХрджрдо рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рдПрдлрдПрд╕рдЖрд░ рд░рд╛рдЬреНрдп рдкрд░ рдореЗрдореЛрд░реА рдХреЛ рд╕реАрдзреЗ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
sal edx,01h or dl,cl
рдФрд░ 32 рд░рд╛рдЬреНрдпреЛрдВ (edx DWORD) рддрдХ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдЧрд░ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ 128-рдмрд┐рдЯ LFSR (рдЕрдЪрд╛рдирдХ) рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо MMX рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ (рдХреЗрд╡рд▓ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рдзрди) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкреЗрдВрдЯрд┐рдпрдо рдкрд░рд┐рд╡рд╛рд░ рдХреЗ 32-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд╕реНрд░реЛрдд рдХреЛрдбрд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб (x86):
pastebin.com/rwKfsYsNрд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб:
www.sendspace.com/file/atg0cfрдЕрдкрдбреЗрдЯ:рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рд╕рдВрд╕реНрдХрд░рдг:
pastebin.com/B3kPEaewрд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб:
www.sendspace.com/file/9bl5di- 128-рдмрд┐рдЯ рдПрд▓рдПрдлрдПрд╕рдЖрд░
- MMX рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛
- x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
- 2097120 (0FFFFh x 32) рд░рдЬрд┐рд╕реНрдЯрд░ LFSR рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓реЗрдВ
рдЕрдВрдд рдореЗрдВ
рдЕрдВрдд рдореЗрдВ, рдХрд╛рдо рдХреА рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - 2 097 120 (0FFFFh x 32) рдХреЛ рдмрджрд▓рдХрд░ 128-рдмрд┐рдЯ LFSR "рд╡рд╛рд░реНрдорд┐рдВрдЧ" рдПрдордПрдордПрдХреНрд╕ рдФрд░ рдХреЙрдлреА рд░рдЬрд┐рд╕реНрдЯрд░ рдлреНрд▓реИрдЧ (рдХреЙрдлреА рдбрд┐рд╕реНрдкреНрд▓реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЗрд░реЗ рдкреАрд╕реА рдкрд░ рд▓рдЧрднрдЧ 5 рд╕реЗрдХрдВрдб рд▓рдЧреЗред рдЗрд╕реА рд╕рдордп, рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди, рд▓реЗрдХрд┐рди 128-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рднреА, рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 2-3 рдорд┐рдирдЯ рд▓рдЧреЗред
рдЗрд╕реА рд╕рдордп, рдореБрдЦреНрдп рдХреНрд░рд┐рдорд┐рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдкреИрд░рд┐рдЯреА рдлреНрд▓реИрдЧ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╣реБрдкрдж рдШрдирддреНрд╡ рдХрд╛ рдирдП рдПрд▓рдПрдлрдПрд╕рдЖрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рдЙрд▓рдЯрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрдгрдирд╛ рдХреА рджрд░ рдкрд░ рдПрдХ рдордЬрдмреВрдд рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╢реИрд▓реА рдореЗрдВ рдХрдерди:
тАЬRSLOS рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмреЗрд╣рдж рдЕрдХреНрд╖рдо рд╣реИред рдЖрдкрдХреЛ рд╡рд┐рд░рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреЙрд▓реАрдУрдирд┐рдпрдореНрд╕ рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рд╣рд╕рдВрдмрдВрдз рдХреЛ рддреЛрдбрд╝рдХрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреВрдЯреЗрдВрдЧреЗред рдФрд░ рдШрдиреЗ рдмрд╣реБрдкрдж рдХреА рдЧрдгрдирд╛ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдХреА рдЬрд╛рддреА рд╣реИ тАЭ(рдпрд╣рд╛рдБ рд╕реЗ:
ru.wikipedia.org/wiki/LFSR ) рдХреБрдЫ рд╣рдж рддрдХтАж рдЕрд╕реНрдерд┐рд░ рд╣реИрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :)
ps рдФрд░ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдХреНрдпрд╛ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдХреЛрдбрд╛рдВрддрд░рдХ рдЖрд╡реЗрд╖рдг рдХреЗ рдмрд┐рдирд╛, рдЬрд┐рд╕рдХрд╛ рд░рдирдЯрд╛рдЗрдо рдЬрдм 2 097 120 (0FFFFh x 32) рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ 128-рдмрд┐рдЯ рдПрдлрдПрдлрдПрд╕рдЖрд░ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдпреЛрдВ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0.5 рд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рд╣реЛрдЧрд╛?