US20020002675A1 - Secure encryption of data packets for transmission over unsecured networks - Google Patents

Secure encryption of data packets for transmission over unsecured networks Download PDF

Info

Publication number
US20020002675A1
US20020002675A1 US08/907,298 US90729897A US2002002675A1 US 20020002675 A1 US20020002675 A1 US 20020002675A1 US 90729897 A US90729897 A US 90729897A US 2002002675 A1 US2002002675 A1 US 2002002675A1
Authority
US
United States
Prior art keywords
data packet
encrypted
time pad
character
electronic
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.)
Abandoned
Application number
US08/907,298
Inventor
Ronald Roscoe Bush
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.)
PayPal Inc
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US08/907,298 priority Critical patent/US20020002675A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BUSH, RONALD ROSCOE
Priority to US09/498,293 priority patent/US7047222B1/en
Publication of US20020002675A1 publication Critical patent/US20020002675A1/en
Assigned to EBAY INC. reassignment EBAY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to PAYPAL, INC. reassignment PAYPAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EBAY INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/208Input by product or record sensing, e.g. weighing or scanner processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/128Check-book balancing, updating or printing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates in general to data encryption and in particular to securing data transfers over unsecured channels of communications. Still more particularly, the present invention relates to practical implementation of unbreakable data encryption through one-time use of pure random numbers.
  • Sensitive data transfers are increasingly occurring over networks which are unsecured, such as the Internet or cellular telephone networks.
  • networks which are unsecured, such as the Internet or cellular telephone networks.
  • the medium by which data transfers are made in such networks must be openly accessible and/or shared, leaving transactions susceptible to interception.
  • the only available alternative for securing data transfers over such networks thus becomes data encryption.
  • a variety of data encryption schemes have been developed and are implemented for data transfers over networks of the type described.
  • many data encoding schemes employ a reversible encryption algorithm modeled after the Data Encryption Standard (DES).
  • DES Data Encryption Standard
  • RSA Rivest-Shamir-Aldeman
  • the only encryption system currently recognized as being unconditionally secure is the “one-time pad,” also known as a Vernam cipher, developed by Gilbert S. Vernam while working for AT&T in 1917.
  • the one-time pad encryption mechanism is generally recognized by cryptographic experts to be the only known unbreakable encoding scheme.
  • Other encryption systems are considered cryptographically secure, meaning that the costs associated with breaking the code by pure mathematical methods and extensive computation are very high, although the code can theoretically be broken if enough computing power could be brought to bear.
  • One-time pads are unconditionally secure, meaning that any amount of analysis and computing power is insufficient because there is no pattern in the data.
  • the two key characteristics of the one-time pad concept which must be adhered to for encryption with a one-time pad to be unconditionally secure are pure randomness and one-time use. Pure randomness is thought to occur in the timing of radioactive decay and in the arrival of cosmic background radiation.
  • the present invention employs one or both of the above sources passed through a cryptographically strong one-way function as the source of random values. Furthermore, the present invention requires that the random sequences thus generated are never intentionally used in more than one embodiment.
  • the one time pad is conventionally considered not to be commercially practical. The reason is principally convenience, since the security of the system requires that the contents of the one-time pad be known only to the proper encrypting and decrypting entities. This requires secure distribution of the one-time pads. Furthermore, the one-time pad, when properly employed, requires large amounts of pure random data for the encryption/decryption values which, by definition, may be used only once. Additionally, since the one-time pad contains only a finite number of random numbers for encryption, replacement of the one-time pad is inevitably required. Finally, the one-time pad encryption method is less ideally suited for encryption of long, variable length messages than alternative, less secure encryption schemes. For these reasons, one-time pads have not been employed up to this time in actual encryption systems for commercial applications, such as banking, cellular telephony, etc.
  • FIG. 1 depicts a block diagram of a one-time pad in accordance with a preferred embodiment of the present invention
  • FIG. 2 is a diagram of the contents of a sheet within a one-time pad in accordance with a preferred embodiment of the present invention
  • FIG. 3 depicts an example of data encryption utilizing a one-time pad in accordance with a preferred embodiment of the present invention
  • FIG. 4 is a high level flowchart for a process of encrypting data in accordance with a preferred embodiment of the present invention
  • FIG. 5 depicts a high level flowchart for a process of decoding data in accordance with a preferred embodiment of the present invention
  • FIG. 6 is a diagram of an electronic checking environment in which secure encryption in accordance with a preferred embodiment of the present invention may be implemented
  • FIG. 7 depicts a data flow diagram for a process of utilizing electronic checks in accordance with a preferred embodiment of the present invention
  • FIG. 8 is a block diagram of a cellular communications global transponder in which a preferred embodiment of the present invention may be implemented.
  • FIG. 9 depicts an Internet sales environment in which a preferred embodiment of the present invention may be implemented.
  • One-time pad 102 is maintained in a memory, such as a read only memory (ROM) or a hard disk drive, and includes a plurality of sheets 104 .
  • a memory such as a read only memory (ROM) or a hard disk drive
  • Each sheet 104 contains a plurality of pure random numbers sufficient for encryption of a known, fixed length (N) data packet.
  • N fixed length
  • Each sheet 104 is not intentionally used in the implementation of any other one-time pads such as one-time pad 102 .
  • Each sheet 104 contains a string 202 of N pure randomly-ordered numbers in the range of 1 to N.
  • Each sheet 104 also contains a plurality of corresponding arrays 204 .
  • Number string 202 is a non-repeating sequence of numbers within the predetermined range N corresponding to the number of characters or positions in the encrypted data packet. For example, if the encrypted data packet will have five hundred positions, the numerals 1 through 500 will be randomly ordered and placed in string 202 .
  • Individual numbers within string 202 are employed to identify the position for a corresponding byte of data in the encrypted data packet. For example, the first number 206 within string 202 designates the position within the encrypted data packet in which the first byte of source data will be placed after encryption.
  • Each individual number within string 202 has an associated array within array set 204 .
  • Each array 208 contains a non-repeating sequence of random numbers comprising a character map to be employed for the character in the respective position.
  • the exemplary embodiment depicts only the mapping for numeric characters 0-9 and a delimiter (“*”).
  • the mapping may easily be extended to include alphabetic or text characters merely by increasing the size of arrays 204 .
  • the arrays 204 essentially comprise encryption instructions for data packets not exceeding the length of position string 202 .
  • the characters or values within a character map array 208 for a given position are randomly generated subject only to the constraint that the same value may not appear twice in a given array. However, the same value may appear many times within different arrays in array set 204 .
  • 128 different characters can be encoded in each byte comprising map array 208 . While the exemplary embodiment depicts only numerals less than 100 in arrays 204 , any set of 128 unique characters may be employed to form the character maps, including alphanumeric characters and special characters (colons, hyphens, dashes, quotation marks, punctuation, etc.).
  • the character map values within each array 208 in array set 204 are random numbers, and the sequence of numbers in string 202 is randomly ordered.
  • Two sources of “randomness” are thought to exist: the time period associated with electronic emission/decay for a single radioactive particle and the level of background radiation originating from space.
  • Methods for generating pure random numbers are well-known in the art, and include measuring the random time intervals associated with radioactive decay or cosmic background radiation and passing these measurements through a one-way hash function. These methods may be employed in known manners for generating values for the character maps in arrays 204 , for randomly ordering numbers within string 202 , and for filling the unused bytes of the encrypted data packet.
  • One-time pad 102 may also include counter 106 identifying the next sheet 104 which may be utilized for encryption or decryption. Both the encrypting and decrypting entities are provided with identical copies of one-time pad 102 through a secure medium such as hand-delivery. As sheets 104 within one-time pad 102 are utilized, counter 106 is advanced to point to the next available sheet. When counter 106 contains a value exceeding the number of sheets 104 within one-time pad 102 , one-time pad 102 is depleted and must be replaced.
  • Source data packet 302 contains a string of characters comprising the message to be encrypted for transmission.
  • the exemplary embodiment depicts only numeric characters and a delimiter, the process described may be readily applied to expanded character sets.
  • the order in which the pure random numbers are used from sheet 104 within a specific one-time pad 102 can be varied depending on a particular customer or implementation.
  • the same encoding/decoding software is simply placed in the one-time pad device and the decoding computer. This allows for further security through the ability to physically secure the one-time pad and the encoding/decoding software separately.
  • the ability to separate responsibilities is one key method used in the prevention of theft by inside employees. In the exemplary embodiment, one particular pattern is followed for illustrative purposes.
  • the encrypted data packet 304 contains positions for the encrypted bytes of source data packet 302 , with five hundred positions depicted in the exemplary embodiment.
  • the value of the first numeral in the position string of a sheet in the one-time pad is utilized to determine the position of the first encrypted byte.
  • the first encrypted byte of source data packet is to be placed in position 3 .
  • the value of the first byte within source data packet is looked up in the associated character map for position 3 , and the encrypted value “92” is entered in encrypted data packet 304 at position 3 .
  • the secure encryption mechanism of the present invention possesses the ability to randomly encode each byte of a source data packet in at least 128 different ways.
  • any character of data may be placed in any of the positions within the encrypted data packet.
  • each character of data may be encrypted in hundreds of thousands of different ways, depending on the length of the encrypted data packet, with each character entirely independent of any other character.
  • the encoding and position mappings are known only to entities possessing a copy of the one-time pad and knowing which sheet was employed for encryption. No human intervention is required for either the random number generation, encoding, or decoding processes. Once a sheet within the one-time pad has been used, that sheet is never intentionally used again, although theoretically the same sheet may be randomly generated again within another one-time pad.
  • the feature of randomly ordering encrypted byte within the encrypted data packet is not found in conventional one-time pads, which are simple look-up tables for each character or word placed in order in the encrypted message.
  • conventional one-time pads which are simple look-up tables for each character or word placed in order in the encrypted message.
  • the present invention provides greater security than conventional one-time pads.
  • the starting location for the position string and arrays may be varied from one-time pad to one-time pad. For example, one-time pad may begin with the fifth numeral in the position string, while another begins with the fifty-third numeral.
  • step 402 depicts initiation of the encryption process by a transmitting entity preparing to transmit a source data packet over an unsecured network.
  • step 404 illustrates reading a sheet from the one-time pad and, if the one-time pad is equipped with a counter, incrementing the counter.
  • step 406 depicts reading a position indicator from the positions string
  • step 408 which illustrates reading the next character to be encrypted from the source data packet.
  • step 410 depicts looking up the character to be encrypted in the character map associated with the position identified by the position indicator.
  • step 412 which illustrates placing the encrypted character associated in the character map with the character read from the source data packet in the position designated by the position indicator read from the position string.
  • step 414 depicts a determination of whether the entire source data packet has been encrypted. If not, the process returns to step 406 for encryption of additional characters from the source data packet as described above. If so, however, the process proceeds to step 414 , which illustrates filling the remaining positions in the encrypted data packet. As described above, the remaining positions may be filled with information encrypted with pure random numbers for authentication, verification, or disinformation purposes.
  • step 416 depicts the process becoming idle until another data packet requires encryption.
  • the data packet encrypted by the process described may be securely transmitted over unsecured networks without danger of being compromised.
  • step 502 depicts initiation of the decryption process in response, for example, to receipt of an encrypted data packet.
  • the process then passes to step 504 , which illustrates reading the next available sheet from the one-time pad and, if the optional counter is present, incrementing the counter.
  • step 506 depicts reading the first (or next) position in the position string within the one-time pad sheet
  • step 508 which illustrates reading the encrypted character at the position within the encrypted data packet designated by the position indicator read.
  • step 510 depicts looking up the encrypted character in the character map associated with the designated position to determine the decoded character.
  • step 512 which illustrates placing the decoded character in the next available position within the decoded data packet.
  • step 514 depicts a determination of whether the encrypted data packet has been completely decoded. This determination may be made, for example, based on whether an expected number of characters have been decoded from the encrypted data packet, or on whether a stop character and expected fill characters have been encountered. If further decoding is required, the process returns to step 506 for decryption of additional characters within the encrypted data packet.
  • a determination of whether the decode was successful may simply involve checking the decoded data packet for a stop character, checking for a known number of characters to be decoded, or may involve looking for an expected authentication or verification character sequence (“watermark” or “signature”) within the decoded data packet. When the message has been decoded, the fill characters are checked for authentication and verification purposes.
  • watermark or “signature”
  • step 518 illustrates adjusting the one-time pad employed in the decryption process in an attempt to resynchronize the one-time pads employed by the transmitting and receiving entities. This may be achieved, for example, by adjusting the counter value to compensate for the receiving entity being behind the transmitting entity, the most likely source of error in synchronization. If the counter was incremented in the last decryption attempt, the decrypting process may simply be attempted again.
  • an alternative procedure is to have the decryption process check the fill characters in adjacent sheets for authentication and verification purposes prior to decoding.
  • step 516 if the data packet was successfully decoded, the process proceeds instead to step 520 , which depicts the process becoming idle until decryption of a received data packet is once again required.
  • FIG. 6 an electronic checking environment in which secure encryption in accordance with a preferred embodiment of the present invention may be implemented is depicted.
  • the electronic checking environment depicted includes a receiving device 602 located at the merchant's place of business which is connected to a server 604 located at the customer's bank.
  • Receiving device 602 may be connected via communications link 606 to the Internet 608 , which is in turn connected via communications link 610 to server 604 , such that electronic checks are processed via the Internet.
  • receiving device 602 may be directly connected to server 604 via communications link 612 , which may provide dial-up access or the like.
  • An electronic checkbook 614 is capable of being selectively attached to receiving device 602 .
  • the term “electronic checkbook” is used herein to refer to a collection of fixed length randomly encoded data packets, regardless of the medium in which such packets are held, together with the instructions for encrypting.
  • the term “electronic check” is used herein to refer to a single fixed length randomly encoded data packet encrypted utilizing the corresponding sheet from a one-time pad. Each electronic check within an electronic checkbook is utilized only once.
  • the electronic checks generated by electronic checkbook 614 would contain, in an encrypted data packet, information such as the amount, the payee's account number, and the customer's signature.
  • the signature may comprise a simple password, or may be a fingerprint, retina scan, or any other positive means of identification.
  • the number of bytes required to encode a check's confidential information should be on the order of 100 bytes, although each electronic check may be on the order of a few hundred bytes with the unused bytes filled with additional characters as described above.
  • Electronic checkbook 614 may include a reorder form for automatic reorder when the number of remaining checks falls below a certain number.
  • the customer may select a password or personal identification number (PIN), i.e., signature, to be associated with the electronic checks as is currently done for automated teller machine (ATM) access.
  • PIN personal identification number
  • the collection of data packets comprising electronic checkbook 614 are contained within a suitable form of electronic memory encased in a hard case or other suitable durable means of protecting the memory.
  • the electronic checkbook 614 may be a simple memory device such as a type of Personal Computer Memory Card International Association (PCMCIA) card capable of being inserted into receiving device 602 .
  • Receiving device 602 may thus be equipped with a keyboard and display (not shown) for user interaction and the capability of reading electronic checks from electronic checkbook 614 , encrypting transaction information utilizing the associated sheet from a one time pad, and transmitting the encrypted data packet for the transaction while deleting the one-time pad sheet from any local or internal memory in receiving device 602 .
  • the encryption could occur only within the PCMCIA card.
  • this method allows for the possibility of the checkbook owner's password being compromised, which is not the preferred embodiment of the present invention.
  • electronic checkbook 614 could be a relatively simple device allowing for write-only transmission of encrypted data packets. That is, no capability to read its contents would exist. A small keyboard, a small display, and a single port would be required, with electronic checkbook 614 inserted into receiving device 602 when preparing to write an electronic check.
  • Receiving device 602 may be located at the merchant's place of business or be connected to a customer's computer for transactions over the Internet. The payee and the amount could be automatically provided by receiving device 602 , with the customer entering a password and pressing a write button when the correct payee and amount are displayed. The electronic check would then be written to receiving device 602 , which would transmit the electronic check to server 604 for processing.
  • electronic checkbook 614 may be downloaded into a device possessed by the customer, such as a personal digital assistant (PDA).
  • PDA personal digital assistant
  • Electronic checkbook 614 could be downloaded to the customer's PDA at the time the account is opened, with checks replenished without human interaction at ATM's modified to include a port for this purpose. Therefore, check replenishment would be readily available 24 hours a day.
  • Server 604 located at the customer's bank is connected to a storage device 616 containing the other copy of the one-time pad utilized to encrypt the confidential information within the electronic check and an authorized check list associating electronic checks with sheets of the one-time pad.
  • the electronic checking environment may also include a second server 618 located at the payee's bank connected to Internet 608 by communications link 620 , and a third server 622 located at a clearinghouse connected to Internet 608 via communications link 624 . In this manner, the electronic checks may be passed among all entities concerned via Internet 608 without generating any paper.
  • the plain text of at least a portion of the encrypted message such as the amount, the payee, etc.—may accompany the encrypted electronic check and the encrypted data would still be invulnerable to cryptographic attack.
  • authentication and verification codes required to validate the electronic check would remain encrypted in an unbreakable manner.
  • An additional level of security may be introduced by varying the starting location used for the position string between electronic checkbooks (i.e, starting with the seventh random number in the string in one electronic checkbook while starting with the thirty first random number in a different electronic checkbook).
  • the responsiblity for generating the random numbers for the one-time pad may thus be separated from the responsibility for selecting a starting location within the position string and arrays to be employed by a particular one-time pad, increasing the difficulty of employee theft of the information.
  • An electronic checkbook may be manufactured and filled with one-time sheets by one entity, and programmed with a randomly selected starting location within the position string by a different entity.
  • FIG. 7 a data flow diagram for a process of utilizing electronic checks in accordance with a preferred embodiment of the present invention is depicted.
  • the merchant or payee supplies the merchant's account identification and an amount to the payor through a receiving device.
  • the electronic check an encrypted data packet such as described above, is generated by the customer or payor 702 and transmitted to the merchant or payee 704 .
  • Merchant 704 appends the merchant's bank routing and account identification numbers to the electronic check, then routes the electronic check to both the payor's bank 706 and the merchant's or payee's own bank 708 .
  • Payor's bank 706 is the only place where the electronic check can be decoded.
  • payor's bank 706 decodes the electronic check, verifies and authenticates the check, checks the balance of the payor's account, freezes the amount indicated in the electronic check within the payor's account, and electronically forwards the electronic check, with the appended payee account information, to clearinghouse 710 together with a coded authorization for payment of the indicated amount to the payee.
  • Payee's bank 708 when payee's bank 708 receives the check, payee's bank 708 marks the payee's account as pending receipt of a deposit and forwards the check to clearinghouse 710 .
  • Clearinghouse 710 compares the two (encrypted) electronic checks received from payor's bank 706 and payee's bank 708 .
  • clearinghouse subtracts the indicated amount from the clearing account of payor's bank 706 , adds the indicated amount to the clearing account of payee's bank 708 , notifies payor's bank 706 that the electronic check has been settled, and notifies payee's bank 708 that the electronic check has been settled with the indicated amount placed in the clearing account of payee's bank 708 .
  • payor's bank 706 On receipt of the notice from clearinghouse 710 , payor's bank 706 subtracts the indicated amount from the payor's account, removes the electronic check from the payor's authorized check list, and notifies the payor 702 that the check has been settled. The payor's electronic checkbook may then remove the used electronic check from the set of available electronic checks. Meanwhile, on receipt of the notice from clearinghouse 710 , payee's bank 708 adjusts the payee's account by the indicated amount and notifies payee 704 that the check has been settled.
  • the electronic checking environment of the present invention would allow the current, paper-based checking system to be electronically emulated, while providing greater security than that available in the current paper process.
  • the ease of understanding and heightened security will facilitate earlier and faster adoption of electronic checking.
  • the current clearinghouse function will persist in an electronic form, and current banking laws, regulations, and procedures may be applied.
  • the present invention also allows paper checks and electronic checks to coexist during a transition period to pure (or majority) electronic banking.
  • Global transponder 802 is a device which automatically returns a data packet containing the latitude and longitude of the location of global transponder 802 in response to receiving a cellular telephone call.
  • the data packets may be transmitted over non-secure, commercial cellular phone circuits such as those provided by the Iridium Project, which provides global cellular communications to and from any spot on earth.
  • Global transponder 802 includes processor 804 connected to memory 806 .
  • the connection may be in the form of a system bus 808 , which is also connected to an external port 810 for programming or communication with other devices.
  • Processor 804 is also connected to cellular modem 812 , which is connected in turn to antenna 814 .
  • Processor 804 and antenna 814 are also both connected to global positioning system (GPS) chip set 816 .
  • GPS chip sets are available from a number of commercial sources.
  • GPS chip-set 816 preferably returns GPS fix data in the NMEA-0183 ASCII RS232 format.
  • Sensors 818 and switches 820 connected to processor 804 provide sources of data and control, respectively, for global transponder 802 .
  • Global transponder 802 automatically returns a data packet in response to a cellular phone call from a central computer (not shown).
  • the content of the data packet that is returned varies depending on the content of the request packet originating from the central computer.
  • the data packet returned will include GPS latitude and longitude information, and may also include sensor data and/or information regarding the object to which global transponder 802 is attached.
  • modem 812 When a cellular phone call is received, modem 812 automatically answers and receives the request packet, transmitting the request packet to processor 804 .
  • Processor 804 examines the request packet and determines what response packet should be sent. GPS fix data from GPS chip set 816 is stored in memory 806 , as is data from sensors 818 .
  • Processor 804 extracts the appropriate information from memory 806 for the response packet, forwarding the response packet to modem 812 for transmission.
  • the latitude and longitude may be transmitted in approximately 20 digits, the data packets returned may be any fixed length. The data packets could easily be a few hundred bytes long and still be transmitted, in burst mode, in a very short time interval (on the order of one second).
  • the one-time pad of the present invention may be employed to encrypt the data packet.
  • a portion of memory 806 may be a microchip containing the one-time pad.
  • the central computer dials cellular phone number of global transponder 802 and transmits a request comprised of a previously determined pattern of random characters.
  • Processor 804 compares the pattern in the request packet to patterns associated with valid sheets of the one-time pad, copies of which are only in global transponder 802 and the central computer.
  • processor 804 fails to identify a match with patterns associated with the one-time pad, then global transponder 802 simply terminates the cellular telephone connection without returning a data packet. Global transponder 802 may also record the date and time of the attempted contact. On the other hand, if a match to the pattern in the request packet is determined, processor 804 generates a data packet containing the latitude and longitude encrypted using the sheet of the one-time pad which is associated with the pattern from the request packet. This data packet is then returned to the requesting entity (i.e., the central computer).
  • the requesting entity i.e., the central computer
  • the central computer Upon receiving the encrypted data packet, the central computer validates the packet by comparing bytes not containing latitude/longitude information with bytes expected to be returned in response to the request packet. If the packet is valid, the central computer extracts and decodes the encrypted latitude and longitude information.
  • buttons may be added to allow a downed pilot to indicate his/her physical condition, the state of enemy activity, and whether his/her capture is imminent.
  • the sensors might be used to transmit the pilot's vital signs, such as heart rate.
  • functionality may be added to allow the pilot to transmit the information without waiting for an incoming cellular phone call, or to indicate whether the device had fallen into enemy hands.
  • the Internet sales environment includes a user unit 902 connected to the Internet 904 by communications link 906 , which may for example be access through an Internet service provider (ISP).
  • a server 908 which may be a HyperText Transmission Protocol (HTTP) server, is located at the vendor's facilities and is also connected to Internet 904 via communications link 910 .
  • User unit 902 may include a browser, an application designed to submit HTTP requests and display information formatted in the HyperText Markup Language (HTML).
  • HTML HyperText Markup Language
  • the vendor may provide a one-time pad to potential customers.
  • a company selling software may provide a one-time pad to a customer setting up an account to order upgrades or new products over the Internet.
  • the user's credit card company may provide a one-time pad for use in conducting transactions over the Internet.
  • Sales orders transmitted over the Internet 904 or at least confidential information within sales orders, are encrypted by user unit 902 , and are either decoded by the vendor, if the one-time pad originated from the vendor, or forwarded by the vendor to the credit card company for decoding and payment authorization.
  • the one-time pad may be employed in client-server environments for authentication and verification purposes.
  • a vendor might be able to deliver software customized for a particular environment after receipt of a data packet encrypted using a one-time pad previously sold to the customer.

