This application is based on and claims priority under 35 U.S.C. 119 from Japanese Patent Application No. 2007-058293 filed Mar. 8, 2007.
The present invention relates to an image processing apparatus, an encryption communications device, an encryption communications system, and a computer readable medium.
According to an aspect of the present invention, an image processing apparatus including: a first value generation unit that generates a value changing in time sequence; a second value generation unit that generates a value changing in time sequence identical with that of the value changing in time sequence; a synchronization unit that synchronizes the first value generation unit and the second value generation unit; a value output unit that causes the first value generation unit and the second value generation unit to simultaneously output values; a first key generation unit that generates a first key in accordance with the value output by the first value generation unit; an encryption unit that encrypts information in accordance with the first key generated by the first key generation unit; a second key generation unit that generates a second key in accordance with the value output by the second value generation unit; and a decryption unit that decrypts the information encrypted by the encryption unit, in accordance with the second key generated by the second key generation unit.
Exemplary embodiment of the present invention will be described in detail based on the following figures, wherein:
In a first embodiment, an image processing apparatus equipped with a common key technique defined in claim 1 will be described.
The multifunction machine 10 has a FAX 14 which is an example of image transmitting-receiving means; the Ethernet (Registered Trademark) 15 which is likewise an example of the image transmitting-receiving means and which establishes communication with another terminal by way of a WAN (Wide Area Network) or a LAN (Local Area Network); a scanner 16 which is an example of image reading means; an image processing circuit 17 which is an example of image processing means which is built from an ASIC (Application-Specific Integrated Circuit), or the like; a print engine 18 which is an example of printing means and which controls printing operations in electrification/exposure/development/transfer/fixing processes; an HDD (Hard Disk Drive) 19 which is an external nonvolatile storage device; an external bus 11a for interconnecting these elements; a CPU (Central Processing Unit) 11 for controls all of these elements; ROM (Read-Only Memory) 13 which stores a program executed by the CPU 11 and data required for the data; and RAM (Random Access Memory) 12 used as a work area for the CPU 11.
In
The clock oscillators 21a and 21b each are built from a crystal oscillator, a ceramic oscillator, or the like, and output a clock signal of a single frequency to the random number generators 22a and 22b, to thus synchronize the random number generators.
The flow of generation of a random number will be described hereunder. First, an initial value is input by way of the input terminal 21c. Next, one or two or more predetermined outputs from the shift register 20c are supplied to the exclusive OR circuit 24c. A signal output from the exclusive OR circuit 24c is input to a serial input terminal of the shift register 20c. When the mode control signal input by way of the input terminal 22c is “0” and when the clock signal is supplied from the input terminal 23c, one bit at the right end is discarded, and a 1-bit output signal from the exclusive OR circuit 24c is stored in the left end of the shift register 20c. Subsequently, updating of the value of the shift register 20c is iterated every time the clock signal is input.
For instance, consideration is given to a case where a value of 00011111 (31 in decimal number) is input as an initial value to an 8-bit shift register. When the clock signal is input, an exclusive OR product of a second bit (0) from the left, the fourth bit (1) from the left, and the sixth bit (1) from the left is computed (0). The value of 00011111 in the shift register is shifted rightward by one bit, and the thus-computed value of 0 is stored in the left end, whereupon the value of the shift register is updated to 00001111 (15 in decimal number). Further, when the clock signal is input, an exclusive OR product of the second bit (0), the fourth bit (0), and the sixth bit (1) is computed (1). The value of 00001111 in the shift register is shifted rightward by one bit, and the thus-computed value of 1 is stored in the left end. The value of the shift register is updated to 10000111 (135 in decimal number) In subsequent steps, these operations are iterated every time the clock signal is input.
In the present embodiment, a pseudo random number is taken as an example of a value which changes in time sequence. However, a value of a number sequence determined by a predetermined function, such as a physical random number utilizing thermal noise of a semiconductor element, an increment value involving a simpler configuration, and the like, may also be used. For instance, in the case of an increment value, the random number generation is equipped with a register and an adder. Every time a clock signal is input, one is added to the value of a register, to thus update the value of the register. In the case of an 8-bit register, a value is iterated, such as 0, 1, 2, . . . , 255, 0, 1, 2, . . . . Further, the random number generator may also be equipped with a logic circuit for generating a number sequence based on an arithmetic progression, a geometric progression, a recurrence formula, a nonlinear function, and the like.
The key generation circuits 23a and 23b each are built from an inverter circuit for interchanging bit values of an input random number, a shift register, and the like, and generate a key in accordance with the random numbers input by the random number generators 22a and 22b. In accordance with the key generated by the key generation circuit 23a, the encryption circuit 24a encrypts input data. A DES (Data Encryption Standard) which is known common key cryptography; a Triple DES (Triple Data Encryption Standard) which iterates encryption processing of DES three times; an IDEA (Improved Data Encryption Algorithm) which is 128-bit block cryptography, an AES (Advanced Encryption Standard) which is a next-generation encryption standard in place of the DES, and the like, can be used as the encryption algorithm.
General descriptions of key generation and encryption processing will now be provided by means of taking the known DES by way of example.
The decryption circuit 24b decrypts the data encrypted by the encryption circuit 24a in accordance with the key generated. The flow of decryption processing is the same as the flow of processing performed by the encryption circuit 24a.
An example procedure for sharing a key will be described hereunder.
In a second embodiment, an example image processing apparatus utilizing a key sharing technique defined in claim 5 will be described.
Explanations are provided by means of taking, by way of example, a multifunction machine (see
The random number generators 61a and 61b generate values derived from a predetermined function, such as pseudo random number values—which are not true random numbers—or increment values. For instance, a configuration analogous to that shown in
A transfer signal 65a is used when information, such as image data, is transferred from the scanner 16 shown in
The counters 64a and 64b each are built from an adder, a register, and the like. The counters 64a and 64b count random numbers respectively generated by the random number generators 61a and 61b. For instance, when the random number generators generate a random number 1F, CB, 33, the counters output a count value 1, 2, 3. The count value is an example of positional information conforming to the time sequence of the value generated by the random number generators 61a and 61b. A time elapsed from a point in time when the random number generators are initialized can be utilized as another example of positional information conforming to the time sequence of values generated by the random number generators 61a and 61b. In this case, means for measuring and outputting time information are required.
The random number regeneration circuit 65b is built from a register, a logical AND circuit, and the like. When a count value is received from the encryption side, the random number generator 61b is initialized. A count value from the counter 64b is input and compared with a count value received by use of the logical AND circuit. When a coincidence between the received count value and the generated count value, a random number is output to the random number generator 61b. For instance, on the assumption that the received count value is three, the random number generator is caused to generate random numbers up to 1F, CB, and 33 and output the third number 33.
The other key generation circuits 62a and 62b, the encryption circuit 63a, and the decryption circuit 63b are identical in configuration with their counterpart circuits of the first embodiment (
An example of key-sharing procedures utilizing the count value will be described hereunder.
In a third embodiment, an example of utilization of the invention defined in claim 9 will be described.
Each of an encryption circuit 134a and a decryption circuit 134b has a plurality of uniquely-developed algorithms in addition to including the previously-described known DES, Triple DES, the IDEA, and the AES. A logic circuit of an encryption algorithm is selected in accordance with a selection signal from the selection circuits 136a and 136b.
Table 1 provided below is an example table by means of which the selection circuits 136a and 136b select the previously-selected encryption algorithm. For instance, on the assumption that there are three types of selectable encryption algorithms: the DES, the IDEA, and the AES and that the random number is 100, a remainder “1” determined by dividing 100 by 3 is output as a selection signal. When the selection signal 1 is output, the encryption circuit 134a and the decryption circuit 134b encrypt/decrypt predetermined information according to the IDEA.
In the encryption circuit 134a and the decryption circuit 134b, the logic circuits may also be configured so as to enable processing of a plurality of block encryption modes. The block encryption mode includes a known ECB (Electronic Code Book) mode for replacing a plain text block with an encrypted block as-is, such as that shown in
In addition, the selection circuits 136a and 136b may also be configured so as to output a signal for use in selecting a key length or a block length—which is an example of an encryption unit—in accordance with the random number output from the random number generators 132a and 132b. In this case, the logic circuits must be configured in the key generation circuits 133a and 133b so as to enable generation of a plurality of key lengths. Tables 3 and 4 are mere examples by means of which the selection circuits 136a and 136b select a key length and a block length in accordance with the random numbers output by the random number generators 132a and 132b.
Moreover, the selection circuits 136a and 136b may also be configured so as to enable selection of encryption strength in accordance with the random number output by the random number generators 132a and 132b. Encryption strength is the degree of difficulty in estimating a plain text from an encrypted text without use of a key. Although encryption strength usually designates a key length in many occasions, the encryption strength can also be considered to be a time required to estimate a plain text from encrypted text. At that time, a predetermined computer previously measures a time required to generate keys on a round-robin system and compute a plain text by use of a predetermined encryption algorithm, a predetermined block encryption mode, a predetermined key length, and a predetermined block length, in relation to an encrypted text. Encryption strength that is a combination of the encryption algorithm, the block encryption mode, the key length, and the block length can be set according to a result of measurement. Table 5 is an example table by means of which the selection circuits 136a and 136b select encryption strength in accordance with the random numbers output by the random number generators 132a and 132b.
In other respects, the circuits shown in
As mentioned above, the selection circuits can have the configuration for selecting the encryption procedures, the key length, an encryption unit, and encryption strength.
In a fourth embodiment, an example encryption communications system according to claim 17 or 18 formed from the encryption communications device defined in claim 15 or 16 will be described.
A SYN (synchronization) signal 105a is output at the time commencement of transmission performed by means of the TCP (transfer control protocol). The system is configured so as to output this SYNC signal to the random number generator 101a and the FAX 94b. Although the SYN signal is used in the present embodiment, another existing signal may also the used.
NICs (Network Interface Cards) 106a and 106b are example transmission means and example receiving means, respectively. The NICs 106a and 106b are known Ethernet (Registered Trademark) and adaptors and control transmission between adjacent nodes in the LAN. Further, a modem, a bsu (Digital Service Unit), a TA (Terminal Adaptor), a wireless LAN card, an optical communications device, a wireless device, may also be acceptable other examples of the transmission means and the receiving means.
When transmission of information is commenced, the SYN signal is output to the random number generator and the counter on the encryption side, whereupon the random number generator outputs a random number and the counter outputs a count value. In accordance with the output random number, the key is generated, and information is encrypted. When an encrypted text and the count value are transmitted, they are received by the decryption side; the random number regeneration circuit regenerates a random number; and a key is generated. The transmitted encrypted text is thus decrypted. This flowchart is analogous to the flowchart shown in
In a fifth embodiment, an example encryption communications system defined in claim 14 built from the encryption communications apparatus defined in claim 13.
The system configuration of the encryption communications system of the fifth embodiment is analogous that shown in
Example key sharing procedures of the fifth embodiment are analogous to those shown in
The foregoing description of the embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention defined by the following claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2007-058293 | Mar 2007 | JP | national |