Exemple #1
0
def OAEP_enc(m, g, h, k0, k1):
    assert len(m) * 8 == g.out_size - k1, "Wrong message length"

    m = Bits(m.ljust(g.out_size//8, b'\0'))
    r = get_random_bytes(k0//8)

    x = m ^ g(r).bits
    y = h(x.bytes).bits ^ Bits(r)
    return (x+y).tobytes()