A logic operation device comprising: a memory device configured to receive an input of a N-bit long bit string and to store a lookup table, N being an integer of at least 2, the lookup table storing multiple-bit long data in an address represented by the input bit string, and a bit representative of a result of a logical operation performed between bits included in the input bit string being stored in a part of the multiple-bit long data; and an output means (30, 40) configured to access the memory device and outputs the bits included in the data stored at the address represented by the received bit string, characterized in that it further comprises: a time-shared extracting means (21, 25) configured to receive the input of a bit string M bits long, M being an integer larger than N, the time-shared extracting means (21, 25) extracting an N-bit string from the M-bit string to output the extracted N-bit string to the memory device on a time-sharing basis; wherein the output means (30, 40) is configured to output, at the time the N-bit string is output on a time-sharing basis, selectively either the bit indicating the result of the logical operation performed between the bits retrieved by accessing the memory device using the previously output bits, or a bit indicating an inverse of the logical operation result. a memory device configured to receive an input of a N-bit long bit string and to store a lookup table, N being an integer of at least 2, the lookup table storing multiple-bit long data in an address represented by the input bit string, and a bit representative of a result of a logical operation performed between bits included in the input bit string being stored in a part of the multiple-bit long data; and an output means (30, 40) configured to access the memory device and outputs the bits included in the data stored at the address represented by the received bit string, characterized in that it further comprises: a time-shared extracting means (21, 25) configured to receive the input of a bit string M bits long, M being an integer larger than N, the time-shared extracting means (21, 25) extracting an N-bit string from the M-bit string to output the extracted N-bit string to the memory device on a time-sharing basis; wherein the output means (30, 40) is configured to output, at the time the N-bit string is output on a time-sharing basis, selectively either the bit indicating the result of the logical operation performed between the bits retrieved by accessing the memory device using the previously output bits, or a bit indicating an inverse of the logical operation result. a time-shared extracting means (21, 25) configured to receive the input of a bit string M bits long, M being an integer larger than N, the time-shared extracting means (21, 25) extracting an N-bit string from the M-bit string to output the extracted N-bit string to the memory device on a time-sharing basis; wherein the output means (30, 40) is configured to output, at the time the N-bit string is output on a time-sharing basis, selectively either the bit indicating the result of the logical operation performed between the bits retrieved by accessing the memory device using the previously output bits, or a bit indicating an inverse of the logical operation result.