CN111049776A - Gesture encryption and decryption method and device - Google Patents

Gesture encryption and decryption method and device Download PDF

Info

Publication number
CN111049776A
CN111049776A CN201811188242.2A CN201811188242A CN111049776A CN 111049776 A CN111049776 A CN 111049776A CN 201811188242 A CN201811188242 A CN 201811188242A CN 111049776 A CN111049776 A CN 111049776A
Authority
CN
China
Prior art keywords
gesture
angular velocity
points
time
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811188242.2A
Other languages
Chinese (zh)
Other versions
CN111049776B (en
Inventor
徐迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811188242.2A priority Critical patent/CN111049776B/en
Publication of CN111049776A publication Critical patent/CN111049776A/en
Application granted granted Critical
Publication of CN111049776B publication Critical patent/CN111049776B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention discloses a gesture encryption method and a gesture decryption method and a gesture encryption device, wherein the gesture encryption method comprises the following steps: when receiving a gesture acquisition instruction, the terminal acquires more than one gesture data, wherein each gesture data is the angular speed of the terminal in three directions of an X, Y, Z axis at each set moment; determining a best gesture in the more than one gesture data, the best gesture for characterizing a gesture with a smallest cumulative sum of shortest distances to other gestures; determining a characteristic point of the optimal gesture according to an angular speed extreme value on an X, Y, Z axis of the optimal gesture and a moment corresponding to the angular speed extreme value; selecting a preset number of feature points according to a preset rule; and projecting the characteristic points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance so as to bind the optimal gesture and the key to generate a fuzzy safe.

Description

Gesture encryption and decryption method and device
Technical Field
The invention relates to the technical field of information security, in particular to a gesture encryption and decryption method and device.
Background
The identification based on the dynamic gesture means that a user holds the mobile phone by hand and waves in space, and an accelerometer and a gyroscope of the mobile phone are used for collecting the acceleration and the angular velocity of the mobile phone at an X, Y, Z axis at each moment to serve as a biological characteristic quantity to identify the identity of the user. The dynamic gesture track can be regarded as a special expression form of handwriting in space, when different people swing the same gesture, due to the differences of mechanism structures of biological individuals, such as muscle length, arm length and the like and the differences of behavior characteristics, the size, the shape and the force of the finally swung track are different, and the same person is relatively stable within a period of time.
At present, in the technology of performing identity recognition by using dynamic gestures, the input new gestures are compared with a gesture template, and the distance between the input new gestures and the gesture template is calculated to judge whether the gesture is a personal mode, so that the gesture template is easy to steal by a hacker, and the gesture template is stored in a mobile phone, so that huge potential safety hazards are caused if the gesture template is lost.
Disclosure of Invention
In order to solve the problem of potential safety hazard caused by the fact that the existing gesture template is directly stored in a mobile phone, the embodiment of the invention provides a gesture encryption and decryption method and device.
In a first aspect, an embodiment of the present invention provides a gesture encryption method, including:
when receiving a gesture acquisition instruction, the terminal acquires more than one gesture data, wherein each gesture data is the angular speed of the terminal in three directions of an X, Y, Z axis at each set moment;
determining a best gesture in the more than one gesture data, the best gesture for characterizing a gesture with a smallest cumulative sum of shortest distances to other gestures;
determining a characteristic point of the optimal gesture according to an angular speed extreme value on an X, Y, Z axis of the optimal gesture and a moment corresponding to the angular speed extreme value;
selecting a preset number of feature points according to a preset rule;
and projecting the characteristic points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance so as to bind the optimal gesture and the key to generate a fuzzy safe.
By adopting the gesture encryption method provided by the embodiment of the invention, when a terminal receives a gesture collection instruction, more than one gesture data is collected, each gesture data is the angular speed of the terminal in X, Y, Z axis three directions at each set moment, an optimal gesture is determined from the collected more than one gesture data, the optimal gesture is used for representing the gesture with the minimum sum of the accumulation of the shortest distances between the optimal gesture and other gestures, the feature points of the optimal gesture are determined according to the angular speed extreme value on X, Y, Z axis of the optimal gesture and the moment corresponding to the angular speed extreme value, the preset number of feature points are selected according to the preset rule, the selected preset number of feature points and the randomly generated hash points are projected according to the polynomial constructed by the randomly generated secret key in advance to bind the optimal gesture and the secret key, compared with the prior art, the gesture encryption method provided by the embodiment of the invention binds the gesture features with the randomly generated secret key to generate the auxiliary data, and stores the auxiliary data in the fuzzy safe as the template, wherein the template meets the requirement of irreversibility because the auxiliary data in the fuzzy safe does not contain obvious biological feature information, and the biological feature encryption is realized by fusing a gesture feature recognition technology and a cryptography method and hiding a digital secret key by utilizing the biological features. The gesture feature encryption is firstly utilized to achieve the effect of template protection, and meanwhile, a safer and more convenient key generation mode can be realized by utilizing the biological feature encryption. The behavior characteristics are difficult to imitate and copy, and the method is safer. The gesture behavior characteristics are collected, so that the user experience degree is better, the influence of the surrounding environment is small, and the gesture behavior characteristics are more convenient to use.
Preferably, the gesture data is waved by the user while touching a set area in the terminal screen.
In the preferred embodiment, the user can accurately capture the effective time period of the gesture movement by touching the set area in the terminal screen and simultaneously waving the gesture, so that the time and space for effective endpoint detection are saved, and each gesture movement acquisition can be kept in the approximately same holding mode, so that the gesture movement has better consistency.
Preferably, the determining the best gesture in the gesture data includes:
respectively calculating the shortest distance between each gesture and other gestures by using a Dynamic Time Warping (DTW) algorithm;
respectively accumulating and summing the shortest distance between each gesture and each other gesture;
the gesture with the smallest cumulative sum is determined as the best gesture.
In the above preferred embodiment, for each gesture input by the user, a DTW (dynamic time warping) algorithm is used to calculate the shortest distance between each gesture and each of the other gestures, the shortest distances between each gesture and each of the other gestures are accumulated and summed, the gesture with the smallest accumulated sum is determined as the optimal gesture, and the optimal gesture determined according to the above process has the smallest distance deviation with each of the other gestures, so that the gesture input by the user is represented more accurately.
Preferably, determining the feature point of the optimal gesture according to the extreme value of the angular velocity on the X, Y, Z axis of the optimal gesture and the time corresponding to the angular velocity value specifically includes:
aiming at the moment when the extreme angular velocity value on any axis of X, Y, Z axes in the gesture data of the optimal gesture corresponds to the extreme angular velocity value, combining the moment, the extreme angular velocity value on any axis and the angular velocity values on the other two axes at the moment into a character string according to a preset sequence;
and determining the character string as a characteristic point of the optimal gesture.
Preferably, the combining the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into a character string according to a preset sequence specifically includes:
and converting the time, the angular velocity extreme value on any axis and the angular velocity values on the other two axes at the time into sub character strings with preset digits respectively, and splicing and combining the sub character strings according to a preset sequence to form a character string.
Preferably, the selecting a preset number of feature points according to a preset rule specifically includes:
respectively calculating the distance between each feature point and other feature points;
respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points;
and selecting the feature points corresponding to the shortest distances in a preset number according to the shortest distances from high to low.
In the above preferred embodiment, the distances between each feature point and other feature points of the optimal gesture are respectively calculated, the shortest distance among the distances between each feature point and other feature points is respectively selected, and the feature points corresponding to the shortest distances in the second preset number before are selected according to the sequence from the highest to the lowest of the shortest distances, so as to select the optimal feature points in the second preset number.
Preferably, the distance between one feature point and the other feature points is calculated by the following formula:
Figure BDA0001826801930000041
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000042
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
In the above preferred embodiment, the distance between two feature points is calculated by adding the euclidean distance between two feature points and the time span between two feature points with a certain weight.
Preferably, the projecting the feature point and the randomly generated hash point according to a polynomial constructed by a randomly generated key in advance to bind the optimal gesture with the key to generate the fuzzy safe includes:
carrying out finite field quantization on the characteristic points and the randomly generated hash points;
and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
In a second aspect, an embodiment of the present invention provides a gesture encryption apparatus, including:
the gesture acquisition unit is used for acquiring more than one gesture data when receiving a gesture acquisition instruction, wherein each gesture data is the angular speed of the terminal in three directions of the X, Y, Z axis at each set moment;
the first determination unit is used for determining the optimal gesture in the more than one gesture data, and the optimal gesture is used for representing the gesture with the minimum accumulated sum of the shortest distances to other gestures;
the second determining unit is used for determining the characteristic point of the optimal gesture according to the extreme value of the angular speed on the X, Y, Z axis of the optimal gesture and the time corresponding to the extreme value of the angular speed;
the selecting unit is used for selecting a preset number of feature points according to a preset rule;
and the encryption unit is used for projecting the characteristic points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance so as to bind the optimal gesture with the key and generate a fuzzy safe.
Preferably, the gesture data is waved by the user while touching a set area in the terminal screen.
Preferably, the first determining unit is specifically configured to calculate the shortest distance between each gesture and each of the other gestures by using a Dynamic Time Warping (DTW) algorithm; respectively accumulating and summing the shortest distance between each gesture and each other gesture; the gesture with the smallest cumulative sum is determined as the best gesture.
Preferably, the second determining unit is specifically configured to, for a moment in the gesture data of the optimal gesture, at which an angular velocity extreme value on any one of the X, Y, Z axes corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on the any one axis, and angular velocity values on the other two axes at the moment into a character string according to a preset order; and determining the character string as a characteristic point of the optimal gesture.
Preferably, the second determining unit is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub-character strings with preset digits, and combine the sub-character strings into one character string according to a preset sequence.
Preferably, the selecting unit is specifically configured to calculate a distance between each feature point and each of the other feature points; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the feature points corresponding to the shortest distances in a preset number according to the shortest distances from high to low.
Preferably, the selecting unit is specifically configured to calculate a distance between one feature point and another feature point by using the following formula:
Figure BDA0001826801930000061
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000062
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
Preferably, the encryption unit is specifically configured to perform finite field quantization on the feature points and the randomly generated hash points; and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
The technical effects of the gesture encryption apparatus provided by the second aspect of the present invention may refer to the technical effects of the first aspect or the implementation manners of the first aspect, and are not described herein again.
In a third aspect, an embodiment of the present invention provides a gesture decryption method, which is a gesture decryption method corresponding to the gesture encryption method provided in the first aspect of the present invention, and includes:
collecting gesture data of a decrypted gesture of a user's hand holding a terminal, the gesture data including angular velocities of the terminal in three directions of an X, Y, Z axis for a collection period;
respectively acquiring an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and a moment corresponding to the angular velocity extreme value;
determining the feature point of the decryption gesture according to the angular velocity extreme value and the moment corresponding to the angular velocity extreme value;
selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule;
selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of characteristic points;
randomly selecting a specified number of points from the second preset number of points to reconstruct a polynomial;
verifying a key consisting of the coefficients of the reconstructed polynomial;
if the key verification composed of the coefficients of the point reconstructed polynomials of any combination of the specified number is successful, the gesture decryption is successful;
if all of the keys composed of the coefficients of the specified number of point reconstructed polynomials of all combinations fail to verify, the gesture decryption fails.
Preferably, determining the feature point of the decryption gesture according to the angular velocity extreme value and the time corresponding to the angular velocity extreme value specifically includes:
aiming at the moment when the extreme angular velocity value on any axis of X, Y, Z axes in the gesture data of the decryption gesture corresponds to the extreme angular velocity value, combining the moment, the extreme angular velocity value on any axis and the angular velocity values on the other two axes at the moment into a character string according to a preset sequence;
determining the character string as a feature point of the decryption gesture.
Preferably, the combining the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into a character string according to a preset sequence specifically includes:
and converting the time, the angular velocity extreme value on any axis and the angular velocity values on the other two axes at the time into sub character strings with preset digits respectively, and splicing and combining the sub character strings according to a preset sequence to form a character string.
Preferably, the selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule specifically includes:
respectively calculating the distance between each feature point in the feature points of the decryption gesture and other feature points;
respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points;
and selecting the characteristic points corresponding to the shortest distances in a first preset number according to the sequence of the shortest distances.
Preferably, the distance between one feature point and the other feature points is calculated by the following formula:
Figure BDA0001826801930000071
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000081
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
Preferably, selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of feature points specifically includes:
respectively calculating the distance between each point in the fuzzy safe and each feature point in the first preset number of feature points;
selecting the shortest distance of each point in the fuzzy safe aiming at the first preset number of characteristic points;
sorting the shortest distances from small to large;
and selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number.
Preferably, verifying the key consisting of the coefficients of the reconstructed polynomial comprises:
connecting the coefficients of the reconstructed polynomial to generate a key;
and performing cyclic redundancy check on the generated key.
The technical effects of the gesture decryption method provided by the third aspect of the present invention may refer to the technical effects of the first aspect or the respective implementation manners of the first aspect, which are not described herein again.
In a fourth aspect, an embodiment of the present invention provides a gesture decryption apparatus, including:
the terminal comprises a collecting unit, a processing unit and a display unit, wherein the collecting unit is used for collecting gesture data of a decryption gesture of a user holding the terminal by hand and waving, and the gesture data comprises angular speeds of the terminal in three directions of an X, Y, Z axis in a collecting time period;
the acquisition unit is used for respectively acquiring an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and the time corresponding to the angular velocity extreme value;
the determining unit is used for determining the feature points of the decryption gesture according to the angular velocity extreme value and the time corresponding to the angular velocity extreme value;
the first selection unit is used for selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule;
the second selection unit is used for selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of characteristic points;
the point reconstruction polynomial is used for randomly selecting a specified number of points from the second preset number of points to reconstruct the polynomial;
a verification unit for verifying a key composed of the coefficients of the reconstructed polynomial; if the key verification composed of the coefficients of the point reconstructed polynomials of any combination of the specified number is successful, the gesture decryption is successful; if all of the keys composed of the coefficients of the specified number of point reconstructed polynomials of all combinations fail to verify, the gesture decryption fails.
Preferably, the determining unit is specifically configured to, for a moment in the gesture data of the decryption gesture, where an angular velocity extreme value on any one of the X, Y, Z axes corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on the any one axis, and angular velocity values on the other two axes at the moment into a character string according to a preset order; determining the character string as a feature point of the decryption gesture.
Preferably, the determining unit is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub character strings with preset digits, and combine the sub character strings into one character string according to a preset sequence.
Preferably, the first selecting unit is configured to calculate a distance between each of the feature points of the decryption gesture and each of the other feature points; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the feature points corresponding to the first preset number of the shortest distances according to the shortest distances from high to low.
Preferably, the first selecting unit is specifically configured to calculate a distance between one feature point and another feature point by using the following formula:
Figure BDA0001826801930000091
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000101
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
Preferably, the second selecting unit is specifically configured to calculate a distance between each point in the fuzzy safe and each feature point in the first preset number of feature points respectively; selecting the shortest distance of each point in the fuzzy safe aiming at the first preset number of characteristic points; sorting the shortest distances from small to large; and selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number.
Preferably, the verification unit is specifically configured to concatenate coefficients of the reconstructed polynomial to generate a key; and performing cyclic redundancy check on the generated key.
The technical effects of the gesture decryption apparatus according to the fourth aspect of the present invention may refer to the technical effects of the third aspect or the implementation manners of the third aspect, and are not described herein again.
In a fifth aspect, an embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the gesture encryption method according to the first aspect or the gesture decryption method according to the third aspect when executing the program.
In a sixth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps in the gesture encryption method according to the first aspect of the present invention or the gesture decryption method according to the third aspect of the present invention.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and not to limit the invention. In the drawings:
fig. 1 is a schematic flow chart illustrating an implementation of a gesture encryption method according to an embodiment of the present invention;
fig. 2 is a schematic flow chart illustrating an implementation process of determining an optimal gesture in the gesture encryption method according to the embodiment of the present invention;
fig. 3 is a schematic flow chart illustrating an implementation of determining a feature point of an optimal gesture in the gesture encryption method according to the embodiment of the present invention;
fig. 4 is a schematic diagram illustrating an implementation flow of selecting a preset number of feature points in the gesture encryption method according to the embodiment of the present invention;
fig. 5 is a schematic structural diagram of a gesture encryption apparatus according to an embodiment of the present invention;
FIG. 6 is a schematic diagram illustrating an implementation flow of a gesture decryption method according to an embodiment of the present invention;
fig. 7 is a schematic diagram illustrating an implementation process of selecting a second preset number of points from the fuzzy safe in the gesture decryption method according to the embodiment of the present invention;
fig. 8 is a schematic structural diagram of a gesture decryption device according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to solve the problem of potential safety hazard caused by the fact that the existing gesture template is directly stored in a mobile phone, the embodiment of the invention provides a gesture encryption and decryption method and device.
The implementation principle of the gesture encryption method provided by the embodiment of the invention is as follows: when a terminal receives a gesture collection instruction, more than one gesture data is collected, each gesture data is the angular speed of the terminal in X, Y, Z axis three directions at each set moment, an optimal gesture is determined from the collected more than one gesture data, the optimal gesture is used for representing the gesture with the minimum sum of the shortest distances between the optimal gesture and other gestures, the feature points of the optimal gesture are determined according to the angular speed extreme value on X, Y, Z axis of the optimal gesture and the moment corresponding to the angular speed extreme value, a preset number of feature points are selected according to a preset rule, the selected preset number of feature points and randomly generated hash points are projected according to a polynomial constructed by a randomly generated secret key in advance, so that the optimal gesture is bound with the secret key to generate a fuzzy safe box, compared with the prior art, the gesture encryption method provided by the embodiment of the invention, the gesture features and the randomly generated secret key are bound to generate auxiliary data, the auxiliary data are stored in the fuzzy safe as a template, the auxiliary data in the fuzzy safe do not contain obvious biological feature information, the template meets the requirement of irreversibility, the biological feature encryption is to fuse a gesture feature recognition technology and a cryptography method, and a digital secret key is hidden by utilizing the biological features. The gesture feature encryption is firstly utilized to achieve the effect of template protection, and meanwhile, a safer and more convenient key generation mode can be realized by utilizing the biological feature encryption. The behavior characteristics are difficult to imitate and copy, and the method is safer. The gesture behavior characteristics are collected, so that the user experience degree is better, the influence of the surrounding environment is small, and the gesture behavior characteristics are more convenient to use.
The preferred embodiments of the present invention will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are merely for illustrating and explaining the present invention, and are not intended to limit the present invention, and that the embodiments and features of the embodiments in the present invention may be combined with each other without conflict.
As shown in fig. 1, which is a schematic view of an implementation flow of a gesture encryption method provided in an embodiment of the present invention, the implementation flow may include the following steps:
and S11, when the terminal receives the gesture collecting instruction, collecting more than one gesture data, wherein each gesture data is the angular speed of the terminal in three directions of the X, Y, Z axis at each set moment.
In a specific implementation, when the terminal receives a gesture collecting instruction, the terminal collects gesture data of the same gesture that more than one user holds the terminal to wave, each gesture data is an angular velocity of the terminal in three directions of an X, Y, Z axis at each set moment, and the number of gestures input by the user can be set by the user according to needs. Specifically, the angular velocities of the terminal in the three directions of the axis at each set time X, Y, Z are collected by the gyroscope in the terminal.
Preferably, the gesture data is waved by the user while touching a set area in the terminal screen. The position and size of the setting area may be set according to the need, for example, the setting may be performed according to the convenience of touching the terminal screen with a finger, which is not limited in the embodiments of the present invention.
Preferably, the collected gesture data is denoised.
In particular, the gesture data may be denoised by, but not limited to, a simple moving average or a sliding filter algorithm to smooth the data.
S12, determining the best gesture in the gesture data.
In particular implementation, the terminal determines the best gesture of the same gesture in the gesture data, wherein the best gesture is used for representing the gesture with the smallest sum of the accumulation of the shortest distances to other gestures.
Specifically, the determination of the best gesture in the more than one gesture data through the process shown in fig. 2 may include the following steps:
and S121, respectively calculating the shortest distance between each gesture and other gestures by utilizing a Dynamic Time Warping (DTW) algorithm.
In particular, the terminal may, but is not limited to, calculate the shortest distance between each gesture and each other gesture by using a DTW algorithm.
And S122, accumulating and summing the shortest distance between each gesture and each other gesture respectively.
In specific implementation, the terminal respectively sums the shortest distances between each gesture and other gestures.
Assuming that 4 gestures are collected in total, the shortest distance between gesture 1 and gesture 2 calculated by using the DTW algorithm is recorded as a1The shortest distance between gesture 1 and gesture 3 is denoted as a2The shortest distance between gesture 1 and gesture 4 is denoted as a3Then the sum of the shortest distances between gesture 1 and gestures 2, 3, and 4 is: a is1+a2+a3(ii) a Similarly, the shortest distance between gesture 2 and gesture 1 is denoted as b1The shortest distance between gesture 2 and gesture 3 is denoted as b2The shortest distance between gesture 2 and gesture 4 is denoted as b3Then the sum of the shortest distances between gesture 2 and gestures 1, 3, and 4 is: b1+b2+b3(ii) a The shortest distance between gesture 3 and gesture 1 is denoted as c1The shortest distance between gesture 3 and gesture 2 is denoted as c2The shortest distance between gesture 3 and gesture 4 is denoted as b3Then the sum of the shortest distances between gesture 3 and gestures 1, 2, and 4 is: c. C1+c2+c3(ii) a The shortest distance between gesture 4 and gesture 1 is denoted as d1The shortest distance between gesture 4 and gesture 2 is denoted as d2The shortest distance between gesture 4 and gesture 3 is denoted as d3Then the sum of the shortest distances between gesture 4 and gestures 1, 2, and 3 is: d1+d2+d3
And S123, determining the gesture with the minimum accumulated sum as the optimal gesture.
In specific implementation, the terminal determines the gesture with the smallest accumulated sum as the optimal gesture.
In the example of step S122, the accumulated sums a are compared1+a2+a3、b1+b2+b3、c1+c2+c3And d1+d2+d3A size of1+a2+a3、b1+b2+b3、c1+c2+c3And d1+d2+d3The gesture corresponding to the accumulated sum with the smallest value is determined as the best gesture, assuming a1+a2+a3The value is minimized, then gesture 1 is determined to be the best gesture, assume b1+b2+b3With the smallest value, gesture 2 is determined to be the best gesture.
And S13, determining the characteristic point of the optimal gesture according to the extreme value of the angular speed on the X, Y, Z axis of the optimal gesture and the time corresponding to the extreme value of the angular speed.
In specific implementation, the determining the feature point of the optimal gesture according to the process shown in fig. 3 may include the following steps:
s131, aiming at the moment when the angular speed extreme value on any axis of X, Y, Z axes in the gesture data of the optimal gesture corresponds to the angular speed extreme value, combining the moment, the angular speed extreme value on any axis and the angular speed values on the other two axes at the moment into a character string according to a preset sequence.
Specifically, the terminal converts the time, the angular velocity extreme value on any axis of the X, Y, Z axes and the time corresponding to the angular velocity extreme value in the gesture data of the optimal gesture into sub character strings with preset digits respectively, and combines the sub character strings into one character string according to a preset sequence. Wherein the extreme value comprises a maximum value and a minimum value.
And S132, determining the character strings as the characteristic points of the optimal gesture.
In specific implementation, the terminal determines the character string combined by splicing as the feature point of the optimal gesture, and may determine the set composed of the feature points of the optimal gesture as the optimal gesture feature set.
For example, for the X axis, an extreme value (a maximum value or a minimum value) is reached at time t, taking a maximum value as an example, the corresponding feature point at this time may be denoted as { t | Xt | Yt | Zt }, where Xt is the maximum value of the angular velocity of the X axis at time t, Yt and Zt are the angular velocity value of the Y axis at time t and the angular velocity value of the Z axis respectively, t, Xt, Yt and Zt may be converted into binary substrings of preset number of bits, respectively, where the preset number of bits may be 4bits, the converted substrings are sequentially connected in the order of t, Xt, Yt and Zt, and are spliced into a binary string of 16bits, and the binary string is determined as the optimal gesture feature point. Similarly, the optimal gesture feature point is determined by the same method for other extreme points (maximum or minimum) on the X axis and for each extreme point on the Y axis and the Z axis.
And S14, selecting a preset number of feature points according to a preset rule.
In specific implementation, the selecting of the preset number of feature points according to the flow shown in fig. 4 may include the following steps:
and S141, respectively calculating the distance between each feature point and each other feature point.
In specific implementation, in the embodiment of the present invention, the distance between two feature points is defined as a weighted sum of the euclidean distance between the two feature points and the time span between the two feature points.
Specifically, the distance between one feature point and the other feature points is calculated by the following formula:
Figure BDA0001826801930000151
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000152
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
And S142, respectively selecting the shortest distance from the distances between each feature point and other feature points.
In specific implementation, after the distance between each feature point and each other feature point is calculated, the distance with the shortest distance between each feature point and each other feature point is selected respectively.
S143, selecting the feature points corresponding to the shortest distances in the preset number according to the shortest distances from high to low.
In specific implementation, the selected shortest distances are arranged in a sequence from high to low, and feature points corresponding to a preset number of shortest distances with a larger value in the shortest distances are selected, wherein the distance between every two feature points of the selected feature points is larger than a preset threshold value.
For example, the number of feature points of the optimal gesture is 5, and the distances between feature point 1 and feature points 2, 3, 4, and 5 calculated by the formula in step S141 are DM(m1,m2)、DM(m1,m3)、DM(m1,m4)、DM(m1,m5) Selecting DM(m1,m2)、DM(m1,m3)、DM(m1,m4)、DM(m1,m5) Minimum value, assume DM(m1,m2) Is the shortest distance among the distances between the characteristic point 1 and other characteristic points 2, 3, 4 and 5; similarly, the distances between the feature point 2 and the feature points 1, 3, 4 and 5 are respectively DM(m2,m1)、DM(m2,m3)、DM(m2,m4)、DM(m2,m5) Let D beM(m2,m5) The shortest distance among the distances between the characteristic point 2 and other characteristic points 1, 3, 4 and 5; the distances between the characteristic point 3 and the characteristic points 1, 2, 4 and 5 are respectively DM(m3,m1)、DM(m3,m2)、DM(m3,m4)、DM(m3,m5) Let D beM(m3,m2) The shortest distance among the distances between the characteristic point 3 and other characteristic points 1, 2, 4 and 5; the distances between the characteristic point 4 and the characteristic points 1, 2, 3 and 5 are respectively DM(m4,m1)、DM(m4,m2)、DM(m4,m3)、DM(m4,m5) Let D beM(m4,m2) The shortest distance among the distances between the characteristic point 4 and the other characteristic points 1, 2, 3 and 5; the distances between the characteristic point 5 and the characteristic points 1, 2, 3 and 4 are respectively DM(m5,m1)、DM(m5,m2)、DM(m5,m3)、DM(m5,m4) Let D beM(m5,m3) The shortest distance among the distances between the feature point 4 and the other feature points 1, 2, 3, and 5. The respective shortest distance D to be selectedM(m1,m2)、DM(m2,m5)、DM(m3,m2)、DM(m4,m2) And DM(m5,m3) In order of high to low, e.g. DM(m1,m2)>DM(m2,m5)>DM(m3,m2)>(m4,m2)>(m5,m3) Then the arrangement is: dM(m1,m2)、DM(m2,m5)、DM(m3,m2)、DM(m4,m2)、DM(m5,m3) If the preset number is 3, selecting the feature points corresponding to the first three shortest distances: i.e. DM(m1,m2) Corresponding characteristic points 1, DM(m2,m5) Corresponding characteristic points 2, DM(m3,m2) And corresponding feature points 3, wherein the distance between the feature points 1 and 2 and the distance between the feature points 2 and 3 should be greater than a preset threshold, and if the distance between the feature points 1 and 2 or the distance between the feature points 2 and 3 is less than the preset threshold, the feature point corresponding to the next shortest distance can be selected in a forward-backward manner, so that the distance between every two feature points of the selected feature points is greater than the preset threshold.
It should be noted that, in the embodiment of the present invention, the preset threshold may be set according to an empirical value, which is not limited in the embodiment of the present invention.
And S15, projecting the feature points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance, so as to bind the optimal gesture with the key and generate a fuzzy safe.
In specific implementation, the terminal projects the selected feature points and the randomly generated hash points according to a polynomial constructed in advance by a randomly generated key so as to bind the optimal gesture with the key to generate the fuzzy safe.
Specifically, the selected feature points and randomly generated hash points are subjected to finite field quantization; and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
In particular, the inventionThe polynomial may be constructed in the following manner in an embodiment: assuming that the length of the randomly generated key K is 16n bits, where n is the number of polynomial series, all operations are in the finite field GF (2)16) The above process is carried out. Constructing a polynomial p (x) through a key K, specifically, performing CRC encoding on the key K, placing a CRC check code of 16bits at the tail part of the key K, and sequentially dividing the key K after CRC encoding into n character strings with the length of 16bits, namely K ═ K-nkn-1….k0Wherein k is0For a 16bits CRC code, k isn,kn-1,….,k0Sequentially as high-order to low-order coefficients of the polynomial p (x), i.e. p (x) knxn+kn-1xn-1+…+k1x+k0
In specific implementation, each feature point selected in step S14 and a plurality of randomly generated hash points are subjected to finite field G (2)16) And quantizing, wherein the hash points are not on the polynomial p (x), and further, respectively bringing the feature points subjected to finite field quantization and the hash points subjected to finite field quantization into the polynomial p (x), performing projection and then performing random arrangement to bind the optimal gesture and the key, thereby generating a fuzzy safe.
In the gesture encryption method provided by the embodiment of the present invention, when a terminal receives a gesture collection instruction, more than one gesture data is collected, each gesture data is an angular velocity of the terminal in X, Y, Z axes at each set time, an optimal gesture is determined from the collected more than one gesture data, the optimal gesture is used to represent a gesture with the smallest sum of the cumulative sum of the shortest distances to other gestures, a feature point of the optimal gesture is determined according to an angular velocity extreme value on X, Y, Z axis of the optimal gesture and a time corresponding to the angular velocity extreme value, a preset number of feature points are selected according to a preset rule, the selected preset number of feature points and randomly generated hash points are projected according to a polynomial constructed by a randomly generated key in advance, so as to bind the optimal gesture and the key to generate a fuzzy safe, compared with the prior art, the gesture encryption method provided by the embodiment of the invention binds the gesture features with the randomly generated secret key to generate the auxiliary data, and stores the auxiliary data in the fuzzy safe as the template, wherein the template meets the requirement of irreversibility because the auxiliary data in the fuzzy safe does not contain obvious biological feature information, and the biological feature encryption is realized by fusing a gesture feature recognition technology and a cryptography method and hiding a digital secret key by utilizing the biological features. The gesture feature encryption is firstly utilized to achieve the effect of template protection, and meanwhile, a safer and more convenient key generation mode can be realized by utilizing the biological feature encryption. The behavior characteristics are difficult to imitate and copy, and the method is safer. The gesture behavior characteristics are collected, so that the user experience degree is better, the influence of the surrounding environment is small, and the gesture behavior characteristics are more convenient to use.
Based on the same inventive concept, the embodiment of the invention also provides a gesture encryption device, and as the principle of the device for solving the problems is similar to that of the method, the implementation of the gesture encryption device can refer to the implementation of the gesture encryption method of the invention, and repeated details are not repeated.
As shown in fig. 5, which is a schematic structural diagram of a gesture encryption apparatus provided in an embodiment of the present invention, the gesture encryption apparatus may include:
the acquisition unit 21 is configured to acquire more than one gesture data when receiving a gesture acquisition instruction, where each gesture data is an angular velocity of the terminal in three directions of the X, Y, Z axis at each set time;
a first determination unit 22, configured to determine a best gesture in the more than one gesture data, where the best gesture is used to characterize a gesture with a smallest cumulative sum of shortest distances to other gestures;
the second determining unit 23 is configured to determine a feature point of the optimal gesture according to an extreme angular velocity value on the X, Y, Z axis of the optimal gesture and a time corresponding to the extreme angular velocity value;
a selecting unit 24, configured to select a preset number of feature points according to a preset rule;
and the encryption unit 25 is configured to project the feature points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance, so as to bind the optimal gesture with the key, thereby generating a fuzzy safe.
Preferably, the gesture data is waved by the user while touching a set area in the terminal screen.
Preferably, the first determining unit 22 is specifically configured to calculate the shortest distance between each gesture and each other gesture by using a dynamic time warping DTW algorithm; respectively accumulating and summing the shortest distance between each gesture and each other gesture; the gesture with the smallest cumulative sum is determined as the best gesture.
Preferably, the second determining unit 23 is specifically configured to, for a moment in the gesture data of the optimal gesture, at which an angular velocity extreme value on any one of the X, Y, Z axes corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on the any one axis, and the angular velocity values on the other two axes at the moment into a character string according to a preset order; and determining the character string as a characteristic point of the optimal gesture.
Preferably, the second determining unit 23 is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub-character strings with preset digits, and combine the sub-character strings into one character string according to a preset sequence.
Preferably, the selecting unit 24 is specifically configured to calculate distances between each feature point and other feature points respectively; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the feature points corresponding to the shortest distances in a preset number according to the shortest distances from high to low.
Preferably, the selecting unit 24 is specifically configured to calculate a distance between one feature point and another feature point by using the following formula:
Figure BDA0001826801930000191
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000201
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
Preferably, the encryption unit 25 is specifically configured to perform finite field quantization on the feature points and the randomly generated hash points; and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
As shown in fig. 6, which is a schematic view of an implementation flow of the gesture decryption method provided in the embodiment of the present invention, and is a decryption method corresponding to the gesture encryption method provided in the embodiment of the present invention, the decryption method may include the following steps:
and S31, collecting gesture data of a decrypted gesture of the user waving the terminal by holding the terminal, wherein the gesture data comprises the angular speeds of the terminal in three directions of the X, Y, Z axis in the collection time period.
In a specific implementation, the terminal collects gesture data of a decryption gesture of waving the terminal held by a user, wherein the gesture data comprises angular velocities of the terminal in three directions of the X, Y, Z axis at each set moment in a collection time period.
Preferably, the gesture data is waved by the user while touching a set area in the terminal screen. For specific implementation, refer to step S11, which is not described herein.
And S32, respectively acquiring the extreme angular velocity value on the X, Y, Z axis in the gesture data of the decryption gesture and the time corresponding to the extreme angular velocity value.
In specific implementation, the terminal respectively obtains an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and a time corresponding to the angular velocity extreme value.
S33, determining the feature point of the decryption gesture according to the angular speed extreme value and the moment corresponding to the angular speed extreme value.
In specific implementation, the terminal determines the feature point of the decryption gesture according to the angular velocity extreme value and the moment corresponding to the angular velocity extreme value.
Specifically, for a moment in the gesture data of the decrypted gesture, at which an angular velocity extreme value on any one axis of X, Y, Z axes corresponds to the angular velocity extreme value, combining the moment, the angular velocity extreme value on any one axis, and angular velocity values on the other two axes at the moment into one character string according to a preset order; determining the character string as a feature point of the decryption gesture.
Preferably, the time corresponding to the angular velocity extreme value, the angular velocity extreme value on any one axis, and the angular velocity values on the other two axes at the time are converted into sub character strings with preset digits, and the sub character strings are spliced and combined into one character string according to a preset sequence. Wherein the extreme value comprises a maximum value and a minimum value. For specific implementation, refer to steps S131 and S132, which are not described herein.
And S34, selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule.
Preferably, the distance between each feature point of the feature points of the decryption gesture and each other feature point is calculated respectively; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the characteristic points corresponding to the shortest distances in a first preset number according to the sequence of the shortest distances.
Preferably, the distance between one feature point and the other feature points is calculated by the following formula:
Figure BDA0001826801930000211
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000212
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
The value of the first preset number in this step should be consistent with the preset number in step S14, and the step is specifically referred to step S14, which is not described herein again.
S35, selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of characteristic points.
In a specific implementation, the selecting a second preset number of points from the fuzzy safe according to the process shown in fig. 7 may include the following steps:
s351, respectively calculating the distance between each point in the fuzzy safe and each feature point in the first preset number of feature points.
In specific implementation, the terminal still uses the formula in step S34 to calculate the distance between each point in the fuzzy safe and each feature point in the first preset number of feature points, which is not described herein again.
S352, selecting the shortest distance of each point in the fuzzy safe aiming at the feature points of the first preset number.
The implementation of this step is referred to the implementation of step S142, and is not described herein again.
And S353, sequencing the shortest distances from small to large.
S354, selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number before.
In this step, the value of the second preset number is an integer greater than the polynomial series n.
And S36, randomly selecting a specified number of points from the second preset number of points to reconstruct the polynomial.
In practical implementation, since the order of the polynomial is n, at least n +1 elements are required for reconstructing the polynomial coefficient. Therefore, n +1 elements are arbitrarily selected from a second preset number of points in the selected fuzzy safe to be arranged and combined into C (k, (n +1)), a polynomial is obtained by using a lagrange interpolation method for each combination mode, and the recombined polynomial can be expressed as:
Figure BDA0001826801930000221
the polynomial form obtained after expansion is:
Figure BDA0001826801930000222
s37, verifying the key composed of each coefficient of the reconstructed polynomial.
In specific implementation, the terminal connects the coefficients of the reconstructed polynomial to generate a key; and performing a cyclic redundancy check on the generated key.
Specifically, coefficients of the polynomial
Figure BDA0001826801930000231
Concatenate generated keys, i.e. keys of
Figure BDA0001826801930000232
And performs a cyclic redundancy check on the key. The keys generated by connecting the coefficients of the reconstructed polynomial in any permutation and combination C (k, (n +1)) are subjected to cyclic redundancy check.
S38, if the key verification composed of the coefficients of the polynomial reconstructed by any combination of the specified number of points is successful, the gesture decryption is successful.
Specifically, if the cyclic redundancy check of any one of the keys generated on the coefficients of the randomly arranged combination C (k, (n +1)) reconstructed polynomial succeeds, the gesture decryption succeeds.
And S39, if all the keys composed of the coefficients of the point reconstruction polynomials with the specified number of combinations fail to be verified, the gesture decryption fails.
If the cyclic redundancy check of each key generated for the coefficients of the randomly arranged combination C (k, (n +1)) reconstructed polynomial fails, the gesture decryption fails.
Based on the same inventive concept, the embodiment of the invention also provides a gesture decryption device, and as the principle of the gesture decryption device for solving the problem is similar to that of the gesture decryption method, the implementation of the gesture decryption device can refer to the implementation of the gesture decryption method of the invention, and repeated points are not repeated.
As shown in fig. 8, which is a schematic structural diagram of a gesture decryption device according to an embodiment of the present invention, the gesture decryption device may include:
an acquisition unit 41 configured to acquire gesture data of a decrypted gesture of a user holding the terminal with his hand and waving, the gesture data including angular velocities of the terminal in three directions of an X, Y, Z axis during an acquisition period;
the obtaining unit 42 is configured to obtain an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and a time corresponding to the angular velocity extreme value;
a determining unit 43, configured to determine a feature point of the decryption gesture according to the angular velocity extreme value and a time corresponding to the angular velocity extreme value;
the first selecting unit 44 is configured to select a first preset number of feature points from the feature points of the decryption gesture according to a preset rule;
a second selecting unit 45, configured to select a second preset number of points from the fuzzy safe according to a distance between each point in the fuzzy safe and the first preset number of feature points;
a reconstruction unit 46 configured to arbitrarily select a specified number of point reconstruction polynomials from the second preset number of points;
a verification unit 47 for verifying a key composed of the coefficients of the reconstructed polynomial; if the key verification composed of the coefficients of the point reconstructed polynomials of any combination of the specified number is successful, the gesture decryption is successful; if all of the keys composed of the coefficients of the specified number of point reconstructed polynomials of all combinations fail to verify, the gesture decryption fails.
Preferably, the determining unit 43 is specifically configured to, for a moment in the gesture data of the decryption gesture, where an angular velocity extreme value on any one of the X, Y, Z axes corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on the any one axis, and angular velocity values on the other two axes at the moment into a character string according to a preset order; determining the character string as a feature point of the decryption gesture.
Preferably, the determining unit 43 is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub character strings with preset digits, and combine the sub character strings into one character string according to a preset sequence.
Preferably, the first selecting unit 44 is configured to calculate distances between each of the feature points of the decryption gesture and each of the other feature points; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the characteristic points corresponding to the shortest distances in a first preset number according to the sequence of the shortest distances.
Preferably, the first selecting unit 44 is specifically configured to calculate a distance between one feature point and another feature point by the following formula:
Figure BDA0001826801930000241
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure BDA0001826801930000251
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
Preferably, the second selecting unit 45 is specifically configured to calculate a distance between each point in the fuzzy safe and each feature point in the first preset number of feature points respectively; selecting the shortest distance of each point in the fuzzy safe aiming at the first preset number of characteristic points; sorting the shortest distances from small to large; and selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number.
Preferably, the verification unit 47 is specifically configured to concatenate the coefficients of the reconstructed polynomial to generate a key; and performing cyclic redundancy check on the generated key.
Based on the same technical concept, an embodiment of the present invention further provides an electronic device 500, and referring to fig. 9, the electronic device 500 is configured to implement the data encryption method implemented by the server side described in the foregoing method embodiment, where the electronic device 500 of this embodiment may include: a memory 501, a processor 502, and a computer program stored in the memory and executable on the processor, such as a server-side implemented data encryption program. The processor 502 implements the steps in the above-described embodiment of the gesture encryption method or gesture decryption method when executing the computer program. Alternatively, the processor implements the functions of the modules/units in the above device embodiments when executing the computer program.
The embodiment of the present invention does not limit the specific connection medium between the memory 501 and the processor 502. In the embodiment of the present application, the memory 501 and the processor 502 are connected by the bus 503 in fig. 9, the bus 503 is represented by a thick line in fig. 9, and the connection manner between other components is merely illustrative and is not limited thereto. The bus 503 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 9, but this does not indicate only one bus or one type of bus.
The memory 501 may be a volatile memory (volatile memory), such as a random-access memory (RAM); the memory 501 may also be a non-volatile memory (non-volatile) such as, but not limited to, a read-only memory (rom), a flash memory (flash memory), a hard disk (HDD) or a solid-state drive (SSD), or the memory 501 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 501 may be a combination of the above memories.
The embodiment of the present application further provides a computer-readable storage medium, which stores computer-executable instructions required to be executed by the processor, and includes a program required to be executed by the processor.
In some possible embodiments, the various aspects of the gesture encryption method or the gesture decryption method provided by the present invention may also be implemented in the form of a program product, which includes program code for causing an electronic device to perform the steps of the gesture encryption method or the gesture decryption method according to various exemplary embodiments of the present invention described above in this specification when the program product is run on the electronic device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for data encryption of embodiments of the present invention may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a computing device. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device over any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., over the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functions of two or more of the units described above may be embodied in one unit, according to embodiments of the invention. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Moreover, while the operations of the method of the invention are depicted in the drawings in a particular order, this does not require or imply that the operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (32)

