Method and system for the character-number-neutral embedding of a digital signature in a digital document
The described procedure and system address the challenge of embedding digital signatures in digital documents by using a sign-neutral coding method that integrates the signature into the document's symbols, resulting in an invisible and preserved signature within the document.
Patent Information
- Application Number
- PCT/EP2024/075670
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-15
- Filing Date
- 2024-09-13
- Publication Date
- 2025-03-20
AI Technical Summary
Existing methods for embedding digital signatures in digital documents, such as text, images, and audio files, often increase the file size and are easily removable, disrupting the reading flow and visibility of the document.
A computer-implemented procedure and system that enables a sign-neutral embedding of digital signatures by coding the signature using a set of symbols from the document itself, ensuring that the embedded signature is not visible to the user and remains intact during copy-paste operations.
The solution allows for a seamless and invisible embedding of digital signatures within digital documents, preserving the document's integrity and readability while ensuring that usage restrictions can be enforced.
Smart Images

Figure EP2024075670_20032025_PF_FP_ABST
Abstract
Description
[0001] Method and system for character-neutral embedding of a digital signature in a digital document
[0002] This patent application relates to a computer-implemented method, system and computer program product for the character-neutral embedding of a digital signature in a digital document.
[0003] Signatures of digital data are used to mark data that is worthy of protection and can, for example, document the origin, copyright, usage rights or similar properties assigned to the data.
[0004] Signatures can be incorporated into files and data, for example, in the form of watermarks. This allows information and instructions to be integrated into the data, either visibly or invisibly.
[0005] Steganography, a branch of cryptography, also deals with the hiding of data within other data. This is easily possible in some file types, but usually involves increased storage requirements and / or visibility within the file.
[0006] In addition, hidden digital signatures are often easy to remove from user-oriented file formats such as text-based files, image or audio files, as they are not transferred when the file content is copied and pasted into different applications.
[0007] WO 2010 / 131939 A1 describes a text steganography method in which a binary-coded signature is embedded in the spaces present in the text by representing each 0 in the signature as one space and each 1 in the signature as two spaces. However, this results in increased storage requirements and the number of characters. Depending on the type of text used, the difference between one and two spaces is clearly visible to the user. This, however, makes the signature easily noticeable and also disrupts the flow of the document.
[0008] The aim of this application is therefore to enable the character-neutral embedding of digital signatures in data.
[0009] This object is achieved by the method, the system, and the computer program product according to the independent claims. Further advantageous embodiments are described in the dependent claims.
[0010] A computer-implemented method for character-neutral embedding of a digital signature in a digital document according to the present application is implemented using a document character set associated with the digital document, said document character set comprising a plurality of digital symbols.
[0011] A document character set can be a character set for text representation such as UNICODE, BIG5, ASCII or similar character set, or a character set for color representation of pixels, such as RGB color representation, YUV color representation or similar, or a character set for representing audio data or similar.
[0012] The method comprises, in one step, encoding the digital signature into an encoded digital signature consisting of a sequence of code symbols from a code character set that is included in the document character set. The code character set thus forms a subset of the document character set. Using the code character set, any signature can be converted into an encoded signature.
[0013] As a further step, the method comprises creating a signed digital document in which, instead of at least a subset of source symbols of an source character set included in the document character set used in the digital document, the sequence of code symbols of the encoded digital signature is used character by character.
[0014] Thus, specially selected symbols of the digital document are replaced by the encoded digital signature.
[0015] Here, source symbols and code symbols are chosen in such a way that all these symbols have the same number of characters and the source symbols and the code symbols are digitally different but have the same effect in a user view.
[0016] Equivalent means that the symbols appear the same or very similar to the human eye, so that it is not immediately apparent to a user that different symbols have been used. Symbols are also considered to have the same effect if differences can only be made visible through strong magnification or a different representation method than usual.
[0017] This method thus enables the embedding of a digital signature in a document, regardless of the number of characters and invisible to the user. Since the signature is embedded based on the document's visible symbols, the signature is retained even during a copy-paste operation, thus preventing, in particular, accidental deletion of the signature.
[0018] Optionally, the source symbols and code symbols can all have a similar or preferably the same memory footprint, allowing the embedding to be memory-neutral or nearly memory-neutral.
[0019] Optionally, the method may further comprise a step of determining the source character set and / or the code character set, for example based on the type and / or content of the digital document.
[0020] For example, possible candidates for the source character set can be identified based on a frequency analysis of the symbols used in the document. A suitable code character set can then be determined based on the document type, or, if this is not possible, an error message can be issued. This allows for automation of the process and increases usability.
[0021] In order to enable character number-neutral coding, it is further advantageous if the output character set comprises at least one output symbol and the code character set comprises at least two code symbols.
[0022] The source character set and code character set are preferably disjoint, but it is alternatively also possible for the code character set to comprise the source character set or at least a subset of the source character set.
[0023] In one embodiment of the method, embedding a digital signature in a text document is enabled, wherein the document character set is preferably a text-based character set and the source symbols and code symbols are displayed as equivalent characters in the user view. This can be enabled, for example, by a Unicode-based document character set, in which the source symbols and code symbols are different code points of the Unicode-based document character set, which are displayed as spaces in the user view.
[0024] For example, the standard space character (U+0020) can be used as the source character set, while the code alphabet can be a subset of at least two characters, consisting of the characters U+0020, U+2004, U+2008, U+2009, U+205F, and U+202F. These characters are all visually represented as spaces in the user view and have the same effect on the user.
[0025] In addition to text data, the described method is also suitable for embedding invisible signatures or watermarks in other data, such as images or audio data. For example, identical but digitally different color tones can be used, especially in images containing many pixels of the same color. It is also known that some audio data have the same effect on the user or are outside the audible range. Thus, this data can also be replaced with an encoded signature, which has the same effect and is character-neutral.
[0026] The digital signature can be used, in particular, to specify a usage characteristic of the digital document. For example, the author, intended use, or usage restrictions can be embedded in the document. Usage restrictions can, for example, specify that the document may not be passed on or may only be used until a certain date.
[0027] The application further includes a computer-implemented method for using a document signed with a digital signature.
[0028] In this usage process, the encoded digital signature is first read and decoded. An operation specified by the encoded signature can then be performed. This operation can, in particular, relate to the use of the digitally signed document, for example, a deletion, storage, overwriting, sending, or non-sending operation. In particular, this method can also be used to implement a usage restriction specified by the signature. When the digital document is used, a check is carried out to determine whether a digital signature is present that restricts or prohibits the current usage operation (deletion, sending, etc.).In this case, the usage operation can be prevented and a warning or error message can be issued instead, or an automatic notification can be sent, for example to an owner of the digital document.
[0029] Reading the digital signature can be achieved, for example, using a plug-in in the email program that checks documents for the presence of a digital signature before sending them and then prevents them from being sent if a signature is found that prohibits sending. Thus, embedding the digital signature can prevent sensitive data from falling into the wrong hands.
[0030] The application further relates to a system for embedding a digital signature in a digital document in a character-neutral manner, the system comprising at least one input unit for inputting the digital document and / or the digital signature and a storage unit for storing the digital document and a document character set associated with the digital document.
[0031] The input unit can include an interface for user input, for example via a keyboard, or the input unit can also include remote input, for example via an interface to the Internet.
[0032] The document character set comprises a plurality of digital symbols, wherein the document character set comprises a source character set and a code character set, and source symbols of the source character set and code symbols of the code character set all have the same memory requirements, wherein the source symbols and the code symbols are digitally distinct and have the same effect in a user view. Furthermore, the system comprises a processor configured to perform the steps of embedding the signature in the digital document.In particular, the processor is configured to encode the digital signature into an encoded digital signature consisting of a sequence of code symbols, and the processor is further configured to create a signed digital document in which the sequence of code symbols of the encoded digital signature is used character by character instead of at least a subset of source symbols of the source character set used in the digital document.
[0033] Furthermore, the present application comprises a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the described method.
[0034] Advantageous embodiments described with reference to the method for embedding the digital signature, the method for using the digitally signed document, the described system or the computer program product can also be used in the context of the other subject matters of this application.
[0035] The subject matter of this application is described in further detail below with reference to the figures. They show:
[0036] Fig. 1 shows a schematic flow of the described method for character-neutral embedding of a digital signature using Unicode text as an example;
[0037] Fig. 2 shows a detailed example of encoding a digital signature using spaces in Unicode;
[0038] Fig. 3 shows an example of embedding the signature from Fig. 2 into a text;
[0039] Fig. 4 shows a schematic flow of the method for using a digitally signed document; and Fig. 5 shows a schematic representation of a system for embedding a digital signature in a digital document.
[0040] As described, the object of the present application is to embed a signature in a digital document in such a way that the number of characters required is not increased and the signature is not visible to the user at first glance.
[0041] Fig. 1 shows the schematic flow of a computer-implemented solution to this task for Unicode text.
[0042] In Fig. 1, a pure Unicode-encoded text (hereinafter referred to as "cover text 111"), encoded, for example, using UTF-8 or UTF-16, and a signature, also referred to as a watermark (hereinafter referred to as "watermark 112"), are received as input. The watermark 112 is to be embedded in the cover text 111 without increasing the memory requirements.
[0043] In the specific example, watermark 112 is a text that is converted into an encoded signature (also referred to as an encoded watermark) made up of Unicode characters using the procedure described below, all of which are represented as spaces in the user representation (hereinafter referred to as the "space alphabet"). For example, the following characters can be used, which are equivalent to a standard space in the user representation.
[0044] • Three-per-em space (U+2004)
[0045] • Punctuation space (U+2008)
[0046] • Thin space (U+2009)
[0047] Medium Mathematical Space (U+205F)
[0048] Narrow No-break Space (U+202F) Thus, all of these characters are also spaces from the Unicode standard. To the human eye, they look like the classic space character (U+0020), but are encoded differently.
[0049] In the following example, the characters U+2004, U+2008, and U+2009 are used as the space alphabet, and the character U+205F is used as the separator. Of course, a different partitioning is also possible, as long as the space alphabet consists of at least two characters. A separator is not mandatory, as it is also possible to encode the separator in binary. However, this increases the length of the encoded signature.
[0050] In the first step 122 of the method, each character of the watermark text is converted into a byte (eight bits). In the subsequent step 123, each byte is then converted into the space alphabet, generating the encoded signature. With the space alphabet used as an example, it is thus possible to represent a Unicode character represented by one byte using six characters from the space alphabet, since the space alphabet consists of three characters.
[0051] In the cover text, all standard spaces (U+0020) are identified in the first step 121. Subsequently, each standard space in the cover text is replaced with a space from the space alphabet (according to the previous conversion to the coded signature).
[0052] Once the entire watermark is embedded in the text, the next standard space in the cover text is replaced with the selected separator. Only then does the watermark start again from the beginning to identify the watermark's length during decoding. For longer texts, the watermark can appear multiple times, each separated by the separator.
[0053] An example of the generation of the encoded signature is further illustrated in Fig. 2. Here, the signature "W?" is encoded into the above-mentioned space alphabet, consisting of the characters U+2004, U+2008, and U+2009. First, each character, or symbol, of the signature is assigned a number according to the corresponding Unicode code point. This number is then converted into a binary byte. The "W" is represented as 87, i.e., 01010111, while the "?" is represented as 63, i.e., 00111111. Thus, the watermark "W?" is converted into bits 0101011100111111.
[0054] Each byte-represented character is then converted to the above space alphabet. Since the space alphabet has three characters, the byte representation can be taken modulo three, resulting in a 0, 1, or 2. A 0 represents a three-per-em space (U+2004), a 1 a punctuation space (U+2008), and a 2 a thin space (U+2009).
[0055] Specifically, the conversion of the two characters into the space alphabet looks like this:
[0056] W:
[0057] 87% 3 = 0 => U+2004
[0058] 29% 3 = 2 => U+2009
[0059] 9% 3 = 0 => U+2004
[0060] 3 % 3 = 0 => U+2004
[0061] 1 % 3 = 1 => U+2008
[0062] 0 % 3 = 0 => U+2004
[0063] ?:
[0064] 63% 3 = 0 => U+2004
[0065] 21% 3 = 0 => U+2004
[0066] 7% 3 = 1 => U+2008
[0067] 2 % 3 = 2 => U+2009
[0068] 0 % 3 = 0 => U+2004
[0069] 0 % 3 = 0 => U+2004
[0070] To further illustrate this process, an example follows, which is also shown in Fig. 3. Here, the text "Lorem ipsum dolor sit amet, conse- setetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, ..." is provided with the digital signature "W?"
[0071] To do this, the watermark is first encoded as described above. The encoded watermark is then inserted 131 into the cover text 111. Each identified space is replaced: first, one after the other, with the six spaces from the space alphabet that represent the "W," then with the six spaces from the space alphabet that represent the "?", followed by the separator. The insertion process then begins again. Since the cover text in this example contains 22 spaces, the encoded watermark can be inserted more than once, but not quite twice.
[0072] The insertion process and its result are also shown in Fig. 3.
[0073] The process of reading a cover text including signature is carried out analogously in reverse by decoding the signature encoded in the spaces.
[0074] The embedded signature is retained even when the text is copied (copy-pasted), reducing the risk of accidental loss of the signature.
[0075] In addition, the number of characters of the entire cover text does not change, since each symbol of the coded signature is replaced with a previous standard space.
[0076] Depending on the encoding used in memory, the file size also does not change or only changes insignificantly, since each symbol of the encoded signature has the same or a very similar memory requirement as the previously used standard space character.
[0077] For example, all characters in the UTF-16 standard have the same memory requirements, allowing memory-neutral embedding. When using the UTF-8 standard, minimal differences in the memory size of individual characters may occur, but these are always smaller than when a signature is encoded by the number of spaces. Fig. 4 also shows a flowchart for a computer-implemented method for using a digitally signed document. When executing a document operation in step 401, a check is first performed in step 402 to determine whether the document contains a digital signature.
[0078] If this is not the case, in step 404 the originally selected document operation is performed without restrictions.
[0079] However, if a digital signature is detected in the document, a check is carried out in step 403 to determine whether the digital signature results in a restriction of the selected document operation.
[0080] If no restriction exists, in step 404 the document operation originally selected in step 401 is executed without restrictions.
[0081] However, if the signature imposes a restriction on the document operation, an alternative document operation is performed instead in step 405.
[0082] The document operation from step 401 can, for example, be a send operation, meaning the document is to be sent via email or digitally distributed by another means. In this case, a check is now carried out to determine whether a signature is embedded in the document that restricts its distribution. If, for example, the signature specifies that the document may only be distributed internally and not externally, an error message can be issued when attempting to send the document externally, or the attempted transmission can be reported.
[0083] In a similar way, other document operations such as deleting, saving, overwriting, modifying, etc., can be restricted by digital signatures, ensuring the integrity of the document. The process described for text documents using Figs. 1-3 as an example can also be applied analogously to other document types, particularly those containing multiple symbols with the same effect. This is the case, for example, with images, where small changes in pixel values are displayed as colors that have the same effect on the user.
[0084] Even with audio files, it's possible to replace sounds with sounds that have the same effect but are encoded differently. Similar to text documents, pauses in the audible audio can be used to insert encodings that lie outside the audible range and thus have the same effect for the user.
[0085] For all document types, as with all coding methods, it is necessary that both the sender and the receiver know the coding used and which source symbols have been replaced by which code character set.
[0086] Fig. 5 shows a schematic representation of a system 500 for embedding a signature in a digital document. The system includes an input medium 540, via which the digital document and / or the signature to be embedded can be entered into the system 500. The input medium 540 can be designed as an input interface that receives inputs from the system's periphery or from a memory. The input does not have to be made in close temporal proximity to the embedding of the signature, but can also have been made beforehand. An external input can, for example, be made by a user via input devices 152 such as a keyboard or mouse. Alternatively, input can be made by data transmission from the Internet 154 or from another remote storage location 156.
[0087] The system 500 further includes a storage medium 530, which can be located locally or remotely. The storage medium 530 includes a data memory 532 in which data, such as the digital document to be signed or the digital signature, can be stored. Furthermore, the storage medium 530 includes an instruction memory 534 containing instructions for executing a program for embedding the digital signature in the digital document.
[0088] The system further includes a processor configured to execute instructions from the instruction memory.
[0089] In particular, the processor is thus configured to encode the digital signature into an encoded digital signature consisting of a sequence of code symbols of the code character set and to create a signed digital document in which at least some of the source symbols are replaced character by character by the code symbols.
[0090] This allows the source symbols to be removed from a previously saved document and replaced with code symbols. Alternatively, the digital signature can be inserted character by character instead of the source symbols when a document is created. For example, when entering text via the keyboard, a code symbol belonging to a predefined signature can be automatically inserted instead of each space typed by the user.
[0091] The described methods can also be implemented in a computer program product, for example an app, so that the computer program product carries out the described method steps when executed.
[0092] All features described with reference to the method can also be used in the system described or vice versa.
Claims
Patent claims 1. A computer-implemented method for character-neutral embedding of a digital signature (112) in a digital document (111), using a document character set associated with the digital document comprising a plurality of digital symbols, the method comprising the following steps: Encoding (122, 123) the digital signature (112) into an encoded digital signature consisting of a sequence of code symbols of a code character set comprised by the document character set; Creating (124) a signed digital document in which, instead of at least a subset of source symbols of an source character set comprised in the document character set used in the digital document (111), the sequence of code symbols of the coded digital signature is used character by character, wherein the source symbols and the code symbols are digitally different and have the same effect in a user view, wherein the document character set is a Unicode-based character set and the source symbols and code symbols are different code points of the Unicode-based character set which are displayed as spaces in the user view.
2. The method according to claim 1, wherein the output symbols and the code symbols all have the same memory requirements.
3. The method of claim 1 or 2, further comprising determining the source character set and / or the code character set based on the type and / or content of the digital document.
4. Method according to one of the preceding claims, wherein the output character set comprises at least one output symbol and the code character set comprises at least two code symbols.
5. A method according to any one of the preceding claims, wherein the source character set comprises at least the standard space character, U+0020, and the code character set comprises at least two non-standard space characters, such as U+2004, U+2008, U+2009, U+205F or U+202F.
6. A computer-implemented method according to any one of the preceding claims, wherein the digital signature indicates a usage characteristic of the document.
7. A method for using a document signed with a digital signature according to any one of claims 1 to 6: Reading (401, 402) the encoded digital signature; Decoding the encoded digital signature; Performing (404, 405) an operation on the digitally signed document according to the decoded digital signature.
8. A method of using the digitally signed document according to claim 7, wherein the operation according to the decoded digital operation is one of the following operations: deleting, saving, overwriting, sending or not sending.
9. System (500) for character-neutral embedding of a digital signature in a digital document, the system comprising: An input medium (540) for inputting the digital document and / or the digital signature; a storage medium (530) for storing the digital document and a document character set associated with the digital document. zes comprising a plurality of digital symbols, wherein the document character set comprises a source character set and a code character set, wherein the source symbols and the code symbols are digitally different and have the same effect in a user view, a processor configured to perform the following steps: Encoding (520) the digital signature into an encoded digital signature consisting of a sequence of code symbols of the code character set; Creating a signed digital document in which the sequence of code symbols of the encoded digital signature is used character by character instead of at least a subset of source symbols of the source character set used in the digital document, wherein the document character set is a Unicode-based character set and the source symbols and code symbols are different code points of the Unicode-based character set which are displayed as spaces in the user view.
10. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Text steganography
WO2010131939A1
Methods, apparatus, and articles of manufacture to encode auxiliary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US20190180007A1
Code Identification
US20200074050A1