55 рд╡рд░реНрд╖реАрдп рдмреБрдЬреБрд░реНрдЧ рдЖрдИрдмреАрдПрдо 1401 рдкрд░ рдЦрдирди рдмрд┐рдЯрдХреЙрдЗрди

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ mark_ablov" рдХрд╛рдЧрдЬ рдФрд░ рдХрд▓рдо рдХреЗ рд╕рд╛рде рдмрд┐рдЯрдХреЙрдЗрди рдЦрдирди рдХрд░рдХреЗ, " рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рд╣рд╛рдЗрдХрдЯрд╛рдЗрдо рдкрд╛рдардХреЛрдВ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдЕрдиреНрдп рдкрд╛рдЧрд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ рдХреЗрди рд╢рд┐рд░рд┐рдл рдХреЛ рдХреНрдпрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖред

рдХреНрдпрд╛ рдкрд┐рдЫрд▓реА рд╕рджреА рдХреЗ 60 рдХреЗ рджрд╢рдХ рд╕реЗ рдЖрдИрдмреАрдПрдо рдореЗрдирдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦрдирди рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ? рдореИрдВ рдЗрд╕ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдкрд╛рдЧрд▓ рд╡рд┐рдЪрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдмрд┐рдЯрдХреЙрдЗрди рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЖрдИрдмреАрдПрдо 1401 рдХреЗ рд▓рд┐рдП рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рд╛рдЪреАрди рдореЗрдирдлреНрд░реЗрдо рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдореЙрдбрд▓ рдкрд░ рдЪрд▓рд╛рдХрд░ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред


рдЫрд┐рджреНрд░рд┐рдд рдХрд╛рд░реНрдб рдХреЛ IBM 1401 рдореЗрдирдлреНрд░реЗрдо рдкрд░ SHA-256 рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЫрд┐рджреНрд░рд┐рдд рдХрд╛рд░реНрдб рдХреЗ рдкреАрдЫреЗ рдПрдХ рдкреНрд░рд┐рдВрдЯрдЖрдЙрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рдкрд░рд┐рдгрд╛рдореА рд╣реИрд╢ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдЗрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреЗ рдкреВрд░реЗ рдЬреАрд╡рдирдХрд╛рд▓ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рдХреЗ рд╕рдлрд▓ рдЦрдирди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЬрдмрдХрд┐ рдЖрдзреБрдирд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрдкрдХреЛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрд░рдмреЛрдВ рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╡рд╣реАрдВ рдХрдВрдкреНрдпреВрдЯрд░ 1401 рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 80 рд╕реЗрдХрдВрдб рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рджрд╢рдХреЛрдВ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдкреНрд░рдЧрддрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЬрд┐рд╕реЗ рдЧреЙрд░реНрдбрди рдореВрд░ рдХреЗ рдХрд╛рдиреВрди рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдкрдВрдЪ рдХрд╛рд░реНрдб рдЬреЛ рдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рдкреНрд░рд┐рдВрдЯрд░ рдХреЗ рд╕рд╛рде SHA-256 рдкреНрд░рд┐рдВрдЯрдЖрдЙрдЯ рдХреЛ рдКрдкрд░ рдХреА рддрд╕реНрд╡реАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдкрд╣рд▓рд╛ рдкрдВрдЪ рдХрд╛рд░реНрдб рдХреЗрд╡рд▓ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ - рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛)ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╢реВрдиреНрдп рдХреЗ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИ; рдЗрд╕рдХрд╛ рдорддрд▓рдм рдПрдХ рд╕рдлрд▓ рд╣реИрд╢ рд╣реИред

рдмрд┐рдЯрдХреЙрдЗрди рдорд╛рдЗрдирд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд


рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореБрджреНрд░рд╛ рдмрд┐рдЯрдХреЙрдЗрди (рдмрд┐рдЯрдХреЙрдЗрди), рдЬрд┐рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯрдХреЙрдЗрди рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд▓реЗрдЦрд╛рдВрдХрди рдкрддреНрд░рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдХреНрдХреЛрдВ (рдмрд┐рдЯрдХреЙрдЗрди) рдХреЗ рдорд╛рд▓рд┐рдХ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рд┐рдХреНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рд╕рджрд╕реНрдп рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдХреНрдХреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрд┐рдЯрдХреЙрдЗрди рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рд╣реИ: рдЗрд╕рдореЗрдВ рдПрдХ рднреА рдирд┐рдпрд╛рдордХ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд▓реЗрдирджреЗрди рдХреА рдкреНрд░рдЧрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╣рдЬрд╛рд░реЛрдВ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд░рд┐рдХреЙрд░реНрдб рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред

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

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЦрдирди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреЗрд╣рдж рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд▓реЗрдирджреЗрди рдЦрдирди рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдмрд┐рдЯрдХреЙрдЗрди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрдард┐рди рдФрд░ рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рддрдерд╛рдХрдерд┐рдд "рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ" рддрдХрдиреАрдХ рд╣реИред

рдмреНрд▓реЙрдХ рдЦрдирди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд▓рд╛рдЧрдд рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмреНрд▓реЙрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╣рдХрд░реНрдореА рд╕реЗ рд╕рд╣рдХрд░реНрдореА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдХреА рд╡реИрдзрддрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦрдирди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рдлрд░реНрдЬреА рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрддреА рд╣реИ, рдФрд░ рдмреНрд▓реЙрдХ рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдореЗрдВ рдЖрд╕рд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реЗрдирджреЗрди рдХреА рд╡реИрдзрддрд╛ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдЦрдирди рдХрд╛ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирдП рдмрд┐рдЯрдХреЙрдЗрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рд░ рдХреЛрдИ рдЬреЛ рдмреНрд▓реЙрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП 25 рдЙрддреНрдкрдиреНрди рдмрд┐рдЯрдХреЙрдЗрди рдорд┐рд▓рддреЗ рд╣реИрдВ (рдЕрдм рдкрд╛рд░рдВрдкрд░рд┐рдХ рдореМрджреНрд░рд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЖрднрд╛рд╕реА рд╕рд┐рдХреНрдХреЛрдВ рдХреА рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреА рдХреАрдордд рд▓рдЧрднрдЧ 6 рд╣рдЬрд╛рд░ рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рд╣реИ)ред рдпрд╣ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдЦрдирд┐рдХреЛрдВ рдХреЛ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреЗ рдФрд░ рдЦрдирди рдкрд░ рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд░ 10 рдорд┐рдирдЯ рдореЗрдВ 6 рд╣рдЬрд╛рд░ рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЦрдирди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рд╕реЛрдиреЗ рдХреА рдЦрд╛рди" рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦрдирди рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред


