Electronic device and method for controlling same
The electronic device uses feature and key value comparisons to verify data authenticity, addressing the challenge of identifying forged data with AI-generated content by employing algorithms like random number generation and hash algorithms.
Patent Information
- Application Number
- PCT/KR2025/011369
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-04-28
- Filing Date
- 2025-07-30
- Publication Date
- 2026-02-05
AI Technical Summary
Existing technologies face challenges in confirming whether acquired data is forged, particularly with the rise of AI-generated content.
An electronic device generates a first feature value and a first key value for data, inserts the key value into the data, and compares these values with corresponding values obtained from a server device to determine if the data is authentic, using algorithms like random number generation or hash algorithms to identify discrepancies.
Effectively identifies forged data by matching feature and key values, ensuring the authenticity of acquired data through a robust verification process.
Smart Images

Figure KR2025011369_05022026_PF_FP_ABST
Abstract
Description
Electronic device and method of controlling the same
[0001] The present disclosure relates to an electronic device and a method for controlling the same, and more specifically, to an electronic device and a method for controlling the same for identifying whether data is forged.
[0002] Recently, with the development of AI generation technology, various types of AI-generated content are increasing.
[0003] However, according to the conventional technology, there was a problem in that it was difficult to confirm whether the acquired data was forged.
[0004] Accordingly, there is a need to find ways to determine whether various types of data are falsified.
[0005] An electronic device according to the present disclosure includes a memory storing instructions and at least one processor, wherein the instructions, when collectively or individually executed by the at least one processor, cause the electronic device to generate a first feature value and a first key value corresponding to first data, insert the first key value into the first data to obtain second data, match the first feature value and the first key value and transmit the matched data to a server device, and when third data is obtained, obtain a second feature value corresponding to the third data and a second key value within the third data, determine whether the third data includes the second data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value, determine whether the third data is forged based on the identification result, and output information identifying whether the third data is forged.
[0006] The instructions, when collectively or individually executed by the at least one processor, may cause the electronic device to determine whether a key value matching a second key value in the third data is stored in the server device, and if the server device includes a first key value matching the second key value, to obtain a first feature value stored in the server device that matches the first key value, and if the first feature value and the second feature value match, to identify the third data as non-forged data.
[0007] The instructions, when collectively or individually executed by the at least one processor, may cause the electronic device to generate the first key value based on at least one of a random number generation algorithm, a hash algorithm, binary information for the first data, or user information.
[0008] The instructions, when collectively or individually executed by the at least one processor, may cause the electronic device to divide the first data into a plurality of blocks if the first data is image data, and to generate the first feature value based on a hash value of one of the plurality of blocks within the divided first data.
[0009] The instructions, when collectively or individually executed by the at least one processor, may cause the electronic device to identify a key frame among a plurality of frames in the first data if the first data is video data or audio data, and to generate the first feature value based on feature information of the identified key frame.
[0010] The first feature value may include information about at least one of the content, capacity, format, resolution, or block size of the first data.
[0011] The instructions, when collectively or individually executed by the at least one processor, may identify the third data as counterfeit data if the second key value does not match the first key value or the second key value within the third data cannot be obtained.
[0012] The above instructions, when collectively or individually executed by the at least one processor, may identify the third data as counterfeit data if the second characteristic value and the first characteristic value do not match.
[0013] The instructions, when collectively or individually executed by the at least one processor, may be configured to divide the third data into a plurality of blocks, and identify one or more blocks within the divided third data as being counterfeit if a hash value of one or more blocks does not match a hash value of one or more blocks of the divided first data.
[0014] A control method of an electronic device according to the present disclosure may include the steps of generating a first feature value and a first key value corresponding to first data, inserting the first key value into the first data to obtain second data, matching the first feature value and the first key value and transmitting the matched data to a server device, obtaining a second feature value and a second key value within the third data when third data is obtained, determining whether the second data is included in the third data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value, determining whether the third data is forged based on the identification result, and outputting information identifying whether the third data is forged.
[0015] The control method may include a step of determining whether a key value matching a second key value in the third data is stored in the server device, a step of obtaining a first feature value matching the first key value and stored in the server device if the server device includes a first key value matching the second key value, and a step of identifying the third data as non-forged data if the first feature value and the second feature value match.
[0016] The step of generating the first key value may include a step of generating the first key value based on at least one of a random number generation algorithm, a hash algorithm, binary information for the first data, or user information.
[0017] The step of obtaining the first feature value may include, if the first data is image data, the step of dividing the first data into a plurality of blocks, and the step of generating the first feature value based on a hash value of one of the plurality of blocks in the divided first data.
[0018] The step of obtaining the first feature value may include, if the first data is video data or audio data, the step of identifying a key frame among a plurality of frames in the first data, and the step of generating the first feature value based on feature information of the identified key frame.
[0019] In a non-transitory computer-readable recording medium storing computer instructions that are executed by at least one processor of an electronic device according to the present disclosure and cause the electronic device to perform a control method of the electronic device, the control method may include the steps of: generating a first feature value and a first key value corresponding to first data; inserting the first key value into the first data to obtain second data; matching the first feature value and the first key value and transmitting the matched data to a server device; when third data is obtained, obtaining a second feature value corresponding to the third data and a second key value within the third data; determining whether the third data includes the second data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value; determining whether the third data is forged based on the identification result; and outputting information identifying whether the third data is forged.
[0020] The above and other aspects, features and advantages of the present invention will become more apparent by describing embodiments of the present invention below with reference to the attached drawings.
[0021] FIG. 1 is a drawing illustrating one or more embodiments of an electronic device according to one or more embodiments of the present disclosure;
[0022] FIG. 2 is a block diagram illustrating an electronic device according to one or more embodiments of the present disclosure;
[0023] FIG. 3 is a flowchart illustrating an operation for identifying whether acquired data according to one or more embodiments of the present disclosure is forged data.
[0024] FIG. 4 is a diagram illustrating an operation of generating feature values and key values from original data according to one or more embodiments of the present disclosure;
[0025] FIG. 5 is a diagram illustrating an operation of generating feature values and key values from original data according to one or more embodiments of the present disclosure;
[0026] FIG. 6 is a diagram illustrating an operation of identifying whether a key value is original data after generating the key value according to one or more embodiments of the present disclosure;
[0027] FIG. 7 is a diagram illustrating an operation of identifying whether a key value is original data after generating the key value according to one or more embodiments of the present disclosure;
[0028] FIG. 8 is a flowchart illustrating a method for controlling an electronic device according to one or more embodiments of the present disclosure.
[0029] The present embodiments may be modified and have various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, but should be understood to include various modifications, equivalents, and / or alternatives of one or more embodiments of the present disclosure. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0030] In describing the present disclosure, if it is determined that a specific description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted.
[0031] Additionally, the following embodiments may be modified in various other forms, and the scope of the technical concepts of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided to further faithfully and completely convey the technical concepts of the present disclosure to those skilled in the art.
[0032] The terminology used in this disclosure is for the purpose of describing specific embodiments only and is not intended to limit the scope of the rights. Singular expressions include plural expressions unless the context clearly dictates otherwise.
[0033] In this disclosure, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a corresponding feature (e.g., a component such as a number, function, operation, or part), and do not exclude the presence of additional features.
[0034] In this disclosure, expressions such as “A or B,” “at least one of A and / or B,” or “one or more of A or / and B” can include all possible combinations of the listed items. For example, “A or B,” “at least one of A and B,” or “at least one of A or B” can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.
[0035] The expressions “first,” “second,” “first,” or “second,” etc., used in this disclosure can describe various components, regardless of order and / or importance, and are only used to distinguish one component from another, but do not limit the components.
[0036] When it is said that a component (e.g., a first component) is “(operatively or communicatively) coupled with / to” or “connected to” another component (e.g., a second component), it should be understood that said component may be directly coupled to said other component, or may be coupled via another component (e.g., a third component).
[0037] On the other hand, when it is said that a component (e.g., a first component) is "directly connected" or "directly connected" to another component (e.g., a second component), it can be understood that no other component (e.g., a third component) exists between said component and said other component.
[0038] The expression "configured to" as used in the present disclosure may be used interchangeably with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of." The term "configured to" may not necessarily mean only "specifically designed to" in terms of hardware.
[0039] Instead, in some contexts, the phrase "a device configured to" may mean that the device, in conjunction with other devices or components, is "capable of" performing A, B, and C. For example, the phrase "a processor configured (or set) to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing those operations, or a general-purpose processor (e.g., a CPU or application processor) that can perform those operations by executing one or more software programs stored in a memory device.
[0040] In the embodiments, a 'module' or 'part' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Furthermore, a plurality of 'modules' or 'parts' may be integrated into at least one module and implemented as at least one processor, except for a 'module' or 'part' that needs to be implemented as a specific hardware.
[0041] Meanwhile, the various elements and areas in the drawings are schematically drawn. Therefore, the technical concept of the present invention is not limited by the relative sizes or spacing depicted in the attached drawings.
[0042] Hereinafter, various embodiments of the present invention will be described in detail using the attached drawings.
[0043] FIG. 1 is a schematic diagram illustrating a system including an electronic device and a server device according to one or more embodiments of the present disclosure. As illustrated in FIG. 1, the system may include an electronic device (100) and a server device (200).
[0044] In this drawing, the electronic device (100) is illustrated as being implemented as a portable device such as a smart phone, but is not limited thereto, and can of course be implemented as various types of electronic devices such as a tablet, laptop computer, TV, camera, and PC.
[0045] An electronic device (100) can acquire unfalsified data (or original data). The type of data acquired by the electronic device (100) may be an image, video, or audio. For convenience of explanation, the unfalsified data will be defined as first data and described below.
[0046] The electronic device (100) can generate a first feature value and a first key value corresponding to the first data.
[0047] Here, a "feature value" can be a value that expresses the unique characteristics of the data in the form of a number or code. Furthermore, a "feature value" can be defined as a "hash value," "metadata," or "signature data."
[0048] Meanwhile, a "key value" can refer to a unique value corresponding to data. Furthermore, a "key value" can be defined as a watermark or identifier. A "key value" can also serve as an index value for obtaining feature values.
[0049] The method for obtaining feature values and key values by data type will be described in detail later with reference to FIGS. 3 to 6.
[0050] The electronic device (100) may obtain a first key value corresponding to the first data and then insert the first key value into the first data. For convenience of explanation, the first data into which the first key value is inserted is defined as second data and will be described later.
[0051] The electronic device (100) can match the first feature value corresponding to the first data and the first key value included in the second data and transmit them to the server device (200). However, this is only one or more embodiments, and the server device (200) can also match the first feature value and the first key value and store them.
[0052] Meanwhile, for the convenience of explanation, the above description assumes one or more embodiments in which the first feature value and the first key value are matched and stored. However, this is only one or more embodiments, and one or more embodiments in which the first feature value and the first key value are not matched and stored are also possible. However, even in this case, it is of course possible to identify the first feature value corresponding to the first key value in the server device (200).
[0053] Thereafter, the electronic device (100) can acquire data whose original data is not identified using a camera (130) or a microphone (140). For convenience of explanation, data whose original data is not identified is defined as third data and will be described later.
[0054] The electronic device (100) can obtain a second key value corresponding to the third data.
[0055] At this time, if the electronic device (100) cannot obtain the second key value corresponding to the third data, the third data can be identified as counterfeit data. "Unable to obtain" may mean that the second key value is not calculated, not received, or is calculated but does not match the first key value.
[0056] When the electronic device (100) obtains a second key value corresponding to the third data, it can transmit the second key value to the server device (200). The server device (200) can determine whether there is a key value that matches the second key value among the plurality of stored key values.
[0057] If the server device (200) does not store a key value that matches the second key value, the electronic device (100) can identify the third data as counterfeit data. "Counterfeit data" may be counterfeit data, data modified from original or authentic data, or data that does not match original or authentic data.
[0058] If a key value matching the second key value is stored in the server device (200), the electronic device (100) can receive a feature value (or Properties) matching the key value determined to match the second key value from the server device (200).
[0059] The electronic device (100) can determine whether the feature value acquired from the server device (200) and the second feature value corresponding to the third data match. If the electronic device (100) determines that the second feature value and the feature value acquired from the server device (200) match, the third data can be identified as original data.
[0060] On the other hand, if the electronic device (100) determines that the second feature value and the feature value obtained from the server device (200) do not match, the third data can be identified as forged data.
[0061] The operation of the electronic device (100) storing (or registering) the first key value and the first feature value corresponding to the first data in the server device (200) and the operation of identifying whether the third data is original data will be described in detail below.
[0062] FIG. 2 is a block diagram illustrating the configuration of an electronic device (100). The configuration illustrated in FIG. 2 is merely one or more embodiments, and some components may be omitted and new components may be added. As illustrated in FIG. 2, the electronic device (100) may include a communication interface (110), a memory (120), a camera (130), a microphone (140), a display (150), and a processor (160). The configuration illustrated in FIG. 2 is merely one or more embodiments, and it goes without saying that some components may be deleted or added depending on the configuration of the electronic device (100).
[0063] First, the communication interface (110) is a configuration that performs communication with various types of external devices according to various types of communication methods. In particular, the communication interface (110) can transmit feature values and key values to the server device (200). Alternatively, the communication interface (110) can also receive feature values and key values from the server device (200).
[0064] A wireless communication module may be a module that communicates wirelessly with an external device. For example, the wireless communication module may include at least one of a Wi-Fi module, a Bluetooth module, an infrared communication module, an Ultra Wide-Band (UWB) module, or other communication modules.
[0065] Specifically, the wireless communication module may include at least one communication chip that performs communication according to various wireless communication standards such as zigbee, USB (Universal Serial Bus), MIPI CSI (Mobile Industry Processor Interface Camera Serial Interface), 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc., in addition to the above-described communication method. However, this is only one or more embodiments, and the communication interface (110) may use at least one communication module among various communication modules.
[0066] A wired communication module may be a module that communicates with an external device via a wire. For example, the wired communication module may include at least one of a Local Area Network (LAN) module, an Ethernet module, a pair of cables, a coaxial cable, or a fiber optic cable.
[0067] The memory (120) can store an operating system (OS) for controlling the overall operation of the components of the electronic device (100) and instructions or data related to the components of the electronic device (100). In particular, the memory (120) can be implemented in various forms, such as a volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), a non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), a hard drive, or a solid state drive (SSD)).
[0068] In particular, the memory (120) can store first data and third data. In addition, the memory (120) can store a first feature value and a first key value corresponding to the first data received from the server device (200). Of course, the memory (120) can also store a second feature value and a second key value corresponding to the third data.
[0069] The camera (130) can capture still images and moving images. The camera (130) may include one or more image sensors (e.g., a front sensor or a rear sensor), a lens, an image signal processor (ISP), or a flash (e.g., an LED or xenon lamp, etc.).
[0070] In particular, the camera (130) can acquire images or videos of the surroundings of the electronic device (100). At this time, the acquired images or videos may include one or more objects. The objects may be various types of objects, such as people, paper, electronic devices, etc.
[0071] The microphone (140) may refer to a module that acquires audio signals including external voice signals and noise signals and converts them into electrical signals, and may be a condenser microphone, a ribbon microphone, a moving coil microphone, a piezoelectric element microphone, a carbon microphone, or a MEMS (Micro Electro Mechanical System) microphone. In addition, it may be implemented in an omnidirectional, bidirectional, unidirectional, sub-cardioid, super-cardioid, or hyper-cardioid manner. In particular, the microphone (140) may receive a user's voice signal and noise signals around the user and the electronic device (100).
[0072] At least one processor can output information to the display (150) that identifies whether the third data is counterfeit. The display (150) can display various information. In particular, the display (150) can display a UI that indicates the result of identifying whether the third data is counterfeit.
[0073] The display (150) may be implemented as a display in various forms, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), etc. The display may also include a driving circuit, a backlight unit, etc., which may be implemented in forms such as an amorphous silicon thin film transistor (a-si TFT), a low temperature poly silicon (LTPS) TFT, and an organic TFT (OTFT). The display may be implemented as a touch screen combined with a touch sensor, a flexible display, a three-dimensional display (3D display), etc. According to various embodiments of the present disclosure, the display (150) may include not only a display panel that outputs an image, but also a bezel that houses the display panel.
[0074] The processor (160) may include one or more processors. Specifically, the one or more processors may include one or more of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), an Accelerated Processing Unit (APU), a Many Integrated Core (MIC), a Digital Signal Processor (DSP), a Neural Processing Unit (NPU), a hardware accelerator, or a machine learning accelerator. The processor (160) may control one or any combination of other components of the electronic device, and may perform operations related to communication or data processing. The one or more processors may execute one or more programs or instructions stored in a memory. For example, the one or more processors may perform a method according to one or more embodiments of the present disclosure by executing one or more instructions stored in a memory.
[0075] One or more processors may be implemented as a single core processor including one core, or may be implemented as one or more multicore processors including multiple cores (e.g., homogeneous multicores or heterogeneous multicores). When one or more processors are implemented as a multicore processor, each of the multiple cores included in the multicore processor may include internal processor memory, such as cache memory or on-chip memory, and a common cache shared by the multiple cores may be included in the multicore processor. In addition, each of the multiple cores (or some of the multiple cores) included in the multicore processor may independently read and execute program instructions for implementing a method according to one or more embodiments of the present disclosure, or all (or some) of the multiple cores may be linked to read and execute program instructions for implementing a method according to one or more embodiments of the present disclosure.
[0076] In particular, the processor (160) may generate a first feature value and a first key value corresponding to first data, insert the first key value into the first data to obtain second data, match the first feature value and the first key value and transmit the matched data to a server device, and when third data is obtained, obtain a second feature value corresponding to the third data and a second key value included in the third data, determine whether the second data is included in the third data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value, and determine whether the third data is forged based on the identification result.
[0077] The processor (160) can determine whether a key value matching a second key value included in the third data is stored in the server device, and if a first key value matching the second key value exists in the server device, a first feature value matching the first key value stored in the server device can be obtained, and if the first feature value and the second feature value match, the third data can be identified as non-forged data.
[0078] The processor (160) may generate a key value of the first data using at least one of a random number generation algorithm, a hash algorithm, binary information for the first data, or user information.
[0079] When the first data is image data, the processor (160) can divide the first data into a plurality of blocks and obtain feature values of the first data by using hash values of blocks included in the divided first data.
[0080] When the first data is video data or audio data, the processor (160) may identify a key frame among a plurality of frames included in the first data and generate a feature value of the first data using feature information of the identified key frame. The feature value may include at least one of information regarding the capacity, format, and resolution of the first data, or, when the first data is divided into a plurality of blocks, at least one of information regarding the block size.
[0081] The processor (160) may determine that the third data is forged data if the key value of the third data does not match the key value of the first data or the key value of the third data cannot be obtained.
[0082] The processor (160) can identify the third data as counterfeit data if the feature values of the third data and the feature values of the first data do not match.
[0083] The processor (160) may divide the third data into a plurality of blocks, and if the hash values of some of the blocks included in the divided third data do not match the hash values of some of the blocks of the divided first data, the processor may identify that some of the blocks included in the third data are forged.
[0084] Hereinafter, each step described above will be described in detail with reference to FIGS. 3 to 7.
[0085] FIG. 3 is a flowchart illustrating an operation of matching key values and feature values and storing them in a server device according to one or more embodiments of the present disclosure.
[0086] First, the electronic device (100) can obtain first data (S305).
[0087] The first data may refer to unfalsified data (original data or Raw Data). Here, the first data may be image data, audio data, or video data.
[0088] In one or more embodiments, the electronic device (100) may acquire first data through a camera (130). The camera (130) may acquire an image or video of the surroundings of the electronic device (100). Here, the image may be one frame among multiple frames included in the video.
[0089] In one or more embodiments, the electronic device (100) may acquire first data related to a user's voice using a microphone (140). For example, when a user utters a voice command or executes a recording function, the microphone (140) may detect sound waves, convert them into analog signals, and then convert them into digital signals.
[0090] In one or more embodiments, the electronic device (100) may obtain first data stored in the memory (120). The data stored in the memory (120) may be data previously received and stored by the electronic device (100) from an external device.
[0091] The electronic device (100) can obtain (or generate) a first key value and a first feature value corresponding to the first data (S310).
[0092] Here, the first key value may refer to a unique value corresponding to the first data. Furthermore, the "key value" may be a watermark or identifier. The "key value" may also serve as an index value for obtaining feature values.
[0093] When a key value serves as an index value, the key value can quickly identify (or search) specific data (e.g., feature values) in the server device (200) or a database stored in the server device (200). For example, when the key value of a specific image is 123ABC, the value of 123ABC can be used to identify the specific image (or the feature values of the image).
[0094] The key value may be generated using at least one of a random number generation algorithm, a hash algorithm, binary information, or user information. The random number generation algorithm may refer to an algorithm that generates a random number using a pseudo-random number generator (PRNG) within the electronic device (100). The hash algorithm may refer to the SHA-256 or MD5 algorithm. The user information may refer to user-specific information. Here, the user-specific information may be a user ID, the user's name, or email address information.
[0095] Additionally, the first feature value may refer to feature data for the first data. A "feature value" may be a value that expresses the unique characteristics of the data in the form of a number or code. Furthermore, a "feature value" may be a "hash value," "metadata," or "signature data."
[0096] Feature values can be generated using a hash algorithm or metadata. When generating feature values using a hash algorithm, the data can be converted into a unique value of a fixed length. Additionally, when generating feature values using metadata, the metadata can be the resolution (e.g., 1920x1080), file size (e.g., 3 MB), creation date (e.g., 2025-01-05), or format (e.g., JPEG) of the first data.
[0097] Meanwhile, for convenience of explanation, one or more embodiments of generating a first key value after obtaining a first feature value are described below, but this is only one or more embodiments, and one or more embodiments of generating a first feature value after generating a first key value or generating a first key value and a first feature value simultaneously are also possible.
[0098] FIG. 4 is a diagram illustrating a method for generating feature values corresponding to image data according to one or more embodiments of the present disclosure.
[0099] When the first data (410) is image data, the electronic device (100) can divide the first data (410) into a plurality of blocks and generate a feature value of the first data (410) using the hash value of the block included in the divided first data (410).
[0100] At this time, the feature value may include at least one of information about the content, capacity, format, and resolution of the first data (410), or may include information about the block size when the first data (410) is divided into multiple blocks.
[0101] Specifically, the electronic device (100) can divide image data into a plurality of blocks and apply a hash algorithm to each divided block to generate a hash value.
[0102] In one or more embodiments, the SHA-256 algorithm among the hash algorithms can generate a 256-bit (32-byte) output value. Specifically, the electronic device (100) can divide data into 512-bit blocks and perform a hash operation on each block. After the hash operation, a hash value can be obtained using an operation (e.g., bit shift, bit XOR, etc.).
[0103] In one or more embodiments, the MD5 algorithm (Message Digest Algorithm 5) among hash algorithms can generate a 128-bit (16-byte) output value. Specifically, the electronic device (100) can divide data into 512-bit blocks and perform 64 rounds of operations.
[0104] In one or more embodiments, the SHA-1 algorithm among hash algorithms can generate a 160-bit (20-byte) output value. Specifically, the electronic device (100) can divide data into 512-bit blocks and generate a 160-bit hash value through 80 rounds of operations.
[0105] As illustrated in FIG. 4, the electronic device (100) can divide the contract image (first data, 410) into nine blocks (or regions), and then generate a hash value for each of the nine blocks using at least one of the hash algorithms described above.
[0106] Meanwhile, for the convenience of explanation, one or more embodiments of dividing the contract image (first data, 410) into nine blocks will be described below. However, this is only one or more embodiments, and the number of divided blocks may vary depending on the purpose of use.
[0107] The hash value generated for each of the nine blocks may include information about the contents of each block, the pixel data of the image, the format (e.g., JPEG or PNG), or the resolution. Additionally, the hash value may include structural information about the block.
[0108] Specifically, pixel data may include brightness or color information about the pixel. Furthermore, since the hash value includes structural information about the block, it may include information about the block arrangement order and pixel layout.
[0109] The electronic device (100) can generate an overall hash value based on the generated multiple hash values.
[0110] In one or more embodiments, the electronic device (100) may generate an overall hash value using a simple concatenation method. The simple concatenation method may refer to a method of dividing image data into multiple blocks, calculating a hash value for each block, and sequentially concatenating (or listing) the blocks to generate a single hash value representing the entire data.
[0111] For example, the electronic device (100) has a hash value generated from the first block as H1, a hash value generated from the second block as H2, and a hash value generated from the Nth block as H N This can be. At this time, the electronic device (100) hashes the hash value corresponding to the first data (410) as {H1| H2| H3| 쪋 | H N} can be saved in the form of .
[0112] In one or more embodiments, the electronic device (100) may generate an overall hash value based on a circular chain method. The circular chain method may refer to a method of calculating a hash value for each block by combining the hash value of the previous block and the hash value of the current block.
[0113] For example, as illustrated in FIG. 4, when the electronic device (100) obtains a hash value of the second block, it can generate a hash value of the second block using the hash value of the first block. Furthermore, when the electronic device (100) obtains a hash value of the third block, it can generate a hash value of the third block using the hash value of the second block. By repeating the above-described operations, the electronic device (100) can generate a single hash value (Overall Hash) corresponding to the first data (410).
[0114] In one or more embodiments, the electronic device (100) may generate the entire hash value using a multi-hash combination method. The multi-hash combination method may mean a method of combining the hash values of each block using different hash algorithms simultaneously.
[0115] For example, the electronic device (100) may apply multiple hash algorithms to the first block. The electronic device (100) may combine values obtained by applying multiple hash algorithms.
[0116] However, this is only one or more embodiments, and the electronic device (100) can of course obtain a hash value by converting the hash value of each block into a bit map form and combining them or by giving weights according to the importance of each block.
[0117] FIG. 5 is a diagram illustrating a method for obtaining feature values corresponding to data when the data is audio data or image data, according to one or more embodiments of the present disclosure.
[0118] Specifically, when the first data (410) is video data or audio data, the electronic device (100) can identify a key frame among a plurality of frames included in the first data (410). At this time, the electronic device (100) can generate feature values (Properties) of the first data (410) using feature information of the identified key frame.
[0119] A key frame (or representative frame, reference frame) may refer to a frame that contains important information in video data or audio data.
[0120] In one or more embodiments, the electronic device (100) may identify key frames based on a regular time interval. For example, the electronic device (100) may identify key frames at three-second intervals.
[0121] In one or more embodiments, the electronic device (100) may identify a key frame based on a pixel change rate between consecutive frames when the first data (410) is image data. For example, if the pixel change rate exceeds a threshold value, the electronic device (100) may identify a frame exceeding the threshold value as a key frame.
[0122] However, in one or more embodiments, the electronic device (100) may identify key frames using a compression algorithm or may identify key frames using specific criteria (e.g., objects included in the image data).
[0123] After identifying a key frame by the method described above, the electronic device (100) can generate a hash value (or feature value) of the key frame.
[0124] At this time, the feature value (Properties) may include at least one of information about the content, capacity, format, and resolution of the first data (410), or may be a pixel value (e.g., RGB value) included in the frame. In addition, if the first data (410) is audio data, it may also include information about the frequency spectrum or energy distribution of the key frame.
[0125] The electronic device (100) can obtain a key value from the first data. Specifically, the electronic device (100) can generate the key value of the first data (410) using at least one of a random number generation algorithm, a hash algorithm, binary information for the first data (410), or user information.
[0126] In one or more embodiments, the electronic device (100) may obtain a first key value corresponding to the first data using a random value. Specifically, the electronic device (100) may generate a random value composed of any number or string and set it as the key value.
[0127] In one or more embodiments, the electronic device (100) can obtain a first key value corresponding to the first data based on a hash value. A hash function refers to a function that converts input data into a unique output value of a fixed length. In this case, if the same input data is input to the hash function, the same output value is generated, thereby ensuring uniqueness.
[0128] In one or more embodiments, the electronic device (100) may obtain a first key value corresponding to the first data (410) using a Universally Unique Identifier (UUID) method. Specifically, the UUID may refer to an identifier with a length of 128 bits to ensure uniqueness. In this case, the UUID may be expressed in the format of 8-4-4-4-12 (e.g., 550e8400-e29b-41d4-a716-446655440000).
[0129] However, this is only one or more embodiments, and it is obvious that the electronic device (100) can obtain the first key value corresponding to the first data (410) using ownership information or user information. Specifically, the ownership information may include device information or owner information of the electronic device (100).
[0130] The electronic device (100) can obtain second data by inserting the first key value into the first data (S315). This will be described later with reference to FIG. 6.
[0131] Supplementary Material Request Section (Invisible Watermark Insertion Algorithm)
[0132] Returning to FIG. 3 again, the electronic device (100) can transmit the first key value and the first feature value to the server device (200) (S320).
[0133] The server device (200) can match and store the first key value and the first feature value (S325). Here, the server device (200) can separately obtain the first key value and the first feature value, and then match and store the first key value and the first feature value. However, this is only one or more embodiments, and it is of course possible to obtain the first key value and the first feature value that have already been matched from the electronic device (100).
[0134] In one or more embodiments, the server device (200) may store the first key value and the first feature value in the form of a pair. Specifically, the feature value associated with the first key value may be linked and stored based on the first key value.
[0135] For example, if the first key value is UUID-1234-5678 and the first feature value is (1920x1080, JPEG, [H1, H2, H3, … HN]), the first key value and the first feature value can be matched and stored.
[0136] In one or more embodiments, the server device (200) may store the first key value and the first feature value in the form of a relational database. Specifically, the relational database may store data in the form of a table. Here, each data item may be stored as a row, and the feature value of the data may be stored as a column.
[0137] The electronic device (100) can acquire third data (S330). At this time, the third data may refer to data acquired from an external device or data stored in memory (120) whose originality has not been verified.
[0138] Meanwhile, the third data may be image data, audio data, or video data. The method for obtaining the third data is the same as that for obtaining the first data, so a detailed description will be omitted.
[0139] At this time, the electronic device (100) can acquire a second key value and a second feature value corresponding to the third data (S335). Meanwhile, since the operation of acquiring the key value and feature value corresponding to the data has been described above, a detailed description thereof will be omitted.
[0140] The electronic device (100) can transmit the second key value to the server device (200) (S340).
[0141] At this time, the server device (200) can identify whether a key value matching the second key value is stored (S345).
[0142] In one or more embodiments, when a key value and a feature value are stored in the form of a pair in the server device (200), the server device (200) can identify a key value that matches the second key value based on the second key value.
[0143] For example, if the key value of the first data is UUID-1234-5678, it can be determined whether UUID-1234-5678 exists among the key values stored in pairs with feature values in the server device (200). If the server device (200) identifies the key value called UUID-1234-5678, it can identify the feature value stored to match UUID-1234-5678.
[0144] In one or more embodiments, when the server device (200) stores key values and feature values in the form of a relational database, a query may be executed to identify a second key value and to identify a feature value stored to match the key value.
[0145] For example, the key value of the first data may be UUID-1234-5678. At this time, the electronic device (100) may execute a query of 'SELECT* FROM ImageTable WHERE Key = 'UUID-1234-5678';" to the server device (200). At this time, the server device (200) may determine whether the key value of 'UUID-1234-5678' exists in a database called Image Table. At this time, if the server device (200) executes the query and determines that the key value of 'UUID-1234-5678' exists in the database, the server device (200) may identify a feature value stored to match the key value.
[0146] On the other hand, the server device (200) may determine that there is no key value matching the second key value in the database as a result of executing the query.
[0147] The server device (200) may transmit the identification / determination result to the electronic device (100) (S350). Specifically, the identification / determination result may include information on whether a key value matching the second key value exists, and if a key value matching the second key value exists, information on a feature value stored in a match with the matching key value.
[0148] Additionally, the identification / determination result may include information regarding whether the third data includes the second data. Specifically, if the third data includes the second data, the identification / determination result may include information regarding whether the first key value inserted into the second data matches the second key value extracted from the third data.
[0149] The electronic device (100) can output the identification / judgment result (S355).
[0150] If the electronic device (100) determines that there is a key value that matches the second key value, it can compare the second feature value corresponding to the third data with the first feature value acquired from the server device (200). At this time, if the electronic device (100) determines that the second feature value corresponding to the third data and the first feature value acquired from the server device (200) match, it can identify the third data as original data. In this case, the electronic device (100) can output the content “the contract is original data” as illustrated in FIG. 7.
[0151] On the other hand, if the electronic device (100) determines that the server device (200) does not have a key value that matches the second key value, the electronic device (100) may determine that the third data is forged data. In this case, as illustrated in FIG. 7, the electronic device (100) may display the text “Forged” on the display (150).
[0152] Additionally, the electronic device (100) may compare the first feature value obtained from the server device (200) and the second feature value of the third data to determine whether some area of the third data (710) is forged.
[0153] Specifically, the electronic device (100) may divide the third data (710) into a plurality of blocks. The electronic device (100) may determine that the feature values of some of the blocks included in the divided third data (710) do not match the feature values of some of the blocks of the first data (410). In this case, the electronic device (100) may determine that some of the blocks identified as having feature values that do not match are counterfeit.
[0154] For example, the electronic device (100) can divide the third data (710) illustrated in FIG. 7 into multiple blocks and then obtain a feature value for each block. Meanwhile, since the operation of obtaining individual feature values for each block has been described above, a detailed description thereof will be omitted.
[0155] At this time, the electronic device (100) can obtain a second key value corresponding to the third data (710), and then identify a first key value matching the second key value from the server device (200). The server device (200) can obtain a first feature value stored matching the first key value.
[0156] The electronic device (100) can compare the first feature value and the second feature value. At this time, the electronic device (100) can determine, as a result of the comparison between the first feature value and the second feature value, that the feature value of the Signature region among the second feature values is different from the feature value of the Signature region among the first feature values.
[0157] The electronic device (100) may determine that the Signature area among the multiple blocks included in the third data (710) has been forged. The electronic device (100) may display text including information indicating that the Signature area has been forged.
[0158] Meanwhile, this is only one or more embodiments, and the electronic device (100) can of course determine whether some sections are falsified even when the third data is audio data or video data.
[0159] If the third data is audio data or video data, the electronic device (100) can compare the key frames obtained from the server device (200) with the key frames of the third data. At this time, the electronic device (100) can determine that some of the key frames obtained from the server device (200) and some of the key frames of the third data do not match. The electronic device (100) can determine that some sections identified as not matching are forged.
[0160] For example, the electronic device (100) may determine that the key frame between 10 and 15 seconds of the third data and the key frame between 10 and 15 seconds of the first data do not match. In this case, the electronic device (100) may determine that the data between 10 and 15 seconds of the third data is falsified.
[0161] FIG. 8 is a flowchart illustrating a method for controlling an electronic device according to one or more embodiments of the present disclosure.
[0162] First, the electronic device (100) can generate a first feature value and a first key value corresponding to the first data (410) (S810).
[0163] Meanwhile, for convenience of explanation, one or more embodiments in which the electronic device (100) generates the first feature value after generating the first key value have been described above, but this is only one or more embodiments, and it is of course possible to generate the first key value after generating the first feature value first.
[0164] Thereafter, the electronic device (100) can obtain second data by inserting the first key value into the first data (410) (S820). At this time, the second data may include the first key value (or watermark).
[0165] However, the general public may not be able to identify the first key value included in the second data.
[0166] The electronic device (100) can match the first feature value and the first key value and transmit them to the server device (S830).
[0167] When third data is acquired, the electronic device (100) can acquire a second feature value corresponding to the third data and a second key value included in the third data (S840).
[0168] The electronic device (100) can determine whether the third data includes the second data based on the comparison result between the first feature value and the second feature value and the comparison result between the first key value and the second key value (S850).
[0169] Thereafter, the electronic device (100) can determine whether the third data is forged based on the identification / judgment result (S860).
[0170] According to the present disclosure, an electronic device (100) can determine whether various types of data have been falsified. Furthermore, the electronic device (100) can also determine whether a portion of the data has been falsified.
[0171] In addition, the methods according to various embodiments of the present disclosure may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user (20) devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., downloadable app) may be at least temporarily stored or temporarily generated in a machine-readable storage medium, such as a memory of a manufacturer's server device, an application store's server device, or an intermediary server device.
[0172] The methods according to various embodiments of the present disclosure may be implemented as software including commands stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The device is a device that can call commands stored from the storage medium and operate according to the called commands, and may include a server device or an electronic device according to the disclosed embodiments.
[0173] Meanwhile, a device-readable storage medium may be provided in the form of a non-transitory readable recording medium. Here, the term "non-transitory readable recording medium" simply means a tangible device that does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is stored semi-permanently in the storage medium and cases where data is stored temporarily. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.
[0174] When the above instruction is executed by the processor, the processor may perform the function corresponding to the instruction directly or by using other components under the control of the processor. The instruction may include code generated or executed by a compiler or interpreter.
[0175] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person having ordinary skill in the art to which the present disclosure pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.
Claims
1. In electronic devices, Memory that stores instructions; and comprising at least one processor; The above instructions, when collectively or individually executed by the at least one processor, cause the electronic device to: Generate a first feature value and a first key value corresponding to the first data, Inserting the first key value into the first data to obtain the second data, Matching the first feature value and the first key value and transmitting them to the server device, When the third data is acquired, the second feature value corresponding to the third data and the second key value within the third data are acquired, Based on the comparison result of the first feature value and the second feature value and the comparison result of the first key value and the second key value, it is determined whether the second data is included in the third data, Based on the above identification result, determine whether the third data is falsified, An electronic device that outputs information identifying whether the third data is falsified.
2. In paragraph 1, The above instructions, when collectively or individually executed by the at least one processor, cause the electronic device to: Determine whether a key value matching the second key value in the third data is stored in the server device, If the server device includes a first key value that matches the second key value, the server device acquires a first feature value that matches the first key value and is stored in the server device, An electronic device that identifies the third data as non-falsified data when the first feature value and the second feature value match.
3. In paragraph 1, The above instructions, when collectively or individually executed by the at least one processor, cause the electronic device to: An electronic device that generates the first key value based on at least one of a random number generation algorithm, a hash algorithm, binary information for the first data, or user information.
4. In paragraph 1, The above instructions, when collectively or individually executed by the at least one processor, cause the electronic device to: If the first data is image data, the first data is divided into multiple blocks, An electronic device that generates the first feature value based on a hash value of one of a plurality of blocks within the divided first data.
5. In paragraph 1, The above instructions, when collectively or individually executed by the at least one processor, cause the electronic device to: If the first data is video data or audio data, identify a key frame among a plurality of frames within the first data, An electronic device that generates the first feature value based on the feature information of the identified key frame.
6. In paragraph 4, An electronic device, wherein the first feature value includes information about at least one of the content, capacity, format, resolution, or block size of the first data.
7. In paragraph 1, The above instructions, when executed collectively or individually by the at least one processor, An electronic device that identifies the third data as counterfeit data if the second key value does not match the first key value or the second key value in the third data cannot be obtained.
8. In paragraph 7, The above instructions, when executed collectively or individually by the at least one processor, An electronic device that identifies the third data as counterfeit data if the second feature value and the first feature value do not match.
9. In paragraph 4, The above instructions, when executed collectively or individually by the at least one processor, Divide the above third data into multiple blocks, An electronic device that identifies one or more blocks in the divided third data as being forged if the hash values of one or more blocks and the hash values of one or more blocks of the divided first data do not match.
10. In a method for controlling an electronic device, A step of generating a first feature value and a first key value corresponding to first data; A step of obtaining second data by inserting the first key value into the first data; A step of matching the first feature value and the first key value and transmitting them to a server device; When third data is acquired, a step of acquiring a second feature value corresponding to the third data and a second key value within the third data; A step of determining whether the second data is included in the third data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value; A step of determining whether the third data is falsified based on the above identification result; and A control method, comprising: a step of outputting information identifying whether the third data is falsified; 11. In paragraph 10, The above control method A step of determining whether a key value matching the second key value in the third data is stored in the server device; A step of obtaining a first feature value stored in the server device that matches the first key value when the server device includes a first key value that matches the second key value; and A control method, comprising: a step of identifying the third data as non-falsified data when the first feature value and the second feature value match.
12. In paragraph 10, The step of generating the above first key value is: A control method comprising a step of generating the first key value based on at least one of a random number generation algorithm, a hash algorithm, binary information for the first data, or user information.
13. In paragraph 10, The step of obtaining the above first feature value is: If the first data is image data, a step of dividing the first data into a plurality of blocks; and A control method comprising: a step of generating the first feature value based on a hash value of one block among a plurality of blocks within the divided first data; 14. In paragraph 10, The step of obtaining the above first feature value is: If the first data is video data or audio data, a step of identifying a key frame among a plurality of frames in the first data; and A control method comprising: a step of generating the first feature value based on feature information of the identified key frame.
15. A non-transitory computer-readable recording medium storing computer instructions that are executed by at least one processor of an electronic device to cause the electronic device to perform a control method of the electronic device, The above control method is, A step of generating a first feature value and a first key value corresponding to first data; A step of obtaining second data by inserting the first key value into the first data; A step of matching the first feature value and the first key value and transmitting them to a server device; When third data is acquired, a step of acquiring a second feature value corresponding to the third data and a second key value within the third data; A step of determining whether the second data is included in the third data based on a comparison result between the first feature value and the second feature value and a comparison result between the first key value and the second key value; A step of determining whether the third data is falsified based on the above identification result; and A computer-readable recording medium comprising a step of outputting information identifying whether the third data is falsified.
Citation Information
Patent Citations
Watermarking producing, inserting and detecting method
KR1020140091081A
Fuel providing system of ship
KR1020220143193A
Delivery goods trasnferring device of delivery goods storage system for drone
KR1020240047164A
Onion pickle in squezzed lemon
KR1020240074596A
Identifying deep fake content via smart devices
US20230344639A1