A method of enrolling a biometric sample in a cryptosystem scheme, the method comprising: extracting biometric feature data from a biometric sample of a user; generating a biometric vector from the biometric feature data, wherein the biometric vector is a vector representation of the biometric feature data; generating secret data, wherein the secret data represents private data associated with the user; generating a secret vector from the secret data, wherein the secret vector is a vector representation of the secret data; combining the biometric vector and the secret vector using an artificial neural network, the artificial neural network configured to output a neural network model, wherein the combining step comprises training the artificial neural network using the biometric vector as an input layer of the artificial neural network and the secret vector as an output layer of the artificial neural network to map the biometric vector to the secret vector, such that both the biometric information and the secret data are hidden in the neural network model; and, storing the neural network model in a database, thereby enrolling the biometric sample in a cryptosystem scheme for subsequent verification through authenticating released secret data, released from the neural network model, whilst hiding the biometric feature data and the secret data; wherein the step of generating a biometric vector comprises: generating a biometric feature vector from the biometric feature data; performing a random projection on the biometric feature vector prior to combination with the secret vector to generate a biometric projected vector so as to project the biometric feature vector onto random subspaces; and generating a biometric representation vector from the biometric projected vector by selecting reliable components in the biometric projected feature vector to form a biometric representation vector as the biometric vector; wherein the reliable components are the most distinguishing components for biometric recognition accuracy performance. extracting biometric feature data from a biometric sample of a user; generating a biometric vector from the biometric feature data, wherein the biometric vector is a vector representation of the biometric feature data; generating secret data, wherein the secret data represents private data associated with the user; generating a secret vector from the secret data, wherein the secret vector is a vector representation of the secret data; combining the biometric vector and the secret vector using an artificial neural network, the artificial neural network configured to output a neural network model, wherein the combining step comprises training the artificial neural network using the biometric vector as an input layer of the artificial neural network and the secret vector as an output layer of the artificial neural network to map the biometric vector to the secret vector, such that both the biometric information and the secret data are hidden in the neural network model; and, storing the neural network model in a database, thereby enrolling the biometric sample in a cryptosystem scheme for subsequent verification through authenticating released secret data, released from the neural network model, whilst hiding the biometric feature data and the secret data; wherein the step of generating a biometric vector comprises: generating a biometric feature vector from the biometric feature data; performing a random projection on the biometric feature vector prior to combination with the secret vector to generate a biometric projected vector so as to project the biometric feature vector onto random subspaces; and generating a biometric representation vector from the biometric projected vector by selecting reliable components in the biometric projected feature vector to form a biometric representation vector as the biometric vector; wherein the reliable components are the most distinguishing components for biometric recognition accuracy performance. generating a biometric feature vector from the biometric feature data; performing a random projection on the biometric feature vector prior to combination with the secret vector to generate a biometric projected vector so as to project the biometric feature vector onto random subspaces; and generating a biometric representation vector from the biometric projected vector by selecting reliable components in the biometric projected feature vector to form a biometric representation vector as the biometric vector; wherein the reliable components are the most distinguishing components for biometric recognition accuracy performance.