1. A gesture encryption method, comprising:
when receiving a gesture acquisition instruction, the terminal acquires more than one gesture data, wherein each gesture data is the angular speed of the terminal in three directions of an X, Y, Z axis at each set moment;
determining a best gesture in the more than one gesture data, the best gesture for characterizing a gesture with a smallest cumulative sum of shortest distances to other gestures;
determining a characteristic point of the optimal gesture according to an angular speed extreme value on an X, Y, Z axis of the optimal gesture and a moment corresponding to the angular speed extreme value;
selecting a preset number of feature points according to a preset rule;
and projecting the characteristic points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance so as to bind the optimal gesture and the key to generate a fuzzy safe.
2. The method of claim 1, wherein the gesture data is waved by a user while touching a set area in the terminal screen.
3. The method of claim 1, wherein determining a best gesture of the one or more gesture data comprises:
respectively calculating the shortest distance between each gesture and other gestures by using a Dynamic Time Warping (DTW) algorithm;
respectively accumulating and summing the shortest distance between each gesture and each other gesture;
the gesture with the smallest cumulative sum is determined as the best gesture.
4. The method of claim 1, wherein the feature point of the best gesture is determined according to an extreme value of the angular velocity on the X, Y, Z axis of the best gesture and the time corresponding to the angular velocity value:
aiming at the moment when the extreme angular velocity value on any axis of X, Y, Z axes in the gesture data of the optimal gesture corresponds to the extreme angular velocity value, combining the moment, the extreme angular velocity value on any axis and the angular velocity values on the other two axes at the moment into a character string according to a preset sequence;
and determining the character string as a characteristic point of the optimal gesture.
5. The method as claimed in claim 4, wherein combining the time, the extreme angular velocity values on any one axis, and the angular velocity values on the other two axes at the time into a character string in a predetermined order comprises:
and converting the time, the angular velocity extreme value on any axis and the angular velocity values on the other two axes at the time into sub character strings with preset digits respectively, and splicing and combining the sub character strings according to a preset sequence to form a character string.
6. The method according to claim 4 or 5, wherein selecting a predetermined number of feature points according to a predetermined rule specifically comprises:
respectively calculating the distance between each feature point and other feature points;
respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points;
and selecting the feature points corresponding to the shortest distances in a preset number according to the shortest distances from high to low.
7. The method of claim 6, wherein the distance between one feature point and the other feature points is calculated by the following formula:
Figure FDA0001826801920000021
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure FDA0001826801920000022
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
8. The method of claim 1, wherein projecting the feature points and randomly generated hash points according to a polynomial previously constructed from a randomly generated key to bind the best gesture with the key to generate a fuzzy safe, comprises:
carrying out finite field quantization on the characteristic points and the randomly generated hash points;
and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
9. A gesture encryption apparatus, comprising:
the gesture acquisition unit is used for acquiring more than one gesture data when receiving a gesture acquisition instruction, wherein each gesture data is the angular speed of the terminal in three directions of the X, Y, Z axis at each set moment;
the first determination unit is used for determining the optimal gesture in the more than one gesture data, and the optimal gesture is used for representing the gesture with the minimum accumulated sum of the shortest distances to other gestures;
the second determining unit is used for determining the characteristic point of the optimal gesture according to the extreme value of the angular speed on the X, Y, Z axis of the optimal gesture and the time corresponding to the extreme value of the angular speed;
the selecting unit is used for selecting a preset number of feature points according to a preset rule;
and the encryption unit is used for projecting the characteristic points and the randomly generated hash points according to a polynomial constructed by a randomly generated key in advance so as to bind the optimal gesture with the key and generate a fuzzy safe.
10. The apparatus of claim 9, wherein the gesture data is waved while a user touches a set area in the terminal screen.
11. The apparatus of claim 9,
the first determining unit is specifically configured to calculate the shortest distance between each gesture and each other gesture by using a Dynamic Time Warping (DTW) algorithm; respectively accumulating and summing the shortest distance between each gesture and each other gesture; the gesture with the smallest cumulative sum is determined as the best gesture.
12. The apparatus of claim 9,
the second determining unit is specifically configured to, for a moment in the gesture data of the optimal gesture, at which an angular velocity extreme value on any one of X, Y, Z axes corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on the any one axis, and angular velocity values on two other axes at the moment into one character string according to a preset order; and determining the character string as a characteristic point of the optimal gesture.
13. The apparatus of claim 12,
the second determining unit is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub character strings with preset digits, and splice and combine the sub character strings into one character string according to a preset sequence.
14. The apparatus of claim 12 or 13,
the selecting unit is specifically used for respectively calculating the distance between each characteristic point and each other characteristic point; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the feature points corresponding to the shortest distances in a preset number according to the shortest distances from high to low.
15. The apparatus of claim 14,
the selecting unit is specifically configured to calculate a distance between one feature point and another feature point by using the following formula:
Figure FDA0001826801920000041
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure FDA0001826801920000042
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
16. The apparatus of claim 9,
the encryption unit is specifically configured to perform finite field quantization on the feature points and the randomly generated hash points; and projecting the quantized feature points and the quantized hash points according to a polynomial constructed by a randomly generated key in advance, and then randomly arranging the feature points and the hash points so as to bind the optimal gesture with the key and generate a fuzzy safe.
17. A gesture decryption method, comprising:
collecting gesture data of a decrypted gesture of a user's hand holding a terminal, the gesture data including angular velocities of the terminal in three directions of an X, Y, Z axis for a collection period;
respectively acquiring an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and a moment corresponding to the angular velocity extreme value;
determining the feature point of the decryption gesture according to the angular velocity extreme value and the moment corresponding to the angular velocity extreme value;
selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule;
selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of characteristic points;
randomly selecting a specified number of points from the second preset number of points to reconstruct a polynomial;
verifying a key consisting of the coefficients of the reconstructed polynomial;
if the key verification composed of the coefficients of the point reconstructed polynomials of any combination of the specified number is successful, the gesture decryption is successful;
if all of the keys composed of the coefficients of the specified number of point reconstructed polynomials of all combinations fail to verify, the gesture decryption fails.
18. The method according to claim 17, wherein determining the feature point of the decryption gesture according to the extreme angular velocity value and the time corresponding to the extreme angular velocity value specifically comprises:
aiming at the moment when the extreme angular velocity value on any axis of X, Y, Z axes in the gesture data of the decryption gesture corresponds to the extreme angular velocity value, combining the moment, the extreme angular velocity value on any axis and the angular velocity values on the other two axes at the moment into a character string according to a preset sequence;
determining the character string as a feature point of the decryption gesture.
19. The method of claim 18, wherein combining the time of day, the extreme angular velocity values on any one axis, and the angular velocity values on the other two axes at the time of day into a string in a predetermined order comprises:
and converting the time, the angular velocity extreme value on any axis and the angular velocity values on the other two axes at the time into sub character strings with preset digits respectively, and splicing and combining the sub character strings according to a preset sequence to form a character string.
20. The method according to claim 18 or 19, wherein selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule specifically comprises:
respectively calculating the distance between each feature point in the feature points of the decryption gesture and other feature points;
respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points;
and selecting the feature points corresponding to the first preset number of the shortest distances according to the shortest distances from high to low.
21. The method of claim 20, wherein the distance between one feature point and the other feature points is calculated by the following formula:
Figure FDA0001826801920000061
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure FDA0001826801920000062
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
22. The method of claim 17, wherein selecting a second predetermined number of points from the fuzzy safe based on distances between the points in the fuzzy safe and the first predetermined number of feature points comprises:
respectively calculating the distance between each point in the fuzzy safe and each feature point in the first preset number of feature points;
selecting the shortest distance of each point in the fuzzy safe aiming at the first preset number of characteristic points;
sorting the shortest distances from small to large;
and selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number.
23. The method of claim 17, wherein validating the key comprised of the coefficients of the reconstructed polynomial comprises:
connecting the coefficients of the reconstructed polynomial to generate a key;
and performing cyclic redundancy check on the generated key.
24. A gesture decryption device, comprising:
the terminal comprises a collecting unit, a processing unit and a display unit, wherein the collecting unit is used for collecting gesture data of a decryption gesture of a user holding the terminal by hand and waving, and the gesture data comprises angular speeds of the terminal in three directions of an X, Y, Z axis in a collecting time period;
the acquisition unit is used for respectively acquiring an angular velocity extreme value on an X, Y, Z axis in the gesture data of the decryption gesture and the time corresponding to the angular velocity extreme value;
the determining unit is used for determining the feature points of the decryption gesture according to the angular velocity extreme value and the time corresponding to the angular velocity extreme value;
the first selection unit is used for selecting a first preset number of feature points from the feature points of the decryption gesture according to a preset rule;
the second selection unit is used for selecting a second preset number of points from the fuzzy safe according to the distance between each point in the fuzzy safe and the first preset number of characteristic points;
a reconstruction unit, configured to arbitrarily select a specified number of point reconstruction polynomials from the second preset number of points;
a verification unit for verifying a key composed of the coefficients of the reconstructed polynomial; if the key verification composed of the coefficients of the point reconstructed polynomials of any combination of the specified number is successful, the gesture decryption is successful; if all of the keys composed of the coefficients of the specified number of point reconstructed polynomials of all combinations fail to verify, the gesture decryption fails.
25. The apparatus of claim 24,
the determining unit is specifically configured to, for a moment at which an angular velocity extreme value on any one of X, Y, Z axes in the gesture data of the decryption gesture corresponds to the angular velocity extreme value, combine the moment, the angular velocity extreme value on any one of the axes, and angular velocity values on the other two axes at the moment into a character string according to a preset order; determining the character string as a feature point of the decryption gesture.
26. The apparatus of claim 25,
the determining unit is specifically configured to convert the time, the extreme angular velocity value on any one axis, and the angular velocity values on the other two axes at the time into sub-character strings with preset digits, and splice and combine the sub-character strings into one character string according to a preset sequence.
27. The apparatus of claim 25 or 26,
the first selection unit is used for respectively calculating the distance between each characteristic point in the characteristic points of the decryption gesture and other characteristic points; respectively selecting the shortest distance from the distances between each characteristic point and other characteristic points; and selecting the feature points corresponding to the first preset number of the shortest distances according to the shortest distances from high to low.
28. The apparatus of claim 27,
the first selecting unit is specifically configured to calculate a distance between one feature point and another feature point by using the following formula:
Figure FDA0001826801920000081
wherein m isiRepresents a characteristic point i, mjRepresents a feature point j;
DM(mi,mj) Representing the distance between the feature point i and the feature point j;
titime, t, representing characteristic point ijTime representing the characteristic point j;
(xti,yti,zti) Is miAt time tiX, Y, Z angular velocity values on each axis at time;
(xtj,ytj,ztj) Is mjAt time tjX, Y, Z angular velocity values on each axis at time;
Figure FDA0001826801920000082
represents miAnd mjThe Euclidean distance between the two;
p, q represent weights, and p + q is 1.
29. The apparatus of claim 24,
the second selecting unit is specifically configured to calculate distances between each point in the fuzzy safe and each feature point in the first preset number of feature points respectively; selecting the shortest distance of each point in the fuzzy safe aiming at the first preset number of characteristic points; sorting the shortest distances from small to large; and selecting points in the fuzzy safe box corresponding to the shortest distance of the second preset number.
30. The apparatus of claim 24,
the verification unit is specifically configured to connect the coefficients of the reconstructed polynomial to generate a key; and performing cyclic redundancy check on the generated key.
31. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the gesture encryption method according to any one of claims 1 to 8 or the gesture decryption method according to any one of claims 17 to 23 when executing the program.
32. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the gesture encryption method according to any one of claims 1 to 8 or the gesture decryption method according to any one of claims 17 to 23.
CN201811188242.2A 2018-10-12 2018-10-12 Gesture encryption and decryption method and device Active CN111049776B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811188242.2A CN111049776B (en) 2018-10-12 2018-10-12 Gesture encryption and decryption method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811188242.2A CN111049776B (en) 2018-10-12 2018-10-12 Gesture encryption and decryption method and device

