Hamming codes with privacy in a network
The integration of Hamming codes with differential privacy mechanisms in wireless networks optimizes privacy and error correction, addressing the challenge of maintaining both in communication technologies.
Patent Information
- Application Number
- PCT/IB2025/056853
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-16
- Filing Date
- 2025-07-07
- Publication Date
- 2026-01-22
AI Technical Summary
Existing communication technologies face challenges in preserving data privacy while maintaining error correction performance, particularly in wireless networks, as differential privacy methods and Hamming codes often work against each other.
Implementing a Hamming code-based privacy mode that integrates with differential privacy mechanisms, allowing client devices and network components to adjust privacy levels based on signal-to-noise ratio, ensuring both privacy and error correction are optimized.
This approach enhances data privacy without compromising error correction performance, meeting regulatory standards like GDPR and CCPA, and supports federated learning campaigns.
Smart Images

Figure IB2025056853_22012026_PF_FP_ABST
Abstract
Description
HAMMING CODES WITH PRIVACY IN A NETWORK TECHNICAL FIELD
[0001] Various example embodiments generally relate to the field of data encoding and decoding in a communication network. Some example embodiments relate to preserving data privacy with error correction codes in a communication network. BACKGROUND
[0002] In various communication applications it may be desired to preserve privacy of individuals, for example by modifying original data such that the resulting data cannot be used to infer information about any individual. Forward error correction coding (FEC) may be applied to enable transmitted data to be correctly received regardless of error occurring in the transmission channel, for example a wireless radio channel. Hamming codes are one class of error correction codes.
[0003] In various communication applications differential privacy is applied. Differential privacy means that the output of an algorithm does not reveal whether it used a specific person's data or not. Differential privacy is often related to the problem of finding out who is in a database. Even though it is not about identification and reidentification attacks, such attacks cannot break differentially private algorithms. SUMMARY
[0004] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0005] Example embodiments of the present disclosure enable to improve data privacy without affecting error correction performance of Hamming codes. This and other benefits may be achieved by the features of the independent claims. Further example embodiments are provided in the dependent claims, the description, and the drawings.
[0006] According to a first aspect, a client device is disclosed. A client device comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the client device at least to: transmit to the network a capability indication that the client device is capable of a Hamming code-based privacy mode; receive a confirmation to the transmitted capability indication; receive, from a base station, an indicationthat the base station is capable of the Hamming code-based privacy mode; and transmit an acknowledgement of the activated Hamming code-based privacy mode to the base station.
[0007] According to an example embodiment of the first aspect, the at least one processor, cause the client device at least to: transmit sensitive data using the Hamming code-based privacy mode to the network.
[0008] According to an example embodiment of the first aspect, the at least one processor, cause the client device at least to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; and transmit the indicator to the network.
[0009] According to an example embodiment of the first aspect, the at least one processor, cause the client device at least to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; apply an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmit sensitive data privatized with the additional differential privacy mechanism to a base station.
[0010] According to a second aspect, a communication network is disclosed. The communication network comprises at least one base station; a core network function; and a data management function; wherein the core network function is configured to: receive an indication that a client device is capable of a Hamming code-based privacy mode; transmit a confirmation to the received indication; and transmit an indication that the client device is capable of a Hamming code-based privacy mode to a base station; and the base station is further configured to: transmit an indication that the base station is capable of the Hamming code-based privacy mode to the client device; and receive an acknowledgement of the activated Hamming code-based privacy mode from the client device.
[0011] According to an example embodiment of the second aspect the base station is further configured to: receive sensitive data using the Hamming code-based privacy mode from the client device; transmit the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the core network function; transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the core network function is further configured to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residualprivacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to:
[0012] According to an example embodiment of the second aspect the base station is further configured to: receive sensitive data using the Hamming code-based privacy mode from the client device; and transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the core network function is further configured to: receive an indicator of the target privacy level from a client device; and compute a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; and transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to: receive the computed required residual privacy indicator from the core network function; receive sensitive data using the Hamming code-based privacy mode from the base station; and apply additional differential privacy according to the received required residual privacy indicator.
[0013] According to an embodiment of the second aspect, the base station is further configured to: receive sensitive data privatized with an additional differential privacy mechanism from the client device; and transmit the received sensitive data privatized with an additional privacy mechanism to the data management function.
[0014] According to an embodiment of the second aspect, the core network function is further configured to quantify the privacy requirements of the client device.
[0015] In a third aspect a method is disclosed. The comprises transmitting to the network a capability indication that the client device is capable of a Hamming code-based privacy mode; receiving a confirmation to the transmitted capability indication; receiving, from a base station, an indication that the base station is capable of the Hamming code-based privacy mode; and transmitting an acknowledgement of the activated Hamming code-based privacy mode to the base station.
[0016] In an embodiment of the third aspect the method further comprising: transmitting sensitive data using the Hamming code-based privacy mode to the network.
[0017] In an embodiment of the third aspect the method further comprising; computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; and transmitting the indicator to the network.
[0018] In an embodiment of the third aspect the method further comprising: computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; applying an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmitting sensitive data privatized with the additional differential privacy mechanism to a base station.
[0019] In a third aspect a method is disclosed. The comprises: receiving from a client device an indication that the client device is capable of a Hamming code-based privacy mode; transmitting a confirmation to the received indication to the network; and transmitting an indication that the client device is capable of a Hamming code-based privacy mode to a base station; and transmitting from the base station an indication that the base station is capable of the Hamming code-based privacy mode to the client device; and receiving an acknowledgement of the activated Hamming code-based privacy mode from the client device.
[0020] In an embodiment of the fourth aspect the method further comprising: receiving at the base station sensitive data using the Hamming code-based privacy mode from the client device; transmitting the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the core network function; transmitting the received sensitive data using the Hamming code-based privacy mode to the data management function; and computing at the core network an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmitting the computed required residual privacy indicator to the data management function; receiving at the data management function the computed required residual privacy indicator from the core network function; receive at the data management function sensitive data using the Hamming code-based privacy mode from the base station; and applying at the data management function additional differential privacy according to the received required residual privacy indicator.
[0021] In an embodiment of the fourth aspect the method further comprising: receiving at the base station sensitive data using the Hamming code-based privacy mode from the client device; and transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; receiving an indicator of the target privacy level from a client device; computing at the core network a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; andtransmitting the computed required residual privacy indicator to the data management function; and receiving at the data management function the computed required residual privacy indicator from the core network function; receiving at the data management function the sensitive data using the Hamming code-based privacy mode from the base station; and applying additional differential privacy according to the received required residual privacy indicator.
[0022] In an embodiment of the fourth aspect the method further comprising: receiving at the base station sensitive data privatized with an additional differential privacy mechanism from the client device; and transmitting the received sensitive data privatized with an additional privacy mechanism to the data management function.
[0023] In an embodiment of the fourth aspect the method further comprising: quantifying at the core network function the privacy requirements of the client device.
[0024] In a fifth aspect a user equipment is disclosed. The user equipment comprises: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the user equipment at least to: transmit to the network a capability indication that the user equipment is capable of a Hamming code-based privacy mode; receive a confirmation to the transmitted capability indication; receive, from a gNodeB, an indication that the gNodeB is capable of the Hamming code-based privacy mode; and transmit an acknowledgement of the activated Hamming code-based privacy mode to the gNodeB.
[0025] In an embodiment of the fifth aspect the at least one processor, cause the user equipment at least to: transmit sensitive data using the Hamming code-based privacy mode to the network.
[0026] In an embodiment of the fifth aspect the at least one processor, cause the user equipment at least to: compute an indicator of the target privacy level and a required residualprivacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; and transmit the indicator to the network.
[0027] In an embodiment of the fifth aspect the at least one processor, cause the user equipment at least to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; apply an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmit sensitive data privatized with the additional differential privacy mechanism to a gNodeB.
[0028] In an embodiment of the fifth aspect, the user equipment is configured to send the sensitive information for participating in a federated learning campaign.
[0029] In a sixth aspect a communication network is disclosed. The communication network comprises: at least one gNodeB; a 5G core network function; and a data management function, wherein the data management function is a network data aggregation function (NWDAF) or an analytics data repository function (ADRF) ; wherein the 5G core network function is configured to: receive an indication that a user equipment is capable of a Hamming code-based privacy mode; transmit a confirmation to the received indication; and transmit an indication that the user equipment is capable of a Hamming code-based privacy mode to a gNodeB; and the gNodeB is further configured to: transmit an indication that the gNodeB is capable of the Hamming code-based privacy mode to the user equipment; and receive an acknowledgement of the activated Hamming code-based privacy mode from the user equipment.
[0030] In an embodiment of the sixth aspect the gNodeB is further configured to: receive sensitive data using the Hamming code-based privacy mode from the user equipment; transmit the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the 5G core network function; transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the 5G core network function is further configured to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code- based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to: receive the computed required residual privacy indicator from the 5G core network function; receive sensitive data using the Hamming code-based privacy mode fromthe gNodeB; and apply additional differential privacy according to the received required residual privacy indicator.
[0031] In an embodiment of the sixth aspect the gNodeB is further configured to: receive sensitive data using the Hamming code-based privacy mode from the user equipment; and transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the 5G core network function is further configured to: receive an indicator of the target privacy level from a user equipment; and compute a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; and transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to: receive the computed required residual privacy indicator from the 5G core network function; receive sensitive data using the Hamming code-based privacy mode from the gNodeB; and apply additional differential privacy according to the received required residual privacy indicator.
[0032] In an embodiment of the sixth aspect the gNodeB is further configured to: receive sensitive data privatized with an additional differential privacy mechanism from the user equipment; and transmit the received sensitive data privatized with an additional privacy mechanism to the data management function.
[0033] In an embodiment of the sixth aspect the 5G core network function is further configured to quantify the privacy requirements of the user equipment.
[0034] In an embodiment of the sixth aspect the data management function is configured to collect the sensitive data for federated learning purposes.
[0035] In a seventh aspect a method is disclosed. The method comprises transmitting to the network a capability indication that the user equipment is capable of a Hamming code-based privacy mode; receiving a confirmation to the transmitted capability indication; receiving, from a gNodeB, an indication that the gNodeB is capable of the Hamming code-based privacy mode; and transmitting an acknowledgement of the activated Hamming code-based privacy mode to the gNodeB.
[0036] In an embodiment of the seventh aspect the method further comprising: transmitting sensitive data using the Hamming code-based privacy mode to the network. A method according to claim 13, the method further comprising; computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-basedprivacy mode parameters and the current signal to noise ratio; and transmitting the indicator to the network.
[0037] In an embodiment of the seventh aspect the method further comprising: computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; applying an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmitting sensitive data privatized with the additional differential privacy mechanism to a gNodeB.
[0038] In an eighth aspect a method is disclosed. The method comprises receiving from a user equipment an indication that the user equipment is capable of a Hamming code-based privacy mode; transmitting a confirmation to the received indication to the network; and transmitting an indication that the user equipment is capable of a Hamming code-based privacy mode to a gNodeB; and transmitting from the gNodeB an indication that the gNodeB is capable of the Hamming code-based privacy mode to the user equipment; and receiving an acknowledgement of the activated Hamming code-based privacy mode from the user equipment.
[0039] In an embodiment of the eighth aspect the method further comprising: receiving at the gNodeB sensitive data using the Hamming code-based privacy mode from the user equipment; transmitting the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the 5G core network function; transmitting the received sensitive data using the Hamming code-based privacy mode to the data management function; and computing at the 5G core network an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmitting the computed required residual privacy indicator to the data management function; receiving at the data management function the computed required residual privacy indicator from the 5G core network function; receive at the data management function sensitive data using the Hamming code-based privacy mode from the gNodeB; and applying at the data management function additional differential privacy according to the received required residual privacy indicator.
[0040] In an embodiment of the eighth aspect the method further comprising:receiving at the gNodeB sensitive data using the Hamming code-based privacy mode from the user equipment; and transmit the received sensitive data using the Hamming code-based privacymode to the data management function; receiving an indicator of the target privacy level from a user equipment; computing at the 5G core network a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; and transmitting the computed required residual privacy indicator to the data management function; and receiving at the data management function the computed required residual privacy indicator from the 5G core network function; receiving at the data management function the sensitive data using the Hamming code-based privacy mode from the gNodeB; and applying additional differential privacy according to the received required residual privacy indicator.
[0041] In an embodiment of the eighth aspect the method further comprising: receiving at the gNodeB sensitive data privatized with an additional differential privacy mechanism from the user equipment; and transmitting the received sensitive data privatized with an additional privacy mechanism to the data management function.
[0042] In an embodiment of the eighth aspect the method further comprising: quantifying at the 5G core network function the privacy requirements of the user equipment.
[0043] According to a ninth aspect, a computer program, a computer program product, or a (non-transitory) computer-readable medium is disclosed. The computer program, computer program product, or (non-transitory) computer-readable medium may comprise instructions, which when executed by an apparatus, cause the apparatus at least to perform the method according to the third, fourth, seventh or eighth aspect, or any example embodiment(s) thereof.
[0044] Example embodiments of the present disclosure can thus provide apparatuses, methods, computer programs, computer program products, or computer readable media for improving various aspects of wireless tethering. Any example embodiment may be combined with one or more other example embodiments. These and other aspects of the present disclosure will be apparent from the example embodiment(s) described below. According to some aspects, there is provided the subject matter of the independent claims. Some further aspects are defined in the dependent claims. DESCRIPTION OF THE DRAWINGS
[0045] The accompanying drawings, which are included to provide a further understanding of the example embodiments and constitute a part of this specification, illustrate exampleembodiments and, together with the description, help to explain the example embodiments. In the drawings:
[0046] FIG.1 illustrates an example of a communication network;
[0047] FIG. 2 illustrates an example of an apparatus configured to practice one or more example embodiments;
[0048] FIG.3 illustrates an example of a transmission model;
[0049] FIG. 4 illustrates an example of a method for determining a re-ordered code with adjacent codewords having a distance equal to a minimum distance of the code;
[0050] FIG.5 illustrates an example of a pairwise distance matrix of a Hamming code;
[0051] FIG.6 illustrates an example of a pairwise distance matrix of a re-ordered Hamming code;
[0052] FIG.7 illustrates an example of a first algorithm for determining a mapping configured to map adjacent messages to adjacent codewords;
[0053] FIG.8 illustrates an example of a pseudocode for implementing the first algorithm;
[0054] FIG.9 illustrates an example of a mapping between message bits and codewords for a re-ordered Hamming code (7,4);
[0055] FIG.10 illustrates an example of a second algorithm for determining a mapping configured to map adjacent messages to adjacent codewords;
[0056] FIG. 11 illustrates an example of a pseudocode for implementing the second algorithm;
[0057] FIG. 12 illustrates an example of a mapping between integer messages and codewords for a re-ordered Hamming code (15,11);
[0058] FIG. 13 illustrates an example of generator polynomials for different Hamming codes;
[0059] FIG. 14 illustrates an example of a generator matrix obtained based on shifted versions of a codeword corresponding to a generator polynomial of a Hamming code;
[0060] FIG.15 illustrates an example of a privacy loss for a Hamming code and a re-ordered Hamming code;
[0061] FIG.16 illustrates an example of signalling and operations for communicating information indicative of a code selected for particular message(s);
[0062] FIG.17 illustrates an example of a method for encoding;
[0063] FIG.18 illustrates an example of a method for decoding;
[0064] FIG.19 illustrates an example of another method for encoding;
[0065] FIG.20 illustrates an example of another method for decoding;
[0066] FIG.21 illustrates an example of a signalling chart;
[0067] FIG.22 illustrates an example of a signalling chart;
[0068] FIG.23 illustrates an example of a signalling chart;
[0069] Like references are used to designate like parts in the accompanying drawings. DETAILED DESCRIPTION
[0070] Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings. The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
[0071] In data communications, the physical medium from the transmitter to the receiver may be called the communication channel. The communication channel may corrupt the transmitted signal in a random manner, for example due to additive thermal noise caused by random motion of charged particles in electronic devices and / or other phenomena in the communication channel such as multipath radio propagation. One way to overcome the effect of noise and other adverse effects is to apply error correcting codes (ECC) at the physical layer. For example, a binary information sequence may be provided to a channel encoder, also referred to as an error correcting encoder or forward error correction (FEC) encoder, which may be configured to add redundant data to the message, for example by appending the message with parity bits to form a codeword. The added redundancy enables the receiver to detect and correct up to a certain number of errors incurred by the communication channel.
[0072] The inherent randomness of data communications caused by the thermal noise could be utilized for enhancing privacy. On the one hand, the primary goal of a communication system may be considered to be to transmit information reliably by means of proper error control. By contrast, a goal of privacy-preserving schemes may be to distort the original data, which is opposite to the goal of error correction. Therefore, instead of first trying to make the data private by adding noise and then transmitting the data by a reliable error correction scheme, both targets could be targeted in a unified manner. For example, the error correction code structure in a communications or storage systems could be altered such that errors occurring in the process are not corrected but carefully considered as a way to enhance privacy.Therefore, example embodiments of the present disclosure enable to exploit properties of Hamming codes to improve privacy of data communicated with error correction coding.
[0073] Differential privacy: When sharing information about a group of individuals, differential privacy methods may be used to preserve privacy of individuals by changing the original data such that the resulting data cannot be used to infer information about any individual. Differential privacy may be for example exploited if other anonymization techniques such as k-anonymity and l-divergence do not guarantee sufficient privacy. Differential privacy may be used for example in order to comply with data privacy regulations such as GDPR (General Data Protection Regulation) and CCPA (California Consumer Privacy Act).
[0074] Two data sets ^^and ^^may be consider to be neighbours (adjacent) if they differin only one data entry (e.g., the data of an individual). Let ^ ≥ 0 . An algorithm / mechanism^ , which may be a random mapping in general, may be said to be ^ -differential private ifPr^^^^^^ ∈ ^^ ≤ ^^ Pr^^^^^^ ∈ ^^for all subsets ^ of image of ^ and all adjacent datasets ^^and ^^. The smaller the ^ , the harder it is to distinguish whether ^^or ^^has generated the output of the algorithm, which in turn, makes the presence of an individual less likely to be noticed, since ^^or ^^differ in only one entry. Therefore, by lowering ^, the algorithm becomes more privacy-preserving. As a result, ^ may be called the privacy loss.
[0075] Assuming a random mapping from ^ ≜ [0: ^ − 1]^= {0,1,2, … , ^ − 1}^ to itself,and letting !," denote the probability that # is mapped to $ (#, $ ∈ ^), it is possible to verify that% = ln / 0,1",!,+ m:|!a-x+|.^ / 0,2,noting that if for any pair ^$, ^^,
[0076] Hamming codes: Hamming codes are a particular class of parity check codes characterizable by the (n, k) notation, where n refers to the number of bits in a codeword and k refers to the number bits of the message to be encoded. The encoder may be configured to transform a sequence of k message bits, into a longer sequence of n codeword bits. A group of parity bits may be calculated by the encoder according to an encoding rule, which may by expressed by a generator matrix G of the code. The encoding rule may determine the mathematical structure of the code. In general, a Hamming code may provide a mapping from a message space comprising possible messages (e.g., a set of k-bit messages) to a codeword space comprising possible codewords (e.g., n-bit codewords).
[0077] Hamming codes may be characterized by generator matrix 5 and parity-checkmatrix 6. An encoder device may be configured to encode a message 7 (message vector) toobtain a respective codeword 8 by 8 = 75. Parity-check matrix 6 enables decoding of thecodeword to reconstruct the message. For each ^ × : generator matrix 5, there exists an (: −^) × : parity-check matrix 6, such that the rows of 5 are orthogonal to the rows of 6, that is,56;, where ^. ^;is the matrix transpose operation. The n bits of codeword 8 may be formed bylinear combinations of the k message bits. An integer message may be transformed to a bit sequence for subsequent encoding by the Hamming code. As one example, Hamming code (7,4) may be characterized by the following parity-check matrix and generator matrix: 11 1 0 1 0 0 1 0 0 0 1 0 1= 1 1 1 1 = >0 1 0 0 1 1 10?1
[0078] − 1 , number ofmessage bits = − − = : − ≥ Codewords of aHamming code have a minimum distance of three in the codeword space, meaning that the Hamming distance (number of differing bits) between any pair of codewords is higher than or equal to three. Adjacent codewords (i.e., closest neighbouring codewords) of a Hamming code may therefore have a Hamming distance of three. By contrast, the Hamming distance between adjacent binary messages of the message space may be equal to one, which means that adjacent bit sequences differ on one bit position. (e.g., 4-bit sequences ‘0101’ and ‘0001’ may be considered to be adjacent because they differ only by the second bit). Integer messages may be considered to be adjacent if their distance (difference) is equal to one. For example, integer messages ‘5’ and ‘6’ may be considered to be adjacent.
[0079] Binary symmetric channel: A binary symmetric channel with crossover probability,also referred to as BSC( ), is a binary-input binary-output random mapping, in which a bitis flipped with probability . This is one example of a model for a noisy channels and many problems in communication theory can be reduced to a BSC.
[0080] Counting query: Counting query over tabular data is one type of a query for data analysis. A counting query may be expressed with the form "how many rows in a database have the property X?" For example, each row of the database might correspond to a survey respondent, and the property X might be indicative of whether the respondent answered ‘yes’ to the survey. As another example, each row might correspond to an individual patient, and theproperty X could be indicative of whether the patient has been tested positive for a certain disease.
[0081] In the context of counting problems, the output of a query may be an integer value, and since two neighbouring datasets will have counts that differ by at most one, the adjacency constraint in the definition of differential privacy maps to the adjacency of integer numbers. In other words, it may be desired to make adjacent numbers indistinguishable as required depending on the choice of %.
[0082] FIG.1 illustrates an example of a communication network. Communication network 100 may comprise one or more access nodes 120, 122, 124. Access node(s) 120, 122, 124 may be part of a radio access network (RAN) configured to enable a device, represented throughout the description by UE 110, to access communication services provided by core network 140. In connection with communication network 100, access node(s) 120, 122, 124 and core network 140 may be collectively referred to as ‘network’. UE 110 may be referred to as a user device, a terminal apparatus, a terminal device, a mobile device, or the like. UE 110 may be configured to communicate with access node(s) 120, 122, 124 over a radio interface, which may be also referred to as an air interface. Access nodes 120, 122, 124 may be also referred to as network devices. A terminal device may comprise a device to which a connection from a communication network is terminated.
[0083] The radio interface may be configured for example based on the 5G NR (New Radio) standard defined by the 3rdGeneration Partnership Project (3GPP), or any future standard or technology (e.g., 6G). Access nodes 120, 122, 124 may for example comprise 5thgeneration access nodes (gNB). Transmission by an access node to UE 110 may be called downlink (DL) transmission. Transmission by UE 110 to an access node may be called uplink (UL) transmission. UE 110 may be therefore configured to operate as a transmitter for uplink transmissions and as a receiver for downlink transmissions. Access node(s) 120, 122, 124 may be configured to operate as a receiver for uplink transmissions and as a transmitter for downlink transmissions. A transmitter may comprise an encoder for encoding messages. A receiver may comprise a decoder for decoding messages. An encoder or a transmitter may be also referred to as an encoding device. A decoder or a receiver may be also referred to as a decoder device.
[0084] Communication network 100 may comprise a wireless communication network or a mobile communication network, such as for example a cellular communication network. UE 110 may be configured to communicate with access node(s) 120, 122, 124 using one or more logical channels and / or physical channels, for example a control channel such as the physical downlink control channel (PDCCH) or data channels such as the physical downlink sharedchannel (PDSCH) or the physical uplink shared channel (PUSCH). Shared data channels, e.g., PDSCH and PUSCH, may be shared by multiple UEs. An access node may be also referred to as an access point or a base station.
[0085] Core network 140 may be implemented with various network functions (NF), including, for example, one or more user plane functions (UPF) and one or more access and mobility management functions (AMF). A UPF may be configured to handle user data part of a communication session. A UPF may thus provide an interconnect point between the radio access network and a data network configured to provide application services to UE 110 via core network 140 and the radio access network. For example, a UPF may be configured to handle encapsulation and decapsulation of user plane protocol(s), such as the GPRS (general packet radio service) tunnelling protocol for the user plane (GTP-U). An AMF may be configured to receive connection and session request related data from UE 110 (via an access node). An AMF may be configured to control connection and mobility management in communication network 100.
[0086] An access node 120, 122, 124 may be configured to communicate with UEs via one or more cells. For example, access node 120 may be configured to serve one or more UEs at cell 130. Access node 122 may be configured to serve UEs at cell 132. Access node 124 may be configured to serve UEs at cell 134. A cell may be configured to serve UEs at a certain geographical area at a certain radio frequency, or a range of radio frequencies around a centre frequency of the cell. The frequency of the cell may belong to a particular frequency band, such as for example Frequency Range 1 (FR1, for example 450 MHz to 6 GHz) or Frequency Range 2 (FR2, for example 24.25 GHz to 52.6 GHz), for example as specified by 3GPP. In general, a frequency band may comprise a set of predefined radio frequencies, for example a continuous set of frequencies between lower and upper limits of the frequency band.
[0087] Communication network 100 may be operated based on a protocol stack comprising a plurality of protocol layers. The protocol stack may be arranged based on the open systems interconnection (OSI) model or a layer model of a particular standard. In one example, the protocol stack may comprise a service data adaptation protocol (SDAP) layer, which may receive data from an application layer for transmission. The SDAP layer may be configured to exchange data with the packet data convergence (PDCP) layer. The PDCP layer may be responsible of generation of data bursts comprising one or more data packets, for example based on data obtained from the SDAP layer.
[0088] The PDCP layer may provide data to one or more instances of the radio link control (RLC) layer. For example, PDCP data may be transmitted on one or more RLC transmission legs. Each RLC instance may be associated with corresponding MAC instances of the MAC layer. The MAC layer may provide a mapping between logical channels of upper layer(s) and transport channels of the physical layer, handle multiplexing and demultiplexing of MAC service data units (SDU). Furthermore, the MAC layer may provide error correction functionality based on packet retransmissions, for example according to the hybrid automatic repeat request (HARQ) process. Physically separate transmission legs may be provided by the physical (PHY) layer, also known as Layer 1 (L1). Corresponding protocol stacks may be applied both at access nodes 120, 122, 124 and UE 110.
[0089] In a split access node architecture, part of the protocol layers may be implemented at a central unit (CU) of an access node, e.g., a gNB-CU, which may be configured to handle upper layers of the protocol stack, for example SDAP and PDCP layers. Furthermore, gNB- CU may be configured to handle radio resource control (RRC) operations. A central unit of an access node may be associated with, e.g., configured to control, one or more distributed units (DU) of the access node, e.g., gNB-DU, which may be configured to handle lower layers of the protocol stack, for example RLC, MAC, and L1. Radio unit(s) of the gNB-DU(s) may be configured to transmit / receive data to / from UE(s) over the radio interface. Error correction encoding and / or decoding may be performed at the physical layer, for example by UE 110 or an access node, e.g., a distributed unit thereof.
[0090] Communication network 100 may comprise other network function(s), network device(s), or protocol(s), in addition, or alternative to, those illustrated in FIG. 1. A network device may be configured to implement functionality of one or more network functions. Even though some embodiments have been described in the context of 5G, it is appreciated that embodiments of the present disclosure are not limited to this example network. Example embodiments may be therefore applied in any present or future communication networks. An apparatus, such as for example UE 110 or access node 120, may comprise, or be configured to implement, e.g. by means of software, one or more of the protocol layers described herein.
[0091] It is however noted that example embodiments may be applied in any context, where data is encoded or decoded. For example, transmission of a codeword may comprise transmitting (e.g., writing) the codeword to a memory within the encoder device or to a memory external to the encoder device. Receiving a representation of a codework may comprise receiving (e.g., reading) the codeword from a memory of the decoder device or from a memory external to the decoder device.
[0092] FIG. 2 illustrates an example of an apparatus configured to practice one or more example embodiments. Apparatus 200 may be a device such as UE 110, or an access node 120, 122, 124, an access point, a base station, a radio network node, or a split portion thereof (e.g., a central or distributed unit of an access node), a network device, a terminal device, or in general any apparatus configured to implement functionality described herein. Apparatus 200 may comprise at least one processor 202. The at least one processor 202 may comprise, for example, one or more of various processing devices, such as for example a co-processor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.
[0093] Apparatus 200 may further comprise at least one memory 204. The memory 204 may be configured to store, for example, computer program code 206 or the like, for example operating system software and application software. Memory 204 may comprise one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination thereof. For example, the memory may be embodied as magnetic storage devices (such as hard disk drives, magnetic tapes, etc.), optical magnetic storage devices, or semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.). Memory 204 is provided as an example of a (non- transitory) computer readable medium. The term “non-transitory,” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM).
[0094] Apparatus 200 may further comprise a communication interface 208 configured to enable apparatus 200 to transmit and / or receive information. Communication interface 208 may comprise an external communication interface, such as for example a radio interface between UE 110 and access node(s) 120, 122, 124, or a communication interface between a central unit and distributed unit(s) of an access node (e.g., an F1-U and / or F1-C interface). Communication interface 208 may comprise one or more radio transmitters or receivers, which may be coupled to one or more antennas or apparatus 200, or be configured to be coupled to one or more antennas external to apparatus 200. Communication interface may, alternatively or additionally, comprise an internal communication interface of apparatus 200 configured, for example, for accessing the at least one memory 204 or an external memory configured to be communicatively or physically coupled to apparatus 200 in order to read or write codewords.
[0095] Apparatus 200 may further comprise other components and / or functions such as user interface 210 comprising at least one input device and / or at least one output device. The input device may take various forms such a keyboard, a touch screen, or one or more embedded control buttons. The output device may for example comprise a display, a speaker, or the like.
[0096] When apparatus 200 is configured to implement some functionality, some component and / or components of apparatus 200, such as for example the at least one processor 202 and / or the at least one memory 204, may be configured to implement this functionality. Furthermore, when the at least one processor 202 is configured to implement some functionality, this functionality may be implemented using program code 206 comprised, for example, in the at least one memory 204.
[0097] The functionality described herein may be performed, at least in part, by one or more computer program product components such as software components. According to an example embodiment, apparatus 200 comprises a processor or processor circuitry, such as for example a microcontroller, configured by the program code 206, when executed, to execute the embodiments of the operations and functionality described herein. Program code 206 is provided as an example of instructions which, when executed by the at least one processor 202, cause performance of apparatus 200.
[0098] Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), graphics processing units (GPUs), or the like.
[0099] Apparatus 200 may be configured to perform, or cause performance of, method(s) described herein or comprise means for performing method(s) described herein. In one example, the means comprises the at least one processor 202, the at least one memory 204 including instructions (e.g., program code 206) configured to, when executed by the at least one processor 202, cause apparatus 200 to perform the method(s). In general, computer program instructions may be executed on means providing generic processing functions. Such means may be embedded for example in a personal computer, a smart phone, a network device, or the like. The method(s) may be thus computer-implemented, for example based algorithm(s) executable by the generic processing functions, an example of which is the at least one processor 202. The means may comprise transmission or reception means, for example one or more radio transmitters or receivers, which may be coupled or be configured to be coupled toone or more antennas. Apparatus 200 may comprise, for example, a network device, for example, an access node, an access point, a base station, or a central / distributed unit thereof. Although apparatus 200 is illustrated as a single device, it is appreciated that, wherever applicable, functions of apparatus 200 may be distributed to a plurality of devices.
[0100] FIG.3 illustrates an example of a transmission model. Encoder device 310 may receive a message 7 and generate, for example based on generator matrix 5, a codeword 8. Codeword 8 may be communicated over a channel 330, e.g., a radio channel or a computer-readable storage medium, to decoder device 320, which may receive a distorted representationC of transmitted codeword 8. Note that depending on the application, encoder device 310 anddecoder device 320 might be located at a single apparatus or be a single apparatus. Thedistortions of channel 330 and additive noise may be modelled by a binary error pattern vectorD. The distorted representation of the transmitted codeword may be therefore expressed by C =8 + D.
[0101] The task of decoder device 320 is to determine an estimate 7F of the transmittedmessage such that the probability of erroneous decoding is minimized. Decoder device 320may be for example configured to calculate a syndrome G = HIJ and find the index of thecolumn in 6 that matches G. Finally, decoder device 320 may flip the bit corresponding to thisindex in the received vector I and determine the resulting vector as the estimate of thetransmitted codeword. If G is the all-zero, vector I itself may be regarded as the transmitted codeword.
[0102] FIG. 4 illustrates an example of a method for determining a re-ordered Hamming code with adjacent codewords having a distance equal to a minimum distance (three) of the code. Example embodiments of the present disclosure enable to improve privacy of Hamming codes. When applying the disclosed embodiments to a Hamming code, the resulting re-ordered Hamming code may be also called a Hamming code with privacy (HAPY). The example embodiments enable for example to provide the maximum possible privacy for a given data utility on Hamming codes designed for a BSC. The structure of the code is modified to provide privacy directly by using environmental randomness, for example instead of using a pseudo random generator and separate privacy enhancing mechanisms such as differential privacy. The example embodiments enable to improve privacy with a minor change in encoding and no change in decoding, thus resulting in very low complexity (almost none when compared to, for example, Gray mapping), while performing better than any reference scheme in terms of both coding and privacy. Furthermore, the example embodiments enable to avoid issues arisingfrom sampling from a continuous Gaussian distribution and enable to enhance privacy without affecting the communication rate or the probability of error. Privacy may be therefore enhanced without reduction in utility, e.g., key performance indicators (KPI) of communication network 100. Both theoretical and simulation results are provided for verifying the privacy enhancement.
[0103] Let us consider an example where outputs of a counting query, comprising integer values, are to be sent over a binary symmetric channel with a Hamming code used as the channel encoder. According to one approach, the messages might be first mapped to theirequivalent binary bit strings and then multiplied by generator matrix 5 to produce thecorresponding codewords, without considering how exactly the generator matrix maps themessages to codewords. In case of a Hamming code (:, ^) the maximum distance of any pairof codewords, is :, which is the code block length. Sending the outputs of the counting query via such Hamming code would come at a great privacy loss that scales with :. It may be therefore desired to search for solutions that enhance the privacy of this transmission with, ideally, little or even no loss in utility.
[0104] In Hamming codes the minimum distance between any two codewords is three, i.e., any two codewords differ in at least three bit positions. In the context of differential privacy, it may be desired to make adjacent datasets less distinguishable. Therefore, mapping adjacent messages to adjacent codewords, thereby making neighbouring codewords to be as close as possible, would improve privacy of the code. Example embodiments of the present disclosure enable to generate Hamming codes where codewords are arranged such that any successive codewords have the minimum distance of the code, which is equal to three for Hamming codes. Methods for obtaining such an arrangement are disclosed with a proof optimality in the sense that a minimum possible privacy loss is provided and the privacy loss does not scale with the block length of the code.
[0105] A method for generating such a code is illustrated in FIG.4. The method may be performed by encoder device 320, or by another device. The resulting code may be then preconfigured (e.g., hard-coded) at encoder device 310 and decoder device 320, or delivered to encoder device 310 and decoder device 320 after deployment.
[0106] At operation 401, the method may comprise converting an integer message # to itsbinary equivalent K" with length ^ , for example by K" = dec2bin^#^, ∀# ∈ [0: 2+ − 1] .Message K may belong to a message space [0 +" : 2 − 1] , which may comprise a range ofsuccessive integer values. A distance between adjacent messages may be therefore equal toone. Converting integer message # may be based on a mapping configured to map adjacent messages to adjacent bit sequences. Such mapping may be called the Gray mapping. Adjacent bit sequences may differ from each other at exactly one bit position. A Hamming distance between adjacent bit sequences may be therefore equal to one.
[0107] At operation 402, the method may comprise constructing the Hamming ^:, ^^codewords, for example by R" = K"5 , ∀# ∈ [0: 2+ − 1] . Codewords R" may belong to acodeword space comprising the possible codewords for the messages in the message space. A distance between codewords in the codeword space may vary (e.g., from three to seven). A pair of codewords whose mutual Hamming distance is equal to the minimum distance of the code, e.g., three in the case of Hamming codes, may be considered to be adjacent codewords. Alternatively, message K may comprise a bit sequence directly. In this case the message space may comprises a range of binary values and the Hamming distance between adjacent messages of the message space may be equal to one, as noted above.
[0108] At operation 403, the method may comprise forming the pairwise Hamming distancematrix of codewords, for example by S[#, $] = TU^R", R!^ , ∀# ∈ [0: 2+ − 1]. An example of thepairwise distance matrix S of Hamming code (7,4) is illustrated in FIG.5. The first row andcolumn denote the 2X = 16 integer messages from message space 0 to 15. It is observed thatthe distance between adjacent codewords, corresponding to the circled immediate off-diagonal elements, ranges from three to seven.
[0109] At operation 404, the method may comprise re-ordering rows and columns of the pairwise distance matrix S such that immediate off-diagonal entries of S are equal to three. This is equivalent to making neighbouring codewords have the distance of three. An example of the pairwise distance matrix S of the re-ordered Hamming code (7,4) is illustrated in FIG.6. By re-ordering the rows and columns of S the arrangement such that all successive codewords are as close as possible. As a result, the pairwise distance matrix S in the new arrangement has the property that the immediate off-diagonal values are equal to three, which is the minimum distance of Hamming codes.
[0110] At operation 405, the method may comprise reassigning the messages of the message space to codewords of the codeword space according to the new ordering. The resulting re- ordered Hamming code is therefore configured to map adjacent messages of the message space to adjacent codewords of the codeword space. This provides the benefit of improving privacy of the code, as described above. The mapping may be characterized by a rearranged generator matrix 5 or a corresponding parity-check matrix 6. Examples of generator and parity-checkmatrices configured to map adjacent messages to adjacent codewords are provided below. The generator matrix and / or the parity-check matrix may be stored as a data structure on a computer-readable medium, for example the at least one memory 204 or a portable storage medium.
[0111] Referring back to FIG. 3, encoder device 310 may obtain a message for encoding, for example based on a counting query to set of data, encode the message based on a re-ordered Hamming code (e.g., the generator matrix) obtained with the any of the methods described herein. The code may be therefore a Hamming code that is configured to map adjacent messages of the message space (e.g., any pair of adjacent messages of the message space) to adjacent codewords of the codeword space. Encoder device 310 may further transmit the codeword, for example within a radio signal over channel 310 to decoder device 320 or by writing the codeword on a computer-readable storage medium. Decoder device 320 may receive a (possibly distorted) representation of the codeword and decode it based on the code (e.g., the respective parity-check matrix) to obtain an estimate of the original message. Privacy of communicating error correction encoded data is thereby improved.
[0112] FIG.7 illustrates an example of a first algorithm (Algorithm 1) for determining a mapping configured to map adjacent messages to adjacent codewords. Consider parity-checkmatrix 6 = [[|\]-+] (\]-+ referring to an identity matrix of size : − ^) having all the binarycolumns of length : − ^ except the all-zero vector. Therefore, [ has all the binary columns oflength : − ^ that have at least two ones, and the total number of these columns is ^ =∑_-+ ^: − ^ ^ . More specifically, there are ^: − ^ ^ colum : − ^".^ # 2 ns that have two ones, ^3 ^columns have three ones and so on.
[0113] At operation 701, columns of matrix [, also referred to as a non-identity matrix, may be arranged according to an increasing order of their weights. A non-identity matrix may be a matrix, which is not an identity matrix. Weight of a column or row may refer to the number of ones in the row or column. Hence, the first group of columns, referred to as Group 1, maycomprise columns having two ones, and similarly, Group #, where # ∈ [3: ^ − 1] may comprisecolumns having # + 1 ones. With this arrangement of the columns of [, the correspondinggenerator matrix may be obtained by 5 = [\+|[;]. The first ^: − ^ ^ rows of 5 (cf., Group 1)have two ones in their last : − ^ bits, the next ^: − ^3^ rows 2), have three ones intheir last −^ bits, and so on.
[0114] The code may be therefore characterized by parity-check matrix, which is a concatenation of the non-identity matrix ([) and the identity matrix ( \_-+), where columns of the non-identity matrix are ordered according to increasing order of weight, starting from the first column of the non-identity matrix. As noted above, somemay have the same weight and therefore the ordering may be such that groups of columns having identical weights are ordered in increasing order of weight. This provides the benefit of causing the Hamming code to map adjacent messages to adjacent codewords, which improves privacy.
[0115] At operation 702, the ^ bits of the message may be partitioned into : − ^ − 1successive groups, where Group # corresponds to ^: − ^# + 1 ^ bits.
[0116] At operation 703, message vector 7 of ^ bits may be set to zero (K = `).
[0117] At operation 704, a mapping may be determined between messages and codewords.The encoding may be initiated by Gray coding of Group : − ^ − 1 based on the following: i)for any fixed bits corresponding to Group # , perform a full loop of Gray coding until allcombinations are written, and ii) for any bit flip in group #, select and flip a particular bit ingroup # − 1.
[0118] It may be desired to arrange the message bits (K) such that their corresponding codewords (K5) are arranged with neighboring distance of three, or in general the minimum distance of the code in question. If the code is systematic, the first ^ bits of the codewordsmatch their corresponding message bits. As a result, it is observed that if the first ^: − ^2 ^ bitsof the message are incremented according to Gray codes, that is adjacent binary vectorsdiffering by one bit, and the remaining ^ − ^: − ^2 ^ its are kept fixed, their correspondingcodewords K5 have the neighboring distance of exactly three. The reason is that since twosuccessive K’s differ in only one bit position, which is one of the first ^: − ^2 ^ positions, thefirst ^ bits of their corresponding codewords (K5’s), being the same asmessage bits, differonly in that position. Furthermore, since the differing bit corresponds to one of first ^: − ^ ^rows of 5, which has only two ones in its last : − ^ bits, the last : − ^ bits of thesecodewords differ only in two positions. As a result, having one different bit in the first ^positions, and two different bits in the last : − ^ positions, these two adjacent codewords havethe Hamming distance of three.
[0119] It may not be however possible to write all the message bits according to Gray codes and obtain adjacent codewords with distance three, since any single change in a message bitcorresponding to Group # of rows may result in a change in # + 2 positions of thecorresponding codeword; one change in the first ^ bits and # + 1 changes in the last : − ^ bitsof the corresponding codeword, since rows in Group # have # + 1 ones in their last : − ^ bits.This would violate the neighbouring distance of three if # ≥ 2. This issue may be howeversolved as follows.
[0120] The message bits may be initiated with the all-zero vector (cf. operation 703).Keeping the last ^ − ^: − ^ ^ bits fixed, e.g : − ^2 ., zero, the first ^2 ^ bits, corresponding toGroup 1, may be according to Gray encoding. Once all the combinations areexhausted, one bit in Group 2 may be flipped, e.g., one of the bits corresponding to the ^: − ^3 ^rows of Group 2. With this bit flip, the resulting codeword has the Hamming distance of four with its predecessor, which is not desirable. This may be remedied by simultaneously flipping a bit corresponding to a row in Group 1 that has a Hamming distance of two from the row in Group 2 whose corresponding bit was flipped. With this modification, the new message bits is no longer according to Gray coding, since it is a result of two bit flips in its previous message bits. However, the corresponding codewords differ in two positions in the first ^ bits, and onlyone position in the remaining : − ^ bits, which still results in the overall distance of three.
[0121] The last ^ − ^: − ^2 ^ bits of the message may be then fixed and the Gray encodingmay be repeated for the first ^: − ^2 ^ bits until all combinations in Group 1 are covered. Again,a bit in Group 2 and a corresponding bit in Group 1 may be flipped. This procedure may be repeated until all the combinations in Group 2 are exhausted. At this point, a bit in Group 3 and a corresponding bit in Group 2 may be flipped. The whole scenario may be then repeated again. This procedure may be continued until all the 2+message bits have been written.
[0122] In general, whenever all the combinations in Group # have been written, a bit ingroup # + 1 and a corresponding bit in Group # may be flipped. The procedure may thencontinue by exhausting again the combinations in Group #. Finally, since at each creation of a codeword, the neighbouring distance is three and all the message bits have been considered, the desired mapping between messages and codewords has been obtained.
[0123] Hence, Algorithm 1 may be characterized as follows: - for any fixed bits corresponding to group #,a full loop of Gray encoding may be performedfor the bits in group # − 1 until all combinations have been written (# ∈ [2: : − ^ − 1]), and- for any bit flip in Group #, a particular bit in group # − 1 is flipped (# ∈ [2: : − ^ − 1]).The procedure may be run in a backward manner, i.e., initiating with Gray coding of Group: − ^ − 1, which comprises the last message bit corresponding to the all-one column of theparity-check matrix.
[0124] FIG. 8 illustrates an example of a pseudocode for implementing the first algorithm (Algorithm 1). Notation Ka"denotes the message bits corresponding to Group #. The function Grayupdate(·) on lines 14 and 21 takes a binary vector as its input and outputs the successive binary vector according to Gray encoding, which is in Hamming distance one from its input.In step 15, b∗ is a vector which has a one in the position of the bit to be flipped in group # − 1in response to a bit flip in Group #, and zeros in other positions.
[0125] FIG.9 illustrates an example of a mapping between message bits and codewords. Table 1 of FIG.9 illustrates an example of a mapping between message bits and codewords for the re-ordered Hamming code (7,4) resulting from Algorithm 1. In this example, the parity- check and generator matrices characterizing the re-ordered Hamming code (7,4) comprise: 01 1 1 1 0 0 1 0 0 0 0 1 11 0 0 1 0 10?.1In thishave two ones, formGroup 1, and the fourth column forms Group 2. Similarly, Group 1 of rows in 5 are the first three rows, and Group 2 is the last row.
[0126] Algorithm 1 may be initiated with all-zero message bits, first considering the bits corresponding to the last group, here, the last bit of the message. Currently it is zero, and fixing it, we write a full loop of Gray coding in Group 1 to exhaust all the possible combinations in the first three bits. This results in eight messages as shown in Table 1. Now is the time to flip the last bit. It is observed that the Hamming distance of the last row of 5 with any row in Group 1 is equal to two. Therefore, any of these rows in Group 1 can be selected, and in this example the third row has been selected. Hence, the corresponding bit, i.e., the third bit is flipped at the same time of flipping the last bit. This is shown in Table 1 by underlining. Again, for the new value of the last bit, the procedure is proceeded to exhaust all the possible combinations of the first three bits according to Gray encoding. As expected, on the right column in Table 1, all the codewords are arranged such that any two neighbours, also referred to as successive or adjacent codewords, have the Hamming distance of three.
[0127] FIG.10 illustrates an example of a second algorithm (Algorithm 2) for determining a mapping configured to map adjacent messages to adjacent codewords. Algorithm 2 is based on the following lemma.
[0128] Lemma 1. In Hamming code (:, ^), there exists a set of ^ codewords with weight three that form a basis for the null space of the parity check matrix 6. In other words, any codeword can be written as a linear combination of these ^ codewords.
[0129] It is therefore possible to construct a generator matrix 5, whose rows are these ^ linearly independent codewords with the message bits being Gray encoded. Since the adjacent message bits differ in exactly one position, their corresponding codewords differ in addition / subtraction of one row of 5, which has the weight of three. As a result, the adjacent codewords have the minimum distance of three. Algorithm 2 may be used to find ^ linearly independent codewords of weight three.
[0130] At operation 1001, columns of [ in 6 = [[|\] may be arranged according todecreasing order of their weights, for example starting with the all-one vector. As an example, for (:, ^ = (15, 11), we get 10 1 1 1 0 0 0 1 1 1 1 0 0 01 0 1 1 0 1 1 0 0 1 0 1 0 00?.1
[0131] Thewhich is a concatenation of the non-identity matrix ([) and the identity matrix (\), where columns of the non-identity matrix are ordered according to decreasing order of weight, starting from the first column of the non-identity matrix. As noted above, some columns may have the same weight and therefore the ordering may be such that groups of columns having identical weights are ordered in decreasing order of weight. This provides the benefit of causing the Hamming code to map adjacent messages to adjacent codewords.
[0132] At operation 1002, for each column of # of 6, the g^#^ denoting the decimal value of column # and ĥ(‘# hat’) denoting the position of the most significant bit (MSB) of column # may be determined.
[0133] At operation 1003, generator matrix 5 may be determined based on assigning, foreach row # ones in three positions and zeros in other positioin. To obtain ^ linearlyindependent codewords of weight three, firstly, a one may be assigned in position # ofcodeword #, # ∈ [1: ^] and assign zeros in positions [1: # − 1] for # ∈ [2: ^] . This zeroindentation provides the benefit of linear independence, since no codeword can be a summationof a subset the remaining ^ − 1codewords. Let g: [1: :] → [1: :] be a one-to-one mappingfrom the column index of 6 to its decimal value. For the example at hand, the first column is[1 1 1 1]; , and hence g^1^ = 15. The second column is [0 1 1 1]; , and itsdecimal equivalent is 7, hence, g^2^ = 7, and so on.
[0134] For # ∈ [1: ^], let ĥ (‘# hat’) denote the position of the most significant bit of column#. More rigorously,# ≜^0k mlmanx^"^ $.
[0135] For codeword # ( # ∈ [1: ^] in positions : − ĥ + 1 and g-^^g^#^ −2ô-^^ and assign zeros in otherwe haveg^[1: 15]^ = [15 7 11 13 14 3 5 6 9 10 12 8 4 2 1], and[1:^ 11] = [4 3 4 4 2 3 3 4 4 4],resulting from application of the ‘hat’ operator configured to output the MSB position.
[0136] Hence, the generator matrix formed by these ^^= 11^ linearly independentcodewords of weight three is 11 0 0 0 0 0 0 0 0 0 1 0 0 0é0 1 0 0 0 1 0 0 0 0 0 0 1 0 0ù ê0 0 1 0 0 1 0 0 0úê0 0 1 0 0 00 0 0 1ú ê0 0 1 0 0 0 0 1 0 0 00 0 0 0 1 0 0 1 0 0 0 1 ú=ê0 0 05 0 0 0 0 0 1úê0 0 0 0 0 0 0 1 1ú . ê0 0 0 0 0 0 1 0 0 0 0 0 1 0 1úê0 0 0 0 0 0 0 1 0 0 0 0 1 1 0ê0 0 0 0 0 0 0 0 1 0 0 1 0 0 1úú ê0 0 0 0 0 0 0 0 0 1 0 1 0 1 0úë0 0 0 0 0 0 0 0 0 0 1 1 1 0 0û
[0137] At operation 1004, codewords for encoded Gray messages may be determined by multiplying the binary message vector by the generator matrix (75^.
[0138] A pseudocode for implementing Algorithm 2 is illustrated in FIG.11 and the resulting mapping between some messages and respective codewords has been illustrated in FIG.12. It is again observed that the Hamming distance between adjacent codewords is three, that is, the minimum distance of Hamming codes.
[0139] FIG. 13 illustrates an example of generator polynomials for different Hamming codes. A third algorithm (Algorithm 3) may be used for determining the generator matrix for Hamming codes with privacy.
[0140] For a Hamming code of a particular size (:, ^), the generator polynomial may be as provided in FIG.13. For example, for Hamming code (15, 11), the generator polynomial maybe yX + y + 1 , corresponding to a binary representation of [1 0 0 1 1] . In the binaryrepresentation, each bit position may indicate weight of a respective term of the generator polynomial, starting from the highest order term. In general, an z-th element of the binaryrepresentation of an M-th order generator polynomial (z ∈ [0: ^]) may represent presence(value “1”) or absence (value “0”) of the ^^ − z^-th order term in the generator polynomial.
[0141] Algorithm 3 is based on using the generator polynomial of the Hamming code and shifting it incrementally to the right. In this case, rows of the generator matrix 5 comprise shifted versions of a binary representation of the respective generator polynomial of the Hamming code. For example, the first row of the generator matrix 5 may comprise the binary representation of the generator polynomial, starting from the first element of the first row. The second row of the generator matrix 5 may comprise the binary representation of the generator polynomial, starting from the second element of the second row, and so on. In general, an i-th row of the generator matrix may comprise the binary representation of the generator polynomial starting from the i-th element of the i-th row. Other elements of the generator matrix may comprise zeros. Algorithm 3 exploits the generator polynomial of the code to determine the mapping between messages and codewords such that adjacent messages are mapped to adjacent codewords. An example of a re-ordered generator matrix for Hamming code (7, 4), obtained based on shifted versions of a binary representation of the respective generatorpolynomial, is illustrated in FIG. 14. It is observed that shifted versions of bit sequence[1 0 0 1 1] appear at each row of the generator matrix, as illustrated by the dotted rectangles.
[0142] FIG.15 illustrates an example of a privacy loss of a Hamming code and a re-ordered Hamming code. The privacy loss, i.e., %, in the transmission of the messages over a BSC( )via normal Hamming codes ^:, ^^ can be as large as% ≜ ^: ^ 1 − : − ^: − 1^{ − 1 ln − ln1 + ^: − 1^where the subscript “|” stands for the worst case scenario, in which, two neighbouring codewords have the Hamming distance of :, i.e., they differ in every bit position.
[0143] The re-ordered Hamming code results in a privacy loss given as ∗1 − ^1 − ^: +% ≜ 3 ln − ln ,which is muchthe privacy for Hamming code (black circles) and a re-ordered Hamming code (white circles) for different code block lengths n. It is observed that re-ordering the Hamming code, as provided by theexample embodiments of the present disclosure reduces the privacy loss, especially with high code block lengths.
[0144] With normal Hamming codes the privacy loss scales with the code block length,while re-ordering the code causes the privacy loss to saturate at 3 ln ^- / / , which is the first termon the right-hand side of the definition of %∗. Since the nature ofordered Hamming code a careful rearrangement of the codewords, no loss in probabilityerror or communication occurs. Therefore, there is no reduction in utility.
[0145] As an example with Hamming code (7,4) over BSC(0.1), a normal Hamming code, re-ordered Hamming code, and the combination of privatization and Hamming coding have the following error probabilities and privacy losses: Code rate Error Privacy probability loss Normal4Hamming70.1497 11.8 Re-ordered4Hamming70.1497 6.05 Privatizing & Normal47 0.1534 6.05 Hamming
[0146] Therefore, the re-ordering the Hamming code enables to reduce the privacy loss from 11.8 to 6.05 without altering the code rate or the probability of error. Privatizing the data first and then sending the data over the BSC(0.1) by normal Hamming coding results in the same privacy at the cost of increased error probability. In this example, a differential parity mechanism is used for mapping integers [0:15] to itself such that ^ = 6.05 is met. Among alternative ways of achieving this, a method resulting in the minimum probability of error was selected. Even though the same privacy loss is achieved, this comes with the additional drawback of increased implementation cost and complexity due to the privatization mechanism added prior to channel coding.
[0147] It is however possible to combine separate privatization step with the re-ordered Hamming code. In this case, the re-ordered Hamming code may be used as an add-on to the approach of separately privatizing and channel coding the data. For example, encoder device 310 may be configured to privatize the message based on a differential privacy algorithm before the encoding of the message. This enables to further decrease the probability of error, which isan improvement in the utility. Therefore, the re-ordered code, either on its own or in conjunction with other mechanisms may be used to improve data privacy.
[0148] FIG.16 illustrates an example of signalling and operations for communicating information indicative of a code selected for particular message(s). The procedure of FIG.16 may be used for synchronizing encoding and decoding between devices such that same code is used both for encoding and decoding at a given time. This enables to turn off and on the privacy protective nature of the re-ordered Hamming code.
[0149] At operation 1601, decoder device 320, which may be the receiver for the data to be encoded (e.g., a server), may transmit a request for data of a counting query to encoder device 310. Encoder device 310 may be a transmitter for the data to be encoded (e.g., a data holder device). Encoder device 310 and decoder device 320 may be initially (e.g., by a default configuration) configured to encode and decode data with another error correction code, for example any other linear block code or a convolutional code. In this example, a normal Hamming code is used as an example of such other code, also referred to as a second code. It is however understood that the second code may be any suitable error correction code. Normal Hamming code may refer to a Hamming code that is not re-ordered according to the embodiments described above, for example a Hamming code which is configured to map at least one pair of adjacent messages of the message space to non-adjacent codewords of the codeword space.
[0150] At operation 1602, encoder device 310 may determine to configure the re-ordered Hamming code, also referred to as the first Hamming code, for encoding message(s). Encoder device 310 may determine to configure the re-ordered Hamming code to be used, response to determining that privacy protection is needed, for example when the set of data associated with the counting query is determined to comprise privacy protected data. Encoder device 310 may further transmit information indicative of the re-ordered Hamming code being configured for encoding the message(s).
[0151] At operation 1603, decoder device 320 may transmit an acknowledgement of the use of the re-ordered Hamming code to encoder device 310. The acknowledgement enables encoder device to be informed about the decoder device 320 being ready for decoding messages with the re-ordered Hamming code.
[0152] At operation 1604, encoder device 310 may initiate encoding of message(s) with the re-ordered Hamming code, for example in response to receiving the acknowledgement of operation 1603. Encoder device 310 may obtain the message(s) based on the counting query tothe set of data. It is however possible that decoder device 320 transmits multiple requests for the data and encoder device 310 obtains the messages based on these requests.
[0153] At operation 1605, encoder device 310 may transmit signal(s) comprising message(s) encoded with the Hamming re-ordered code to decoder device 320. The encoded message(s) may comprise the codeword(s) to which respective message(s) are mapped by the re-ordered Hamming code. The codeword(s) therefore represent the message(s). The message(s) encoded and transmitted at operations 1604 and 1605 and the corresponding codeword(s) may be referred to as first message(s) and first codeword(s), respectively. Decoder device 1606 may receive (possibly corrupted) representation(s) of the codeword(s).
[0154] At operation 1606, decoder device 320 may decode the received representation(s) of the codeword(s) based on the re-ordered Hamming code, e.g., the parity-check matrix associated therewith.
[0155] At operation 1607, encoder device 310 may determine to configure the normal Hamming code, or a second code in general, for encoding message(s). Encoder device 310 may determine to (re)configure the normal Hamming code, in response to determining that privacy protection is not needed, for example when another counting query is requested for another set of data determined not to comprise privacy protected data. Encoder device 310 may transmit information indicative of the normal Hamming code being configured for encoding the message(s). This indication may be provided for example as an indication of terminating use of the re-ordered Hamming code, as illustrated in FIG.16.
[0156] At operation 1608, decoder device 320 may transmit an acknowledgement of the use of the normal Hamming code to encoder device 310. The acknowledgement enables encoder device 310 to be informed about the decoder device 320 being ready for decoding messages with the normal Hamming code.
[0157] At operation 1609, encoder device 310 may initiate encoding of message(s) with the normal Hamming code, for example in response to receiving the acknowledgement of operation 160. Encoder device 310 may obtain the message(s) based on the counting query to the set of data. It is however possible that decoder device 320 transmits multiple requests for the data and encoder device 310 obtains the messages based on these requests. In general, encoder device 310 may alternatively obtain data for encoding from any suitable data source, with or without a counting query.
[0158] At operation 1610, encoder device 310 may transmit signal(s) comprising message(s) encoded with the normal Hamming code to decoder device 320. The encoded message(s) may comprise the codeword(s) to which respective message(s) are mapped by thenormal Hamming code. The codeword(s) therefore represent the message(s). The message(s) encoded and transmitted at operations 1609 and 1610 and the corresponding codeword(s) may be referred to as second message(s) and second codeword(s), respectively. Decoder device 1606 may receive (possibly corrupted) representation(s) of these codeword(s).
[0159] At operation 1606, decoder device 320 may decode the representation(s) of the codeword(s) received at operation 1610 based on the normal Hamming code, e.g., the parity- check matrix associated therewith.
[0160] Even though a particular sequence of operations is illustrated in FIG.16 it is possible to perform the operations in different order or partially reverse the roles of encoder device 310 and decoder device 320. For example, decoder device 320 might be responsible of configuration of the appropriate code. In this case, decoder device 320 might be configured to transmit the indication of operation 1602 to encoder device 310. And, encoder device 310 might be configured to acknowledge the use of the re-ordered Hamming code, or the second code in general, at operation 1603 to decoder device 320. Similarly, decoder device 320 might be configured to transmit the indication of operation 1607 to encoder device 310. Encoder device 310 might be configured to acknowledge the use of the normal Hamming code, or the second code in general, at operation 1603 to decoder device 320.
[0161] Mathematical proof of optimality may be provided based on Lemmas 2 and 3. LetTU^. , . ^ denote the Hamming distance between two binary codewords, i.e., the number ofpositions at which they differ.
[0162] Lemma 2: In the transmission of Hamming (n, k) codewords over a BSC(p), theprobability of decoding representation }~ when codeword } is transmitted may be described byPr{R~|R} = ^^1 − ^_-^ ^1 + ^- / / T + / ^- / ^: − T^^ , ∀R, R~ ∈ ^,where T ≜.
[0163] Proof. Codeword R~ decoded at the decoder device if and only if the received vectorI satisfies TU^I, R~^ ≤ 1. Sinc R and R~differ in T positions, we have TU^I, R~^ = 0, if and onlyif all these T differing bits are flipped, and the remaining : − T similar bits remain unchangedduring the transmission of R, which occurs with the probability of ^^1 − ^_-^. For the caseTU^I, R~^ = 1, there are two possibilities: i) one of these T differing bits and the : − T similarbits remain unchanged and T − 1 differing bits are flipped during the transmission of R, whichoccurs with probability T ^-^^1 − ^_-^^^, or ii) all the T differing bits and one of the (: −T^ similar bits are flipped and the remaining ^: − T − 1^ similar bits remain unchanged,which has the probability of ^: − T^ ^^^^1 − ^_-^-^.
[0164] Hence, the probability of the event TU^I, R~^ ≤ 1isPr{R~|R} = ^^1 − ^_-^ + T ^-^^1 − ^_-^^^+^: − T^ ^^^^1 − ^_-^-^^ 1 −
[0165] of T.
[0166] integerz, ^^^-^^^^^^ is strictly decreasing in T.The first part is proved by showing ^^T + 1^ < ^^T^ , or alternatively^^^^ < 1. For simplicity of notation, let ^ ≜ ^-^ / _ / / ^^- / ^ and ^ ≜ 1 + ^- / . Hence we have^^T^ = ^^1 − ^_-^^^T + ^^, and we can write^^T + 1^ ^^T + 1^ + ^^^T^ =1 − ^T + ^where the third row followsin T, is maximum at T =0, and the fourth row follows from having> 1 (more precisely, we have : ≥ 3^. Hence,^^T^ is strictly decreasing in T.
[0168] The second part can be proved by showing^ ^^^^^^ ^^^^^^ > 0. We have^^^T^ ^^= z + ^^ ^
[0169] Let ",! ≜ Pr{R~|R} , ∀#, $ ∈ ℳ , where ℳ ≜ [0: 2+ − 1] denotes the message set(message space). It can be readily verified that the privacy loss % in the transmission of the messages over a BSC(p) via Hamming codes is% = ln",! m,+a∈x / 0,1ℳ: / 0,2,|"-+|.^which can be as large as^: − 1^%{ ≜ ^: − 1^ ln − ln1 + ^: − 1^ ,where : denotes the code block length and the subscript w stands for the worst case scenario, in which, two neighbouring codewords have the Hamming distance of :, i.e., they differ in every bit position. In the context of differential privacy, the goal of a privacy-preserving mapping may be to make the adjacent datasets as indistinguishable as possible. Therefore, for transmission of the outputs of a counting query via Hamming codes, a heuristic approach to enhance the privacy, i.e., reducing the privacy loss, would be to make the adjacent codewords as close as possible in terms of Hamming distance. Codewords may be therefore arranged such that any two neighbouring codewords have the distance of three. And, since this may be implemented by a permutation of the input messages, it does not affect the probability of error. Theorem 1: The minimum privacy loss in transmission of the outputs of a counting query over a BSC(p) via Hamming code (n, k) is ∗1 − ^1 − ^: +% = 3 ln − − 2 ,and it may besuch that TU^R", R"^^^ =3, ∀# ∈ [0: 2+ − 2]. Based on Lemmas 2 and 3 it is possible to proof Theorem 1 by showingthat: 1) For any arrangement in which any two adjacent codewords have the Hamming distance of three, the privacy loss is as defined for %∗above. 2) For any arrangement in which there exist two neighbouring codewords that have a Hamming distance greater than three, the privacy loss is strictly greater than %∗. 3) It is possible to construct an arrangement of codewords with minimum neighbouring distance of three.
[0170] FIG.17 illustrates an example of a method for encoding. The method may be performed by an encoder, e.g., encoder device 310, UE 110, access node 120, or by a control apparatus configured to control the functioning thereof, when installed therein.
[0171] At operation 1701, the method may comprise obtaining a message for encoding, the message belonging to a message space.
[0172] At operation 1702, the method may comprise encoding the message based on a Hamming code to obtain a codeword belonging to a codeword space, wherein the Hamming code is configured to map adjacent messages of the message space to adjacent codewords of the codeword space.
[0173] At operation 1703, the method may comprise transmitting a signal comprising the codeword.
[0174] FIG.18 illustrates an example of a method for decoding. The method may be performed by a decoder, e.g., decoder device 320, UE 110, access node 120, or by a control apparatus configured to control the functioning thereof, when installed therein.
[0175] At operation 1801, the method may comprise receiving a signal comprising a representation of a codeword belonging to a codeword space.
[0176] At operation 1802, the method may comprise decoding the representation of the codeword based on a Hamming code to obtain an estimate of a message belonging to a message space, wherein the Hamming code is configured to map adjacent messages of the message space to adjacent codewords of the codeword space.
[0177] FIG.19 illustrates an example of another method for encoding. The method may be performed by an encoder, e.g., encoder device 310, UE 110, access node 120, or by a control apparatus configured to control the functioning thereof, when installed therein.
[0178] At operation 1901, the method may comprise obtaining, by an encoder device, a first message for encoding, the first message belonging to a message space.
[0179] At operation 1902, the method may comprise communicating, with a decoder device, information indicative of a first Hamming code being configured for encoding the first message.
[0180] At operation 1903, the method may comprise encoding the first message based on the first Hamming code to obtain a first codeword belonging to a codeword space, wherein the first Hamming code is configured to map adjacent messages of the message space to adjacent codewords of the codeword space.
[0181] At operation 1904, the method may comprise transmitting a signal comprising the first codeword to the decoder device.
[0182] FIG.20 illustrates an example of another method for decoding. The method may be performed by a decoder, e.g., decoder device 320, UE 110, access node 120, or by a control apparatus configured to control the functioning thereof, when installed therein.
[0183] At operation 2001, the method may comprise communicating, by a decoder device with an encoder device, information indicative of a first Hamming code being configured forencoding a first message by the encoder device, wherein the first message belongs to a message space.
[0184] At operation 2002, the method may comprise receiving, from the encoder device, a signal comprising a representation of a first codeword belonging to a codeword space and representing the first message.
[0185] At operation 2003, the method may comprise decoding the representation of the first codeword based on the first Hamming code to obtain an estimate of the first message, wherein the first Hamming code is configured to map adjacent messages of the message space to adjacent codewords of the codeword space.
[0186] Further features of the methods directly result for example from functionality of encoder 310, decoder 320, UE 110, access node(s) 120, 122, 124, as described throughout the description, claims, and drawings, and are therefore not repeated here. An apparatus, for example a device such as encoder 310, decoder 320, UE 110, or access node(s) 120, 122, 124, may be configured to perform or cause performance of any aspect of the method(s) described herein. Further, a computer program or a computer program product may comprise instructions for causing, when executed by an apparatus, the apparatus to perform any aspect of the method(s) described herein. Further, an apparatus may comprise means for performing any aspect of the method(s) described herein. According to an example embodiment, the means comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform any aspect of the method(s).
[0187] Figures 21 – 23 illustrate example embodiments of using Hamming code with privacy (HAPY) together with a differential privacy mechanism in order to provide privacy in applications wherein data including specific person's data is collected. The data may be collected for various reasons, such as statistics, training of a machine learning entity, or similar. The examples shown in figures 21 – 23 illustrate the basic principles how the collected data can be privatized so that the level of privacy is high enough to prevent reveal the identity of a person to whom the collected data relates to.
[0188] In the following three different examples of using a Hamming code with privacy are disclosed. In the examples a use case for internet of things devices, zero trust scenario and a hybrid scenario are discussed. In each of these approaches first the level of privacy provided with the Hamming code is determined. Then, it is computed how much additional privacy is needed. The additional privacy is provided by using a differential privacy method.
[0189] In the following examples client device, such as a user equipment, is signalling with the network using a base station, such as a gNodeB. The network, which may be a 5G mobile communication network or other network that can be used for data collecting purposes, is illustrated comprising three different components, however, it should be understood that a communication network typically comprises more different components. Only those components are shown that are used in implementing an arrangement, wherein privacy is provided by using Hamming codes and additional differential privacy. If the network is a 5G mobile communication network, the core network function is 5G core network function and the data management entity may be a network data aggregation function (NWDAF) or an analytics data repository function (ADRF), or any other similar analytics entity.
[0190] Figure 21 illustrates a signalling chart according to an example embodiment in a scenario, wherein the client device 2101, such as a user equipment, is an IoT device. An IoT device may have low processing capacity, however, the signalling of example of figure 21 may also be used with IoT devices having more processing capacity.
[0191] As a first signal 2111, the client device 2101 transmits a capability indication to the network. The capability indication may be transmitted together with usual parameters sent to the network. Furthermore, the signal may include additional information, such as consent for participating data collection for artificial intelligence or other reasons, demanded privacy level, privacy budget, battery information and similar. The capability indication is an indication that indicates that the client device is capable of Hamming code-based privacy mode. Thus, a Hamming code can be used for improving privacy as described in the above. The signal is sent to the core network 2102 via a base station. As a second signal 2112 the core network 2104 responds to the client that the signal has been received and processed.
[0192] After confirmation signal the core network transmits a third signal 2113 to a base station to which the client device is connected to. The third signal includes a capability indication so that the base station knows that the client device 2101 is HAPY-capable and it can be used for data collection. As a fourth signal 2114 the base station 2102 transmits a capability indication to the client device 2101. The capability indication indicates that the base station 2102 is capable of using HAPY for data collection. As a fifth signal 2115 the client device 2101 acknowledges receipt of the signal and confirms that HAPY-mode is on.
[0193] As a sixth signal 2116 the client device 2101 transmits sensitive data that has been privatized using HAPY encoding. The client device 2101 sends the sixth signal 2116 to the base station 2102. The base station 2102 receives the sensitive data and transmits parameters relating to the coding of the received sensitive data to the core network as a seventh signal2117. The parameters include, for example, code length and coding rates that are used per message in the transmission.
[0194] As a response to the received seventh signal 2117 the core network computes, step 2120, the target privacy level provided by the used HAPY encoding. This is done using principles explained in the above with regard privacy loss with references to figure 16, or using the target privacy level equation in below. When the target privacy level is known, it is possible to compute the required residual privacy that needs to be applied to the sensitive data so that the overall target level of privacy is achieved, step 2121. After computing an indicator for the required residual privacy, the core network 2104 transmits it as an eighth signal 2118 to a data management function of the network 2103. The data management function 2104 further receives the privatized sensitive data from the base station as indicated by signal nine. The ninth signal 2119, however, can be transmitted also before the core network 2104 has computed the required residual privacy indicator, for example, substantially simultaneously with the signal seven.
[0195] As a final step 2122, when the data management function 2103 has received both the privatized sensitive data and the required residual privacy indicator, the data management function can apply the required residual privacy to the received sensitive data that was partially privatized by the HAPY-mechanism. As a result, the data is privatized to the target privacy level and can be used in various applications where privatized data is needed.
[0196] Figure 22 illustrates a signalling chart according to an example embodiment in a scenario. Figure 22 illustrates so called hybrid variant. In the hybrid variant, similarly as in the first example, as a first signal 2211, the client device 2201 transmits a capability indication to the network. The capability indication may be transmitted together with other parameters sent to the network. Additionally, the signal may include additional information, such as consent for participating data collection for artificial intelligence or other reasons, demanded privacy level, privacy budget, battery information and similar. The capability indication is an indication that indicates that the client device 2201 is capable of Hamming code-based privacy mode. Thus, a Hamming code can be used for improving privacy as described in the above. The signal is sent to the core network 2204 via a base station 2202. As a second signal 2212 the core network 2204 responds to the client that the signal has been received and processed.
[0197] After confirmation signal the core network 2204, the core network 2204 may quantify the target privacy requirements, step 2220. The core network 2204 then transmits a third signal 2213 to a base station 2202 to which the client device 2201 is connected to. The third signal 2213 includes a capability indication so that the base station 2202 knows that theclient device 2201 is HAPY-capable and it can be used for data collection. As a fourth signal 2214 the base station 2202 transmits a capability indication to the client device 2201. The capability indication indicates that the base station 2202 is capable of using HAPY for data collection. As a fifth signal 2215 the client device 2201 acknowledges receipt of the signal and confirms that HAPY-mode is on.
[0198] As a sixth signal 2216 the client device 2201 transmits sensitive data that has been privatized using HAPY encoding. The client device 2201 sends the sixth signal 2216 to the base station 2202. The base station 2202 receives the sensitive data and transmits parameters relating to the coding of the received sensitive data to the core network 2204 as a seventh signal 2217. The parameters include, for example, code length and coding rates that are used per message in the transmission.
[0199] Then the client device 2201 computes, step 2221, the target privacy level by the used HAPY encoding. This is done using principles explained in the above with regard privacy loss with references to figure 16, or using the target privacy level equation in below. The computation of the privacy level may be performed before transmitting the sixth signal 2216. After partially privatizing the sensitive data by using the HAPY method, the client device 2201 transmits the computed target privacy level to the core network 2204 as a signal seven 2217. As a response to the received provided privacy level, it is possible to compute the required residual privacy that needs to be applied to the sensitive data so that the overall target level of privacy is achieved, step 2222. After computing an indicator for the required residual privacy, the core network 2204 transmits it as an eighth signal 2218 to a data management function 2203 of the network. The data management function 2203 further receives the partially privatized sensitive data from the base station 2202 as indicated by signal nine 2219. The ninth signal 2219, however, can be transmitted also before the core network 2204 has computed the required residual privacy indicator, for example, substantially simultaneously with the signal seven 2217.
[0200] Figure 23 illustrates a signalling chart according to an example embodiment in a scenario. Figure 23 illustrates so called zero trust design, wherein the client device 2301 fully privatizes the sensitive data before transmission. In the zero trust variant, similarly as in the earlier examples, as a first signal 2311, the client device 2301 transmits a capability indication to the network. The capability indication may be transmitted together with other parameters sent to the network. Additionally, the signal may include additional information, such as consent for participating data collection for artificial intelligence or other reasons, demanded privacy level, privacy budget, battery information and similar. The capability indication is anindication that indicates that the client device 2301 is capable of Hamming code-based privacy mode. Thus, a Hamming code can be used for improving privacy as described in the above. The signal is sent to the core network 2304 via a base station 2302. As a second signal 2312 the core network 2304 responds to the client that the signal has been received and processed.
[0201] After confirmation signal the core network 2304, the core network 2304 may quantify the target privacy requirements, step 2320. The core network 2304 then transmits a third signal 2313 to a base station 2302 to which the client device 2301 is connected to. The third signal 2313 includes a capability indication so that the base station 2302 knows that the client device 2301 is HAPY-capable and it can be used for data collection. As a fourth signal 2314 the base station 2302 transmits a capability indication to the client device 2301. The capability indication indicates that the base station 2302 is capable of using HAPY for data collection. As a fifth signal 2305 the client device 2301 acknowledges receipt of the signal and confirms that HAPY-mode is on.
[0202] Then, the client device 2301 computes, step 2321, the privacy level provided by the used HAPY encoding. This is done using principles explained in the above with regard privacy loss with references to figure 16, or using the target privacy level equation in below. When the provided privacy level is known, it is possible to compute the required residual privacy that needs to be applied to the sensitive data so that the overall target level of privacy is achieved, step 2322. After computing the required residual privacy, the client device 2301 fully privatizes the sensitive data using a differential privacy mechanism, step 2323.
[0203] As a sixth signal 2316 the client device 2301 transmits the fully privatized sensitive data to the base station 2302. The base station 2302 sends the fully privatized sensitive data as a seventh signal 2317 to the data management function 2302. The data management function 2302 can use the received privatized sensitive data without any further actions.
[0204] The signalling charts described in the above may be implemented in different network types. For example, if a 5G network is used, the messaging details and code rates are defined by 3GPP standard TS 38.214 v18.3.0, wherein section 5.1.3.1 discusses about Modulation order and target code rate determination and includes a table 5.1.3.1-2 disclosing Modulation and Coding Scheme (MCS) index table 2 for PDSCH.
[0205] In a 5G implementation the 5G core quantifies the privacy requirements using one of the known quantifying methods. This quantification is given in terms of the values of Differential Privacy variables, ^ and δ∈[0,1], where ^ is chosen as a scalar between (0,∞). Inthe above it was given a detailed analysis what is the privacy level in ^ that can be provided with hamming code (n,k).
[0206] In order to determine the amount of needed additional differential privacy so that the target privacy is achieved, it is possible provide a pseudo binary symmetric channel, where every bit is flipped with the probability of pres. %^^^a^^can be determined according to the following equation: %≜ 3 ln ^- / ^^^^^^ d^- / ^^^^^^e_^ / ^^^^^^^^^a^^ / ^^^^^^ − ln lk^^d^- / ^^^^^^^^^^^^e_^ / ^^^^^^-f lk^^^^^^^
[0207] prescan to the following equation: / ^^^^^^- / ^^^ = ^-^ / wherein, the probability of error or bit flipping of a binary symmetric channel is denoted by 0 ≤p≤1. 7≤ n ∈ N is the code block length and 4≤ k ∈N is the number of parity bits.
[0208] Since the privacy level provided by Hamming (n,k) is typically less than the target privacy level, it is necessary to compensate the difference using a differential privacy mechanism. Any known differential privacy mechanism may be used. The mechanism described in below is only an example of a differential privacy mechanism.
[0209] Any range or device value given herein may be extended or altered without losing the effect sought. Also, any embodiment may be combined with another embodiment unless explicitly disallowed.
[0210] Although the subject matter has been described in language specific to structural features and / or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims.
[0211] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the statedbenefits and advantages. It will further be understood that reference to 'an' item may refer to one or more of those items.
[0212] The steps or operations of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate.
[0213] Additionally, individual blocks may be deleted from any of the methods without departing from the scope of the subject matter described herein. Aspects of any of the example embodiments described above may be combined with aspects of any of the other example embodiments described to form further example embodiments without losing the effect sought.
[0214] The term 'comprising' is used herein to mean including the method, blocks, or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.
[0215] As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or”, mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements. Expression “or” may be understood as a non-exclusive “or” and therefore a list or two or more elements indicated to be mutually optional by the expression ”or” means at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0216] Although subjects may be referred to as ‘first’ or ‘second’ subjects, this does not necessarily indicate any order or importance of the subjects. Instead, such attributes may be used solely for the purpose of making a difference between subjects.
[0217] As used in this application, the term ‘circuitry’ may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and (b) combinations of hardware circuits and software, such as (as applicable):(i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to all uses of this term in this application, including in any claims.
[0218] As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portionof a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0219] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from scope of this specification.
Claims
CLAIMS 1. A user equipment comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the user equipment at least to: transmit to the network a capability indication that the user equipment is capable of a Hamming code-based privacy mode; receive a confirmation to the transmitted capability indication; receive, from a gNodeB, an indication that the gNodeB is capable of the Hamming code-based privacy mode; and transmit an acknowledgement of the activated Hamming code-based privacy mode to the gNodeB.
2. A user equipment according to claim 1, wherein the at least one processor, cause the user equipment at least to: transmit sensitive data using the Hamming code-based privacy mode to the network.
3. A user equipment according to claim 2, wherein the at least one processor, cause the user equipment at least to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; and transmit the indicator to the network.
4. A user equipment according to claim 1, wherein the at least one processor, cause the user equipment at least to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; apply an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmit sensitive data privatized with the additional differential privacy mechanism to a gNodeB.
5. The user equipment according to claim 2 or 4, wherein the user equipment is configured to send the sensitive information for participating in a federated learning campaign.
6. Communication network comprising: at least one gNodeB; a 5G core network function; and a data management function, wherein the datam management function is a network data aggregation function (NWDAF) or an analytics data repository function (ADRF) ; wherein the 5G core network function is configured to: receive an indication that a user equipment is capable of a Hamming code-based privacy mode; transmit a confirmation to the received indication; and transmit an indication that the user equipment is capable of a Hamming code-based privacy mode to a gNodeB; and the gNodeB is further configured to: transmit an indication that the gNodeB is capable of the Hamming code-based privacy mode to the user equipment; and receive an acknowledgement of the activated Hamming code-based privacy mode from the user equipment.
7. The communication network according to claim 6, wherein the gNodeB is further configured to: receive sensitive data using the Hamming code-based privacy mode from the user equipment; transmit the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the 5G core network function; transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the 5G core network function is further configured to: compute an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signalto noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to: receive the computed required residual privacy indicator from the 5G core network function; receive sensitive data using the Hamming code-based privacy mode from the gNodeB; and apply additional differential privacy according to the received required residual privacy indicator.
8. The communication network according to claim 6, wherein the gNodeB is further configured to: receive sensitive data using the Hamming code-based privacy mode from the user equipment; and transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; and wherein the 5G core network function is further configured to: receive an indicator of the target privacy level from a user equipment; and compute a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; and transmit the computed required residual privacy indicator to the data management function; and wherein the data management function is configured to: receive the computed required residual privacy indicator from the 5G core network function; receive sensitive data using the Hamming code-based privacy mode from the gNodeB; and apply additional differential privacy according to the received required residual privacy indicator.
9. The communication network according to claim 6, wherein the gNodeB is further configured to: receive sensitive data privatized with an additional differential privacy mechanism from the user equipment; and transmit the received sensitive data privatized with an additional privacy mechanism to the data management function.
10. The communication network according to claim 8 or 9, wherein the 5G core network function is further configured to: quantify the privacy requirements of the user equipment.
11. The communication network according to any of preceding claims 6 – 10, wherein the data management function is configured to collect the sensitive data for federated learning purposes.
12. A method comprising: transmitting to the network a capability indication that the user equipment is capable of a Hamming code-based privacy mode; receiving a confirmation to the transmitted capability indication; receiving, from a gNodeB, an indication that the gNodeB is capable of the Hamming code-based privacy mode; and transmitting an acknowledgement of the activated Hamming code-based privacy mode to the gNodeB.
13. A method according to claim 12, the method further comprising: transmitting sensitive data using the Hamming code-based privacy mode to the network.
14. A method according to claim 13, the method further comprising; computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; and transmitting the indicator to the network.
15. A method according to claim 12, the method further comprising: computing an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio; applying an additional differential privacy mechanism to complement the Hamming code-based privacy mode to reach the target privacy level; and transmitting sensitive data privatized with the additional differential privacy mechanism to a gNodeB.
16. A method comprising: receiving from a user equipment an indication that the user equipment is capable of a Hamming code-based privacy mode; transmitting a confirmation to the received indication to the network; and transmitting an indication that the user equipment is capable of a Hamming code- based privacy mode to a gNodeB; and transmitting from the gNodeB an indication that the gNodeB is capable of the Hamming code-based privacy mode to the user equipment; and receiving an acknowledgement of the activated Hamming code-based privacy mode from the user equipment.
17. A method according to claim 16, the method further comprising: receiving at the gNodeB sensitive data using the Hamming code-based privacy mode from the user equipment; transmitting the Hamming code-based privacy mode parameters and the current signal to noise ratio associated with the received data to the 5G core network function; transmitting the received sensitive data using the Hamming code-based privacy mode to the data management function; and computing at the 5G core network an indicator of the target privacy level and a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; transmitting the computed required residual privacy indicator to the data management function;receiving at the data management function the computed required residual privacy indicator from the 5G core network function; receive at the data management function sensitive data using the Hamming code- based privacy mode from the gNodeB; and applying at the data management function additional differential privacy according to the received required residual privacy indicator.
18. A method according to claim 16, the method further comprising: receiving at the gNodeB sensitive data using the Hamming code-based privacy mode from the user equipment; and transmit the received sensitive data using the Hamming code-based privacy mode to the data management function; receiving an indicator of the target privacy level from a user equipment; computing at the 5G core network a required residual privacy indicator based on the Hamming code-based privacy mode parameters and the current signal to noise ratio, wherein the required residual privacy indicator indicates a required additional differential privacy mechanism to complement the Hamming code-based privacy mode; and transmitting the computed required residual privacy indicator to the data management function; and receiving at the data management function the computed required residual privacy indicator from the 5G core network function; receiving at the data management function the sensitive data using the Hamming code-based privacy mode from the gNodeB; and applying additional differential privacy according to the received required residual privacy indicator.
19. A method according to claim 16, the method further comprising: receiving at the gNodeB sensitive data privatized with an additional differential privacy mechanism from the user equipment; and transmitting the received sensitive data privatized with an additional privacy mechanism to the data management function.
20. A method according to claim 16 or 17, the method further comprising:quantifying at the 5G core network function the privacy requirements of the user equipment.
Citation Information
Patent Citations
Gray code differential privacy protection method and device for multi-modal traffic flow query
CN117371036A
Masking of privacy related information for network services
WO2023020690A1