TL;DR: all keys are known because the list was seized after the war. However, this message was not previously decoded because the German operator mistyped the key, and also used a key from the wrong day.
This meant that ChatGPT didn't need to brute-force the entire key, just pick the correct one from the list and identify the typo.
A sufficiently dedicated human analyst could have done this; but they didn't.
I think it is legitimate to argue that the process here does not fit the usual definition of "brute forcing". Traditionally, brute forcing would refer to something like a dictionary attack, where an algorithm tries to match all possible combinations of words to eg. find a password. Here, the approach was more common sense based, using historical records and possible error sources to narrow down the possibility space enormously in advance, try out a much more limited set of options within that space until you got a result that made sense, and finally validate those results using historical records. It's the exact same kind of "brute forcing" a human expert would do.
Legend2440 · · focus · HN ↗
This meant that ChatGPT didn't need to brute-force the entire key, just pick the correct one from the list and identify the typo.
A sufficiently dedicated human analyst could have done this; but they didn't.
msy · · focus · HN ↗
red75prime · · focus · HN ↗
rrr_oh_man · · focus · HN ↗
red75prime · · focus · HN ↗
tovej · · focus · HN ↗
stalfie · · focus · HN ↗
0x457 · · focus · HN ↗
red75prime · · focus · HN ↗