We provide the reference and optimized implementations of EMBLEM and R.EMBLEM (**download the source code**

**here**). The latest implementation results of EMBLEM and R.EMBLEM are shown below:

**[I] EMBLEM**- Choose each element of the secret key from [-1,1] uniformly at random
- Encode 8 bits at a time (t=8)

**[II] EMBLEM**- Choose each element of the secret key from [-1,1] uniformly at random
- Encode 4 bits at a time (t=4)

**[III] EMBLEM**- Choose each element of the secret key from [-2,2] uniformly at random
- Encode 8 bits at a time (t=8)

**[IV] EMBLEM**- Choose each element of the secret key from [-2,2] uniformly at random
- Encode 4 bits at a time (t=4)

**[i] R.EMBLEM**- Choose each element of the secret key from [-1,1] uniformly at random
- Encode 1 bit or 2 bits at a time (t=1 or 2)
- Use the Number Theoretic Transform (NTT)

**[ii] R.EMBLEM**- Choose each element of the secret key from [-2,2] uniformly at random
- Encode 1 bit or 2 bits at a time (t=1 or 2)
- Use the Number Theoretic Transform (NTT)