Exemplo n.º 1
0
def encrypt_key(key, nonce, data):
    key = clean_string(key)
    key = SHA256d(key).digest()
    print(key)
    nonce_hash = SHA256d(nonce).digest()# assert 32 bytes key
    enc_key = aes(key, nonce_hash)      # generate encryption key
    return aes(enc_key, data)           # encrypt data using the new key
Exemplo n.º 2
0
    def set_convergence_secret(self, secret):

        secret = clean_string(secret)
        if self.__convergence_secret and self.__convergence_secret != secret:
            msg = "Do not change the convergence secret during encryption!"
            raise CryptError(msg)
        self.__convergence_secret = secret
Exemplo n.º 3
0
 def set_convergence_secret(self, secret):
     """ sets the secret used to defeat confirmation-of-a-file attack
     """
     secret = clean_string(secret)
     if self.__convergence_secret and self.__convergence_secret != secret:
         msg = "Do not change the convergence secret during encryption!"
         raise CryptError(msg)
     self.__convergence_secret = secret
Exemplo n.º 4
0
def encrypt_key(key, nonce, data):
    """ use "key" and "nonce" to generate a one time key and en-/decrypt
        "data" with the one time key.

        Args
            key: encryption key
            nounce: exactly once used string (try a time-based UUID)
            data: the encrypted data
        Returns
            ciphertext: AES256 encrypted data
    """

    key = clean_string(key)
    key = SHA256d(key).digest()
    nonce_hash = SHA256d(nonce).digest()# assert 32 bytes key
    enc_key = aes(key, nonce_hash)      # generate encryption key
    return aes(enc_key, data)           # encrypt data using the new key
Exemplo n.º 5
0
def SSK_normalized(s, t, n, lam):

    s = tools.clean_string(s)
    t = tools.clean_string(t)
    return SSK(s, t, n, lam) / np.sqrt(SSK(s, s, n, lam) * SSK(t, t, n, lam))