コード例 #1
0
def test_encrypt_short_tag():
    key = "fedcba9876543210"
    iv = "0123456789abcdef"
    gcm = AesGcmStream(key, iv, 12)
    buf = gcm.encrypt("hello world")
    authTag = gcm.final()
    assert b2h(authTag) == bytes('ac8fcee96dc6ef8e5236da19', 'utf-8')
    assert b2h(buf) == bytes('5ba7d42e1bf01d7998e932', "utf-8")
    gcmdec = AesGcmStream(key, iv)
    bufdec = gcmdec.decrypt(buf)
    gcmdec.final(authTag)
    assert bufdec == t2b("hello world")
コード例 #2
0
def test_multipart():
    key = "fedcba9876543210"
    iv = "0123456789abcdef"
    gcm = AesGcmStream(key, iv)
    buf = gcm.encrypt("hello")
    buf += gcm.encrypt(" world")
    authTag = gcm.final()
    assert b2h(authTag) == bytes('ac8fcee96dc6ef8e5236da19b6197d2e', 'utf-8')
    assert b2h(buf) == bytes('5ba7d42e1bf01d7998e932', "utf-8")
    gcmdec = AesGcmStream(key, iv)
    bufdec = gcmdec.decrypt(buf[:5])
    bufdec += gcmdec.decrypt(buf[5:])
    gcmdec.final(authTag)
    assert bufdec == t2b("hello world")
コード例 #3
0
def test_encrypt_aad():
    key = "fedcba9876543210"
    iv = "0123456789abcdef"
    aad = "aad data"
    gcm = AesGcmStream(key, iv)
    gcm.set_aad(aad)
    buf = gcm.encrypt("hello world")
    authTag = gcm.final()
    print(b2h(authTag))
    assert b2h(authTag) == bytes('8f85338aa0b13f48f8b17482dbb8acca', 'utf-8')
    assert b2h(buf) == bytes('5ba7d42e1bf01d7998e932', "utf-8")
    gcmdec = AesGcmStream(key, iv)
    gcmdec.set_aad(aad)
    bufdec = gcmdec.decrypt(buf)
    gcmdec.final(authTag)
    assert bufdec == t2b("hello world")