A first electronic network node configured for a cryptographic operation, the first network node comprising - a communication interface arranged for digital communication with a second network node, - a processor circuit configured to - obtain a shared matrix, the shared matrix being shared with the second network node through the communication interface, entries in the shared matrix A being integers, and/or entries in the shared matrix being integer polynomials, obtaining the shared matrix comprises - obtaining one or more selection parameters shared with the second network node, - selecting integers, polynomials, and/or polynomial-coefficients from a shared pool, the shared pool being shared with the second network node and comprising multiple integers and/or polynomials for use in an entry of the shared matrix, wherein the selecting is done according to one or more selection functions, a selection function assigning an integer, polynomial, and/or polynomial-coefficient from the shared pool to an entry in the shared matrix, the particular integer, polynomial, or polynomial-coefficient assigned by a selection function being dependent on the selection parameter, - generate a private key matrix ( S I), entries in the private key matrix being integers and/or integer polynomials, - generate a public key matrix ( P I) by - computing a matrix product between the shared matrix and the private key matrix ( S I) obtaining a matrix product, and adding noise to the matrix product, and - send the public key matrix of the first network node to the second network node. - a communication interface arranged for digital communication with a second network node, - a processor circuit configured to - obtain a shared matrix, the shared matrix being shared with the second network node through the communication interface, entries in the shared matrix A being integers, and/or entries in the shared matrix being integer polynomials, obtaining the shared matrix comprises - obtaining one or more selection parameters shared with the second network node, - selecting integers, polynomials, and/or polynomial-coefficients from a shared pool, the shared pool being shared with the second network node and comprising multiple integers and/or polynomials for use in an entry of the shared matrix, wherein the selecting is done according to one or more selection functions, a selection function assigning an integer, polynomial, and/or polynomial-coefficient from the shared pool to an entry in the shared matrix, the particular integer, polynomial, or polynomial-coefficient assigned by a selection function being dependent on the selection parameter, - generate a private key matrix ( S I), entries in the private key matrix being integers and/or integer polynomials, - generate a public key matrix ( P I) by - computing a matrix product between the shared matrix and the private key matrix ( S I) obtaining a matrix product, and adding noise to the matrix product, and - send the public key matrix of the first network node to the second network node. - obtain a shared matrix, the shared matrix being shared with the second network node through the communication interface, entries in the shared matrix A being integers, and/or entries in the shared matrix being integer polynomials, obtaining the shared matrix comprises - obtaining one or more selection parameters shared with the second network node, - selecting integers, polynomials, and/or polynomial-coefficients from a shared pool, the shared pool being shared with the second network node and comprising multiple integers and/or polynomials for use in an entry of the shared matrix, wherein the selecting is done according to one or more selection functions, a selection function assigning an integer, polynomial, and/or polynomial-coefficient from the shared pool to an entry in the shared matrix, the particular integer, polynomial, or polynomial-coefficient assigned by a selection function being dependent on the selection parameter, - obtaining one or more selection parameters shared with the second network node, - selecting integers, polynomials, and/or polynomial-coefficients from a shared pool, the shared pool being shared with the second network node and comprising multiple integers and/or polynomials for use in an entry of the shared matrix, wherein the selecting is done according to one or more selection functions, a selection function assigning an integer, polynomial, and/or polynomial-coefficient from the shared pool to an entry in the shared matrix, the particular integer, polynomial, or polynomial-coefficient assigned by a selection function being dependent on the selection parameter, - generate a private key matrix ( S I), entries in the private key matrix being integers and/or integer polynomials, - generate a public key matrix ( P I) by - computing a matrix product between the shared matrix and the private key matrix ( S I) obtaining a matrix product, and adding noise to the matrix product, and - computing a matrix product between the shared matrix and the private key matrix ( S I) obtaining a matrix product, and adding noise to the matrix product, and - send the public key matrix of the first network node to the second network node.