Skip to main content
1 of 3

The notation $1^\lambda$ means a string with $\lambda$ characters all of them equal to 1. For instance, if $\lambda = 3$, then $1^\lambda$ is $111$.

And yes, it typically stand to the security parameter, from which the probability of "breaking" the system is measured (as well as the resources needed to do so and also to execute the cryptosystem's procedures).

The reason to use $1^\lambda$ instead of $\lambda$ is theoretical. The point is that the functions run by the users (KeyGen, Enc, Dec, etc) are supposed to run in polynomial time and the best attacs are usually supposed to take exponential time. But polynomial/exponential time regarding what? Regarding the size (length) of the input, so if you say that the input is simply an integer $\lambda$, what is the input's size? But using $1^\lambda$ as the input, the size is clearly $\lambda$, because the input has $\lambda$ characters (or letters, or bits...).

And about this specific scheme that you've cited, I would say that the authors are probably miss-using the notation. It seems that $\lambda$ measures how many bits the integers used there have. So, the algorithms are running in poly$(\lambda)$ as expected. But, as it happens often (e.g. with RSA), for a security level of $\lambda$ bits, the integers used in the scheme must be much greater than $\lambda$.