Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENCRYPTION METHOD AND SYSTEM BASED ON IMAGES.
Document Type and Number:
WIPO Patent Application WO/2020/170071
Kind Code:
A1
Abstract:
It is described a digital processing system (100), comprising: an encryption apparatus (104) comprising: an input (103) configured to receive first digital data (m) to be encrypted; an encryption module (104) configured to process the first digital data (m) with an encryption function (E) so as to generate a first input digital image (IMm) associated to the first digital data; a rotation module (105) configured to process the first input digital image (IMm) according to a function (X) to produce a plurality of modified digital images formula I including at least one first modified digital image formula II obtained by rotating the input first digital image (IMm) of a pre-established non–zero angle.

Inventors:
DE GREGORIO DANIELE (IT)
DI STEFANO LUIGI (IT)
Application Number:
PCT/IB2020/051054
Publication Date:
August 27, 2020
Filing Date:
February 11, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA (IT)
International Classes:
H04N1/32
Foreign References:
CN105389770A2016-03-09
CN109272060A2019-01-25
US20140195593A12014-07-10
Other References:
OLEG GRINCHUK ET AL: "Learnable Visual Markers", 28 October 2016 (2016-10-28), XP055629638, Retrieved from the Internet [retrieved on 20191008]
O. GRINCHUK ET AL.: "Learnable visual markers", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, 2016, pages 4143 - 4151
O. GRINCHUK ET AL., LEARNABLE VISUAL MARKERS
Attorney, Agent or Firm:
POSTIGLIONE, Ferruccio et al. (IT)
Download PDF:
Claims:
CLAIMS

1. Digital processing method, comprising:

an encryption processing comprising:

providing first digital data ( m ) to be encrypted;

processing the first digital data (m) with an encryption function (IE) so as to generate a first input digital image (IMm) associated to the first digital data; and

processing the first input digital image (IMm) according to a rotation function (X) to produce a plurality of modified digital images

including at least one first modified digital image obtained by rotating

the input first digital image (IMm) of a pre-established non-zero angle.

2. The method of claim 1, wherein the plurality of modified digital images ({/M^}) comprises: a first encrypted image rotated of 0°, a second encrypted image rotated of 90°, a third encrypted image rotated of 180° and a fourth encrypted image rotated of 270° with respect to the first input digital image (IMm).

3. The method of claim 1, wherein further including: randomly adding noise and/ or distortion to the plurality of modified digital images

4. The method of claim 1 or 3, further comprising a decryption processing, comprising:

processing at least one image of the plurality of modified digital images with a decryption function (D) providing a plurality of decrypted

digital data ( m' ) together with a plurality of angle values (a) each associated with a corresponding modified digital image

analysing the plurality of decrypted digital data ( m ') to evaluate if the first digital data ( m ) has been correctly recognised.

5. The method of claim 4, wherein the encryption function (IE) and the decryption function (ID)) are parametric functions.

6 The method of claim 5 further comprising:

configuring the encryption function (IE), the rotation function (X) and the decryption function (ID)) by an optimization algorithm taking into account noise and/ or distortion which can be added to the plurality of modified digital images

7. The method of claim 1, wherein the plurality of modified digital images are employable in at least one of the following application:

Watermarking, Steganography, Asymmetric Encryption, Augmented Reality and Automatic Identification.

8. The method of claim 3 or 4, further comprising:

configuring the encryption function (IE), the rotation function (X) and the decryption function (ID)) in order to ensure that the first input digital image (IMm) shows a style of a reference image (IMs); wherein the configuration of the encryption, the rotation and the decryption functions is performed according to a Generative Adversarial Network.

9. The method of claim 8, wherein the encryption function (IE) and the decryption function (©) are Deep Neural Networks.

10. Digital processing system (100), comprising:

an encryption apparatus (104) comprising:

an input (103) configured to receive first digital data ( m ) to be encrypted; an encryption module (104) configured to process the first digital data (m) with an encryption function (IE) so as to generate a first input digital image (IMm) associated to the first digital data;

a rotation module (105) configured to process the first input digital image (IMm) according to a rotation function (X) to produce a plurality of modified digital images including at least one first modified digital image

obtained by rotating the input first digital image (IMm) of a pre-established non-zero angle.

Description:
"ENCRYPTION METHOD AND SYSTEM BASED ON IMAGES"

DESCRIPTION

TECHNICAL FIELD

The present invention relates to encryption techniques employable, as an example, in Watermarking and Steganography fields.

BACKGROUND OF THE INVENTION

Both Watermarking and Steganography deal with techniques to hide information within an image to make them more or less invisible and indecipherable and then exploit the image itself as a means of secure communication between two interlocutors.

