示例#1
0
def HashMsg(msg, modulo=None, IsDec=False):
    HASHMSG = Nakasendo.hash256(msg)
    if (IsDec):
        Hm = Nakasendo.BigNum(str(int(HASHMSG.value, 16)),
                              modulo.value,
                              isDec=True)
    else:
        Hm = Nakasendo.BigNum(HASHMSG.value, modulo.value, isDec=False)
    return Hm
示例#2
0
 def hashMessage(self, message):
     # hash the message
     Hm = Nakasendo.hash256(message)
     return Hm.value
示例#3
0
    xval = hex(ecdsaPubKey.x())[2:]
    yval = hex(ecdsaPubKey.y())[2:]
    pempubkey = Nakasendo.pubKeyHexPtasPem(xval, yval)
    pubkeytest = ecdsa.ecdsa.Public_key(G, ecdsaPubKey)
    privkeytest = ecdsa.ecdsa.Private_key(pubkeytest, int(AliceKey.priKey, 16))

    #print ('private key %s' % secret.value )

    #ecdsa_sig = privkeytest.sign(int(Hm.value,16),int(inv_k.value,16))

    #signature = ecdsa.util.sigencode_der_canonize(ecdsa_sig.r, ecdsa_sig.s,int(modulo_n.value,16))
    message = 'Im a message and Im about to be hashed'

    print('Private Key in Hex %s \n Public Key Hex %s' %
          (AliceKey.priKey, AliceKey.pubKey))
    hashedT = Nakasendo.hash256(message)
    print(hashedT)
    ecdsa_sig = privkeytest.sign(int(hashedT.value, 16),
                                 int(AliceKey.priKey, 16))

    signature = ecdsa.util.sigencode_der_canonize(
        ecdsa_sig.r, ecdsa_sig.s,
        int("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141",
            16))

    #print (signature)
    print('ecdsa r %s \n ecdsa s %s' %
          (hex(ecdsa_sig.r)[2:], hex(ecdsa_sig.s)[2:]))

    veifySign = Nakasendo.verify(message, pempubkey,
                                 hex(ecdsa_sig.r)[2:],
示例#4
0
    valPem = Nakasendo.verify(message, pempubkey, sigRStr, sigSStr)
    if (valPem == True):
        print(
            'Calculated signature verified with calculated PEM & call to verify'
        )
    else:
        print('Failed to verify with calculated PEM')

    val = Nakasendo.verifyPubKeyHex(message, pubKeyStr, sigRStr, sigSStr)
    if (val == True):
        print('Calculated signature verified via Nakasendo verify')
    else:
        print('Failed to verify with Nakasendo verify')

    hmMessage = Nakasendo.hash256(
        message=message,
        modulo=
        "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141")
    #create an ecdsa public key from the program parameter
    ecdsaPubKeyPoint = ecdsa.ellipticcurve.Point(
        ecdsa.SECP256k1.generator.curve(), int(coords[0], 16),
        int(coords[1], 16))
    pubkeytestB = ecdsa.ecdsa.Public_key(G, ecdsaPubKeyPoint)

    thresHoldSigLocalCal = ecdsa.ecdsa.Signature(int(sigRStr, 16),
                                                 int(sigSStr, 16))

    if (pubkeytestB.verifies(int(hmMessage.value, 16), thresHoldSigLocalCal)):
        print(
            "SUCESS WITH TS via ECDSA library .. point constructed from public key parameter"
        )
    else: