G09C1/04

Portable data stack holder
11183084 · 2021-11-23 ·

A data storage device includes a plurality of tiles whose faces are marked with characters. An elongated core is configured to enable slots of the tiles to fit over an openable end of the core to mount the tiles on the core with the marked faces aligned and to slide along the core. The length of the core is sufficient such that tiles of a mounted stack of tiles are slidable away from other tiles of the stack to form a gap that is sufficient to enable reading the character on the tile. A locking element is placeable on the openable end to prevent removal of tiles from the stack, and removable to enable addition of tiles or removal of tiles. A casing is closable over the core and includes a limiting structure to limit sliding of the tiles when the casing is closed.

Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium

A share [x].sub.i of plaintext x in accordance with Shamir's secret sharing scheme is expressed by N shares [x.sub.0].sub.i, . . . , [x.sub.N−1].sub.i, and each share generating device A.sub.i obtains a function value r.sub.i=P.sub.m(i(−))(s.sub.i) of a seed s.sub.i, obtains a first calculated value ζ.sub.i=λ(i, i(−))[x.sub.i(−)].sub.i+r.sub.i using a Lagrange coefficient λ(i, i(−)), a share [x.sub.i(−)].sub.i, and the function value r.sub.i, and outputs the first calculated value ζ.sub.i to a share generating device A.sub.i(−). Each share generating device A.sub.i accepts a second calculated value ζ.sub.i(+), obtains a third calculated value z.sub.i=λ(i, i(+))[x.sub.i].sub.i+ζ.sub.i(+) using a Lagrange coefficient λ(i, i(+)), a share [x.sub.i].sub.i, and the second calculated value ζ.sub.i(+), and obtains information containing the seed s.sub.i and the third calculated value z.sub.i as a share SS.sub.i of the plaintext x in secret sharing and outputs the share SS.sub.i.

Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium

A share [x].sub.i of plaintext x in accordance with Shamir's secret sharing scheme is expressed by N shares [x.sub.0].sub.i, . . . , [x.sub.N−1].sub.i, and each share generating device A.sub.i obtains a function value r.sub.i=P.sub.m(i(−))(s.sub.i) of a seed s.sub.i, obtains a first calculated value ζ.sub.i=λ(i, i(−))[x.sub.i(−)].sub.i+r.sub.i using a Lagrange coefficient λ(i, i(−)), a share [x.sub.i(−)].sub.i, and the function value r.sub.i, and outputs the first calculated value ζ.sub.i to a share generating device A.sub.i(−). Each share generating device A.sub.i accepts a second calculated value ζ.sub.i(+), obtains a third calculated value z.sub.i=λ(i, i(+))[x.sub.i].sub.i+ζ.sub.i(+) using a Lagrange coefficient λ(i, i(+)), a share [x.sub.i].sub.i, and the second calculated value ζ.sub.i(+), and obtains information containing the seed s.sub.i and the third calculated value z.sub.i as a share SS.sub.i of the plaintext x in secret sharing and outputs the share SS.sub.i.

Reduced overhead gate level logic encryption
11282414 · 2022-03-22 · ·

There are several approaches to encrypting circuits: combination logic encryption, encrypted gate topologies, transmission gate topologies, and key expansion of gate topologies. One of the approaches provides a circuit having a gate topology comprising a logic gate with integrated key transistors, where the key transistors comprise at least a PMOS stack and an NMOS stack. The PMOS stack comprises a first PMOS switch and a second PMOS switch, where the first and the second PMOS switches have sources to a voltage source and drains that serve as a source to a third PMOS switch. The NMOS stack comprises a first NMOS switch and a second NMOS switch, where the first and the second NMOS switches have sources to ground and drains that serve as a source to a third NMOS switch. Each of the above approaches may encrypt a circuit with certain advantages in delay and power consumption.

Reduced overhead gate level logic encryption
11282414 · 2022-03-22 · ·

There are several approaches to encrypting circuits: combination logic encryption, encrypted gate topologies, transmission gate topologies, and key expansion of gate topologies. One of the approaches provides a circuit having a gate topology comprising a logic gate with integrated key transistors, where the key transistors comprise at least a PMOS stack and an NMOS stack. The PMOS stack comprises a first PMOS switch and a second PMOS switch, where the first and the second PMOS switches have sources to a voltage source and drains that serve as a source to a third PMOS switch. The NMOS stack comprises a first NMOS switch and a second NMOS switch, where the first and the second NMOS switches have sources to ground and drains that serve as a source to a third NMOS switch. Each of the above approaches may encrypt a circuit with certain advantages in delay and power consumption.

PORTABLE DATA STACK HOLDER
20210287574 · 2021-09-16 ·

A data storage device includes a plurality of tiles whose faces are marked with characters. An elongated core is configured to enable slots of the tiles to fit over an openable end of the core to mount the tiles on the core with the marked faces aligned and to slide along the core. The length of the core is sufficient such that tiles of a mounted stack of tiles are slidable away from other tiles of the stack to form a gap that is sufficient to enable reading the character on the tile. A locking element is placeable on the openable end to prevent removal of tiles from the stack, and removable to enable addition of tiles or removal of tiles. A casing is closable over the core and includes a limiting structure to limit sliding of the tiles when the casing is closed.

Virtual enigma cipher
10972253 · 2021-04-06 · ·

A virtual enigma cipher system is described herein that allows for symmetric encryption and decryption of data. During encryption, a plurality of wheels representing sequences of data are used to encrypt a message. The plurality of wheels includes at least one dynamic wheel, which is generated based on a password, and a plurality of static wheels. During encryption, the unencrypted message is iterated from beginning to end. During each step of iteration, the encrypted payload value for a particular position is determined by performing an exclusive or (XOR) operation between the value of the unencrypted message at the position, and the values of the wheels at their respective wheel pointer positions. The particular position is then incremented, as are the wheel pointer positions, and iteration continues until the entire unencrypted message has been encrypted as part of the encrypted payload. Padding data and the message length are appended to the encrypted payload. During decryption, the steps are reversed.

Secret falsification detecting system, secret computation apparatus, secret falsification detecting method, and program

Falsification is detected during secret computation that uses a plurality of types of secret sharing. A secret computation apparatus 1 uses shared values [a.sub.0], . . . , [a.sub.M-1] as inputs, and a function value [F([a.sub.0], . . . , [a.sub.M-1])] obtained with a function F for performing secret computation that uses J types of secret sharing as an output, and detects falsification during secret computation. A random number generating section 12 obtains shared values [r.sub.0], . . . , [r.sub.J-1]. A randomizing section 13 multiplies the shared value [a.sub.m] by the shared value [r.sub.j] to calculate a shared value [a.sub.mr.sub.j], and generates a randomized shared value <a.sub.m>:=<[a.sub.m], [a.sub.mr.sub.j]>. A secret computation section 14 obtains the function value [F([a.sub.0], . . . , [a.sub.M-1])] while including, in a checksum C.sub.j, randomized shared values that are computation objects and randomized shared values that are computation results. A synchronizing section 15 keeps idling until all of secret computation that uses secret sharing are completed. A validating section 16 verifies that the shared value [.sub.j] obtained by multiplying the sum of shared values [f.sub.0], . . . , [f.sub.j-1] included in the checksum C.sub.j by the shared value [r.sub.j] is equal to the shared value [.sub.j] obtained by adding shared values [f.sub.0r.sub.j], . . . , [f.sub.j-1r.sub.j] included in the checksum C.sub.j.

Secret falsification detecting system, secret computation apparatus, secret falsification detecting method, and program

Falsification is detected during secret computation that uses a plurality of types of secret sharing. A secret computation apparatus 1 uses shared values [a.sub.0], . . . , [a.sub.M-1] as inputs, and a function value [F([a.sub.0], . . . , [a.sub.M-1])] obtained with a function F for performing secret computation that uses J types of secret sharing as an output, and detects falsification during secret computation. A random number generating section 12 obtains shared values [r.sub.0], . . . , [r.sub.J-1]. A randomizing section 13 multiplies the shared value [a.sub.m] by the shared value [r.sub.j] to calculate a shared value [a.sub.mr.sub.j], and generates a randomized shared value <a.sub.m>:=<[a.sub.m], [a.sub.mr.sub.j]>. A secret computation section 14 obtains the function value [F([a.sub.0], . . . , [a.sub.M-1])] while including, in a checksum C.sub.j, randomized shared values that are computation objects and randomized shared values that are computation results. A synchronizing section 15 keeps idling until all of secret computation that uses secret sharing are completed. A validating section 16 verifies that the shared value [.sub.j] obtained by multiplying the sum of shared values [f.sub.0], . . . , [f.sub.j-1] included in the checksum C.sub.j by the shared value [r.sub.j] is equal to the shared value [.sub.j] obtained by adding shared values [f.sub.0r.sub.j], . . . , [f.sub.j-1r.sub.j] included in the checksum C.sub.j.

SHARE GENERATING DEVICE, RECONSTRUCTING DEVICE, SECURE COMPUTATION SYSTEM, SHARE GENERATION METHOD, RECONSTRUCTION METHOD, PROGRAM, AND RECORDING MEDIUM

A share [x].sub.i of plaintext x in accordance with Shamir's secret sharing scheme is expressed by N shares [x.sub.0].sub.i, . . . , [x.sub.N1].sub.i, and each share generating device A.sub.i obtains a function value r.sub.i=P.sub.m(i())(s.sub.i) of a seed s.sub.i, obtains a first calculated value .sub.i=(i, i())[x.sub.i()].sub.i+r.sub.i using a Lagrange coefficient (i, i()), a share [x.sub.i()].sub.i, and the function value r.sub.i, and outputs the first calculated value .sub.i to a share generating device A.sub.i(). Each share generating device A.sub.i accepts a second calculated value .sub.i(+), obtains a third calculated value z.sub.i=(i, i(+))[x.sub.i].sub.i+.sub.i(+) using a Lagrange coefficient (i, i(+)), a share [x.sub.i].sub.i, and the second calculated value .sub.i(+), and obtains information containing the seed s.sub.i and the third calculated value z.sub.i as a share SS.sub.i of the plaintext x in secret sharing and outputs the share SS.sub.i.