Secure file transfer system and method
OwnerRoger Schlafly, Michael J. Markowitzinventors
Life of this patent
Estimating the term…
Abstract
This invention is a system and method for securely and robustly transferring a file from one computer to another without having a prearranged encryption key. Data is transferred by first generating some random numbers on each computer and undertaking some cryptographically secure handshaking in which a session key is determined. Then the file is broken up into blocks and encrypted with a chaining block cipher and transmitted. The blocks have headers which identify the them, and allow for detection and correction of transmission errors. Before retransmitting a block, an initialization vector is sent to synchronize the cipher modules. The random numbers are generated with keystroke timings combined with a pseudorandom number generator to expand the supply.
Claims20
A file transfer system consisting of
- a plurality of computers connected by a communications channel,
- means for generating or retrieving random numbers in each of said computers,
- means for digital handshaking between said computers to establish communications,
- means for sending frames and data blocks through said channel, reliably and efficiently,
- means for transmitting an encryption initialization vector frame in order to synchronize cipher feedback,
- means for deriving a secure session key in each of said computers, based on said random numbers and on exchanged derived numbers,
- means for encrypting data blocks using said cipher feedback,
- means for detecting transmission errors,
- means for resending variants of said encryption initialization vector frame and said frames and data blocks in case of said transmission errors,
- means for sending an encrypted copy of a file or files based on said session key,
- means for receiving said encrypted copy of said file or files, and
- means for decrypting said received copy of said file or files.
A file transfer method consisting of
- connecting a plurality of computers by a communications channel,
- generating or retrieving random numbers in each said computer,
- digital handshaking between said computers to establish communications,
- sending frames and data blocks through said channel, reliably and efficiently,
- transmitting an encryption initialization vector frame in order to synchronize cipher feedback,
- deriving a secure session key in each of said computers, based on said random numbers and on exchanged derived numbers,
- encrypting data blocks using said cipher feedback,
- detecting transmission errors,
- resending variants of said encryption initialization vector frame and said frames and data blocks in case of said transmission errors,
- sending an encrypted copy of a file or files based on said session key,
- receiving said encrypted copy of said file or files, and
- decrypting said received copy of said file or files.
Dependencies are inferred from the claim text.