Abstract

Pure random numbers from a sheet within a one-time pad are employed to encrypt the bytes of a source data packet and to order the encrypted bytes in a random order within the encrypted data packet. Pure random numbers fill remaining positions within the encrypted data packet. The resulting encrypted data packet is unconditionally secure (i.e., unbreakable). Sheets within the one-time pad are utilized only once, and the one-time pad is replaced when exhausted. For electronic checking applications, the one-time pad is distributed to the user stored in an electronic checkbook, with a copy retained by the bank. For cellular telephone applications, the one-time pad is stored in a replaceable memory chip within the mobile unit with a copy retained at a single, secured central computer. For client-server applications or applications involving sales over the Internet, the one-time pad may be provided to the user on a floppy disk or CD-ROM, with a copy retained by the vendor.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field [0001]
  • The present invention relates in general to data encryption and in particular to securing data transfers over unsecured channels of communications. Still more particularly, the present invention relates to practical implementation of unbreakable data encryption through one-time use of pure random numbers. [0002]
  • 2. Description of the Related Art [0003]
  • Sensitive data transfers are increasingly occurring over networks which are unsecured, such as the Internet or cellular telephone networks. By their nature, the medium by which data transfers are made in such networks must be openly accessible and/or shared, leaving transactions susceptible to interception. The only available alternative for securing data transfers over such networks thus becomes data encryption. [0004]
  • A variety of data encryption schemes have been developed and are implemented for data transfers over networks of the type described. For example, many data encoding schemes employ a reversible encryption algorithm modeled after the Data Encryption Standard (DES). Other data encoding schemes, used alone or in conjunction with DES, employ a combination of public and private keys to encrypt data, such as the Rivest-Shamir-Aldeman (RSA) encryption system used in many commercial software packages. These encoding schemes utilize pseudo-random numbers, or number sequences having a high degree of randomness. [0005]
  • The only encryption system currently recognized as being unconditionally secure is the “one-time pad,” also known as a Vernam cipher, developed by Gilbert S. Vernam while working for AT&T in 1917. When properly implemented, the one-time pad encryption mechanism is generally recognized by cryptographic experts to be the only known unbreakable encoding scheme. Other encryption systems are considered cryptographically secure, meaning that the costs associated with breaking the code by pure mathematical methods and extensive computation are very high, although the code can theoretically be broken if enough computing power could be brought to bear. One-time pads are unconditionally secure, meaning that any amount of analysis and computing power is insufficient because there is no pattern in the data. [0006]
  • The two key characteristics of the one-time pad concept which must be adhered to for encryption with a one-time pad to be unconditionally secure are pure randomness and one-time use. Pure randomness is thought to occur in the timing of radioactive decay and in the arrival of cosmic background radiation. The present invention employs one or both of the above sources passed through a cryptographically strong one-way function as the source of random values. Furthermore, the present invention requires that the random sequences thus generated are never intentionally used in more than one embodiment. [0007]
  • Although recognized as being mathematically unbreakable, the one time pad is conventionally considered not to be commercially practical. The reason is principally convenience, since the security of the system requires that the contents of the one-time pad be known only to the proper encrypting and decrypting entities. This requires secure distribution of the one-time pads. Furthermore, the one-time pad, when properly employed, requires large amounts of pure random data for the encryption/decryption values which, by definition, may be used only once. Additionally, since the one-time pad contains only a finite number of random numbers for encryption, replacement of the one-time pad is inevitably required. Finally, the one-time pad encryption method is less ideally suited for encryption of long, variable length messages than alternative, less secure encryption schemes. For these reasons, one-time pads have not been employed up to this time in actual encryption systems for commercial applications, such as banking, cellular telephony, etc. [0008]
  • There do exist classes of problems, however, for which the one-time pad could provide unconditionally secure encryption on a commercial basis. It would be desirable, therefore, to provide a method and apparatus for employing one-time pads in commercial applications requiring encryption of data for transfer over unsecured networks. It would further be advantageous to provide an implementation of one-time pads which could be readily adapted to a variety of commercial data encryption requirements. [0009]
  • SUMMARY OF THE INVENTION
  • It is therefore one object of the present invention to provide an improved method and apparatus for data encryption. [0010]
  • It is another object of the present invention to provide an improved method and apparatus for securing data transfers over unsecured channels of communications. [0011]
  • It is yet another object of the present invention to provide practical implementation of unbreakable data encryption through one-time use of pure random numbers. [0012]
  • The foregoing objects are achieved as is now described. Pure random numbers from a sheet within a one-time pad are employed to encrypt the bytes of a source data packet and to order the encrypted bytes in a random order within the encrypted data packet. Pure random numbers fill remaining positions within the encrypted data packet. The resulting encrypted data packet is unconditionally secure (i.e., unbreakable). Sheets within the one-time pad are utilized only once, and the one-time pad is replaced when exhausted. For electronic checking applications, the one-time pad is distributed to the user stored in an electronic checkbook, with a copy retained by the bank. For cellular telephone applications, the one-time pad is stored in a replaceable memory chip within the mobile unit with a copy retained at a single, secured central computer. For client-server applications or applications involving sales over the Internet, the one-time pad may be provided to the user on a floppy disk or CD-ROM, with a copy retained by the vendor. [0013]
  • The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description. [0014]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: [0015]
  • FIG. 1 depicts a block diagram of a one-time pad in accordance with a preferred embodiment of the present invention; [0016]
  • FIG. 2 is a diagram of the contents of a sheet within a one-time pad in accordance with a preferred embodiment of the present invention; [0017]
  • FIG. 3 depicts an example of data encryption utilizing a one-time pad in accordance with a preferred embodiment of the present invention; [0018]
  • FIG. 4 is a high level flowchart for a process of encrypting data in accordance with a preferred embodiment of the present invention; [0019]
  • FIG. 5 depicts a high level flowchart for a process of decoding data in accordance with a preferred embodiment of the present invention; [0020]
  • FIG. 6 is a diagram of an electronic checking environment in which secure encryption in accordance with a preferred embodiment of the present invention may be implemented; [0021]
  • FIG. 7 depicts a data flow diagram for a process of utilizing electronic checks in accordance with a preferred embodiment of the present invention; [0022]
  • FIG. 8 is a block diagram of a cellular communications global transponder in which a preferred embodiment of the present invention may be implemented; and [0023]
  • FIG. 9 depicts an Internet sales environment in which a preferred embodiment of the present invention may be implemented. [0024]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • With reference now to the figures, and in particular with reference to FIG. 1, a block diagram of a one-time pad in accordance with a preferred embodiment of the present invention is depicted. One-[0025] time pad 102 is maintained in a memory, such as a read only memory (ROM) or a hard disk drive, and includes a plurality of sheets 104. Each sheet 104 contains a plurality of pure random numbers sufficient for encryption of a known, fixed length (N) data packet. Each sheet 104 is not intentionally used in the implementation of any other one-time pads such as one-time pad 102.
  • Referring to FIG. 2, a diagram of the contents of a sheet within a one-time pad in accordance with a preferred embodiment of the present invention is illustrated. Each [0026] sheet 104 contains a string 202 of N pure randomly-ordered numbers in the range of 1 to N. Each sheet 104 also contains a plurality of corresponding arrays 204. Number string 202 is a non-repeating sequence of numbers within the predetermined range N corresponding to the number of characters or positions in the encrypted data packet. For example, if the encrypted data packet will have five hundred positions, the numerals 1 through 500 will be randomly ordered and placed in string 202. Individual numbers within string 202 are employed to identify the position for a corresponding byte of data in the encrypted data packet. For example, the first number 206 within string 202 designates the position within the encrypted data packet in which the first byte of source data will be placed after encryption.
  • Each individual number within [0027] string 202 has an associated array within array set 204. Each array 208 contains a non-repeating sequence of random numbers comprising a character map to be employed for the character in the respective position. For the sake of simplicity and clarity of explanation, the exemplary embodiment depicts only the mapping for numeric characters 0-9 and a delimiter (“*”). However, the mapping may easily be extended to include alphabetic or text characters merely by increasing the size of arrays 204. The arrays 204 essentially comprise encryption instructions for data packets not exceeding the length of position string 202.
  • The characters or values within a [0028] character map array 208 for a given position are randomly generated subject only to the constraint that the same value may not appear twice in a given array. However, the same value may appear many times within different arrays in array set 204. In fact, 128 different characters can be encoded in each byte comprising map array 208. While the exemplary embodiment depicts only numerals less than 100 in arrays 204, any set of 128 unique characters may be employed to form the character maps, including alphanumeric characters and special characters (colons, hyphens, dashes, quotation marks, punctuation, etc.).
  • The fact that only 128 different characters can be represented within any one byte of [0029] array 208 creates a limitation on the encryption of double byte based text that occurs in Asian languages. However, the present invention is likely to find its widest commercial use in short, fixed length, numeric related applications such as electronic checking, position reporting, and client-server authentication and verification. Since the present invention is not intended for widespread use in text encryption, the exemplary embodiment illustrates a single byte approach. However, those skilled in the art will quickly understand that the present invention can be extended to include double byte encoding.
  • As described, the character map values within each [0030] array 208 in array set 204 are random numbers, and the sequence of numbers in string 202 is randomly ordered. Two sources of “randomness” are thought to exist: the time period associated with electronic emission/decay for a single radioactive particle and the level of background radiation originating from space. Methods for generating pure random numbers are well-known in the art, and include measuring the random time intervals associated with radioactive decay or cosmic background radiation and passing these measurements through a one-way hash function. These methods may be employed in known manners for generating values for the character maps in arrays 204, for randomly ordering numbers within string 202, and for filling the unused bytes of the encrypted data packet.
  • Referring again to FIG. 1, the requirement that true random numbers be employed in [0031] sheets 104 within one-time pad 102 cannot be circumvented for convenience. Pseudo-random numbers, which are usually generated from a seed value using a hash function, are not acceptable substitutes since an estimate of the seed value may be employed to derive the hash function required to duplicate the resulting pattern. With a fairly accurate estimate of the seed value, the number of mathematical operations required to crack the encryption mechanism becomes workable. The vulnerability of pseudo-random numbers, even those believed to be cryptographically secure, has been demonstrated where the time and process id have been used in the key of popular software security features.
  • One-[0032] time pad 102 may also include counter 106 identifying the next sheet 104 which may be utilized for encryption or decryption. Both the encrypting and decrypting entities are provided with identical copies of one-time pad 102 through a secure medium such as hand-delivery. As sheets 104 within one-time pad 102 are utilized, counter 106 is advanced to point to the next available sheet. When counter 106 contains a value exceeding the number of sheets 104 within one-time pad 102, one-time pad 102 is depleted and must be replaced.
  • The requirement that a given [0033] sheet 104 within one-time pad 102 be used only once and never be reused is critical. Reuse of sheets 104 within one-time pad 102 compromises the security of the resulting encrypted data packet. It is intended that data packets encrypted by the method provided in the present invention could be accompanied by the plain text of the source packet, and still be invulnerable to cryptographic attack. Reuse of sheets 104 would prohibit this level of unconditionally secure encryption.
  • With reference now to FIG. 3, an example of data encryption utilizing a one-time pad in accordance with a preferred embodiment of the present invention is depicted. [0034] Source data packet 302 contains a string of characters comprising the message to be encrypted for transmission. Again, while the exemplary embodiment depicts only numeric characters and a delimiter, the process described may be readily applied to expanded character sets.
  • Furthermore, the order in which the pure random numbers are used from [0035] sheet 104 within a specific one-time pad 102 can be varied depending on a particular customer or implementation. The same encoding/decoding software is simply placed in the one-time pad device and the decoding computer. This allows for further security through the ability to physically secure the one-time pad and the encoding/decoding software separately. The ability to separate responsibilities is one key method used in the prevention of theft by inside employees. In the exemplary embodiment, one particular pattern is followed for illustrative purposes.
  • The [0036] encrypted data packet 304 contains positions for the encrypted bytes of source data packet 302, with five hundred positions depicted in the exemplary embodiment. The value of the first numeral in the position string of a sheet in the one-time pad is utilized to determine the position of the first encrypted byte. Utilizing the example depicted in FIG. 2, the first encrypted byte of source data packet is to be placed in position 3. The value of the first byte within source data packet is looked up in the associated character map for position 3, and the encrypted value “92” is entered in encrypted data packet 304 at position 3. Similarly, the value “67” is entered in position 14 and the value “38” is entered in the ninth position of encrypted data packet 304 to encode the second and third bytes of source data packet 302, respectively. This encryption process continues until all bytes of source data packet 302 have been encrypted.
  • When all bytes of [0037] source data packet 302 have been processed and an encryption value placed in the appropriate position of encrypted data packet 304, the remaining positions are filled. The remaining positions may be filled with pure random numbers from the sheet of the one-time pad being employed. The positions within the encrypted data packet 304 which do not contain values from the source data packet 302 are used for authentication, verification, and disinformation.
  • When expanded to include the full character set, the secure encryption mechanism of the present invention possesses the ability to randomly encode each byte of a source data packet in at least 128 different ways. Furthermore, any character of data may be placed in any of the positions within the encrypted data packet. Thus, each character of data may be encrypted in hundreds of thousands of different ways, depending on the length of the encrypted data packet, with each character entirely independent of any other character. There exists no pattern in either the encoding of a character or its position within an encrypted data packet, nor is there any pattern between distinct encrypted data packets. The encoding and position mappings are known only to entities possessing a copy of the one-time pad and knowing which sheet was employed for encryption. No human intervention is required for either the random number generation, encoding, or decoding processes. Once a sheet within the one-time pad has been used, that sheet is never intentionally used again, although theoretically the same sheet may be randomly generated again within another one-time pad. [0038]
  • The feature of randomly ordering encrypted byte within the encrypted data packet is not found in conventional one-time pads, which are simple look-up tables for each character or word placed in order in the encrypted message. Thus, the present invention provides greater security than conventional one-time pads. Furthermore, the starting location for the position string and arrays may be varied from one-time pad to one-time pad. For example, one-time pad may begin with the fifth numeral in the position string, while another begins with the fifty-third numeral. [0039]
  • It should be noted that the “arrays” described above are simple constructs used for convenience in describing the invention. Other methods of employing random numbers to encrypt the source data may be employed instead of or in addition to character maps, including XORing the bits of a random number with the bits of the character or word being encrypted. [0040]
  • Referring to FIG. 4, a high level flowchart for a process of encrypting data in accordance with a preferred embodiment of the present invention is illustrated. The process begins at [0041] step 402, which depicts initiation of the encryption process by a transmitting entity preparing to transmit a source data packet over an unsecured network. The process then passes to step 404, which illustrates reading a sheet from the one-time pad and, if the one-time pad is equipped with a counter, incrementing the counter.
  • The process next passes to step [0042] 406, which depicts reading a position indicator from the positions string, and then to step 408, which illustrates reading the next character to be encrypted from the source data packet. The process passes next to step 410, which depicts looking up the character to be encrypted in the character map associated with the position identified by the position indicator. The process then passes to step 412, which illustrates placing the encrypted character associated in the character map with the character read from the source data packet in the position designated by the position indicator read from the position string.
  • The process then passes to step [0043] 414, which depicts a determination of whether the entire source data packet has been encrypted. If not, the process returns to step 406 for encryption of additional characters from the source data packet as described above. If so, however, the process proceeds to step 414, which illustrates filling the remaining positions in the encrypted data packet. As described above, the remaining positions may be filled with information encrypted with pure random numbers for authentication, verification, or disinformation purposes.
  • Once the entire encrypted data packet is filled, the process passes to step [0044] 416, which depicts the process becoming idle until another data packet requires encryption. The data packet encrypted by the process described may be securely transmitted over unsecured networks without danger of being compromised.
  • With reference now to FIG. 5, a high level flowchart for a process of decoding data in accordance with a preferred embodiment of the present invention is illustrated. The process begins at [0045] step 502, which depicts initiation of the decryption process in response, for example, to receipt of an encrypted data packet. The process then passes to step 504, which illustrates reading the next available sheet from the one-time pad and, if the optional counter is present, incrementing the counter.
  • The process next passes to step [0046] 506, which depicts reading the first (or next) position in the position string within the one-time pad sheet, and then to step 508, which illustrates reading the encrypted character at the position within the encrypted data packet designated by the position indicator read. The process passes next to step 510, which depicts looking up the encrypted character in the character map associated with the designated position to determine the decoded character. The process then passes to step 512, which illustrates placing the decoded character in the next available position within the decoded data packet.
  • The process then passes to step [0047] 514, which depicts a determination of whether the encrypted data packet has been completely decoded. This determination may be made, for example, based on whether an expected number of characters have been decoded from the encrypted data packet, or on whether a stop character and expected fill characters have been encountered. If further decoding is required, the process returns to step 506 for decryption of additional characters within the encrypted data packet.
  • A determination of whether the decode was successful may simply involve checking the decoded data packet for a stop character, checking for a known number of characters to be decoded, or may involve looking for an expected authentication or verification character sequence (“watermark” or “signature”) within the decoded data packet. When the message has been decoded, the fill characters are checked for authentication and verification purposes. [0048]
  • If the decode was not successful, the process may optionally proceed to step [0049] 518, which illustrates adjusting the one-time pad employed in the decryption process in an attempt to resynchronize the one-time pads employed by the transmitting and receiving entities. This may be achieved, for example, by adjusting the counter value to compensate for the receiving entity being behind the transmitting entity, the most likely source of error in synchronization. If the counter was incremented in the last decryption attempt, the decrypting process may simply be attempted again.
  • To avoid the potential for synchronization errors in utilizing sheets within the one-time pad, an alternative procedure is to have the decryption process check the fill characters in adjacent sheets for authentication and verification purposes prior to decoding. [0050]
  • Referring again to step [0051] 516, if the data packet was successfully decoded, the process proceeds instead to step 520, which depicts the process becoming idle until decryption of a received data packet is once again required.
  • Referring to FIG. 6, an electronic checking environment in which secure encryption in accordance with a preferred embodiment of the present invention may be implemented is depicted. The electronic checking environment depicted includes a receiving [0052] device 602 located at the merchant's place of business which is connected to a server 604 located at the customer's bank. Receiving device 602 may be connected via communications link 606 to the Internet 608, which is in turn connected via communications link 610 to server 604, such that electronic checks are processed via the Internet. Alternatively, receiving device 602 may be directly connected to server 604 via communications link 612, which may provide dial-up access or the like.
  • An [0053] electronic checkbook 614 is capable of being selectively attached to receiving device 602. The term “electronic checkbook” is used herein to refer to a collection of fixed length randomly encoded data packets, regardless of the medium in which such packets are held, together with the instructions for encrypting. Similarly, the term “electronic check” is used herein to refer to a single fixed length randomly encoded data packet encrypted utilizing the corresponding sheet from a one-time pad. Each electronic check within an electronic checkbook is utilized only once.
  • The electronic checks generated by [0054] electronic checkbook 614 would contain, in an encrypted data packet, information such as the amount, the payee's account number, and the customer's signature. The signature may comprise a simple password, or may be a fingerprint, retina scan, or any other positive means of identification. The number of bytes required to encode a check's confidential information should be on the order of 100 bytes, although each electronic check may be on the order of a few hundred bytes with the unused bytes filled with additional characters as described above.
  • When an individual first becomes a customer of a bank, or reorders checks, the bank supplies the customer with [0055] electronic checkbook 614, with bank routing and account identification associated with the electronic checks. Electronic checkbook 614 may include a reorder form for automatic reorder when the number of remaining checks falls below a certain number. The customer may select a password or personal identification number (PIN), i.e., signature, to be associated with the electronic checks as is currently done for automated teller machine (ATM) access.
  • The collection of data packets comprising [0056] electronic checkbook 614 are contained within a suitable form of electronic memory encased in a hard case or other suitable durable means of protecting the memory. The electronic checkbook 614 may be a simple memory device such as a type of Personal Computer Memory Card International Association (PCMCIA) card capable of being inserted into receiving device 602. Receiving device 602 may thus be equipped with a keyboard and display (not shown) for user interaction and the capability of reading electronic checks from electronic checkbook 614, encrypting transaction information utilizing the associated sheet from a one time pad, and transmitting the encrypted data packet for the transaction while deleting the one-time pad sheet from any local or internal memory in receiving device 602. For additional security, the encryption could occur only within the PCMCIA card. However, this method allows for the possibility of the checkbook owner's password being compromised, which is not the preferred embodiment of the present invention.
  • Alternatively, in the preferred embodiment of the present invention, [0057] electronic checkbook 614 could be a relatively simple device allowing for write-only transmission of encrypted data packets. That is, no capability to read its contents would exist. A small keyboard, a small display, and a single port would be required, with electronic checkbook 614 inserted into receiving device 602 when preparing to write an electronic check. Receiving device 602 may be located at the merchant's place of business or be connected to a customer's computer for transactions over the Internet. The payee and the amount could be automatically provided by receiving device 602, with the customer entering a password and pressing a write button when the correct payee and amount are displayed. The electronic check would then be written to receiving device 602, which would transmit the electronic check to server 604 for processing.
  • As still another alternative, [0058] electronic checkbook 614 may be downloaded into a device possessed by the customer, such as a personal digital assistant (PDA). Electronic checkbook 614 could be downloaded to the customer's PDA at the time the account is opened, with checks replenished without human interaction at ATM's modified to include a port for this purpose. Therefore, check replenishment would be readily available 24 hours a day.
  • [0059] Server 604 located at the customer's bank is connected to a storage device 616 containing the other copy of the one-time pad utilized to encrypt the confidential information within the electronic check and an authorized check list associating electronic checks with sheets of the one-time pad. The electronic checking environment may also include a second server 618 located at the payee's bank connected to Internet 608 by communications link 620, and a third server 622 located at a clearinghouse connected to Internet 608 via communications link 624. In this manner, the electronic checks may be passed among all entities concerned via Internet 608 without generating any paper.
  • By encrypting the electronic checks using a one-time pad in accordance with the present invention, the plain text of at least a portion of the encrypted message—such as the amount, the payee, etc.—may accompany the encrypted electronic check and the encrypted data would still be invulnerable to cryptographic attack. Knowledge of a portion of the message encrypted, even if accompanied by knowledge of the ordering of these portions within the source message, is of no benefit in attempting to break the encrypted message. Thus, authentication and verification codes required to validate the electronic check would remain encrypted in an unbreakable manner. [0060]
  • An additional level of security may be introduced by varying the starting location used for the position string between electronic checkbooks (i.e, starting with the seventh random number in the string in one electronic checkbook while starting with the thirty first random number in a different electronic checkbook). The responsiblity for generating the random numbers for the one-time pad may thus be separated from the responsibility for selecting a starting location within the position string and arrays to be employed by a particular one-time pad, increasing the difficulty of employee theft of the information. An electronic checkbook may be manufactured and filled with one-time sheets by one entity, and programmed with a randomly selected starting location within the position string by a different entity. [0061]
  • With reference now to FIG. 7, a data flow diagram for a process of utilizing electronic checks in accordance with a preferred embodiment of the present invention is depicted. The merchant or payee supplies the merchant's account identification and an amount to the payor through a receiving device. The electronic check, an encrypted data packet such as described above, is generated by the customer or [0062] payor 702 and transmitted to the merchant or payee 704. Merchant 704 appends the merchant's bank routing and account identification numbers to the electronic check, then routes the electronic check to both the payor's bank 706 and the merchant's or payee's own bank 708.
  • Payor's [0063] bank 706 is the only place where the electronic check can be decoded. When payor's bank 706 receives the electronic check, payor's bank 706 decodes the electronic check, verifies and authenticates the check, checks the balance of the payor's account, freezes the amount indicated in the electronic check within the payor's account, and electronically forwards the electronic check, with the appended payee account information, to clearinghouse 710 together with a coded authorization for payment of the indicated amount to the payee.
  • At the same time, when payee's [0064] bank 708 receives the check, payee's bank 708 marks the payee's account as pending receipt of a deposit and forwards the check to clearinghouse 710. Clearinghouse 710 compares the two (encrypted) electronic checks received from payor's bank 706 and payee's bank 708. If they match, clearinghouse subtracts the indicated amount from the clearing account of payor's bank 706, adds the indicated amount to the clearing account of payee's bank 708, notifies payor's bank 706 that the electronic check has been settled, and notifies payee's bank 708 that the electronic check has been settled with the indicated amount placed in the clearing account of payee's bank 708.
  • On receipt of the notice from [0065] clearinghouse 710, payor's bank 706 subtracts the indicated amount from the payor's account, removes the electronic check from the payor's authorized check list, and notifies the payor 702 that the check has been settled. The payor's electronic checkbook may then remove the used electronic check from the set of available electronic checks. Meanwhile, on receipt of the notice from clearinghouse 710, payee's bank 708 adjusts the payee's account by the indicated amount and notifies payee 704 that the check has been settled.
  • At this point, the transaction is complete. The elapsed time for the transaction could be very short. Bottlenecks will occur primarily from limited bandwidth at the retail counter and within the Internet. Bandwidth problems at the retail counter may be alleviated by using parallel receiving devices. [0066]
  • Use of electronic checks over the Internet, directly from a customer's home, would operate in a similar fashion. However, the customer must send a copy of the electronic check to the merchant. Moreover, a number of additional features could be added to the electronic checking system, such as the ability to directly deposit electronic checks to and/or through the customer's electronic checkbook. [0067]
  • The electronic checking environment of the present invention would allow the current, paper-based checking system to be electronically emulated, while providing greater security than that available in the current paper process. The ease of understanding and heightened security will facilitate earlier and faster adoption of electronic checking. The current clearinghouse function will persist in an electronic form, and current banking laws, regulations, and procedures may be applied. The present invention also allows paper checks and electronic checks to coexist during a transition period to pure (or majority) electronic banking. [0068]
  • Referring to FIG. 8, a block diagram of a cellular communications global transponder in which a preferred embodiment of the present invention may be implemented is illustrated. [0069] Global transponder 802 is a device which automatically returns a data packet containing the latitude and longitude of the location of global transponder 802 in response to receiving a cellular telephone call. The data packets may be transmitted over non-secure, commercial cellular phone circuits such as those provided by the Iridium Project, which provides global cellular communications to and from any spot on earth.
  • [0070] Global transponder 802 includes processor 804 connected to memory 806. The connection may be in the form of a system bus 808, which is also connected to an external port 810 for programming or communication with other devices. Processor 804 is also connected to cellular modem 812, which is connected in turn to antenna 814. Processor 804 and antenna 814 are also both connected to global positioning system (GPS) chip set 816. Such GPS chip sets are available from a number of commercial sources. GPS chip-set 816 preferably returns GPS fix data in the NMEA-0183 ASCII RS232 format. Sensors 818 and switches 820 connected to processor 804 provide sources of data and control, respectively, for global transponder 802.
  • [0071] Global transponder 802 automatically returns a data packet in response to a cellular phone call from a central computer (not shown). The content of the data packet that is returned varies depending on the content of the request packet originating from the central computer. In general, the data packet returned will include GPS latitude and longitude information, and may also include sensor data and/or information regarding the object to which global transponder 802 is attached.
  • When a cellular phone call is received, [0072] modem 812 automatically answers and receives the request packet, transmitting the request packet to processor 804. Processor 804 examines the request packet and determines what response packet should be sent. GPS fix data from GPS chip set 816 is stored in memory 806, as is data from sensors 818. Processor 804 extracts the appropriate information from memory 806 for the response packet, forwarding the response packet to modem 812 for transmission. Although the latitude and longitude may be transmitted in approximately 20 digits, the data packets returned may be any fixed length. The data packets could easily be a few hundred bytes long and still be transmitted, in burst mode, in a very short time interval (on the order of one second).
  • There are times when the data packets returned by [0073] global transponder 802 must be protected, as in the case of a downed military pilot. Therefore, the one-time pad of the present invention may be employed to encrypt the data packet. A portion of memory 806 may be a microchip containing the one-time pad. When the latitude/longitude of global transponder 802 is required, the central computer dials cellular phone number of global transponder 802 and transmits a request comprised of a previously determined pattern of random characters. Processor 804 compares the pattern in the request packet to patterns associated with valid sheets of the one-time pad, copies of which are only in global transponder 802 and the central computer.
  • If [0074] processor 804 fails to identify a match with patterns associated with the one-time pad, then global transponder 802 simply terminates the cellular telephone connection without returning a data packet. Global transponder 802 may also record the date and time of the attempted contact. On the other hand, if a match to the pattern in the request packet is determined, processor 804 generates a data packet containing the latitude and longitude encrypted using the sheet of the one-time pad which is associated with the pattern from the request packet. This data packet is then returned to the requesting entity (i.e., the central computer).
  • Upon receiving the encrypted data packet, the central computer validates the packet by comparing bytes not containing latitude/longitude information with bytes expected to be returned in response to the request packet. If the packet is valid, the central computer extracts and decodes the encrypted latitude and longitude information. [0075]
  • In order to prevent jamming by repeatedly calling the phone number utilized by [0076] global transponder 802, it may be desirable to associate a unique phone number with each sheet in the one-time pad. Thus, global transponder 802 would respond to any of the phone numbers associated with sheets in its one-time pad. In addition, for military applications, buttons may be added to allow a downed pilot to indicate his/her physical condition, the state of enemy activity, and whether his/her capture is imminent. The sensors might be used to transmit the pilot's vital signs, such as heart rate. Additionally, functionality may be added to allow the pilot to transmit the information without waiting for an incoming cellular phone call, or to indicate whether the device had fallen into enemy hands.
  • Since the one-time pad and the cellular phone numbers are hard-coded into [0077] memory 806 of global transponder 802, this information cannot be leaked and reverse engineering would not yield any substantive information. The use of commercial connections reduces the cost while providing, with encryption, the same or a better level of security. Fly-overs would not be required since the pilots exact location could be identified, reducing the potential for conflict or compromise of the pilot's location.
  • With reference now to FIG. 9, an Internet sales environment in which a preferred embodiment of the present invention may be implemented is depicted. The Internet sales environment includes a [0078] user unit 902 connected to the Internet 904 by communications link 906, which may for example be access through an Internet service provider (ISP). A server 908, which may be a HyperText Transmission Protocol (HTTP) server, is located at the vendor's facilities and is also connected to Internet 904 via communications link 910. User unit 902 may include a browser, an application designed to submit HTTP requests and display information formatted in the HyperText Markup Language (HTML). Thus, transactions in the Internet sales environment depicted may be conducted over the World Wide Web (WWW).
  • The vendor may provide a one-time pad to potential customers. For example, a company selling software may provide a one-time pad to a customer setting up an account to order upgrades or new products over the Internet. Alternatively, the user's credit card company may provide a one-time pad for use in conducting transactions over the Internet. Sales orders transmitted over the [0079] Internet 904, or at least confidential information within sales orders, are encrypted by user unit 902, and are either decoded by the vendor, if the one-time pad originated from the vendor, or forwarded by the vendor to the credit card company for decoding and payment authorization.
  • Alternatively, the one-time pad may be employed in client-server environments for authentication and verification purposes. In this alternative, a vendor might be able to deliver software customized for a particular environment after receipt of a data packet encrypted using a one-time pad previously sold to the customer. [0080]
  • It is important to note that while the present invention i has been described in the context of fully functional systems, those skilled in the art will appreciate that the mechanism of the present invention is capable of being distributed in the form of a computer readable medium of instructions in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of computer readable media include: recordable type media such as floppy disks and CD-ROMs and transmission type media such as digital and analog communication links. [0081]
  • While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. [0082]

Claims (30)

What is claimed is:
1. A method of encrypting data packets, comprising:
selecting a byte within a source data packet;
randomly selecting an available position within an encrypted data packet in which to place an encrypted byte corresponding to said selected byte of said source data packet;
encrypting said selected byte using a random number to generate said encrypted byte; and
placing said encrypted byte in said selected position within said encrypted data packet, wherein said selected byte of said source data packet is encrypted in an unconditionally secure manner.
2. The method of claim 1, further comprising:
repeating said steps of selecting a byte, randomly selecting an available position, encrypting said selected byte, and placing said encrypted byte in said selected position for each byte within said source data packet.
3. The method of claim 2, further comprising:
after encrypting all bytes of said source data packet, filling remaining positions within said encrypted data packet with random numbers.
4. The method of claim 2, further comprising:
after encrypting all bytes of said source data packet, encrypting authentication data; and
placing bytes of said encrypted authentication data in remaining positions within said encrypted data packet.
5. A one-time pad, comprising:
a memory device;
a nonrepeating, randomly ordered sequence of N numbers within the range of 1 to N within the memory device; and
a plurality of arrays of random numbers within said memory device, each array within said plurality of arrays associated with a number within said sequence of numbers.
6. The one-time pad of claim 5, wherein each array within the plurality of arrays comprises a character map.
7. The one-time pad of claim 5, wherein said sequence and said plurality of arrays comprise a sheet.
8. The one-time pad of claim 5, further comprising:
a counter within said memory device, said counter pointing to a sheet within a plurality of sheets within said one-time pad.
9. An electronic checkbook, comprising:
a memory containing a plurality of encryption sheets, each encryption sheet within the plurality of encryption sheets including:
a string of N numbers within the range of 1 to N arranged in a nonrepeating, randomly ordered sequence; and
a plurality of random number arrays, each array within said plurality of arrays associated with a different number within said string of numbers; and
a plurality of identifiers associating each encryption sheet within the plurality of encryption sheets with an electronic check.
10. The electronic checkbook of claim 9, wherein each encryption sheet and said associated identifier comprises an unused electronic check.
11. The electronic checkbook of claim 9, wherein said electronic check comprises information encrypted using an encryption sheet within said plurality of encryption sheets.
12. The electronic checkbook of claim 11, wherein said electronic check further comprises:
a plurality of encrypted bytes generated from a plurality of source bytes,
wherein each encrypted byte is placed in a position within said plurality of encrypted bytes identified by a position number located within said string at a location corresponding to a location within said plurality of source bytes containing a source byte utilized to generate said encrypted byte, and
wherein each encrypted byte comprises a random number corresponding, within an array associated with said position number, to said source byte.
13. The electronic checkbook of claim 12, wherein said electronic check further comprises:
authentication data encrypted with said plurality of encrypted bytes.
14. The electronic checkbook of claim 9, wherein said electronic checkbook further comprises:
a port for connection to a receiving device.
15. A method of processing an electronic check, comprising:
receiving an electronic check encrypted using a one-time pad at a business;
transmitting a first copy of said electronic check to a payor's bank and a second copy of said electronic check to a payee's bank; and
decoding said first copy of said electronic check at said payor's bank using a copy of said one-time pad.
16. The method of claim 15, further comprising:
authenticating said electronic check; and
transmitting said first copy of said electronic check to a clearinghouse with a payment authorization.
17. The method of claim 16, further comprising:
transmitting said second copy of said electronic check to said clearinghouse;
comparing said first copy of said electronic check to said second copy of said electronic check; and
responsive to determining that said first copy of said electronic check matches said second copy of said electronic check, processing a transaction transferring funds from said payor's bank to said payee's bank.
18. A method of securing transmission of a global transponder location, comprising:
receiving a request packet via a cellular communications link to said global transponder;
encrypting a data packet containing a latitude and a longitude for a location of said global transponder using a one-time pad containing within said global transponder; and
transmitting said encrypted data packet to a central computer over said cellular communications link.
19. The method of claim 18, wherein said step of encrypting a data packet further comprises:
locating an identifier within said request packet;
comparing said identifier to a plurality of identifiers in said global transponder, wherein identifier within said plurality of identifiers is associated with a sheet within said one-time pad;
responsive to determining that said identifier within said request packet does not match any identifier within said plurality of identifiers, terminating said cellular communications link; and
responsive to determining that said identifier within said request packet matches an identifier within said plurality of identifiers, encrypting said data packet using a sheet within said one-time pad associated with said matching identifier.
20. A global transponder, comprising:
a processor connected to a memory containing a one-time pad;
a cellular modem connected to said processor and an antenna;
a GPS chip set connected to said processor and said antenna, said GPS chip set providing GPS fix data to said processor,
wherein said processor, responsive to receiving a call through said cellular modem, encrypts said GPS fix data using said one-time pad for transmission via said cellular modem.
21. A method of encrypting data packets using a one-time pad, comprising:
selecting a character within a source data packet;
reading a position number within a randomly ordered, nonrepeating sequence of N numbers within the range of 1 to N, wherein said position number is at a location within said sequence corresponding to a location of said selected character within said source data packet;
reading a random number within a nonrepeating array of random numbers associated with said position number, wherein said random number corresponds within said array to said selected character; and
placing said random number in a position within an encrypted data packet corresponding to said position number.
22. The method of claim 21, further comprising:
repeating said steps of selecting a character, reading a position number, reading a random number corresponding to said selected character, and placing said random number in a position corresponding to said position number for each character within said source data packet to encrypt said source data packet.
23. The method of claim 22, further comprising:
after encrypting said source data packet, encrypting an authentication code; and
placing the encrypted authentication code within said encrypted data packet.
24. The method of claim 22, further comprising:
after encrypting said source data packet, encrypting a stop code; and
placing the encrypted s top code within said encrypted data packet.
25. A method of decoding data packets encrypted using a one-time pad, comprising:
reading a position number within a randomly ordered, nonrepeating sequence of N numbers within the range of 1 to N;
reading a random number located within an encrypted data packet at a position corresponding to said position number;
determining a character corresponding to said random number within a nonrepeating array of random numbers associated with said position number; and
placing said character in a next available position within a decoded data packet.
26. The method of claim 25, further comprising:
repeating said steps of reading a position number, reading a random number, determining a character corresponding to said random number, and placing said character in a next available position for each character in said decoded data packet.
27. The method of claim 26, further comprising:
detecting a stop code encrypted in said encrypted data packet.
28. The method of claim 26, further comprising:
decoding an authentication code encrypted in said encrypted data packet.
29. A computer program product for use with a data processing system, comprising:
a computer usable medium;
first instructions on said computer usable medium for selecting a character within a source data packet;
second instructions on said computer usable medium for reading a position number within a randomly ordered, nonrepeating sequence of N numbers within the range of 1 to N, wherein said position number is at a location within said sequence corresponding to a location of said selected character within said source data packet;
third instructions on said computer usable medium for reading a random number within a nonrepeating array of random numbers associated with said position number, wherein said random number corresponds within said array to said selected character; and
fourth instructions on said computer usable medium for placing said random number in a position within an encrypted data packet corresponding to said position number.
30. A computer program product for use with a data processing system, comprising:
a computer usable medium;
first instructions on said computer usable medium for reading a position number within a randomly ordered, nonrepeating sequence of N numbers within the range of 1 to N;
second instructions on said computer usable medium for reading a random number located within an encrypted data packet at a position corresponding to said position number;
third instructions on said computer usable medium for determining a character corresponding to said random number within a nonrepeating array of random numbers associated with said position number; and
fourth instructions on said computer usable medium for placing said character in a next available position within a decoded data packet.
US08/907,298 1997-08-06 1997-08-06 Secure encryption of data packets for transmission over unsecured networks Abandoned US20020002675A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US08/907,298 US20020002675A1 (en) 1997-08-06 1997-08-06 Secure encryption of data packets for transmission over unsecured networks
US09/498,293 US7047222B1 (en) 1997-08-06 2000-02-04 Secure encryption of data packets for transmission over unsecured networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/907,298 US20020002675A1 (en) 1997-08-06 1997-08-06 Secure encryption of data packets for transmission over unsecured networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/498,293 Division US7047222B1 (en) 1997-08-06 2000-02-04 Secure encryption of data packets for transmission over unsecured networks

Publications (1)

Publication Number Publication Date
US20020002675A1 true US20020002675A1 (en) 2002-01-03

Family

ID=25423860

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/907,298 Abandoned US20020002675A1 (en) 1997-08-06 1997-08-06 Secure encryption of data packets for transmission over unsecured networks
US09/498,293 Expired - Fee Related US7047222B1 (en) 1997-08-06 2000-02-04 Secure encryption of data packets for transmission over unsecured networks

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/498,293 Expired - Fee Related US7047222B1 (en) 1997-08-06 2000-02-04 Secure encryption of data packets for transmission over unsecured networks

Country Status (1)

Country Link
US (2) US20020002675A1 (en)

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010042131A1 (en) * 2000-04-14 2001-11-15 John Mathon System for handling information and information transfers in a computer network
US20020010698A1 (en) * 2000-07-13 2002-01-24 Dong Wook Shin Method of applying locking function to electronic documents and text messages
US20020062286A1 (en) * 1998-06-29 2002-05-23 Tedesco Daniel E. Method and apparatus for processing checks to reserve funds
US20020131599A1 (en) * 2001-03-15 2002-09-19 International Business Machines Corporation System for encryption of wireless transmissions from personal palm computers to world wide Web terminals
US20030016821A1 (en) * 2000-03-29 2003-01-23 Vadium Technology, Inc. One-time-pad encryption with keyable characters
US20030112972A1 (en) * 2001-12-18 2003-06-19 Hattick John B. Data carrier for the secure transmission of information and method thereof
US20030115448A1 (en) * 2001-10-29 2003-06-19 Thaddeus Bouchard Methods and apparatus for securely communicating a message
US20030142821A1 (en) * 2002-01-02 2003-07-31 Ross David Marshall Cryptographic one time pad technique
US20040196971A1 (en) * 2001-08-07 2004-10-07 Sascha Disch Method and device for encrypting a discrete signal, and method and device for decrypting the same
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
WO2006012638A2 (en) * 2004-07-29 2006-02-02 Vadium Technology, Inc. Techniques to strengthen one-time pad encryption
US20060059347A1 (en) * 2002-04-18 2006-03-16 Herz Frederick S System and method which employs a multi user secure scheme utilizing shared keys
US20060161501A1 (en) * 2005-01-19 2006-07-20 Gabrit Concourse, Inc. Electronic check
US20070074277A1 (en) * 2005-09-29 2007-03-29 Christopher Tofts Method of provisioning devices with one-time pad data, device for use in such method, and service usage tracking based on one-time pad data
EP1841122A1 (en) * 2006-03-31 2007-10-03 Alain Schumacher Encryption method for highest security applications
US20080009310A1 (en) * 1999-11-03 2008-01-10 Rhoads Geoffrey B Gestural Techniques with Wireless Mobile Phone Devices
US20080034201A1 (en) * 1998-10-30 2008-02-07 Virnetx, Inc. agile network protocol for secure communications with assured system availability
US20080034206A1 (en) * 2004-08-17 2008-02-07 Dimitri Korobkov Encryption Method
US20080031456A1 (en) * 2005-09-29 2008-02-07 Keith Alexander Harrison Device with multiple one-time pads and method of managing such a device
US20080101595A1 (en) * 2006-10-26 2008-05-01 Samsung Electronics Co.; Ltd Error correction system and method for mobile terminal
US20080126513A1 (en) * 2006-11-29 2008-05-29 Omtool Ltd. Methods and apparatus for enterprise document distribution
US7406595B1 (en) 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US20090106276A1 (en) * 2006-11-29 2009-04-23 Omtool Ltd. Methods and apparatus for digital content handling
US20090164781A1 (en) * 2001-10-29 2009-06-25 Thaddeus Bouchard Methods and Apparatus for Secure Content Routing
US20100198733A1 (en) * 2009-02-04 2010-08-05 Qualcomm Incorporated Enabling Payment Using Paperless Image Of A Check
US20100268952A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Optimization of Signing SOAP Body Element
US20110167087A1 (en) * 1998-10-30 2011-07-07 VirtnetX, Inc. agile network protocol for secure communications using secure domain names
US20110173442A1 (en) * 2004-03-19 2011-07-14 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet based cryptographic communications systems and methods
US20110225419A1 (en) * 1998-10-30 2011-09-15 Edmund Colby Munger Agile network protocol for secure communications with assured system availability
US8630011B2 (en) 2003-02-11 2014-01-14 Omtool, Ltd. Method and system for secure facsimile delivery and registration
US20140044262A1 (en) * 2012-08-09 2014-02-13 Cisco Technology, Inc. Low Latency Encryption and Authentication in Optical Transport Networks
US20140344645A1 (en) * 2010-01-28 2014-11-20 Cleversafe, Inc. Distributed storage with auxiliary data interspersal and method for use therewith
US8943201B2 (en) 1998-10-30 2015-01-27 Virnetx, Inc. Method for establishing encrypted channel
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US20160275640A1 (en) * 2013-06-21 2016-09-22 Signs & Wonders Unlimited, Llc System and method for encoding and authenticating a digital image
WO2017035268A1 (en) * 2015-08-24 2017-03-02 Ricardo Richard Frederick Data obfuscation method and service using unique seeds
US9672025B2 (en) 2014-12-10 2017-06-06 Ford Global Technologies, Llc Encryption for telematics flashing of a vehicle
US9688244B2 (en) 2015-06-15 2017-06-27 Ford Global Technologies, Llc Autonomous vehicle theft prevention
WO2018109530A1 (en) * 2016-12-15 2018-06-21 Saronikos Trading And Services, Unipessoal Lda Apparatuses, system, and methods for controlling an actuator through a wireless communications system
US20180195293A1 (en) * 2017-01-09 2018-07-12 Schneider Electric It Corporation Anti-seismic access floor
WO2018170573A3 (en) * 2017-03-21 2018-12-20 Василий Филиппович СТАСЮК Global information system
US20190108366A1 (en) * 2010-01-28 2019-04-11 International Business Machines Corporation Secure data transmission utilizing distributed storage
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
WO2020072440A1 (en) * 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11010855B2 (en) 2013-06-21 2021-05-18 Signs & Wonders Unlimited, Llc Method and apparatus for protecting digital photos from alteration
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US11507947B1 (en) * 2017-07-05 2022-11-22 Citibank, N.A. Systems and methods for data communication using a stateless application

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615189B1 (en) 1998-06-22 2003-09-02 Bank One, Delaware, National Association Debit purchasing of stored value card for use by and/or delivery to others
US7809642B1 (en) 1998-06-22 2010-10-05 Jpmorgan Chase Bank, N.A. Debit purchasing of stored value card for use by and/or delivery to others
US8793160B2 (en) 1999-12-07 2014-07-29 Steve Sorem System and method for processing transactions
US6754640B2 (en) * 2000-10-30 2004-06-22 William O. Bozeman Universal positive pay match, authentication, authorization, settlement and clearing system
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
AU2002312381A1 (en) 2001-06-07 2002-12-16 First Usa Bank, N.A. System and method for rapid updating of credit information
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
WO2003010701A1 (en) 2001-07-24 2003-02-06 First Usa Bank, N.A. Multiple account card and transaction routing
US8020754B2 (en) 2001-08-13 2011-09-20 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
JP4191915B2 (en) * 2001-08-30 2008-12-03 独立行政法人情報通信研究機構 Conversion device, encryption / decryption system, multistage conversion device, program, and information recording medium
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
AU2003230751A1 (en) 2002-03-29 2003-10-13 Bank One, Delaware, N.A. System and process for performing purchase transaction using tokens
US7809595B2 (en) 2002-09-17 2010-10-05 Jpmorgan Chase Bank, Na System and method for managing risks associated with outside service providers
US20040122736A1 (en) 2002-10-11 2004-06-24 Bank One, Delaware, N.A. System and method for granting promotional rewards to credit account holders
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US7370212B2 (en) * 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US8306907B2 (en) 2003-05-30 2012-11-06 Jpmorgan Chase Bank N.A. System and method for offering risk-based interest rates in a credit instrument
US20050091494A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for providing an external trusted agent for one or more computer systems
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7401731B1 (en) 2005-05-27 2008-07-22 Jpmorgan Chase Bank, Na Method and system for implementing a card product with multiple customized relationships
US7717328B1 (en) 2005-12-29 2010-05-18 United Services Automobile Association (Usaa) Auto check reorder
US7654447B1 (en) * 2005-12-29 2010-02-02 United Services Automobile Association (Usaa) Auto check reorder
GB201212878D0 (en) 2012-07-20 2012-09-05 Pike Justin Authentication method and system
US10708043B2 (en) 2013-03-07 2020-07-07 David Mayer Hutchinson One pad communications
GB201520760D0 (en) 2015-05-27 2016-01-06 Mypinpad Ltd And Licentia Group Ltd Encoding methods and systems
US20170264427A1 (en) * 2016-03-11 2017-09-14 Microsoft Technology Licensing, Llc Data encryption techniques
US20180108019A1 (en) * 2016-10-15 2018-04-19 Systems Imagination, Inc. Secure Encryption Using Genomic Information
US10796006B2 (en) * 2017-08-31 2020-10-06 Micro Focus Llc Geographical track data obfuscation
CN112636910B (en) * 2020-12-29 2021-08-24 北京深思数盾科技股份有限公司 Method, device and system for generating and verifying temporary password

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
JPS59157858A (en) 1983-02-28 1984-09-07 Sony Corp Recording device
US4677434A (en) 1984-10-17 1987-06-30 Lotus Information Network Corp. Access control system for transmitting data from a central station to a plurality of receiving stations and method therefor
US4937866A (en) 1986-08-13 1990-06-26 U.S. Philips Corporation System for decoding transmitted scrambled signals
US5053607A (en) * 1986-10-06 1991-10-01 Carlson Steven R Point-of-sale device particularly adapted for processing checks
US4853962A (en) 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
US5493283A (en) 1990-09-28 1996-02-20 Olivetti Research Limited Locating and authentication system
USH1414H (en) 1991-02-12 1995-02-07 The United States Of America As Represented By The Secretary Of The Navy Nonvolatile memory system for storing a key word and sensing the presence of an external loader device and encryption circuit
US5237159A (en) * 1991-07-17 1993-08-17 J. D. Carreker And Associates Electronic check presentment system
US5193114A (en) * 1991-08-08 1993-03-09 Moseley Donald R Consumer oriented smart card system and authentication techniques
US5159634A (en) 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
US5483598A (en) 1993-07-01 1996-01-09 Digital Equipment Corp., Patent Law Group Message encryption using a hash function
US5440640A (en) 1993-10-05 1995-08-08 Arithmetica, Inc. Multistream encryption system for secure communication
US5434919A (en) 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5475756A (en) * 1994-02-17 1995-12-12 At&T Corp. Method of authenticating a terminal in a transaction execution system
GB2302246B (en) 1994-03-23 1998-05-13 Chantilley Corp Ltd Apparatus for generating encryption/decryption look-up tables using a session key
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5677955A (en) * 1995-04-07 1997-10-14 Financial Services Technology Consortium Electronic funds transfer instruments
US5838794A (en) 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
US5848400A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Electronic check exchange, clearing and settlement system
US6600823B1 (en) * 1996-10-22 2003-07-29 Unisys Corporation Apparatus and method for enhancing check security
JPH1185881A (en) * 1997-09-08 1999-03-30 Toshiba Corp Method and system for electronic transfer
US6390362B1 (en) * 1999-06-30 2002-05-21 David A. Martin Method and device for preventing check fraud

Cited By (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
US20020062286A1 (en) * 1998-06-29 2002-05-23 Tedesco Daniel E. Method and apparatus for processing checks to reserve funds
US8943201B2 (en) 1998-10-30 2015-01-27 Virnetx, Inc. Method for establishing encrypted channel
US8850009B2 (en) 1998-10-30 2014-09-30 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US9413766B2 (en) 1998-10-30 2016-08-09 Virnetx, Inc. Method for establishing connection between devices
US9819649B2 (en) 1998-10-30 2017-11-14 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US8560705B2 (en) 1998-10-30 2013-10-15 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US8554899B2 (en) 1998-10-30 2013-10-08 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US8521888B2 (en) 1998-10-30 2013-08-27 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US8516131B2 (en) 1998-10-30 2013-08-20 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US9479426B2 (en) 1998-10-30 2016-10-25 Virnetz, Inc. Agile network protocol for secure communications with assured system availability
US9100375B2 (en) 1998-10-30 2015-08-04 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US9094399B2 (en) 1998-10-30 2015-07-28 Virnetx, Inc. Method for establishing secure communication link between computers of virtual private network
US8516117B2 (en) 1998-10-30 2013-08-20 Virnetx, Inc. Agile network protocol for secure communications with assured system availability
US8504696B2 (en) 1998-10-30 2013-08-06 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US20080034201A1 (en) * 1998-10-30 2008-02-07 Virnetx, Inc. agile network protocol for secure communications with assured system availability
US9077694B2 (en) 1998-10-30 2015-07-07 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9038163B2 (en) 1998-10-30 2015-05-19 Virnetx, Inc. Systems and methods for connecting network devices over communication network
US9037713B2 (en) 1998-10-30 2015-05-19 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9027115B2 (en) 1998-10-30 2015-05-05 Virnetx, Inc. System and method for using a registered name to connect network devices with a link that uses encryption
US20110225419A1 (en) * 1998-10-30 2011-09-15 Edmund Colby Munger Agile network protocol for secure communications with assured system availability
US8572247B2 (en) 1998-10-30 2013-10-29 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9077695B2 (en) 1998-10-30 2015-07-07 Virnetx, Inc. System and method for establishing an encrypted communication link based on IP address lookup requests
US9374346B2 (en) 1998-10-30 2016-06-21 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US8904516B2 (en) 1998-10-30 2014-12-02 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US8504697B2 (en) 1998-10-30 2013-08-06 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US20110185053A1 (en) * 1998-10-30 2011-07-28 Victor Larson Agile Network Protocol For Secure Communications Using Secure Domain Names
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9386000B2 (en) 1998-10-30 2016-07-05 Virnetx, Inc. System and method for establishing a communication link
US10187387B2 (en) 1998-10-30 2019-01-22 Virnetx, Inc. Method for establishing connection between devices
US8843643B2 (en) 1998-10-30 2014-09-23 Virnetx, Inc. System and method employing an agile network protocol for secure communications using secure domain names
US8874771B2 (en) * 1998-10-30 2014-10-28 Virnetx, Inc. Agile network protocol for secure communications with assured system availability
US8868705B2 (en) 1998-10-30 2014-10-21 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9967240B2 (en) 1998-10-30 2018-05-08 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US9860283B2 (en) 1998-10-30 2018-01-02 Virnetx, Inc. Agile network protocol for secure video communications with assured system availability
US20110167087A1 (en) * 1998-10-30 2011-07-07 VirtnetX, Inc. agile network protocol for secure communications using secure domain names
US20080009310A1 (en) * 1999-11-03 2008-01-10 Rhoads Geoffrey B Gestural Techniques with Wireless Mobile Phone Devices
US8391851B2 (en) * 1999-11-03 2013-03-05 Digimarc Corporation Gestural techniques with wireless mobile phone devices
US8467533B2 (en) * 2000-03-29 2013-06-18 Wolfgang Hammersmith One-time-pad encryption with key ID and offset for starting point
US20030026429A1 (en) * 2000-03-29 2003-02-06 Vadium Technology, Inc. One-time-pad encryption with key ID and offset for starting point
US20030016821A1 (en) * 2000-03-29 2003-01-23 Vadium Technology, Inc. One-time-pad encryption with keyable characters
US7032005B2 (en) * 2000-04-14 2006-04-18 Slam Dunk Networks, Inc. System for handling information and information transfers in a computer network
US20010042131A1 (en) * 2000-04-14 2001-11-15 John Mathon System for handling information and information transfers in a computer network
US20020010698A1 (en) * 2000-07-13 2002-01-24 Dong Wook Shin Method of applying locking function to electronic documents and text messages
US20020131599A1 (en) * 2001-03-15 2002-09-19 International Business Machines Corporation System for encryption of wireless transmissions from personal palm computers to world wide Web terminals
US20040196971A1 (en) * 2001-08-07 2004-10-07 Sascha Disch Method and device for encrypting a discrete signal, and method and device for decrypting the same
US8520843B2 (en) * 2001-08-07 2013-08-27 Fraunhofer-Gesellscaft zur Foerderung der Angewandten Forschung E.V. Method and apparatus for encrypting a discrete signal, and method and apparatus for decrypting
US20030115448A1 (en) * 2001-10-29 2003-06-19 Thaddeus Bouchard Methods and apparatus for securely communicating a message
US8726015B2 (en) 2001-10-29 2014-05-13 Omtool, Ltd. Methods and apparatus for secure content routing
US20090164781A1 (en) * 2001-10-29 2009-06-25 Thaddeus Bouchard Methods and Apparatus for Secure Content Routing
US20030112972A1 (en) * 2001-12-18 2003-06-19 Hattick John B. Data carrier for the secure transmission of information and method thereof
US20030142821A1 (en) * 2002-01-02 2003-07-31 Ross David Marshall Cryptographic one time pad technique
US20060059347A1 (en) * 2002-04-18 2006-03-16 Herz Frederick S System and method which employs a multi user secure scheme utilizing shared keys
US7350069B2 (en) * 2002-04-18 2008-03-25 Herz Frederick S M System and method which employs a multi user secure scheme utilizing shared keys
US8630011B2 (en) 2003-02-11 2014-01-14 Omtool, Ltd. Method and system for secure facsimile delivery and registration
US20110173442A1 (en) * 2004-03-19 2011-07-14 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet based cryptographic communications systems and methods
US7406595B1 (en) 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
WO2006012638A2 (en) * 2004-07-29 2006-02-02 Vadium Technology, Inc. Techniques to strengthen one-time pad encryption
US20060029223A1 (en) * 2004-07-29 2006-02-09 Zsolt Ari Techniques to strengthen one-time pad encryption
US7840002B2 (en) 2004-07-29 2010-11-23 Vadium Technology, Inc. Techniques to strengthen one-time pad encryption
WO2006012638A3 (en) * 2004-07-29 2007-04-05 Vadium Technology Inc Techniques to strengthen one-time pad encryption
US20080034206A1 (en) * 2004-08-17 2008-02-07 Dimitri Korobkov Encryption Method
DE102004039899B4 (en) * 2004-08-17 2010-07-22 Dimitri Prof. Dr.-Ing. Korobkov encryption method
US7113925B2 (en) * 2005-01-19 2006-09-26 Echeck21, L.L.C. Electronic check
US20060161501A1 (en) * 2005-01-19 2006-07-20 Gabrit Concourse, Inc. Electronic check
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US20080031456A1 (en) * 2005-09-29 2008-02-07 Keith Alexander Harrison Device with multiple one-time pads and method of managing such a device
US8250363B2 (en) * 2005-09-29 2012-08-21 Hewlett-Packard Development Company, L.P. Method of provisioning devices with one-time pad data, device for use in such method, and service usage tracking based on one-time pad data
US20070074277A1 (en) * 2005-09-29 2007-03-29 Christopher Tofts Method of provisioning devices with one-time pad data, device for use in such method, and service usage tracking based on one-time pad data
US8842839B2 (en) 2005-09-29 2014-09-23 Hewlett-Packard Development Company, L.P. Device with multiple one-time pads and method of managing such a device
US20100174897A1 (en) * 2006-03-31 2010-07-08 Alain Schumacher Encryption method for highest security applications
WO2007113217A1 (en) 2006-03-31 2007-10-11 Alain Schumacher Encryption method for highest security applications
EP1841122A1 (en) * 2006-03-31 2007-10-03 Alain Schumacher Encryption method for highest security applications
US20080101595A1 (en) * 2006-10-26 2008-05-01 Samsung Electronics Co.; Ltd Error correction system and method for mobile terminal
US8904270B2 (en) 2006-11-29 2014-12-02 Omtool Ltd. Methods and apparatus for enterprise document distribution
US8732566B2 (en) 2006-11-29 2014-05-20 Omtool, Ltd. Methods and apparatus for digital content handling
US20080126513A1 (en) * 2006-11-29 2008-05-29 Omtool Ltd. Methods and apparatus for enterprise document distribution
US20090106276A1 (en) * 2006-11-29 2009-04-23 Omtool Ltd. Methods and apparatus for digital content handling
US20100198733A1 (en) * 2009-02-04 2010-08-05 Qualcomm Incorporated Enabling Payment Using Paperless Image Of A Check
US8375211B2 (en) 2009-04-21 2013-02-12 International Business Machines Corporation Optimization of signing soap body element
US20100268952A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Optimization of Signing SOAP Body Element
US10891400B2 (en) 2010-01-28 2021-01-12 Pure Storage, Inc. Secure data transmission utilizing distributed storage
US11734463B2 (en) 2010-01-28 2023-08-22 Pure Storage, Inc. Obfuscating a set of encoded data slices
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US20140344645A1 (en) * 2010-01-28 2014-11-20 Cleversafe, Inc. Distributed storage with auxiliary data interspersal and method for use therewith
US11366939B1 (en) 2010-01-28 2022-06-21 Pure Storage, Inc. Secure data transmission utilizing a set of obfuscated encoded data slices
US10282564B2 (en) * 2010-01-28 2019-05-07 International Business Machines Corporation Distributed storage with auxiliary data interspersal and method for use therewith
US20190108366A1 (en) * 2010-01-28 2019-04-11 International Business Machines Corporation Secure data transmission utilizing distributed storage
US20140044262A1 (en) * 2012-08-09 2014-02-13 Cisco Technology, Inc. Low Latency Encryption and Authentication in Optical Transport Networks
US20160275640A1 (en) * 2013-06-21 2016-09-22 Signs & Wonders Unlimited, Llc System and method for encoding and authenticating a digital image
US10546360B2 (en) * 2013-06-21 2020-01-28 Signs & Wonders Unlimited, Llc System and method for encoding and authenticating a digital image
US11727524B2 (en) 2013-06-21 2023-08-15 Signs & Wonders Unlimited LLC System and method for encoding and authenticating a digital image
US11010855B2 (en) 2013-06-21 2021-05-18 Signs & Wonders Unlimited, Llc Method and apparatus for protecting digital photos from alteration
US9672025B2 (en) 2014-12-10 2017-06-06 Ford Global Technologies, Llc Encryption for telematics flashing of a vehicle
US9688244B2 (en) 2015-06-15 2017-06-27 Ford Global Technologies, Llc Autonomous vehicle theft prevention
WO2017035268A1 (en) * 2015-08-24 2017-03-02 Ricardo Richard Frederick Data obfuscation method and service using unique seeds
CN110089073A (en) * 2016-12-15 2019-08-02 萨罗尼科斯贸易与服务一人有限公司 Equipment, system and method for the control actuator of system by wireless communication
WO2018109530A1 (en) * 2016-12-15 2018-06-21 Saronikos Trading And Services, Unipessoal Lda Apparatuses, system, and methods for controlling an actuator through a wireless communications system
US10965463B2 (en) 2016-12-15 2021-03-30 Saronikos Trading And Services, Unipessoal Lda Apparatuses, system, and methods for controlling an actuator through a wireless communications system
US20180195293A1 (en) * 2017-01-09 2018-07-12 Schneider Electric It Corporation Anti-seismic access floor
WO2018170573A3 (en) * 2017-03-21 2018-12-20 Василий Филиппович СТАСЮК Global information system
US11507947B1 (en) * 2017-07-05 2022-11-22 Citibank, N.A. Systems and methods for data communication using a stateless application
US10992477B2 (en) 2018-10-02 2021-04-27 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072440A1 (en) * 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11804964B2 (en) 2018-10-02 2023-10-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards

Also Published As

Publication number Publication date
US7047222B1 (en) 2006-05-16

Similar Documents

Publication Publication Date Title
US7047222B1 (en) Secure encryption of data packets for transmission over unsecured networks
US11276058B2 (en) Data protection with translation
EP2165452B1 (en) System and method for account identifier obfuscation
US5781632A (en) Method and apparatus for secured transmission of confidential data over an unsecured network
EP0033833B1 (en) Transaction execution system, method of operating such a system and terminal for use in such a system
US10318932B2 (en) Payment card processing system with structure preserving encryption
US20090261162A1 (en) Secure system and method for payment card and data storage and processing via information splitting
EP0047285B1 (en) A system for authenticating users and devices in on-line transaction networks
US7039809B1 (en) Asymmetric encrypted pin
ES2359205T3 (en) PROCEDURE AND APPLIANCE FOR THE SAFE STORAGE AND USE OF CRYPTOGRAPHIC KEYS.
ES2213774T3 (en) IDENTIFICATION SYSTEM WITHOUT INDICATION.
US4259720A (en) Security system for electronic funds transfer system
US20160239836A1 (en) System and method for variable length encryption
EP0287720A1 (en) Management of cryptographic keys
US20080065554A1 (en) Method and system for conducting secure payments over a computer network
GB2423854A (en) Portable security transaction protocol
Tygar et al. Cryptography: It's not just for electronic mail anymore
US20070033149A1 (en) Secure transaction string
WO2000057370A1 (en) Encrypting secrets in a file for an electronic micro-commerce system
JP2002117350A (en) Service issuing method, service providing method, and system therefor
JP4903346B2 (en) Improved method and system for processing secure payments across computer networks without pseudo or proxy account numbers
WO2001097441A2 (en) Method, systems and computer program for reducing hacking susceptibility
RAGHUVARAN et al. Fraud Resilient Mechanism for Digital Payments using Coin Management
AU2007216920B2 (en) An improved method and system for conducting secure payments over a computer network
force Physical et al. Appendix E Data Protection

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BUSH, RONALD ROSCOE;REEL/FRAME:008749/0251

Effective date: 19970805

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: EBAY INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:029528/0697

Effective date: 20120928

AS Assignment

Owner name: PAYPAL, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EBAY INC.;REEL/FRAME:036159/0887

Effective date: 20150717