The amount of RAM you'll need is highly variable, depending on the attacks you'll be carrying out, with factors like:
* Whether all systems will be on the same LAN, vs operating over a WAN connection (faster connection means more candidates, so more RAM needed)
* Whether the hashes are fast or slow (fast hashes means more candidates, so more RAM needed)
* Whether you'll be using --brain-client-features of passwords, positions, or both (passwords = candidates, so this will consume much more RAM than positions alone)
* How many clients will be participating (more clients means more candidates, so more RAM needed)
And note that these variables are interrelated - for example, if many clients are operating over a WAN connection, they'll be competing for bandwidth, which might become a bottleneck that would slow down RAM consumption, etc.
You could take the "worst" case (fast hashes, fast LAN speeds, --brain-client-features 1 or 3), run a particular attack, and calculate the relationship between your particular keyspace and the resulting RAM consumption.
In general, having a lot of RAM available will leave your options open. In my limited testing so far, you don't have to have a super-fast CPU to run a good brain, but it seems to me that having 64GB of RAM would be pretty handy. Such a system would also enable some good processing of wordlists, etc. (In fact, I was eyeing some NUCs myself!)
* Whether all systems will be on the same LAN, vs operating over a WAN connection (faster connection means more candidates, so more RAM needed)
* Whether the hashes are fast or slow (fast hashes means more candidates, so more RAM needed)
* Whether you'll be using --brain-client-features of passwords, positions, or both (passwords = candidates, so this will consume much more RAM than positions alone)
* How many clients will be participating (more clients means more candidates, so more RAM needed)
And note that these variables are interrelated - for example, if many clients are operating over a WAN connection, they'll be competing for bandwidth, which might become a bottleneck that would slow down RAM consumption, etc.
You could take the "worst" case (fast hashes, fast LAN speeds, --brain-client-features 1 or 3), run a particular attack, and calculate the relationship between your particular keyspace and the resulting RAM consumption.
In general, having a lot of RAM available will leave your options open. In my limited testing so far, you don't have to have a super-fast CPU to run a good brain, but it seems to me that having 64GB of RAM would be pretty handy. Such a system would also enable some good processing of wordlists, etc. (In fact, I was eyeing some NUCs myself!)
~