IMAGE ENCRYPTION
The encryption system compresses and expands image data with random pixels, using position coordinates to generate a unique key pair for secure data transfer, addressing vulnerabilities in existing encryption methods and ensuring secure decryption.
Patent Information
- Application Number
- DE112023001817
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-04-07
- Filing Date
- 2023-03-21
- Publication Date
- 2025-01-23
AI Technical Summary
Existing encryption methods, such as RSA and chaotic encryption, are vulnerable to key size attacks and inefficient for image data security, especially in mobile and flexible working environments, where secure data transfer is required.
A data encryption system that compresses image data, generates a composite image with random data, determines position coordinates, and uses these coordinates to create a unique encryption/decryption key pair, transmitting the keys separately to ensure secure decryption.
Enhances data security by making it difficult for malicious actors to decrypt image data without both the encrypted file and the corresponding decryption key, ensuring secure and efficient data transfer.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA OF INVENTION
[0001] The disclosure generally relates to systems and methods for encrypting image data. In particular, the disclosure relates to the use of a compressed latent area and the position of a bounding frame as encryption / decryption start values. BACKGROUND
[0002] Preventing unauthorized individuals from accessing data stored on web-enabled computer systems is extremely difficult. A user only needs to click on a malicious link in an email or carelessly respond to a seemingly legitimate request for information, and an intruder could gain complete access to all stored data. In government and public relations environments, such a breach can be catastrophic.
[0003] In the past, encryption offered companies a way to ensure data security. Encryption encodes data so that only authorized parties can access it, and it doesn't control the data itself, but rather focuses on controlling access to it. To achieve a higher level of data security, behavior would need to be subject to further restrictions. However, in today's mobile world, employees need to be able to transport files outside the corporate network to travel to other locations and work efficiently from home. Consequently, companies are constantly caught in the conflict between achieving data security and maintaining a flexible and efficient work environment. Next-generation data security was made possible because of this challenge.
[0004] The basic idea of encryption transforms data into a form that hides its original meaning, and only those who are properly authorized can decrypt it. This is achieved by scrambling the information using mathematical functions based on a number called the key. A reverse process, using the same or a different key, is then used to decrypt (or re-encrypt) the information. When the same key is used for both encryption and decryption, the process is considered symmetric. When different keys are used, the process is defined as asymmetric.
[0005] The definition is quite simple based on the terminology: encryption means that the data or bits of a particular source are modified according to a specific pattern known only to the sender and receiver. This is generally done using ordinary bits from arbitrary passwords or Secure SSL encryption systems. However, the idea of applying a similar encryption algorithm to an image is revolutionizing the field of secret image communication.
[0006] Image encryption is based on the innovative idea of using the consecutive or random pixel bits of an image and modifying these pixel bits together using logic, thus creating a complete set of new pixels from the original bits. This results in a new way of transmitting information.
[0007] Rivest-Shamir-Adleman (RSA) is a widely used encryption algorithm. The RSA algorithm is an asymmetric cryptography algorithm. Asymmetric means, in practical terms, that it is based on two different keys: a public key and a private key. As the name suggests, the public key is freely distributed, and the private key is kept secret.
[0008] As an example of asymmetric cryptography: A client (for example, a browser) sends its public key to the server and requests some data. The server encrypts the data using the client's public key and sends the encrypted data. The client receives this data and decrypts it using its private key. Because this is asymmetric, no one except the browser can decrypt the data, even if a third party has the browser's public key.
[0009] In RSA encryption, messages are encrypted using a code called a public key, which can be shared publicly. Due to certain mathematical properties of the RSA algorithm, a message encrypted with the public key can only be decrypted with another key, called a private key. Every RSA user has a key pair consisting of their public and private keys. As the name suggests, the private key must be kept secret.
[0010] Public-key encryption schemes differ from symmetric-key encryption, where both the encryption and decryption processes use the same private key. These differences make public-key encryption, such as RSA, useful for data exchange in situations where there was no way to securely distribute keys beforehand.
[0011] Object detection algorithms locate the presence of objects in an image using bounding boxes, as well as the types or classes of the located objects. The algorithms generate a list of object categories present in the image, along with bounding boxes aligned along an axis, which specify the position and scale of each instance of each object category.
[0012] There are several powerful deep learning models that perform object localization and object detection, such as R-CNN models (R-CNN, Fast R-CNN, Faster R-CNN) and YOLO models. The most popular family of object detection models is collectively known as YOLO, or "You-Only-Look-Once." While R-CNN models may generally be more accurate, the YOLO family of models is fast, much faster than R-CNN, enabling real-time object detection. The approach involves a single, end-to-end trained neural network that takes an image as input and directly predicts object bounding boxes and class labels for each bounding box. SUMMARY
[0013] The following is a summary presented to provide a basic understanding of one or more embodiments of the disclosure. This summary is not intended to identify important or critical elements or to outline any scope of the respective embodiments or any scope of the claims. Its sole purpose is to present concepts in simplified form as an introduction to the more detailed description that will be presented later. In one or more embodiments described herein, units, systems, computer-executed methods, devices, and / or computer program products enable the encryption of image data.
[0014] Aspects of the invention disclose methods, systems, and computer-readable data carriers in connection with the encryption of image data, in that first image data corresponding to a first image having a first image size, the first image data are compressed, resulting in second image data corresponding to a second image having a second image size, the second image data are expanded, resulting in third image data corresponding to a third image having the first image size, coordinates of a position of the second image within the third image are determined, the third image data are encrypted according to the coordinates, the encrypted third image data are provided to a decoder through a first transmission channel, and the coordinates of the second image within the third image are provided to the decoder through a second transmission channel. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The more detailed description of some embodiments of the present disclosure in the accompanying drawings makes the foregoing and further problems, features and advantages of the present disclosure more apparent, with the same reference numeral generally referring to the same components in the embodiments of the present disclosure. Fig. Figure 1 provides a schematic representation of a data processing environment according to an embodiment of the invention. Fig. 2 provides a process flow chart that represents a processing sequence according to an embodiment of the invention. Fig. Figure 3 represents a cloud computing environment according to an embodiment of the invention. Fig. Figure 4 represents abstraction model layers according to an embodiment of the invention. DETAILED DESCRIPTION
[0016] Some embodiments are described in more detail with reference to the accompanying drawings, which illustrate the embodiments of the present disclosure. However, the present disclosure can be implemented in various ways and should therefore not be interpreted as being limited to the embodiments disclosed herein.
[0017] Typical image encryption methods use RSA encryption algorithms as well as algorithms for chaotic encryption. RSA encryption uses a public key consisting of two numbers, one of which is the product of two large prime numbers. The private key is also derived from the same two prime numbers. Therefore, the encryption strength depends entirely on the key size, and doubling or tripling the key size increases the encryption strength exponentially. RSA keys are typically 1024 or 2048 bits long; 1024-bit keys may be easy to crack in the near future.
[0018] The biggest drawback of most chaotic encryption algorithms is their use of floating-point calculations, which makes the practical software or hardware implementation of such systems inefficient and complex compared to conventional encryption methods like AES and RSA, which operate solely on integer operations. Disclosed implementations provide systems and methods that require additional factors for encrypting / decrypting image data.
[0019] Aspects of the present invention generally relate to the secure transmission of data using encrypted transmission and the decryption of image data. In embodiments, a data transmission system receives unencrypted image data for an image of a first size. Compression of the image data results in a reduced-size image. The method then expands the reduced image, restoring the dimensions of the reduced-size image to its original size, resulting in a composite image of the original size containing the compressed image and the expanded data. A scan of the composite image yields the coordinates of the position of the compressed image within the composite image. In one embodiment, the system generates an encryption / decryption key pair using the coordinates obtained from the scan.The composite image is encrypted using one key from the pair. The encrypted data is transmitted to the intended recipient via a first transmission channel. The complementary key of the pair is then transmitted to the recipient via a second transmission channel, ensuring that intercepting either the key or the data would not provide all the information necessary for decryption. In this way, the recipient receives the data and the key, can decrypt the data, and decompress the decrypted image, resulting in possession of the original, normally sized, decrypted image.
[0020] In one embodiment, the system and the method generate a single key from the coordinates of the bounding frame and share this single key with the receiver, as described above. In this embodiment, the encryption and decryption of the image data each use the same encryption key generated from the coordinate data of the bounding frame.
[0021] According to aspects of the invention, there is a method for automatically receiving image data for encryption and transmission, wherein the method compresses the received image data and augments the compressed image with random data to produce a composite image that has the same size as the originally received image. The method scans the composite image, extracting positional coordinates for the compressed image within the entire composite image. The method encrypts the composite image, using the positional coordinates as at least a part of the basis for generating the encryption key. The method transmits a corresponding decryption key and the encrypted data file to a receiver, using separate transmission channels for the data file and the decryption key, respectively.The receiver uses the decryption key to decrypt the data file and then decompresses the decrypted file, resulting in the original image.
[0022] Aspects of the invention provide an improvement in the technical field of data encryption and transmission systems. Conventional encryption systems use RSA or chaos-based encryption methods. Such methods can be easily cracked, depending on the key size. Disclosed methods utilize a latent property of the original image when deriving the encryption / decryption key pair, such that each encrypted image uses a unique key pair derived by processing the original data itself. Compressing the original image results in a smaller image, which methods can then resize to the original size. Evaluating the resulting image yields the coordinates of the compressed image's position within the boundaries of the composite image.An encryption key derived from these coordinates provides a means of encrypting the data of the composite image. A corresponding decryption key and the encrypted data file are transmitted to the recipient using independent transmission channels. The recipient uses the decryption key to decrypt the data file and then decompresses the compressed image within the result, yielding the original image.
[0023] Aspects of the invention also provide an improvement in computer functionality. In particular, embodiments of the invention are directed toward a specific improvement in the way encryption systems operate, which is embodied in the use of latent data from the processing of the original image data file by data compression, padding the compressed result to the size of the uncompressed image, and separating the coordinates of the compressed image within the original image for use in deriving the encryption / decryption key(s) specific to the sharing of the original image.In some embodiments, the system derives a new encryption / decryption key or key pair for each transmitted image according to positional coordinates specific to each compressed-augmented image. In one embodiment, the method further processes the compressed image by creating a position for it within the boundaries of the original image before padding the compressed image to those boundaries. In this embodiment, knowing the position of the compressed image in a previously encrypted and transmitted file is useless, since each image position is unique.Using unique key pairs for each sequence of image encryption - transmission decryption means that a malicious actor must come into possession of both the data file and the corresponding decryption key for a given image transmission in order to decrypt the image.
[0024] In brief, a data encryption system is an application running on data processing hardware that uses an encryption method shared by a sender and a receiver. The data encryption system receives image data for encryption from various sources, including input via a network. Compressing the image data results in a smaller compressed image, which can then be padded to the original image size using additional data. Evaluating the composite image yields positional coordinates for the compressed image within the original-size image. These coordinates form the basis for generating a key or key pair.With a key pair, one key encrypts the composite image, while the other key is sent to the recipient to decrypt the encrypted file, which is also delivered to the recipient, albeit via a different transmission channel. With a single key, the system sends the key to the intended recipient and also uses it to encrypt the data. The decrypted data can then be decompressed to reveal the original image.
[0025] In one embodiment, one or more components of the system can employ hardware and / or software to solve problems of a highly technical nature (e.g., receiving image data, generating a compressed image from the image data, padding the compressed image with extended data, scanning the extended image to determine the coordinates of the compressed image within the extended image, encrypting the extended image according to a key generated using the coordinates, providing the coordinate-based key and the encrypted image to a receiver, etc.). These solutions are not abstract and, due to the processing functions necessary to enable, for example, the encryption of image data, cannot be performed by a human as a series of mental operations.Furthermore, some of the processes can be carried out by a dedicated computer for performing defined tasks related to the encryption and transmission of encrypted data. For example, a dedicated computer can be used to perform tasks related to the secure sharing of confidential image data or similar activities.
[0026] In one embodiment, a method receives confidential target image data for sharing by a sender and a receiver. The confidential image data can be provided by the sender in any known digital image file format. In this embodiment, the method continues by compressing the confidential image data using known data compression methods such as DEFLATE, RUNLENGTH, TRANSFORM, or other known image data compression models. (Note: The terms “DEFLATE,” “RUNLENGTH,” “TRANSFORM,” and “PuTTYGen” may be subject to trademark rights in various jurisdictions worldwide and are used here only with reference to the goods or services properly designated by the trademarks, to the extent that such trademark rights may exist.)
[0027] After compressing the confidential image data, the method generates random pixel data, using, for example, one or more random number generators to produce random numbers for pixel features such as red, blue, green, hue, saturation, L*A*B* values, etc., and augments the compressed data with the generated white noise. In one embodiment, the method pad the compressed data so that the total size of the composite image, including the compressed data and the random data, is equal to the size of the original, uncompressed, confidential image. In another embodiment, the method randomly selects a placement position for the compressed image within the edges of the original image and fills the area between the compressed image and the edges of the original image with the random pixel data.In this embodiment, the placement coordinates of each compressed image differ within the margins of the corresponding original image, so that a receiver of a previous encryption process cannot use any information regarding the position of the previous compressed image when decrypting any other encrypted image data.
[0028] In one embodiment, the method scans the composite image containing the compressed and augmented random data, using a technique such as a You-Only-Look-Once (YOLO) model, an image analysis model of a trained neural network such as a Recurrent Convolutional Neural Network (R-CNN, Fast R-CNN, Faster R-CNN), etc., to specify a coordination-defined bounding box that defines the position of the compressed data within the random pixel data of the composite image. The scan outputs the coordinates of the bounding box that surrounds the compressed data.
[0029] In one embodiment, the method uses the coordinates of the bounding box to generate a public-private key pair specific to the encryption and transmission of the current image data. In this embodiment, the method uses a key generation algorithm such as PuTTYGen and the bounding box coordinates to generate the public-private key pair. In this embodiment, the method provides the recipient with the private key of the pair for use in decrypting the encrypted image data. The method transmits the private key using a first transmission channel that is different from the transmission channel used for transmitting the encrypted data.Using separate transmission channels for the key and the data reduces the likelihood that a malicious actor could intercept and use both the key and the data to gain access to the confidential information.
[0030] In one embodiment, the method generates a single encryption / decryption key for use with a symmetric encryption / decryption algorithm. In this embodiment, the method then provides the generated single key to the intended recipient for use in decrypting the encrypted image data.
[0031] In one embodiment, the method encrypts the composite image using known encryption methods and an encryption / decryption key generated from the coordinates of the bounding frame. Exemplary encryption methods include an asymmetric key encryption algorithm, a symmetric key encryption algorithm, RSA encryption, and ECC (Elliptical Curve Cryptography) methods. Following encryption, the method sends, or otherwise transmits, the encrypted data file to the recipient using a second transmission channel, as described above.
[0032] In one embodiment, after receiving both the decryption key and the encrypted data file, the receiver decrypts the file using a decryption algorithm and the provided decryption key, yielding the composite image including the compressed data and the random pixel padding. In this embodiment, the receiver extracts the original compressed image using the bounding box coordinates or by rescanning the decrypted image to re-specify the bounding box of the compressed image data. In this embodiment, the receiver then reverses the data compression algorithm, using the compressed data as input, yielding the original, uncompressed, confidential image data.
[0033] Fig. Figure 1 provides a schematic representation of exemplary network resources in connection with the practical implementation of the disclosed inventions. The inventions can be implemented in the processors of any of the disclosed elements that process an instruction stream. As shown in the figure, a networked client unit 110 is wirelessly connected to a server subsystem 102. A client unit 104 is wirelessly connected to the server subsystem 102 via a network 114. The client units 104 and 110 have an image encryption program (not shown) together with sufficient data processing resources (processor, main memory, network transmission hardware) to execute the program. As shown in Fig. As shown in Figure 1, server subsystem 102 has a server computer 150. Fig. Figure 1 shows a block diagram of components of the server computer 150 within a networked computer system 1000 according to an embodiment of the present invention. It should be noted that Fig. Figure 1 merely illustrates a single embodiment and does not imply any limitations regarding the environments in which different embodiments can be implemented. Many modifications can be made to the depicted environment.
[0034] The server computer 150 can include a processor 154, main memory 158, persistent memory 170, a transfer unit 152, input / output (I / O) interface(s) 156, and a transfer structure 140. The transfer structure 140 provides transfers between a cache 162, main memory 158, persistent memory 170, the transfer unit 152, and the input / output (I / O) interface(s) 156. The transfer structure 140 can be implemented with any architecture designed to transfer data and / or control information between processors (such as microprocessors, transfer and network processors, etc.), system memory, peripheral units, and any other hardware components within a system. For example, the transfer structure 140 can be implemented with one or more buses.
[0035] The main memory 158 and the persistent memory 170 are computer-readable storage media. In this embodiment, the main memory 158 comprises a random-access memory (RAM) 160. In general, the main memory 158 can comprise any suitable volatile or non-volatile computer-readable storage media. The cache 162 is a fast memory that improves the performance of the processor(s) 154 by holding recently accessed and nearly recently accessed data out of the main memory 158.
[0036] Program instructions and data used to implement embodiments of the present invention, e.g., the image data encryption program 175, are stored in persistent memory 170 for execution and / or access by one or more of the respective processors 154 of the server computer 150 via the cache 162. In this embodiment, persistent memory 170 comprises a magnetic hard disk drive. Alternatively or additionally to a magnetic hard disk drive, persistent memory 170 may comprise a solid-state drive, a semiconductor memory unit, a read-only memory (ROM), a erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0037] The storage media used by Persistent Memory 170 can also be interchangeable. For example, a removable hard disk drive can be used for Persistent Memory 170. Other examples include optical and magnetic disks, thumb drives, and smart cards, which are inserted into a drive for transfer to another computer-readable storage medium that is also part of Persistent Memory 170.
[0038] The transmission unit 152 in these examples enables transmissions with other data processing systems or units, including resources of the client data processing units 104 and 110. In these examples, the transmission unit 152 comprises one or more network interface cards. The transmission unit 152 can provide transmissions using physical or wireless, or both physical and wireless, transmission links. Software distribution programs, as well as other programs and data used for an implementation of the present invention, can be downloaded by the transmission unit 152 into the persistent memory 170 of the server computer 150.
[0039] The I / O interface(s) 156 enables / enables the input / output of data with other units that may be connected to the server computer 150. For example, the I / O interface(s) 156 can / can provide a connection to (one) external unit(s) 190, such as a keyboard, keypad, touchscreen, microphone, digital camera, and / or other suitable input device. The external unit(s) 190 may also include removable, computer-readable storage media, such as thumb drives, removable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, e.g.,The image data encryption program 175 on the server computer 150 can be stored on such removable, computer-readable storage media and loaded into persistent memory 170 via I / O interface(s) 156. The I / O interface(s) 156 is / are also connected to a screen 180.
[0040] The 180-degree screen provides a mechanism for displaying data to a user and can, for example, be a computer monitor. The 180-degree screen can also function as a touchscreen, such as the screen of a tablet computer.
[0041] Fig. Section 2 provides a flowchart 200 that illustrates exemplary activities related to the practice of revelation. After the program starts at block 210, the procedure receives an original image data file from a sender, intended for encryption and transmission to a receiver. At block 220, the procedure compresses the original data file, resulting in a compressed image file that is reduced in size compared to the original.
[0042] In block 230, the procedure expands the compressed data image, padding its size to match the original image using random pixel data or other data. This expansion or padding results in a composite image of the same size as the original image, with the compressed data embedded within it. The position of the compressed image within the composite image can be determined by the sender or randomly by the procedure.
[0043] At block 240, the procedure scans the composite image data using a bounding box object recognition algorithm, such as R-CNN, trained to recognize bounding boxes of objects, or a computationally more efficient YOLO model, to determine the positional coordinates of a bounding box of the position of the compressed data within the composite image.
[0044] At block 250, the procedure generates an encryption / decryption key or key pair from the coordinates of the bounding box, which were determined from the scan. The procedure uses known key generation algorithms to generate the key(s).
[0045] At block 260, the procedure encrypts the composite image using an encryption algorithm and either the single generated encryption / decryption key or a key from the generated encryption / decryption key pair.
[0046] At block 270, the method transmits the encrypted composite image to the receiver using one transmission channel, and at block 280, the method transmits the corresponding decryption key to the receiver using a different transmission channel. The method provides a mechanism by which each encrypted and transmitted image uses a unique key generated directly from a latent property of the composite image itself.
[0047] It should be clarified from the outset that the implementation of the teachings set forth herein is not limited to a cloud computing environment, although this disclosure includes a detailed description of cloud computing. Rather, embodiments of the present invention can be implemented together with any other type of data processing environment, now known or hereafter invented.
[0048] Cloud computing is a service delivery model that enables seamless, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing power, main memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management overhead or interaction with a service provider. This cloud model can include at least five characteristics, at least three service models, and at least four implementation models. The properties are as follows:
[0049] On-Demand Self-Service: A cloud user can unilaterally and automatically provide data processing functions such as server time and network storage as needed, without requiring human interaction with the service provider.
[0050] Broad Network Access: Functions are available over a network, accessed through standard mechanisms that support use by heterogeneous thin or thick client platforms (e.g. mobile phones, laptops and PDAs).
[0051] Resource pooling: The provider's data processing resources are pooled to serve multiple users using a multi-tenant model, with various physical and virtual resources being dynamically allocated and reassigned as needed. There is a perceived location independence, as the user generally has no control over or knowledge of the exact location of the provided resources, but may be able to define a location at a higher level of abstraction (e.g., country, state, or data center).
[0052] Rapid Elasticity: Features can be deployed quickly and elastically for rapid horizontal scaling (scale out), in some cases automatically, and released quickly for rapid scale-in. To the user, the available features often appear unlimited and can be purchased in any quantity at any time.
[0053] Measured Service: Cloud systems automatically control and optimize resource usage by employing a measurement function at a certain level of abstraction appropriate for the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, thereby creating transparency for both the provider and the user of the service. The service models are as follows:
[0054] Software as a Service (SaaS): The functionality provided to the user consists of using the provider's applications running in a cloud infrastructure. These applications are accessible from various client devices via a thin-client interface, such as a web browser (e.g., web-based email). The user does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, with the possible exception of limited user-specific application configuration settings.
[0055] Platform as a Service (PaaS): The function provided to the user is to deploy applications created or obtained by the user, using programming languages and tools supported by the provider, within the cloud infrastructure. The user does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the deployed applications and potentially over configurations of the application hosting environment.
[0056] Infrastructure as a Service (IaaS): The functionality provided to the user consists of supplying processing, storage, networking, and other basic data processing resources, enabling the user to deploy and run any software, including operating systems and applications. The user does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and potentially limited control over selected network components (e.g., host firewalls). The following are the deployment models:
[0057] Private Cloud: The cloud infrastructure is operated solely for one organization. It can be managed by the organization or a third party and can be located on the organization's own premises or on external premises.
[0058] Community Cloud: This cloud infrastructure is shared by multiple organizations and supports a specific user community with shared concerns (e.g., mission, security requirements, policies, and regulatory compliance considerations). It can be managed by the organizations themselves or a third party and can be located on-premises or externally.
[0059] Public Cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization that sells cloud services.
[0060] Hybrid Cloud: The cloud infrastructure is a composition of two or more clouds (private, community or public) that remain separate entities but are connected by a standardized or proprietary technology that enables data and application portability (e.g. cloud audience distribution for load balancing between clouds).
[0061] A cloud computing environment is service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing lies an infrastructure comprising a network of interconnected nodes.
[0062] With reference to Fig. Figure 3 illustrates a cloud computing environment 50. As shown, the cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local data processing units used by cloud users, such as an electronic assistant (PDA, personal digital assistant) or a mobile phone 54A, a desktop computer 54B, a laptop computer 54C, and / or an automotive computer system 54N, can exchange data. The nodes 10 can exchange data with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private, community, public, or hybrid clouds described above, or in a combination thereof.This allows the cloud computing environment to offer infrastructure, platforms, and / or software as services, for which a cloud user does not need to maintain resources on a local data processing unit. It should be noted that the types of [in ] Fig. The data processing units 54A to N shown are for illustrative purposes only, and the data processing nodes 10 and the cloud computing environment 50 can exchange data with any type of computer unit via any type of network and / or any type of network-accessible connection (e.g., using a web browser).
[0063] With reference to Fig. Figure 4 shows a set of functional abstraction layers that are used by the cloud computing environment 50 ( Fig. 3) be provided. It should be clear from the outset that the in Fig.The components, layers, and functions shown in the four diagrams are for illustrative purposes only, and embodiments of the invention are not limited to them. As shown, the following layers and corresponding functions are provided:
[0064] A hardware and software layer 60 comprises hardware and software components. Examples of hardware components include: mainframe computers 61; servers based on the RISC (Reduced Instruction Set Computer) architecture 62; servers 63; blade servers 64; storage units 65; and networks and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0065] A virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities are provided in one or more embodiments: virtual servers 71; virtual memory 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
[0066] In one example, an administration layer 80 can provide the functions described below. A resource provisioning layer 81 provides the dynamic procurement of data processing resources and other resources used to perform tasks within the cloud computing environment. A metering and pricing layer 82 provides cost tracking when using resources within the cloud computing environment and billing for the consumption of these resources. In one example, these resources could include application software licenses. A security layer provides identity verification for cloud users and tasks, as well as protection for data and other resources. A user portal 83 provides users and system administrators with access to the cloud computing environment.Service scope management (84) provides the allocation and management of cloud computing resources so that the required service objectives are met. Service level agreement (SLA) planning and fulfillment (85) provides the advance planning and procurement of cloud computing resources for which a future requirement is anticipated, in accordance with an SLA.
[0067] A workload layer 90 provides examples of the functionality for which the cloud computing environment can be used. Examples of workloads and functions that can be provided by this layer include: mapping and navigation 91; software development and lifecycle management 92; delivery of training in virtual classrooms 93; data analytics processing 94; transaction processing 95; and the image data encryption program 175.
[0068] The present invention may be a system, a method, and / or a computer program product at any possible level of integration of technical details. The invention can advantageously be implemented in any system, single or parallel, that processes a stream of instructions. The computer program product may comprise a computer-readable storage medium (or media) containing computer-readable program instructions to induce a processor to execute aspects of the present invention.
[0069] A computer-readable storage medium can be a physical unit capable of retaining and storing instructions for use by a system to execute instructions. For example, a computer-readable storage medium can be an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination thereof, without limitation. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a removable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), and erasable programmable read-only memory (EPROM).Flash memory), static random-access memory (SRAM), removable compact storage disk-read-only memory (CD-ROM), a DVD (digital versatile disc), a memory stick, a floppy disk, a mechanically coded unit such as punched cards or raised structures in a groove on which instructions are stored, and any suitable combination thereof. A computer-readable storage medium or storage unit shall not, in its use herein, be understood as volatile signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses traveling through an optical fiber cable), or electrical signals transmitted by a wire.
[0070] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual data processing units or, via a network such as the internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission lines, wireless transmission, routing computers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each data processing unit receives computer-readable program instructions from the network and forwards them for storage on a computer-readable storage medium within the respective data processing unit.
[0071] Computer-readable program instructions for performing operations of the present invention may be assembly instructions, ISA (Instruction Set Architecture) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., as well as procedural programming languages such as the programming language "C" or similar programming languages.The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, via the internet using an internet service provider).In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute computer-readable program instructions by using state information from the computer-readable program instructions to personalize the electronic circuits to implement aspects of the present invention.
[0072] Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams or charts of methods, devices (systems), and computer program products according to embodiments of the invention. It is pointed out that each block of the flowcharts and / or block diagrams or charts, as well as combinations of blocks in the flowcharts and / or block diagrams or charts, can be executed by means of computer-readable program instructions.
[0073] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a specialized computer, or another programmable data processing device to create a machine, such that the instructions executed via the processor of the computer or other programmable data processing device generate a means of implementing the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.These computer-readable program instructions may also be stored on a computer-readable storage medium capable of controlling a computer, programmable data processing device, and / or other units to function in a particular manner, such that the computer-readable storage medium on which instructions are collectively stored comprises a manufactured product, including instructions that implement aspects of the function / step specified in the block(s) of the flowchart and / or block diagrams or charts.
[0074] The computer-readable program instructions can also be loaded onto a computer, other programmable data processing device, or other unit to cause a series of process steps to be executed on the computer, other programmable device, or other unit in order to generate a process executed on a computer, such that the instructions executed on the computer, other programmable device, or other unit implement the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.
[0075] The flowcharts and block diagrams or charts in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this context, each block in the flowchart or block diagrams or charts can represent a module, segment, or part of instructions that includes one or more executable instructions for performing the specified logical function(s). In some alternative embodiments, the functions specified in the blocks may occur in a different order than shown in the figures. For example, two blocks shown consecutively may in reality be executed essentially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding functionality.It should also be noted that each block of the block diagrams or charts and / or flowcharts, as well as combinations of blocks in the block diagrams or charts and / or flowcharts, can be implemented by special hardware-based systems that perform the specified functions or steps, or execute combinations of special hardware and computer instructions.
[0076] References in the specification to "a single embodiment," "an embodiment," "an example embodiment," etc., indicate that the described embodiment may include a specific feature, structure, or property, but that each embodiment may or may not necessarily include that specific feature, structure, or property. Furthermore, these formulations do not necessarily refer to the same embodiment. Moreover, when a specific feature, structure, or property is described in connection with an embodiment, it is understood that it is within the knowledge of a person skilled in the art to specify such a feature, structure, or property in connection with other embodiments, regardless of whether it is explicitly described or not.
[0077] The terminology used herein serves only to describe certain embodiments and is not to be construed as limiting the invention. In its use herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It is further noted that the terms "has" and / or "having" when used in this specification denote the presence of specified features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other / further features, integers, steps, operations, elements, components, and / or groups thereof.
[0078] The descriptions of the various embodiments of the present invention are provided for illustrative purposes only; they are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variants are recognizable to those skilled in the art without deviating from the scope of the invention. The terminology used herein has been chosen to best explain the basic concepts of the embodiment, its practical application, or its technical improvement over technologies available on the market, or to enable other skilled persons to understand the embodiments disclosed herein.
Claims
[1] A computer-implemented method for encrypting image data, the method comprising: Receiving, by one or more computer processors, first image data corresponding to a first image having a first image size; compressing, by the one or more computer processors, the first image data resulting in second image data corresponding to a second image having a second image size; Expanding, by the one or more computer processors, the second image data resulting in third image data corresponding to a third image having the first image size; determining, by the one or more computer processors, coordinates of a position of the second image within the third image; Encrypting, by the one or more computer processors, the third image data according to the coordinates; Providing, by the one or more computer processors, the encrypted third image data to a decoder through a first transmission channel; and Providing, by the one or more computer processors, the coordinates of the second image within the third image to the decoder through a second transmission channel. [2] A computer-implemented method according to claim 1, further comprising: Determining, by the one or more computer processors, a placement position for the second image within the third image; and Placing, by the one or more computer processors, the second image at the location. [3] The computer-implemented method of claim 1, wherein augmenting the second image comprises adding random image data. [4] A computer-implemented method according to claim 1, further comprising Decrypting, by the one or more computer processors, the third image according to the coordinates, resulting in a decrypted image. [5] The computer-implemented method of claim 4, further comprising decompressing, by the one or more computer processors, the decrypted image. [6] The computer-implemented method of claim 1, further comprising generating, by the one or more computer processors, an encryption key using the coordinates. [7] The computer-implemented method of claim 1, wherein determining the coordinates of the second image within the third image further comprises determining the coordinates according to a you-only-look-once model. [8] A computer program product for encrypting image data, the computer program product comprising one or more computer-readable storage units and program instructions stored together on the one or more computer-readable storage units, the stored program instructions comprising instructions that, when executed, cause one or more processors to: receive first image data corresponding to a first image having a first image size; compress the first image data resulting in second image data corresponding to a second image having a second image size; expand the second image data, resulting in third image data corresponding to a third image having the first image size; to determine coordinates of a position of the second image within the third image; to encrypt the third image data according to the coordinates; providing the encrypted third image data to a decoder through a first transmission channel; and to provide the coordinates of the second image within the third image to the decoder through a second transmission channel. [9] The computer program product of claim 8, wherein the stored program instructions further cause the one or more processors to determine a placement position for the second image within the third image; and place the second image at the position. [10] The computer program product of claim 8, wherein augmenting the second image comprises adding random image data. [11] The computer program product of claim 8, wherein the stored program instructions further cause the one or more processors to decrypt the third image according to the coordinates, resulting in a decrypted image. [12] The computer program product of claim 11, wherein the stored program instructions further cause the one or more processors to decompress at least a portion of the decrypted image. [13] The computer program product of claim 8, wherein the stored program instructions further cause the one or more processors to generate an encryption key using the coordinates. [14] The computer program product of claim 8, wherein determining the coordinates of the second image within the third image further comprises determining the coordinates according to a you-only-look-once model. [15] A computer system for encrypting image data, the computer system comprising: one or more computer processors; one or more computer-readable storage devices; and stored program instructions on the one or more computer-readable storage devices for execution by the one or more computer processors, the stored program instructions comprising instructions that, when executed, cause one or more processors to: receive first image data corresponding to a first image having a first image size; compress the first image data resulting in second image data corresponding to a second image having a second image size; expand the second image data, resulting in third image data corresponding to a third image having the first image size; to determine coordinates of a position of the second image within the third image; to encrypt the third image data according to the coordinates; providing the encrypted third image data to a decoder through a first transmission channel; and to provide the coordinates of the second image within the third image to the decoder through a second transmission channel. [16] The computer system of claim 15, wherein the stored program instructions further cause the one or more processors to determine a placement position for the second image within the third image; and place the second image at the position. [17] The computer system of claim 15, wherein augmenting the second image comprises adding random image data. [18] The computer system of claim 15, wherein the stored program instructions further cause the one or more processors to decrypt the third image according to the coordinates, resulting in a decrypted image. [19] The computer system of claim 18, wherein the stored program instructions further cause the one or more processors to decompress at least a portion of the decrypted image. [20] The computer system of claim 15, wherein the stored program instructions further cause the one or more processors to generate an encryption key using the coordinates.