Publications (2)

Publication Number Publication Date
CN111049776A true CN111049776A (en) 2020-04-21
CN111049776B CN111049776B (en) 2022-08-23

Family

ID=70229680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811188242.2A Active CN111049776B (en) 2018-10-12 2018-10-12 Gesture encryption and decryption method and device

Country Status (1)

Country Link
CN (1) CN111049776B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753304A (en) * 2008-12-17 2010-06-23 中国科学院自动化研究所 Method for binding biological specificity and key
CN102215223A (en) * 2011-05-20 2011-10-12 北京工业大学 Fuzzy strong box remote identity authentication method based on face feature
CN105893959A (en) * 2016-03-30 2016-08-24 北京奇艺世纪科技有限公司 Gesture identifying method and device
CN106778520A (en) * 2016-11-25 2017-05-31 哈尔滨工程大学 A kind of fuzzy safety box encryption method of finger vena
CN108108015A (en) * 2017-11-20 2018-06-01 电子科技大学 A kind of action gesture recognition methods based on mobile phone gyroscope and dynamic time warping
CN108345387A (en) * 2018-03-14 2018-07-31 百度在线网络技术(北京)有限公司 Method and apparatus for output information
WO2018184233A1 (en) * 2017-04-07 2018-10-11 深圳市柔宇科技有限公司 Hand gesture recognition method and related device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753304A (en) * 2008-12-17 2010-06-23 中国科学院自动化研究所 Method for binding biological specificity and key
CN102215223A (en) * 2011-05-20 2011-10-12 北京工业大学 Fuzzy strong box remote identity authentication method based on face feature
CN105893959A (en) * 2016-03-30 2016-08-24 北京奇艺世纪科技有限公司 Gesture identifying method and device
CN106778520A (en) * 2016-11-25 2017-05-31 哈尔滨工程大学 A kind of fuzzy safety box encryption method of finger vena
WO2018184233A1 (en) * 2017-04-07 2018-10-11 深圳市柔宇科技有限公司 Hand gesture recognition method and related device
CN108108015A (en) * 2017-11-20 2018-06-01 电子科技大学 A kind of action gesture recognition methods based on mobile phone gyroscope and dynamic time warping
CN108345387A (en) * 2018-03-14 2018-07-31 百度在线网络技术(北京)有限公司 Method and apparatus for output information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARCIN PIEKARCZYK ET AL.: "Usability of the Fuzzy Vault Scheme Applied to Predetermined Palm-Based Gestures as a Secure Behavioral Lock", 《2015 10TH INTERNATIONAL CONFERENCE ON P2P, PARALLEL, GRID, CLOUD AND INTERNET COMPUTING (3PGCIC)》 *

