ôYŸã@sŸddlZddlZddlmZddlmZddddd d d gZd Zd Zd Z eddƒZ ddd„Z dd„Z dd„Z dS)éN)Ú namedtupleé)ÚdjbecÚ crypto_signÚcrypto_sign_openÚcrypto_sign_keypairÚKeypairÚPUBLICKEYBYTESÚSECRETKEYBYTESÚSIGNATUREBYTESé é@ÚvkÚskcCsr|dkrtjtƒ}ntjdtƒt|ƒdkrLtdƒ‚|}tj |ƒ}t |||ƒS)zCReturn (verifying, secret) key from a given seed, or os.urandom(32)Nz$ed25519ll should choose random seed.r z%seed must be 32 random bytes or None.) ÚosÚurandomr ÚwarningsÚwarnÚRuntimeWarningÚlenÚ ValueErrorrZ publickeyr)ÚseedÚskbytesÚvkbytes©rú;/tmp/pip-build-3puug3g5/wheel/wheel/signatures/ed25519py.pyrs   cCset|ƒtkr(tdt|ƒƒ‚|td…}|dt…}tj|||ƒ}||S)z¦Return signature+message given message and secret key. The signature is the first SIGNATUREBYTES bytes of the return value. A copy of msg is in the remainder.zBad signing key length %dN)rr rr rÚ signature)ÚmsgrrrÚsigrrrr s cCstt|ƒtkr(tdt|ƒƒ‚tj|dt…|td…|ƒ}|sftd|ƒ‚|td…S)z=Return message given signature+message and the verifying key.zBad verifying key length %dNz rc != True)rr rrZ checkvalidr )ÚsignedrÚrcrrrr,s ))zvkzsk)rrÚ collectionsrÚrÚ__all__r r r rrrrrrrrÚs