рд▓рд╛рдЗрди рдкреНрд░рд┐рдВрдЯрд░ рдФрд░ рдЖрдИрдмреАрдПрдо 1401 рдореЗрдирдлреНрд░реЗрдо рдХрдВрдкреНрдпреВрдЯрд░ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛ рд░рд╣рд╛ рдерд╛ред рдХрдВрд╕реЛрд▓ рд╢реАрд░реНрд╖ рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реИред рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЕрдВрдзреЗрд░реЗ рдЖрдпрддрд╛рдХрд╛рд░ рдкреИрдирд▓ рд░реИрдХ рдХреЗ "рджрд░рд╡рд╛рдЬреЗ" рд╣реИрдВ рдЬреЛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реБрдП, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред

рдЦрдирди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреЗрд╣рдж рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдмрд┐рдЯрдХреЙрдЗрди рдорд╛рдЗрдирд┐рдВрдЧ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбрдмрд▓ SHA-256 рдирд╛рдордХ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИред рд╣реИрд╢ рдЗрдирдкреБрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдо рд╣реИрд╢ рдорд╛рди (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, 256 рдмрд┐рдЯ) рдореЗрдВ рдШрдЯрд╛рддрд╛ рд╣реИред

рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣реИрд╢рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рджреНрд░рд╡реНрдпрдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд╛рдВрдЫрд┐рдд рд╣реИрд╢ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЗрдирдкреБрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рд░ рдХреЛрдИ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣реИрд╢рд┐рдВрдЧ "рдкреНрд░реВрдл-рдСрдл-рд╡рд░реНрдХ" рдмрд┐рдЯрдХреЙрдЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ, рдХрд┐рд╕реА рдмреНрд▓реЙрдХ рдХреЛ рдореБрд╕реНрдХреБрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдирдП рд▓реЗрдирджреЗрди рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣реИрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣реИрд╢ рдорд╛рди 16 рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреНрд▓реЙрдХ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреБрд╖реНрдЯрд┐ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд┐рдЯрдХреЙрдЗрди рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд╣реИрд╢ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдПрдХ рдЕрд░рдм рд╕реЗ рдЕрдзрд┐рдХ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рдмреНрд▓реЙрдХ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ 10 рдорд┐рдирдЯ рдореЗрдВ, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмреНрд▓реЙрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рд▓реЙрдЯрд░реА рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЦрдирд┐рдХ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рдПрдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рдж рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ "рд╡рд┐рдЬреЗрддрд╛" рдирд╣реАрдВ рдмрди рдЬрд╛рддрд╛ред рд╣реИрд╢рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ: рдкреГрдереНрд╡реА рдХреЗ рдкреВрд░реЗ рд░реЗрдд рдореЗрдВ рд░реЗрдд рдХрд╛ рдПрдХ рдЕрдирд╛рдЬ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдПрдХ рд╡реИрдз рд╣реИрд╢ рдореВрд▓реНрдп рдЦреЛрдЬрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВредрдРрд╕реЗ рд╣реИрд╢ рдореВрд▓реНрдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦрдирд┐рдХ рдЦрдирди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд▓реИрд╕ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдмрд┐рдЯрдХреЙрдЗрди SHA-256 рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдердо


рдЕрдм рдореИрдВ рдмрд┐рдЯрдХреЙрдЗрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦреВрдВрдЧрд╛, рдЬреЛ SHA-256 рдирд╛рдордХ рдПрдХ рдорд╛рдирдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдмрд┐рдЯрдХреЙрдЗрди рд╕рд┐рд╕реНрдЯрдо "рдбрдмрд▓ SHA-256" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ SHA-256 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред SHA-256 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкреЗрдВрд╕рд┐рд▓ рдФрд░ рдХрд╛рдЧрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдЪрдореБрдЪ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрдкрдХреЛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрдирдкреБрдЯ рдкрд░ 64 рдмрд╛рдЗрдЯ рдмреНрд▓реЙрдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЗ 256 рдмрд┐рдЯреНрд╕ (32 рдмрд╛рдЗрдЯреНрд╕) рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рджреМрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ 64 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЪрд┐рддреНрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдПрдХ рджреМрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрда 4-рдмрд╛рдЗрдЯ рдмреНрд▓реЙрдХ рд▓реЗрддрд╛ рд╣реИ, рдП рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрдИ рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдП рдХреЗ рд▓рд┐рдП рдирдП рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред


рдЧреЛрд▓ SHA-256, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ , kockmeyer рджреНрд╡рд╛рд░рд╛, CC BY-SA 3.0

