I've been puzzling recently over sortition, a democratic method of selection for public office which I find very fascinating. Basically, instead of choosing candidates like Hillary Clinton or Donald Trump through voting, under sortition citizens would be randomly selected to fill public offices (in which, under many models, they would then be FORCED to serve for some period of time). There are of course many nuances, but that is the general gist. It would be rather like jury duty in the modern United States.
One particular problem for which I haven't been able to find a fully-formed solution online is ensuring that the random selection is actually random (so that it statistically represents the full population, one of the goals of sortition when a large-enough body is selected, rather than representing special interests or folks who paid off the people in charge).
Let me be clear: I am not a cryptology expert by any means. Indeed, I am only in high school and have never taken a proper computer science course.
Nevertheless, I was wondering if anyone here had any ideas (phrased at a fairly elementary level) for how fraud in the random selection could be prevented. (EDIT: While, as pointed out in the comments below, you could just have blind-folded people pull the names out of a hat, that might not be enough to keep citizen confidence high given the high-stakes and temptation for bribery and other such shenanigans.)
I've been wondering if maybe there could be a connection to RSA public-key encryption, cryptographic hash functions or other one-way functions, Bitcoin, etc (all those are subjects I know at least a bit about). I'm thinking there'd need to be a way for everybody to verify that the sortition wasn't rigged in any way (perhaps through some sort of blockchain?). But the method of choosing (let's say it's a function of some sort) couldn't be too simple because it would probably also need to be difficult for anyone to predict in advance what input would map to a given output, right? (If a selected individual for a public office was an output but people could predict which inputs would lead to that individual getting selected, then the choice of inputs into the function might get rigged by special interests, right?)
And, also, if you're utilizing a fully determinate mathematical function that would be, of course, not truly random (although maybe that's okay - political pollsters don't do truly random sampling either in that sense, but no one really seems to mind). So there's that issue too -- what do we do when we say we want "random sampling" but also want to be able to verify that the sample wasn't tampered with? (I have heard of the topic of pseudo-random functions - is that related to this perhaps?) Perhaps randomness can be approximated well enough by introducing real-world data observations that are somewhat unpredictable?
Sorry for the length and it could be that these are fairly elementary questions (or maybe they are in fact very hard questions, I have no idea). I sincerely thank anyone who responds with any thoughts they may have on any aspects of this question.
One last thing: If there is a potential solution to this question that involves basic prime number/modulus RSA stuff, that would be really awesome -- since that's one of the few crytology concepts I actually sort of know. :) I don't really care at this point if potential solutions would actually work out in the super-complicated real world. I'm more concerned with finding something that's superficially plausible given the very elementary knowledge of cryptology I currently possess (e.g., basic RSA). Once I get more advanced I could then come back and refine everything.