Danny as usual is always right.
BTW "Oh you're bruteforcing a SHA encryption" SHA isn't encryption. It is a hashing algorithm, the output of a hashing algorithm is essentially random. It is a number between 0 and 2^256-1. Bitcoin just uses it as a "proof" that a certain amount of work has been attempted. We can do this because if you have a provably random event which occurs for example one in 1 billion attempts while someone may get lucky or unlucky over the long run (thousands of events) we can prove that it took on average 1 billion attempts of work per event. The difficulty for solving a block however isn't static, the network sets a target which is simply a number between 0 and 2^256-1. To solve a block the output hash has to be smaller than the target. The lower the target number the harder it is to "solve" a block and on average it will take more attempts. As the network gets faster (more attempts per second) the network makes the target smaller (more attempts needed to "win"), when the network gets slower, the network makes the target higher (less attempts needed to "win"). This target balances the computing power on the network with the goal of on average 600 seconds between blocks. No matter how slow or fast the network becomes the blocks will be find in a relatively consistent manner because the computing power is balanced with difficulty.
If the network combined is able to produce 10x as many hashes per second, then it takes on average 10x as many hash attempts to solve a block.
If the network combined is able to produce 1,000,000 as many hashes per second, then it takes on average 1,000,000 times as many hashes to solve a block.
Right now the network difficulty is roughly 700 million so it takes on average 700,000,000 times as many hashes to solve a block as it did when Bitcoin first started (the actual number is difficulty * 2^32 because the starting difficulty of 1 requires 2^32 attempts).
If you want an analogy, imagine a game where you randomly generate a number between 1 and 100 (say using a pair of ten sided dice). You get 1 roll per minute and on average I only want a winner every 10 minutes. I would make the target 10 or less. There are 10 numbers below the target and 90 above it, your chance of winning on each roll is 10%. You might get lucky or unlucky in the short term but on average you will win once every 10 minutes. If you have won 100 times we have been playing for 1000 minutes and there is "proof of the work" we know that it would have taken you roughly 1000 rolls to win 100 times. Now imagine a second player joins but I still only want 1 winner every 10 minutes. I could simply reduce the target to 5. The chance of winning is now 5% per roll and there are 20 rolls per minute so there is still only one winner every 10 minutes. Now imagine a third player joins but he gets is able to roll three times a minute. In total there will be 5 rolls per minute and I want one winner every 10 minutes (50 total rolls) so the chance should be 2% per roll and I lower the target to 2. Regardless of how many players join or leave, or how fast or slow they can roll (maybe some people have more than 1 set of dice) I can set a target so there is on average only one "winner" every 10 minutes.
Rather than roll dice we use SHA-256 to be the source for random values because it is provable and compare them to the target.