Document US2014/ 1195593 describes a method for extrapolating from a Digital Watermark an informative content and an orientation, both useful for an augmented reality system.

Document O. Grinchuk et al., "Learnable visual markers", Advances in Neural Information Processing Systems, 2016. p.4143-4151 describes a method of designing visual markers (analogous to QR-codes, markers for augmented reality, and robotic fiducial tags) based on the advances in deep generative networks. According to this document the markers are obtained as colour images synthesized by a deep network from input bit strings, whereas another deep network is trained to recover the bit strings back from the photos of these markers. The two networks are trained simultaneously in a joint backpropagation process that takes characteristic photometric and geometric distortions associated with marker fabrication and marker scanning into account. Additionally, a stylization loss based on statistics of activations in a pre-trained classification network is inserted into the learning in order to shift the marker appearance towards some texture prototype. SUMMARY OF THE INVENTION

The present invention addresses the problem of providing an encryption technique employable, preferably but not exclusively, in the Watermarking and Steganography fields, that shows increased performances with respect to the known techniques in terms of difficulty in un-authorized decryption and possibility of avoiding false positives.

According to a first object, the present invention relates to digital processing method comprising an encryption processing as defined by the appended independent claim 1. Particular embodiments of the method are described by the dependent claims 2-9.

In accordance with a second object, the present invention relates to digital processing system defined by the appended independent claim 10.

BRIEF DESCRIPTION OF THE DRAWINGS

Further characteristics and advantages will be more apparent from the following description of a preferred embodiment and of its alternatives given as an example with reference to the enclosed drawings in which:

- Figure 1 schematically shows an example of a digital processing system comprising an encryption apparatus and a decryption apparatus;

- Figure 2 schematically shows an example of digital images obtainable by an encryption function employable in said system;

- Figure 3 illustrates an example of a training architecture of said digital processing system that allows obtaining images with a pre-established style;

- Figure 4 shows an example of a tag obtainable with said system as applied to bag;

- Figure 5 shows an example of an encrypted text obtainable by said system and affixed to a document. DETAILED DESCRIPTION

Figure 1 schematically shows an example of a digital processing system 100 comprising an encryption apparatus 101 and a decryption apparatus 102.

As an example, the encryption apparatus 101 and the decryption apparatus 102 comprise a respective processing unit, having suitably memories adapted to store data and software instructions, together with suitable user interfaces.

It is noticed that the processing system 100 can operate as an asymmetric cryptography system but it can be also used in the fields of Watermarking and Steganography.

Particularly, the encryption apparatus 101 comprises an input 103 configured to receive a plurality of digital data M to be encrypted. As an example, digital data M are definable as an alphabet employed to form words m: m M Each word m may be represented in any form amenable to digital processing, e.g. as a binary string or an array of numbers encoded in a binary format. For example, in Fig. 1 words are integer numbers from a 16 words alphabet, i.e 0,1...15." In general, an input message will consist of a sequence of words m belonging to the alphabet M and may represent, e.g., plain text or sound or an image or any other kind of information."

Moreover, the encryption apparatus 101 is provided with an encryption module 104 configured to process the plurality of digital data M according to an encryption function IE to generate a plurality of input digital images IM. Each input digital image IM being associated to a corresponding word m of the alphabet M. Figure 2 shows an example in which the alphabet M = (0, 1, 2, 3, ...,15) has been encrypted in a plurality of sixteen images IM0, IM1, ..., IM15.

Particularly, the encryption function IE is a parametric function able to generate a different image IM m for each input word m, IE(m) = IM m . More particularly, the encryption function IE can be a Neural Network such as a Convolutional Neural Network.

It is noticed that the plurality of input digital images IM produced by encryption function IE represents a cyphertext and the encryption function IE plays the role of a Public Key in the asymmetric encryption scheme implemented by the processing system 100.

Moreover, the encryption apparatus 101 comprises a rotation module 105 configured to process each input digital image IM m to produce a corresponding plurality of modified digital image The plurality of modified digital image is obtained by rotating a corresponding input

digital image IM m of pre-established different angles a.

The plurality of modified digital image includes at least one modified

digital image which is rotated with respect to the corresponding input digital image IM m of a non-zero angle. As an example, the modified digital image of figure 1 has been rotated of 270° with reference to the input digital

image IM m .

Particularly, the plurality of modified digital image associated with

a specific input digital image IM m also includes a modified image that has not been rotated with respect to the specific input digital image IM m ; as an example, such non-rotated image is the image of figure 1 (which,

equivalently, is the result of a 360° rotation).

According to a preferred embodiment, the plurality of modified digital image comprises four modified digital images each of which is rotated of 90° from the previous one: a first image rotated of 0° (e.g ° ), a second