рдЧрд╣рд░реЗ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рдмреНрд▓реЙрдХ рдПрдХ рдЧреИрд░-рд░реИрдЦрд┐рдХ рдлреИрд╢рди рдореЗрдВ рдмрд┐рдЯреНрд╕ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИред (рдпрджрд┐ рдЖрдк рд╕рдлрд▓ рд╣реИрд╢ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрд┐рддреАрдп рддреЗрдЬреА рд╕реЗ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд┐рдЯрдХреЙрдЗрди рдХреЗ рдЦрдирди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╕реЗрд▓ тАЬрд╕реЗрд▓реЗрдХреНрдЯтАЭ Ch, рдЗрдирдкреБрдЯ E рдХреЗ рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ F рдпрд╛ G рд╕реЗ рдмрд┐рдЯреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рд╕реЗрд▓ тАЬтАЭ тАЭрдпреЛрдЧтАЬ рдмрд┐рдЯреНрд╕ рдП (рдпрд╛ E) рддреАрди рдЪрдХреНрд░реАрдп рд╢рд┐рдлреНрдЯ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдореЙрдбреБрд▓реЛ 2 рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рд╕реЗрд▓ рдорд╛ "рдмрд╣реБрдордд" рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рддрд┐ рдП, рдмреА рдФрд░ рд╕реА рдкрд░ рдмрд┐рдЯреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ 0 рдпрд╛ 1 рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдмрд╣реБрдордд рдореЗрдВ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд▓рд╛рд▓ рдХреЛрд╢рд┐рдХрд╛рдПрдВ 32-рдмрд┐рдЯ рдкрд░рд┐рд╡рд░реНрдзрди рдХрд░рддреА рд╣реИрдВ, рдП рдФрд░ рдИ рдХреЗ рд▓рд┐рдП рдирдП рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИрдВред рдЗрдирдкреБрдЯ рдбрдмреНрд▓реНрдпреВрдЯреА рдереЛрдбрд╝рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдЗрдирдкреБрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред (рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЗрдирдкреБрдЯ рдмреНрд▓реЙрдХ рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред) рдЗрдирдкреБрдЯ рдХреЗрдЯреА рдкреНрд░рддреНрдпреЗрдХ рджреМрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред

рдЙрдкрд░реНрдпреБрдХреНрдд рджреГрд╖реНрдЯрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреЗрд╡рд▓ A рдФрд░ E рдкреНрд░рддрд┐ рдЪрдХреНрдХрд░ рдмрджрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╢реЗрд╖ рдорд╛рди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред A рдХрд╛ рдкреБрд░рд╛рдирд╛ рдорд╛рди B рдХрд╛ рдирдпрд╛ рдорд╛рди рдмрди рдЬрд╛рддрд╛ рд╣реИ, B рдХрд╛ рдкреБрд░рд╛рдирд╛ рдорд╛рди C рдХрд╛ рдирдпрд╛ рдорд╛рди рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рд╣рд╛рд▓рд╛рдВрдХрд┐ SHA-256 рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЙрдВрдб рдбреЗрдЯрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рддрд╛ рд╣реИ, 64 рд░рд╛рдЙрдВрдб рдХреЗ рдмрд╛рдж рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИрд╢ рдорд╛рди рджреЗрддрд╛ рд╣реИред

рдЗрдмреНрдо 1401


рдореИрдВрдиреЗ рдЖрдИрдмреАрдПрдо 1401 рдореЗрдирдлреНрд░реЗрдо рдкрд░ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ 1959 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ 60 рдХреЗ рджрд╢рдХ рдХреЗ рдордзреНрдп рддрдХ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд┐рдХрдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдмрди рдЧрдпрд╛ - рдЙрд╕ рд╕рдордп 10 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдорд╢реАрдиреЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реБрдИрдВред 1401 рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ 1960 рдХреЗ рд▓рд┐рдП рднреА рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрдкреНрдпреВрдЯрд░ рдирд╣реАрдВ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд╕реНрддреА рдереА рдЬреЛ рдкрд╣рд▓реЗ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддреА рдереА, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЗрд╕реЗ рдХрдо рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд░рд╛рдП рдкрд░ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ - $ 2,500 рдкреНрд░рддрд┐ рдорд╛рд╣ред

IBM 1401 рдореЗрдВ рд╕рд┐рд▓рд┐рдХреЙрди рдЪрд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдХреЛрдИ рдЪрд┐рдкреНрд╕ рдирд╣реАрдВ рдереЗред рдЗрд╕рдХреЗ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░реНрд╕, рдЬрд░реНрдореЗрдирд┐рдпрдо рдХреНрд░рд┐рд╕реНрдЯрд▓ рдкрд░ рдмрдирд╛рдП рдЧрдП рдереЗ, рдЬреЛ рд╕рд┐рд▓рд┐рдХреЙрди рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдереЗред рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░, рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде, рдПрд╕рдПрдордПрд╕ рдХрд╛рд░реНрдб рдирд╛рдордХ рддрд╛рд╢ рдХреЗ рдкрддреНрддреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рд╡рд╛рд▓реЗ рдмреЛрд░реНрдбреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдРрд╕реЗ рдХрд╛рд░реНрдб рд╢рд╛рдорд┐рд▓ рдереЗ, рдЬрд┐рдиреНрд╣реЗрдВ "рджрд░рд╡рд╛рдЬреЗ" рдирд╛рдордХ рд░реИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред IBM 1401 рдореЗрдВ рдмреАрд╕ рдРрд╕реЗ "рджрд░рд╡рд╛рдЬреЗ" рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдКрдкрд░ рдЪрд┐рддреНрд░рдг рдореЗрдВ, рдПрдХ рдЦреБрд▓рд╛ рджрд░рд╡рд╛рдЬрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдкреНрд╕ рдФрд░ рдХреЗрдмрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рдЪрд┐рддреНрд░рдг рдЖрдИрдмреАрдПрдо 1401 рдореЗрдирдлреНрд░реЗрдо рдХрд╛ рдПрдХ рдЦреБрд▓рд╛ рд░реИрдХ (рддрдерд╛рдХрдерд┐рдд "рджрд░рд╡рд╛рдЬрд╛") рджрд┐рдЦрд╛рддрд╛ рд╣реИред рддрд╕реНрд╡реАрд░ рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рдПрд╕рдПрдордПрд╕ рдХрд╛рд░реНрдб рджрд┐рдЦрд╛рддреА рд╣реИред рдпрд╣ рд░реИрдХ рдЯреЗрдк рдбреНрд░рд╛рдЗрд╡ рдЪрд▓рд╛рддрд╛ рд╣реИ

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдХрд╛рд░реНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдЖрдзреБрдирд┐рдХ рдкреАрд╕реА рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рдерд╛ред рдЗрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмрд╛рдЗрдирд░реА-рдХреЛрдбреЗрдб рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ (BCD) рдкрд░ рдЖрдзрд╛рд░рд┐рдд 6-рдмрд┐рдЯ рд╡рд░реНрдг рдереЗред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рдЖрд░реНрдерд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрдгрдирд╛ рдорд╢реАрди рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдиреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рдмрдЬрд╛рдп рджрд╢рдорд▓рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рд╕реНрдореГрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рд┐рддреНрд░ рдХрд╛ 0 рд╕реЗ 9 рддрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдореВрд▓реНрдп рдерд╛ред рдЪреБрдВрдмрдХреАрдп рдХреЛрд░ рдкрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ 4000 рд╡рд░реНрдг рд╣реЛрддреЗ рдереЗред рдПрдХ рдореЗрдореЛрд░реА рд╡рд┐рд╕реНрддрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдиреЗ рдбрд┐рд╢рд╡реЙрд╢рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ 12,000 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдореЗрдореЛрд░реА рдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛ рджреАред рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЫрд┐рджреНрд░рд┐рдд рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд╛рд░реНрдб рд░реАрдбрд░ рдХрд╛рд░реНрдб рд╕реЗ рдбреЗрдЯрд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрдврд╝рддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рд╡рд╛рд▓реЗ рдбреНрд░реЗрди рдкреНрд░рд┐рдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирдХреНрд╢реЗ рдкрд░ рдореБрдХреНрдХрд╛ рдорд╛рд░рд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдХрдВрдкреНрдпреВрдЯрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдпрдорд╛рдЙрдВрдЯреЗрди рд╡реНрдпреВ рдореЗрдВ, рдЗрд╕рдореЗрдВ рджреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрдИрдмреАрдПрдо 1401 рдореЗрдирдлреНрд░реЗрдо рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░, рдореИрдВрдиреЗ SHA-256 рд╣реИрд╢ рдХреЛрдб рдЪрд▓рд╛рдпрд╛ред рдореИрдВ рдЖрдИрдмреАрдПрдо 1401 рдкрд░ рдЕрдкрдиреЗ рд▓реЗрдЦ рдлреНрд░реИрдХреНрдЯрд▓реНрд╕ рдореЗрдВ рдЖрдИрдмреАрдПрдо 1401 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ
ред

IBM 1401 рдкрд░ SHA-256 рдЪрд▓рд╛рдирд╛


рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ IBM 1401 рдХрдВрдкреНрдпреВрдЯрд░ рдЙрди рд╕рднреА рдорд╢реАрдиреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ SHA-256 рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдРрд╕реА рдорд╢реАрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ 32-рдмрд┐рдЯ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрд┐рдЯ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреА рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдИрдмреАрдПрдо 1401 32-рдмрд┐рдЯ рд╢рдмреНрджреЛрдВ рдпрд╛ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ 6-рдмрд┐рдЯ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд┐рдЯ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ, рдмрд╛рдЗрдирд░реА рдХреЗ рдмрдЬрд╛рдп, рджрд╢рдорд▓рд╡ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, 1401 рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдзреАрдорд╛ рдФрд░ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдкреНрд░рддрд┐ рдмрд┐рдЯ рдПрдХ рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ред 32-рдмрд┐рдЯ рдорд╛рди 32 рд╡рд░реНрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╛ рддреЛ "0" рдпрд╛ "1"ред рдореЗрд░рд╛ рдХреЛрдб рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рд╕рдВрдЪрд╛рд▓рди, рдЧреБрдгрди рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдЪрд░рд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдерд╛, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рд┐рддреНрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдФрд░ рдпрд╣ рддрдп рдХрд░рдирд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЬреЛ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рд▓рд┐рдЦрд╛ рдерд╛, рдЙрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреЛрдб рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдХреЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд░реВрдк рдореЗрдВ SHA-256 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ 1401 рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдФрд░ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рд▓рд┐рдЦрдиреА рдереАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдИрдмреАрдПрдо 1401 рдХреЗ рд▓рд┐рдП рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИред рдпрд╣ рдХреЛрдб рд╕рдмрд░реВрдЯреАрдиреНрд╕ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рд╕рдВрдЪрд╛рд▓рди рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд рдХреЛрдб рджреЗрдЦреЗрдВ:
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
job  bitcoin
     * SHA-256 hash
     * Ken Shirriff  http://righto.com
               ctl  6641

               org  087
     X1        dcw  @000@
               org  092
     X2        dcw  @000@
               org  097
     X3        dcw  @000@
     
               org  333
     start     cs   299
               r
               sw   001
               lca  064, input0
               mcw  064, 264
               w
     * Initialize word marks on storage
               mcw  +s0, x3

     wmloop    sw   0&x3  
               ma   @032@, x3
               c    +h7+32, x3
               bu   wmloop
     
               mcw  +input-127, x3      * Put input into warr[0] to warr[15]
               mcw  +warr, x1
               mcw  @128@, tobinc
               b    tobin
     
     * Compute message schedule array w[0..63]
  
               mcw  @16@, i
     * i is word index 16-63   
     * x1 is start of warr[i-16], i.e. bit 0 (bit 0 on left, bit 31 on right)   
               mcw  +warr, x1
     wloop     c    @64@, i
               be   wloopd
     
     * Compute s0
               mcw  +s0, x2
               za   +0, 31&x2               * Zero s0
     * Add w[i-15] rightrotate 7
               sw   7&x2               * Wordmark at bit 7 (from left) of s0
               a    56&x1, 31&x2       * Right shifted: 32+31-7 = bit 24 of w[i-15], 31 = end of s0
               a    63&x1, 6&x2        * Wrapped: 32+31 = end of w[i-15], 7-1 = bit 6 of s0   
               cw   7&x2               * Clear wordmark
     * Add w[i-15] rightrotate 18
               sw   18&x2              * Wordmark at bit 18 (from left) of s0
               a    45&x1, 31&x2       * Right shifted: 32+31-18 = bit 13 of w[i-15], 31 = end of s0
               a    63&x1, 17&x2       * Wrapped: 32+31 = end of w[i-15], 18-1 = bit 17 of s0   
               cw   18&x2              * Clear wordmark
     * Add w[i-15] rightshift 3
               sw   3&x2               * Wordmark at bit 3 (from left) of s0
               a    60&x1, 31&x2       * Right shifted: 32+31-3 = bit 28 of w[i-15], 31 = end of s0
               cw   3&x2               * Clear wordmark
     * Convert sum to xor
               mcw  x1, x1tmp
               mcw  +s0+31, x1         * x1 = right end of s0
               mcw  @032@, x2          * Process 32 bits
               b    xor
               sw   s0                 * Restore wordmark cleared by xor
     
               mcw  x1tmp, x1
     
     * Compute s1         
               mcw  +s1, x2
               za   +0, 31&x2               * Zero s1
     * Add w[i-2] rightrotate 17
               sw   17&x2              * Wordmark at bit 17 (from left) of s1
               a    462&x1, 31&x2      * Right shifted: 14*32+31-17 = bit 14 of w[i-2], 31 = end of s1
               a    479&x1, 16&x2      * Wrapped: 14*32+31 = end of w[i-2], 17-1 = bit 16 of s1   
               cw   17&x2              * Clear wordmark
     * Add w[i-2] rightrotate 19
               sw   19&x2              * Wordmark at bit 19 (from left) of s1
               a    460&x1, 31&x2      * Right shifted: 14*32+31-19 = bit 12 of w[i-2], 31 = end of s1
               a    479&x1, 18&x2      * Wrapped: 14*32+31 = end of w[i-2], 19-1 = bit 18 of s1  
               cw   19&x2              * Clear wordmark
     * Add w[i-2] rightshift 10
               sw   10&x2              * Wordmark at bit 10 (from left) of s1
               a    469&x1, 31&x2      * Right shifted: 14*32+31-10 = bit 21 of w[i-2], 31 = end of s1
               cw   10&x2              * Clear wordmark
     * Convert sum to xor
               mcw  +s1+31, x1         * x1 = right end of s1
               mcw  @032@, x2          * Process 32 bits
               b    xor
               sw   s1                 * Restore wordmark cleared by xor
     
     * Compute w[i] := w[i-16] + s0 + w[i-7] + s1
               mcw  x1tmp, x1
               a    s1+31, s0+31       * Add s1 to s0
               a    31&x1, s0+31       * Add w[i-16] to s0
               a    319&x1, s0+31      * Add 9*32+31 = w[i-7] to s0
     * Convert bit sum to 32-bit sum
               mcw  +s0+31, x1         * x1 = right end of s0
               mcw  @032@, x2          * Process 32 bits
               b    sum
               sw   s0                 * Restore wordmark cleared by sum
     

     
               mcw  x1tmp, x1
               mcw  s0+31, 543&x1      * Move s0 to w[i]
       
              
               ma   @032@, x1
               a    +1, i
               mz   @0@, i
               b    wloop
     
     x1tmp     dcw  #5
     

     * Initialize: Copy hex h0init-h7init into binary h0-h7
     wloopd    mcw  +h0init-7, x3
               mcw  +h0, x1
               mcw  @064@, tobinc       * 8*8 hex digits
               b    tobin
     
     
     * Initialize a-h from h0-h7
               mcw  @000@, x1
     ilp       mcw  h0+31&x1, a+31&x1
               ma   @032@, x1
               c    x1, @256@
               bu   ilp
     
               mcw  @000@, bitidx      * bitidx = i*32 = bit index
               mcw  @000@, kidx        * kidx = i*8 = key index
                

     * Compute s1 from e        
     mainlp    mcw  +e, x1
               mcw  +s1, x2
               za   +0, 31&x2               * Zero s1
     * Add e rightrotate 6
               sw   6&x2               * Wordmark at bit 6 (from left) of s1
               a    25&x1, 31&x2       * Right shifted: 31-6 = bit 25 of e, 31 = end of s1
               a    31&x1, 5&x2        * Wrapped: 31 = end of e, 6-1 = bit 5 of s1   
               cw   6&x2               * Clear wordmark
     * Add e rightrotate 11
               sw   11&x2              * Wordmark at bit 11 (from left) of s1
               a    20&x1, 31&x2       * Right shifted: 31-11 = bit 20 of e, 31 = end of s1
               a    31&x1, 10&x2       * Wrapped: 31 = end of e, 11-1 = bit 10 of s1   
               cw   11&x2              * Clear wordmark
     * Add e rightrotate 25
               sw   25&x2              * Wordmark at bit 25 (from left) of s1
               a    6&x1, 31&x2        * Right shifted: 31-25 = bit 6 of e, 31 = end of s1
               a    31&x1, 24&x2       * Wrapped: 31 = end of e, 25-1 = bit 24 of s1   
               cw   25&x2              * Clear wordmark
     * Convert sum to xor
               mcw  +s1+31, x1         * x1 = right end of s1
               mcw  @032@, x2          * Process 32 bits
               b    xor
               sw   s1                 * Restore wordmark cleared by xor

     * Compute ch: choose function
               mcw  @000@, x1          * x1 is index from 0 to 31
     chl       c    e&x1, @0@
               be   chzero
               mn   f&x1, ch&x1        * for 1, select f bit
               b    chincr
     chzero    mn   g&x1, ch&x1        * for 0, select g bit
     chincr    a    +1, x1
               mz   @0@, x1
               c    @032@, x1
               bu   chl

     * Compute temp1: k[i] + h + S1 + ch + w[i]
               cs   299
               mcw  +k-7, x3            * Convert k[i] to binary in temp1
               ma   kidx, x3
               mcw  +temp1, x1
               mcw  @008@, tobinc       * 8 hex digits
               b    tobin
               mcw  @237@, x3
               mcw  +temp1, x1
               mcw  @008@, tobinc
               b    tohex
               a    h+31, temp1+31     * +h
               a    s1+31, temp1+31    * +s1
               a    ch+31, temp1+31    * +ch
               mcw  bitidx, x1
               a    warr+31&x1, temp1+31         * + w[i]
     * Convert bit sum to 32-bit sum
               mcw  +temp1+31, x1      * x1 = right end of temp1
               b    sum
  

     * Compute s0 from a
               mcw  +a, x1
               mcw  +s0, x2
               za   +0, 31&x2               * Zero s0
     * Add a rightrotate 2
               sw   2&x2               * Wordmark at bit 2 (from left) of s0
               a    29&x1, 31&x2       * Right shifted: 31-2 = bit 29 of a, 31 = end of s0
               a    31&x1, 1&x2        * Wrapped: 31 = end of a, 2-1 = bit 1 of s0   
               cw   2&x2               * Clear wordmark
     * Add a rightrotate 13
               sw   13&x2              * Wordmark at bit 13 (from left) of s0
               a    18&x1, 31&x2       * Right shifted: 31-13 = bit 18 of a, 31 = end of s0
               a    31&x1, 12&x2       * Wrapped: 31 = end of a, 13-1 = bit 12 of s0   
               cw   13&x2              * Clear wordmark
     * Add a rightrotate 22
               sw   22&x2              * Wordmark at bit 22 (from left) of s0
               a    9&x1, 31&x2        * Right shifted: 31-22 = bit 9 of a, 31 = end of s0
               a    31&x1, 21&x2       * Wrapped: 31 = end of a, 22-1 = bit 21 of s0   
               cw   22&x2              * Clear wordmark
     * Convert sum to xor
               mcw  +s0+31, x1         * x1 = right end of s0
               mcw  @032@, x2          * Process 32 bits
               b    xor
               sw   s0                 * Restore wordmark cleared by xor

     * Compute maj(a, b, c): majority function
               za   +0, maj+31
               a    a+31, maj+31
               a    b+31, maj+31
               a    c+31, maj+31
               mz   @0@, maj+31
               mcw  @000@, x1          * x1 is index from 0 to 31
     mjl       c    maj&x1, @2@
               bh   mjzero
               mn   @1@, maj&x1       * majority of the 3 bits is 1
               b    mjincr
     mjzero    mn   @0@, maj&x1       * majority of the 3 bits is 0
     mjincr    a    +1, x1
               mz   @0@, x1
               c    @032@, x1
               bu   mjl

     * Compute temp2: S0 + maj
               za   +0, temp2+31
               a    s0+31, temp2+31
               a    maj+31, temp2+31
     * Convert bit sum to 32-bit sum
               mcw  +temp2+31, x1      * x1 = right end of temp1
               b    sum
     
               mcw  g+31, h+31         * h := g
               mcw  f+31, g+31         * g := f
               mcw  e+31, f+31         * f := e
               za   +0, e+31           * e := d + temp1
               a    d+31, e+31
               a    temp1+31, e+31
               mcw  +e+31, x1          * Convert sum to 32-bit sum
               b    sum
               mcw  c+31, d+31         * d := c
               mcw  b+31, c+31         * c := b
               mcw  a+31, b+31         * b := a
               za   +0, a+31           * a := temp1 + temp2
               a    temp1+31, a+31
               a    temp2+31, a+31
               mcw  +a+31, x1          * Convert sum to 32-bit sum
               b    sum

               a    @8@, kidx          * Increment kidx by 8 chars
               mz   @0@, kidx
               ma   @032@, bitidx      * Increment bitidx by 32 bits
               c    @!48@, bitidx      * Compare to 2048
               bu   mainlp

     * Add a-h to h0-h7
               cs   299
               mcw  @00000@, x1tmp  
     add1      mcw  x1tmp, x1
               a    a+31&x1, h0+31&x1
               ma   +h0+31, x1          * Convert sum to 32-bit sum
               b    sum     
               ma   @032@, x1tmp
               c    @00256@, x1tmp
               bu   add1
               mcw  @201@, x3
               mcw  +h0, x1
               mcw  @064@, tobinc
               b    tohex
               w
               mcw  280, 180
               p
               p

     finis     h
               b    finis

      
     * Converts sum of bits to xor
     * X1 is right end of word
     * X2 is bit count    
     * Note: clears word marks
     xor       sbr  xorx&3
     xorl      c    @000@, x2
               be   xorx
     xorfix    mz   @0@, 0&x1          * Clear zone
               c    0&x1, @2@
               bh   xorok
               sw   0&x1               * Subtract 2 and loop
               s    +2, 0&x1
               cw   0&x1
               b    xorfix
     xorok     ma   @I9I@, x1         * x1 -= 1
               s    +1, x2             * x2 -= 1
               mz   @0@, x2
               b    xorl               * loop
     
     xorx      b    @000@
     
     * Converts sum of bits to sum (i.e. propagate carries if digit > 1)
     * X1 is right end of word
     * Ends at word mark
     sum       sbr  sumx&3
     suml      mz   @0@, 0&x1          * Clear zone
               c    0&x1, @2@          * If digit is <2, then ok
               bh   sumok
               s    +2, 0&x1           * Subtract 2 from digit
               bwz  suml, 0&x1, 1      * Skip carry if at wordmark
               a    @1@, 15999&x1      * Add 1 to previous position
               b    suml               * Loop
     sumok     bwz  sumx,0&x1,1        * Quit if at wordmark
               ma   @I9I@, x1          * x1 -= 1
               b    suml               * loop
     sumx      b    @000@              * return
     
     * Converts binary to string of hex digits
     * X1 points to start (left) of binary
     * X3 points to start (left) of hex buffer
     * X1, X2, X3 destroyed
     * tobinc holds count (# of hex digits)
     tohex     sbr  tohexx&3
     tohexl    c    @000@, tobinc      * check counter
               be   tohexx
               s    @1@, tobinc        * decrement counter
               mz   @0@, tobinc
               b    tohex4
               mcw  hexchr, 0&x3
               ma   @004@, X1
               ma   @001@, X3
               b    tohexl             * loop
     tohexx    b    @000@ 
     

     
     * X1 points to 4 bits
     * Convert to hex char and write into hexchr
     * X2 destroyed

     tohex4    sbr  tohx4x&3
               mcw  @000@, x2
               c    3&X1, @1@
               bu   tohx1
               a    +1, x2
     tohx1     c    2&X1, @1@
               bu   tohx2
               a    +2, x2
     tohx2     c    1&x1, @1@
               bu   tohx4
               a    +4, x2
     tohx4     c    0&x1, @1@
               bu   tohx8
               a    +8, x2
     tohx8     mz   @0@, x2
               mcw  hextab-15&x2, hexchr
     tohx4x    b    @000@
     
     * Converts string of hex digits to binary
     * X3 points to start (left) of hex digits
     * X1 points to start (left) of binary digits
     * tobinc holds count (# of hex digits)
     * X1, X3 destroyed
     tobin     sbr  tobinx&3
     tobinl    c    @000@, tobinc      * check counter
               be   tobinx
               s    @1@, tobinc        * decrement counter
               mz   @0@, tobinc
               mcw  0&X3, hexchr
               b    tobin4             * convert 1 char
               ma   @004@, X1
               ma   @001@, X3
               b    tobinl             * loop
     tobinx    b    @000@
               
     
     tobinc    dcw  @000@
     * Convert hex digit to binary
     * Digit in hexchr (destroyed)
     * Bits written to x1, ..., x1+3
     tobin4    sbr  tobn4x&3
               mcw  @0000@, 3+x1   * Start with zero bits
               bwz  norm,hexchr,2  * Branch if no zone
              
               mcw  @1@, 0&X1
               a    @1@, hexchr    * Convert letter to value: A (1) -> 2, F (6) -> 7
               mz   @0@, hexchr
               b    tob4
     norm      c    @8@, hexchr
               bl   tob4
               mcw  @1@, 0&X1
               s    @8@, hexchr
               mz   @0@, hexchr
     tob4      c    @4@, hexchr
               bl   tob2
               mcw  @1@, 1&X1
               s    @4@, hexchr
               mz   @0@, hexchr
     tob2      c    @2@, hexchr
               bl   tob1
               mcw  @1@, 2&X1
               s    @2@, hexchr
               mz   @0@, hexchr
     tob1      c    @1@, hexchr
               bl   tobn4x
               mcw  @1@, 3&X1
     tobn4x    b    @000@          


     
     * Message schedule array is 64 entries of 32 bits = 2048 bits.
               org  3000
     warr      equ  3000
     
     s0        equ  warr+2047                *32 bits
     s1        equ  s0+32 
     ch        equ  s1+32              *32 bits

     temp1     equ  ch+32               *32 bits
     
     temp2     equ  temp1+32                *32 bits
     
     maj       equ  temp2+32                *32 bits
     
     a         equ  maj+32
     b         equ  a+32
     c         equ  b+32
     d         equ  c+32
     e         equ  d+32
     f         equ  e+32
     g         equ  f+32
     h         equ  g+32
     h0        equ  h+32
     h1        equ  h0+32
     h2        equ  h1+32
     h3        equ  h2+32
     h4        equ  h3+32
     h5        equ  h4+32
     h6        equ  h5+32
     h7        equ  h6+32
               org  h7+32
 
     hexchr    dcw  @0@
     hextab    dcw  @0123456789abcdef@    
     i         dcw  @00@               * Loop counter for w computation
     bitidx    dcw  #3
     kidx      dcw  #3         
     
     * 64 round constants for SHA-256
     k         dcw  @428a2f98@
               dcw  @71374491@
               dcw  @b5c0fbcf@
               dcw  @e9b5dba5@
               dcw  @3956c25b@
               dcw  @59f111f1@
               dcw  @923f82a4@
               dcw  @ab1c5ed5@
               dcw  @d807aa98@
               dcw  @12835b01@
               dcw  @243185be@
               dcw  @550c7dc3@
               dcw  @72be5d74@
               dcw  @80deb1fe@
               dcw  @9bdc06a7@
               dcw  @c19bf174@
               dcw  @e49b69c1@
               dcw  @efbe4786@
               dcw  @0fc19dc6@
               dcw  @240ca1cc@
               dcw  @2de92c6f@
               dcw  @4a7484aa@
               dcw  @5cb0a9dc@
               dcw  @76f988da@
               dcw  @983e5152@
               dcw  @a831c66d@
               dcw  @b00327c8@
               dcw  @bf597fc7@
               dcw  @c6e00bf3@
               dcw  @d5a79147@
               dcw  @06ca6351@
               dcw  @14292967@
               dcw  @27b70a85@
               dcw  @2e1b2138@
               dcw  @4d2c6dfc@
               dcw  @53380d13@
               dcw  @650a7354@
               dcw  @766a0abb@
               dcw  @81c2c92e@
               dcw  @92722c85@
               dcw  @a2bfe8a1@
               dcw  @a81a664b@
               dcw  @c24b8b70@
               dcw  @c76c51a3@
               dcw  @d192e819@
               dcw  @d6990624@
               dcw  @f40e3585@
               dcw  @106aa070@
               dcw  @19a4c116@
               dcw  @1e376c08@
               dcw  @2748774c@
               dcw  @34b0bcb5@
               dcw  @391c0cb3@
               dcw  @4ed8aa4a@
               dcw  @5b9cca4f@
               dcw  @682e6ff3@
               dcw  @748f82ee@
               dcw  @78a5636f@
               dcw  @84c87814@
               dcw  @8cc70208@
               dcw  @90befffa@
               dcw  @a4506ceb@
               dcw  @bef9a3f7@
               dcw  @c67178f2@
     * 8 initial hash values for SHA-256
     h0init    dcw  @6a09e667@
     h1init    dcw  @bb67ae85@
     h2init    dcw  @3c6ef372@
     h3init    dcw  @a54ff53a@
     h4init    dcw  @510e527f@
     h5init    dcw  @9b05688c@
     h6init    dcw  @1f83d9ab@
     h7init    dcw  @5be0cd19@


     input0    equ  h7init+64
               org  h7init+65

               dc   @80000000000000000000000000000000@
     input     dc   @00000000000000000000000000000100@      * 512 bits with the mostly-zero padding

               end  start

рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо 85 рдЫрд┐рджреНрд░рд┐рдд рдХрд╛рд░реНрдбреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрдиреНрд╣реЗрдВ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЗрдЦрд╛ рдерд╛)ред рдореИрдВрдиреЗ рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдЪ рдХрд╛рд░реНрдб рднреА рдмрдирд╛рдпрд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХрд╛рд░реНрдб рд░реАрдбрд░ рдореЗрдВ рдЫрд┐рджреНрд░рд┐рдд рдХрд╛рд░реНрдб рд▓реЛрдб рдХрд░рдирд╛ рдерд╛ рдФрд░ "рд▓реЛрдб" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдерд╛ред рдХрд╛рд░реНрдб рд░реАрдбрд░ рдкреНрд░рддрд┐ рдорд┐рдирдЯ 800 рдХрд╛рд░реНрдб рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓рдЧреЗред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдХрдВрдкреНрдпреВрдЯрд░ рдХрдВрд╕реЛрд▓ (рдиреАрдЪреЗ рдЪрд┐рддреНрд░рдг рджреЗрдЦреЗрдВ) 40 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдмреБрдЦрд╛рд░ рд╕реЗ рдЭрдкрдХреА рд▓рд┐рдпрд╛ред рдЕрдВрдд рдореЗрдВ, рдкреНрд░рд┐рдВрдЯрд░ рдиреЗ рдЕрдВрддрд┐рдо рд╣реИрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ (рдЖрдкрдиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рд┐рдВрдЯрдЖрдЙрдЯ рднреА рджреЗрдЦрд╛), рдФрд░ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдирдП рдкрдВрдЪ рдХрд╛рд░реНрдб рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗред рдЪреВрдВрдХрд┐ рдмрд┐рдЯрдХреЙрдЗрди рдЦрдирди SHA-256 рдбрдмрд▓ рд╣реИрд╢рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЦрдирди рд╣реИрд╢рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛ рдмрд╛рд░ рд▓рдВрдмреА (80 рд╕реЗрдХрдВрдб) рд▓реЗрддреА рд╣реИред


SHA-256 рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реБрдП IBM 1401 рдХрдВрд╕реЛрд▓ рдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд

рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛


IBM 1401 рдХрдВрдкреНрдпреВрдЯрд░ 80 рд╕реЗрдХрдВрдб рдореЗрдВ SHA-256 рдбрдмрд▓ рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдкреНрдпреВрдЯрд░ рд▓рдЧрднрдЧ 3,000 рд╡рд╛рдЯ рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рд╕реНрдЯреЛрд╡ рдпрд╛ рдХрдкрдбрд╝реЗ рдбреНрд░рд╛рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВред рдПрдХ рд╕рдордп рдореЗрдВ, рдореВрд▓ рдЖрдИрдмреАрдПрдо 1401 рдкреНрд░рдгрд╛рд▓реА рдХреА рд▓рд╛рдЧрдд $ 125,600 рдереАред 2015 рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рд▓рд┐рдпрди рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЕрдм рдЖрдк $ 50 рдХреЗ рд▓рд┐рдП рдЦрдирди рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдПрд╕рдмреА рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ , рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдХреАрдХреГрдд рд╕рд░реНрдХрд┐рдЯ (рдПрдПрд╕рдЖрдИрд╕реА рдпреВрдПрд╕рдмреА рдорд╛рдЗрдирд░) рд╣реИред рдпрд╣ рдпреВрдПрд╕рдмреА рдорд╛рдЗрдирд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 3.6 рдмрд┐рд▓рд┐рдпрди рд╣реИрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд▓рдЧрднрдЧ 4 рд╡рд╛рдЯ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреЗ рд╣реИрдВ: рдореВрд░ рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд┐рдЫрд▓реЗ 50 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рддреЗрдЬ рд╡реГрджреНрдзрд┐, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рджрд╢рдорд▓рд╡ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдиреБрдХрд╕рд╛рди, рдЬреЛ рдПрдХ рдмрд╛рдЗрдирд░реА рд╣реИрдХреНрд╕ рдХреЛрдб рдХреА рдЧрдгрдирд╛ рдореЗрдВ рд╡реНрдпрд╕реНрдд рдерд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЧрддрд┐ рдореЗрдВ рд▓рд╛рдн рдкрд╛рд░рдВрдкрд░рд┐рдХ рдмрд┐рдЯрдХреЙрдЗрди рдЦрдирди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдкрдХреНрд╖ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмреНрд▓реЙрдХ рдХреЛ рдорд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IBM 1401 рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд▓рдЧрднрдЧ 5x10 ^ 14 рд╡рд░реНрд╖ (рдЬреЛ рдХрд┐ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреА рд╡рд░реНрддрдорд╛рди рдЖрдпреБ рдХрд╛ 40,000 рдЧреБрдирд╛ рд╣реИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЦрдкрдд рдХреА рдЧрдИ рдмрд┐рдЬрд▓реА рдХреА рд▓рд╛рдЧрдд рд▓рдЧрднрдЧ 10 ^ 18 рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рд╣реЛрдЧреАред рдирддреАрдЬрддрди, рдЖрдкрдХреЛ 25 рдмрд┐рдЯрдХреЙрдЗрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ, рдЬрд┐рдирдХрд╛ рдореМрджреНрд░рд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдореВрд▓реНрдп рд▓рдЧрднрдЧ 6,000 рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЖрдИрдмреАрдПрдо 1401 рдореЗрдирдлреНрд░реЗрдо рдкрд░ рдЦрдирди рдмрд┐рдЯрдХреЙрдЗрди рдХреЛ рдПрдХ рд▓рд╛рднрджрд╛рдпрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдкрд┐рдЫрд▓реА рд╢рддрд╛рдмреНрджреА рдХреЗ 60 рдХреЗ рджрд╢рдХ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдЪрд┐рдкреНрд╕ рдФрд░ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред


: SMS , IBM 1401. . . : Bitfury ASIC 2-3 . : zeptobars (CC BY 3.0)


рдЖрдк рдпрд╣ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рдЯрдХреЙрдЗрдиреНрд╕ рдкрд┐рдЫрд▓реА рд╕рджреА рдХреЗ 60 рдХреЗ рджрд╢рдХ рдХреА рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдмреНрд▓реЙрдХ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкрдВрдЪ рдХрд╛рд░реНрдб рднреЗрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрдЧреА? рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдмрд╣реБрдд рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛ред 1941 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЖрдИрдмреАрдПрдо рдиреЗ рддрдерд╛рдХрдерд┐рдд рдЯреЗрд▓реАрдореЗрдЯреНрд░рд┐рдХ (рд░рд┐рдореЛрдЯ) рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред 60 рдХреЗ рджрд╢рдХ рдореЗрдВ, рдЖрдИрдмреАрдПрдо 1401 рдХреЛ рдЖрдИрдмреАрдПрдо 1009 рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдбрд┐рд╡рд╛рдЗрд╕ ( рдЖрдИрдмреАрдПрдо 1009 рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдпреВрдирд┐рдЯ) рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛) - рдПрдХ рдбрд┐рд╢рд╡реЙрд╢рд░ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рдореЙрдбреЗрдо, рдЬрд┐рд╕рдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдПрдХ рдЯреЗрд▓реАрдлреЛрди рд▓рд╛рдЗрди рдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 300 рдЕрдХреНрд╖рд░реЛрдВ рддрдХ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдпрд╣реА рд╣реИ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдкрд┐рдЫрд▓реА рд╢рддрд╛рдмреНрджреА рдХреЗ 60 рдХреЗ рджрд╢рдХ рдХреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд┐рдЯрдХреЙрдЗрди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЯреЗрд▓реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред


IBM 1009 рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдбрд┐рд╡рд╛рдЗрд╕ред 1960 рдореЗрдВ рдПрдХ рдбрд┐рд╢рд╡реЙрд╢рд░ рдХрд╛ рдЖрдХрд╛рд░ рдореЙрдбрдо рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд╕рд╛рде, рдПрдХ рдЯреЗрд▓реАрдлреЛрди рд▓рд╛рдЗрди рдкрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 300 рдЕрдХреНрд╖рд░реЛрдВ рддрдХ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред рдлреЛрдЯреЛ рд╕реНрд░реЛрдд: рдЖрдИрдмреАрдПрдо рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкрд░рд┐рдЪрдп) ред

рдЬрд╛рдБрдЪ - рдкрд░рд┐рдгрд╛рдо


рдкреНрд░рд╛рдЪреАрди рдореЗрдирдлреНрд░реЗрдо рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛ рдореЗрдВ SHA-256 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдХрдард┐рди рд▓реЗрдХрд┐рди рджрд┐рд▓рдЪрд╕реНрдк рдЕрдиреБрднрд╡ рдмрди рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЙрдореНрдореАрдж рдереА ( 12 рдорд┐рдирдЯ рдореЗрдВ рдореЗрд░реЗ рдордВрдбреЗрд▓рдмреНрд░реЛрдЯ рд╕реЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ )ред рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рджрд╢рдорд▓рд╡ рдЕрдВрдХрдЧрдгрд┐рддреАрдп SHA-256 рдЬреИрд╕реЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд┐рдЯрдХреЙрдЗрди рдорд╛рдЗрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдПрдХреАрдХреГрдд рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдмрд┐рдирд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рднреА рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╕реНрдерд╛рдпреА рдкрддрди рдореБрдЭреЗ 1960 рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдмрд┐рдЯрдХреЙрдЗрди рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

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

рдореИрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдФрд░ 1401 рдХрдВрдкреНрдпреВрдЯрд░ рд░рд┐рдХрд╡рд░реА рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рд░реЙрдмрд░реНрдЯ рдЧрд╛рд░реНрдирд░, рдПрдб рдереЗрд▓реЗрди, рд╡реИрди рд╕реНрдирд╛рдЗрдбрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдЯреЗрди рдкреИрдбреЙрдХред Ibm-1401.info рдЯреАрдо рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ 1401 рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдЗрд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд░реЛрдЪрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

рд╡реНрдпрд╛рдЦреНрдпрд╛


рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдИрдмреАрдПрдо 1401 рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреНрд▓реЙрдХ рдХреЛ рддреЛрдбрд╝ рдирд╣реАрдВ рджрд┐рдпрд╛ рдерд╛ - рдХрдВрдкреНрдпреВрдЯрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдЗрд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдЖрдИрдмреАрдПрдо 1401 рдореЗрдВ, рдЖрдк рдЦрдирди рдкрд░ рдкреИрд╕рд╛ рдирд╣реАрдВ рдХрдорд╛ рдкрд╛рдПрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЖрдИрдмреАрдПрдо 1401 рдорд╢реАрди рдкрд░ SHA-256 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдЦрдирди рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдФрд░ рдореИрдВ рдПрдХ рд╡реИрдз рд╣реИрд╢ рдЦреЛрдЬрдиреЗ рдХреЗ рд░рд╣рд╕реНрдп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реВрдБрдЧрд╛ - рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦрдирди рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ ред

рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╣рдорд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реЛрдЧрд╛

All Articles