Closed my-yy closed 1 year ago
Your comment is correct. The model embeds the message it was trained for. We had to reduce the number of messages in order to achieve resistance to desynchronization attacks. In the meantime, we have managed to train a model to embed an arbitrary message, but it will be a while before we publish it. We hope that you will continue to follow our progress and stay updated on the latest developments and want to express our gratitude for your interest in our work.
I found that if the message was taken from the pool file (samples/message_pool.npy), the model performed very well (BER=0). But if the message doesn't come from the pool, it behaves like a random guess. Here's my test code:
and the BER output is:
Also, there is a typo for the
restore_model
function in theevaluation.py
, with an 's' missing from the statementkeras.model
:restored_model = keras.model.load_model(model_path)
===>
restored_model = keras.models.load_model(model_path)