I have a script which must choose random key from a given dictionary:

local dictionary = {
["Number1"] = "string 1";
["Number2"] = "string 2";
["blah"] = "blah"
}

local RandomNumber = math.random(1,#dictionary) --Error: bad argument #2 to 'random' (interval is empty)
print(dictionary[RandomNumber])

The problem is: it doesn't let me get number of values or keys in the dictionary. So how exactly can i get random value/key from dictionary?