Also Published As

Publication number Publication date
CN111049776B (en) 2022-08-23

Similar Documents

Publication Publication Date Title
CN110119643B (en) Two-dimensional code generation method and device and two-dimensional code identification method and device
JP7118088B2 (en) Key data processing method and device, and server
JP6940182B2 (en) Blockchain management device, blockchain management method and program
JP6671278B2 (en) Data transfer optimization
US10333710B2 (en) Method and system for determining desired size of private randomness using Tsallis entropy
JP2012501508A5 (en)
US20180034636A1 (en) Method and system for creating public randomness
US10936708B2 (en) Biometric data protection
US20220182242A1 (en) Implementing opportunistic authentication of encrypted data
Hill et al. Blockchain Developer's Guide: Develop smart applications with Blockchain technologies-Ethereum, JavaScript, Hyperledger Fabric, and Corda
CN113517986A (en) Identity authentication method based on quantum walking and related equipment
CN109981551A (en) A kind of data transmission system based on block chain, method and relevant device
CN111049776B (en) Gesture encryption and decryption method and device
You et al. Single-trace fragment template attack on a 32-bit implementation of keccak
US11321611B2 (en) Deployment verification of authenticity of machine learning results
JP5427117B2 (en) Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, and program
CN111758127B (en) Secret calculation device and method thereof secret calculation authentication system and recording medium
KR20200009974A (en) Error-correction code based crypto currency system
CN116205654A (en) Method, device, electronic equipment and storage medium for verifying transaction data
KR101741186B1 (en) Data distribution storage apparatus and method for verifying the locally repairable code
CN111831725A (en) Synchronous storage method and device for internet tourism data on block chain
US9654140B1 (en) Multi-dimensional run-length encoding
Bhattacharjee et al. A security scheme to minimize information loss during big data transmission over the internet
Bhattacharjee et al. A GPU unified platform to secure big data transportation using an error-prone elliptic curve cryptography
JPWO2015008605A1 (en) Calculation device, calculation method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant