Что: ef99b3faf2b819881f5677453e22161c1ae3cc00 Когда: 2021-08-24 17:56:19+03:00 ------------------------------------------------------------------------ Темы: djb ------------------------------------------------------------------------ DJB то не святой, косячит в своём Python коде http://ed25519.cr.yp.to/python/sign.py В нём есть вот такая строчка, которая должна чуть-чуть изменить изменить сообщение и убедиться что функция проверки упадёт: try: forgedm = ''.join([chr(ord(m[i])+(i==forgedmlen-1)) for i in range(len(m))]) ed25519.checkvalid(s,forgedm,pk) forgedsuccess = 1 except: pass assert not forgedsuccess вот только проблема в том, что если значение последнего байта будет 0xFF, то... при переполнении Python будет ругаться на range(256). При этом возникнет exception и тест посчитает что мы штатно упали, как и ожидали. Вот не надо делать checkvalid выбрасывающим исключения, ну вот зачем, DJB, ты это сделал? ------------------------------------------------------------------------ оставить комментарий: mailto:comment@blog.stargrave.org?subject=Re:%20DJB%20%D1%82%D0%BE%20%D0%BD%D0%B5%20%D1%81%D0%B2%D1%8F%D1%82%D0%BE%D0%B9%2C%20%D0%BA%D0%BE%D1%81%D1%8F%D1%87%D0%B8%D1%82%20%D0%B2%20%D1%81%D0%B2%D0%BE%D1%91%D0%BC%20Python%20%D0%BA%D0%BE%D0%B4%D0%B5%20%28ef99b3faf2b819881f5677453e22161c1ae3cc00%29 ------------------------------------------------------------------------ Сгенерирован: SGBlog 0.34.0