image rotated of 90° (e.g ), a third image rotated of 180° (e.g. and

a fourth image rotated of 270° (e.g. Particularly, rotation module 105 is also designed to inject randomness and distortions in the plurality of modified digital images This

function performed by module X is able to simulate distortions that an image may undergo in the real world (for example, those that the image undergoes due to a change of perspective, noise or those that it undergoes after a print on paper etc.).

According to an example, the random-based function X can be expressed as:

Expression (1) indicates that the random-based function X produces four different variants of the input image IM m , each of which is rotated by 90 degrees from the previous one, with random noise and distortion applied to it.

The decryption apparatus 102 comprises a decryption module 107 having a decryption input 106 configured to receive the plurality of modified digital image resulting from the encryption apparatus 101.

The decryption module 107 is able to process at least one image of the plurality of modified digital image to provide decrypted digital data representing a prediction of the original message M. The decryption module 107 operates according to decryption function D which is, particularly, a parametric function. The decryption function D operates by retrieving from each modified digital image both the original word m' and the orientation

angle a' corresponding to the rotation applied to the input image IM m :

It is observed that the decryption function © plays the role of the Private Key in the asymmetric encryption scheme implemented by the processing system 100.

Moreover, it is noticed that the decryption function © estimates a pair (a' , m') that may not be perfectly equal to the pair (a, m) actually encrypted in the image IM m , therefore the robustness of the system 100 is measured in the degree of accuracy of the decryption function ID ) .

The decryption function © is, preferably, a Neural Network, such as an example, a Convolutional Neural Network

The encryption function IE is configured by means of configuration parameters q E and the decryption function © is configured by configuration parameters q D defined, preferably, by employing an optimization algorithm, such as for example any standard optimization algorithm used to train neural networks. Particularly, given an alphabet M as input, the corresponding plurality of input images IM is generated by means of the optimization algorithm able to find the optimal configuration of the parameters q E and q D , in such a way that each generated input image IM is so distinguishable from the others that the decryption processing (function ©) is ideally never wrong:

= ( a', m' ) = (n, m) for each word m in the vocabulary and for each

angle rotation a.

The optimization algorithm minimizes a suitable loss function related to the decryption error such as, for example: = d((a, m), (a', m')),

where d() is a generic dissimilarity function used to measure difference between input code (a, m) and output code ( a' , m').

The optimization algorithm applied to the processing system 100 also ensures that the input digital images IM, together with the modified digital images generated from a message M are always different, thus

ensuring a high degree of security of the encryption apparatus 101. From the point of view of encryption, the parameters q E of function IE and those of function D, q E , play the role of the public and private keys respectively. The optimization algorithm then actually generates the keys themselves and generates them in such a way that the decryption processing is never wrong (or it is wrong with low probability).

Moreover, the optimization algorithm initializes these keys in a random way, starting from a pseudo-randomization seed. This causes two distinct and/or remote entities, starting from the same pseudo-randomization seed, and fixed a number of iterations, to converge on the same result. In this way, it is possible to share a pair of public/ private keys without ever exchanging it directly.

The operation of the processing system 100 is clear from the above description and from figures 1 and 2 showing modules (particular software modules) that correspond to processing steps.

It is noticed that the processing system 100 can be used to generate an encrypted message in Watermarking or Steganography applications.

As an example, the plurality of the modified digital images

produced by the encryption apparatus 101 can also be used to form a tag to be used, for example, in Augmented Reality and Automatic Identification applications. As an example, the plurality of the modified digital images can be printed on suitable support, so forming a tag,

and fixed to an external object.

The decryption apparatus 102 may include an imaging acquisition device (not shown) that can acquire an image of the tag (e.g. scanning the tag), corresponding to one image of the plurality of the modified digital images which is submitted to the decryption module 107.

The decryption module 107 processes the acquired tag image

providing a plurality of decrypted pairs ( a', m' ). As an example, in order to establish if the tag is valid or not valid the plurality of decrypted data m' of each pair can be used. According to the example of figure 1 (wherein four rotation angles a have been considered), a tag is considered valid if all of its four decrypted pairs ( a' , m') contain the same word m. In this way not only is it possible to avoid false positives during code scans but it is also possible to create Fake Tags to further increase the difficulty of decrypting a code of this type; where Fake Tags means a set of images similar to those generated by IE but actually not valid.

Figure 3 refers to a particular embodiment of the processing system 100 according to which the images randomly generated IM m to encrypt a message M are chosen according to a pre-established image style IMs.

More particularly, figure 3 schematises a learning algorithm of the processing system 100. According to this example, the encryption module 104 and the decryption module 107 may be implemented by corresponding Deep Neural Networks.

The neural network implementing the encryption function IE is a

Generator, better known as a Decoder, able from a one-dimensional vector to produce a two-dimensional image; the symbol of the trapezium, with the greater base turned to the right, is to indicate an expansion, just because it expands a string of bits transforming it in a matrix of pixels. The neural network implementing the decryption function © is an Encoder able to do the inverse task: to transform a two-dimensional image into a vector; also here the trapezium, inverted with respect to the previous one, indicates a compression of the information.

The random-based function X is a neural network that introduces, as already described, the rotation of the input digital images IM together with random disturbances. Moreover, a further noise z is added to each word m, as schematised in figure 3 by a first node 110.

In the example shown in figure 3, a vocabulary of sixteen words will be transformed into a plurality of sixteen input images IM that resemble very much the style image IMs provided in input, but each with a random variation, introduced by the optimization process, which will make them unique and distinguishable to the system, but hardly to the human eye.

The stylization of the images IM is implemented thanks to additional modules: a further rotation module 108, implementing the same random- based function X as already described, and a discriminator module 109, implementing a discrimination function 35. The discrimination function 15 is may be discriminator neural network able to establish, after analysing an input image IM m , produced by the encryption module 104, whether or not such input image looks like the incoming style image IMs, which represents a style reference image.

The architecture shown in figure 3, known in the literature as Generative Adversarial Network (represented in this case by the pair IE +

15), is able to force, during the optimization process, the images IM generated by the encryption function IE to resemble as much as possible to the incoming style image IMs.

Particularly, in figure 3 a discriminator output quantifies a style

difference between the input image IM m and the style image IMs. An decryption error output of the Encoder D quantifies, as described before, a difference between the original word m and the encoded (i.e. decrypted) message provided by the Encoder ID ) . A second node 111 adds the decryption error output to the output to obtain an error

