Пример #1
0
def test_nonce():
    nonces = [ ]
    for i in range(1024):
        nonce = block.generate_nonce()
        assert( not nonce in nonces )   # quick sanity test
        assert( len(nonce) == 16 )      # nonce needs to be block-sized
        nonces.append(nonce)            
Пример #2
0
def encrypt_file(filename, keyfile, crypted_filename=None, ascii_armour=False):
    if not crypted_filename:
        crypted_filename = filename + ".aes256"

    plaintext = load(filename)
    iv = block.generate_nonce()
    key = load(keyfile)
    ciphertext = block.encrypt(key, plaintext, iv, ascii_armour)

    print "[+] encrypted %s to %s..." % (filename, crypted_filename)
    dump(crypted_filename, ciphertext)
    print "[+] file written..."
Пример #3
0
def test_random_key():
    key         = block.generate_aes_key()
    message     = 'This is a sample message. 1234567890ABCDEF'

    print '\t[+] test message:  \'%s\'' % message
    assert( len(key) == 32 )
    
    iv          = block.generate_nonce()
    ct          = block.encrypt( key, message, iv )
    pt          = block.decrypt( key, ct, iv )

    assert( pt == message )
    print '\t[+] successfully decrypted!'
Пример #4
0
def test_armoured():
    key         = block.generate_aes_key()
    message     = 'This is a sample message. 0123456789ABCDEF'

    print '\t[+] test message: \'%s\'' % message
    assert( len(key) == 32 )

    iv          = block.generate_nonce()
    ct          = block.encrypt( key, message, iv, armour = True )
    print_ct    = ct.replace('\n', '\n\t').rstrip()
    print '\t[+] ciphertext: \n\t%s' % print_ct

    pt          = block.decrypt( key, ct )
    assert( pt == message )

    print '\t[+] successfully decrypted!'
Пример #5
0
def test_passphrase():
    password    = '******'
    message     = 'This is a sample message. 1234567890ABCDEF'

    print '\t[+] test password: \'%s\'' % password
    print '\t[+] test message:  \'%s\'' % message
    print '\t[+] passphrase: \n\t\t\'%s\'...\n\t\t\'%s\'' % (
        block.passphrase(password, True)[:32],
        block.passphrase(password, True)[32:])

    assert( len(block.passphrase(password)) == 32 )

    iv          = block.generate_nonce()
    ct          = block.passphrase_encrypt( password, iv, message )
    pt          = block.passphrase_decrypt( password, iv, ct )

    assert( message == pt )