As tabelas do arco-íris e a força bruta não são relevantes aqui.
A senha do sha-512 é salgada. Isso significa que, para qualquer hash que você tenha, a senha começa com um valor salt (ONf5M3F1u, neste caso). Para gerar uma tabela de arco-íris, você deve gerar uma lista completa de hashes do sha-512 para todas as cadeias tipáveis começando com "ONf5M3F1u".
Digamos que você tenha usado o algoritmo de hash teórico "CSUM-2", que simplesmente adiciona os caracteres e produz um hash de 2 bits dos bits menos significativos. Uma tabela de arco-íris para o CSUM-2 é semelhante à abaixo:
0 d
1 a
2 b
3 c
Note que apenas os dois LSB são relevantes, então você realmente tem quatro sais: d, a, b e c.
Então imagine estes quatro hashes da senha 'b', com sais. O sal prepends, então você hash por exemplo "db" para obter apenas "b" ou "ab" para obter "c".
$-1$d$b
$-1$a$c
$-1$b$d
$-1$c$a
Para usar uma tabela de arco-íris para quebrar o CSUM-2, você precisa de quatro tabelas de arco-íris separadas de quatro entradas cada.
Para decifrar o sha-512 com um sal de nove caracteres como acima, você precisa de 62 tabelas completas de arco-íris. Uma tabela de arco-íris sha-512 suficiente para até 9 caracteres alfanuméricos tem 864 GB de tamanho; com este tipo de salga, você precisa de 62 desses, ou 52TB de tabelas.
Note que 2 ^ 512 é muito mais do que apenas senhas de 9 caracteres podem fornecer. Existem 1,3 x 10 ^ 154 hashes e 1,35 x 10 ^ 19 senhas alfanuméricas de 9 caracteres. Senhas mais longas significam um espaço de senha maior, mais entradas e tabelas maiores. Isso se multiplica linearmente pelo número de sais e exponencialmente pelo comprimento do sal.
Alguém precisa gerar e armazenar todas essas tabelas.
O PBKDF2 simplesmente executa o cálculo várias vezes; no entanto, uma saída PBKDF2 será sempre a mesma, e você estará de volta às tabelas rainbow quebrando o PBKDF2 como qualquer outro algoritmo.
O PAM pode usar o parâmetro rounds
para executar o alongamento de teclas também; o padrão é 5.000 e o mínimo é 1.000. rounds=65536
executaria o SHA-512 2 ^ 16 vezes em cada tentativa de login. Isso faria com que a força bruta fosse mais lenta, embora uma mesa de arco-íris pré-computada ainda não se importe. Construir e armazenar essa mesa de arco-íris é, como dito acima, difícil.