quantity to be minimized.

Figure 4 refers to an example of application wherein the processing system 100 is used to hide an encrypted code (i.e. a message) within a texture. Particularly, figure 4 shows a bag 200 with a tag 300 obtained using the processing system 100 according to figure 3. The tag 300 hides a message that is not visible to the human eye and shows an image having a pre-established style. The tag 300 may be useful for anti-counterfeiting purpose.

According to another example, illustrated in figure 5, the processing system 100 can be used to generate encrypted text 400 to be affixed to documents 500, as a graphic signature unreadable by humans. A signature of this type can be also automatically affixed by a ticketing system to allow the validation of tickets by means of a simple camera, avoiding counterfeiting. It is noticed that unlike what happens for known bar codes, a "malicious user" cannot even read the content of the code 400 to try to replicate it, she/he can simply copy it without being able to change the content.

With reference to another example, the processing system 100 can be used to generate 2D barcodes (such as Qr-Codes or DataMatrix) securely. The content of such 2D barcode cannot be read without knowing the corresponding decryption function ID). At the same time, the processing system 100 can be used to generate 2D barcodes with a visual appeal inherent in the product, unlike classic barcodes that are black and white by definition.

Moreover, the processing system 100 can be used in producing augmented reality markers. Particularly, the processing system 100 can be used to generate "augmented" content on the images that contain the marker or even for robotic systems that can then grab the objects on which the markers are affixed.

The processing system and method above described can be used as asymmetric encryption scheme and for different types of applications in the field of Watermarking, Steganography and Automatic Identification.

It is noticed that the angle information provided by the processing system 100 is particularly advantageous since such angle information allow creating a verify procedure to avoid false positives and to increase the difficulty of decryption. In particular, to avoid false positives, upon receiving an encrypted image the decoder may rotate it according to all the possible predefined rotations and determine the final word based on a voting scheme, e.g. all/most decoded words must coincide. As for increasing the difficulty of decryption, the code words may be sent together with Fake Tags (i.e. any other image not generated by the encoder) but, although any image will return a code word, only the real code images will return the same code for all the rotations.

Moreover, the angle information is mandatory to use the images generated by the encoder, IE, as tags in Augmented Reality (AR) applications.

Finally, it is observed that, if not used for any of the above-mentioned purposes, the angle information may be used to increase the size of the alphabet M. For example, 4 rotations yield 2 additional bits of information, i.e. the size of the alphabet increases by 4.

The embodiment using Generative Adversarial Networks (as described with reference to figure 3) is advantageous since it allows embedding custom style into tags in a manner that is computationally more efficient with respect to the known art (e.g. the one of above cited document O.

Grinchuk et al., "Learnable visual markers").

The use of random noise during the optimization phase allows creating tags that are robust to most of the noise that can be generated when the tag is actually printed on a physical medium. This noise resistance allows analysing the obtained tag with a simple camera, from different angles, without the need for special sensors for reading (like classical barcode reader).