# Tag Info

we have: $R = rG$ $Pa = va G$ $s = {v \over (r+va)} \bmod q$ to simplify notation, let's forget the hashes: $s(R+Pa) = s(rG + va G) = s(r+va)G = {v \over (r+va)}(r+va)G = vG$
Is this correct or is just a matter of javax.crypto.Cipher implementation? It is correct. You need to always add some amount of padding if you are to distinguish between different padding lengths. With PKCS5 padding the length of the padding is $b - |m| \mod b$, where $b$ is the block size. With $|m|$ a multiple of block size a whole block of padding is ...