Encryption method and system
0 Assignments
0 Petitions
Accused Products
Abstract
The invention concerns an encryption method and system particularly adapted to securing email. It makes it possible to prevent the encryption of the body of a message from generating certain symbols, called control characters, that can cause undesirable phenomena during the transmission of the message. The encryption uses a pseudo-random generator, pre-initialized in a known way. The successive values provided by this generator are used to encode the successive symbols in the body of the message, any control characters present in the plaintext message being transmitted without being modified.
56 Citations
46 Claims
-
1-22. -22. (canceled)
-
23. A method for encrypting and decrypting information comprising a string of symbols, said symbols included in an alphabet comprising a set of symbols, the method comprising the steps of:
-
generating a random sequence of values using a pseudo-random generator to provide a random value space, said pseudo-random generator being initialized, prior to providing said random sequence, by an initialization key comprising a string of numbers, said initialization key determining said random sequence to be provided by said pseudo-random generator such that subsequent initialization of said pseudo-random generator using the same initialization key will result in the same random sequence of values;
dividing said alphabet into a control alphabet comprising symbols designated not to be modified during encryption, and a message alphabet comprising symbols designated to be potentially modified during encryption, such that each of said symbols used to represent said information is included in either said control alphabet or said message alphabet, there being no symbol common to both said control alphabet and said message alphabet;
defining a mask alphabet comprising all or some of the elements in said random value space, the values in said random value space being numbers such that said mask alphabet comprises numbers;
performing a numbering of said message alphabet by assigning to each symbol of said message alphabet, with no omission or repetition, a number between 0 and N-1 to provide a number for each of said symbols, N representing the number of elements in said message alphabet, such that each symbol of said message alphabet is uniquely associated with a number between 0 and N-1;
assigning a permutation of said message alphabet to each element of said mask alphabet;
acquiring a primary encryption key comprising a string of numbers;
constructing said initialization key from all or part of said primary encryption key;
initializing said pseudo-random generator using said initialization key;
selecting a symbol from said information to be encrypted;
encrypting said selected symbol if it is determined that said selected symbol belongs to said message alphabet and performing the following steps;
reading the next value in said random sequence provided by said pseudo-random generator;
repeating the '"'"'step of reading the next value until the next value read is an element of said mask alphabet to provide a mask element;
selecting permutation of said message alphabet assigned to said mask element;
applying said selected permutation of said message alphabet to said selected symbol to provide a result; and
replacing said selected symbol with said result of said selected permutation; and
repeating the steps of selecting a symbol and encrypting said selected symbol until all symbols from said information is selected. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A system, interposed between a client computer and a network comprising one or more other computers, for encrypting and decrypting information comprising a string of symbols, said symbols included in an alphabet comprising a set of symbols, said alphabet being divided into a control alphabet comprising symbols designated not to be modified during encryption and a message alphabet comprising symbols designated to be potentially modified during encryption, each symbol belonging to said message alphabet being previously associated with a number between 0 and N-1 to provide a number for each of said symbols, N designating the number of elements in said message alphabet, such that each symbol of said message alphabet is uniquely associated with a number between 0 and N-1, the system comprising:
-
a pseudo-random generator for generating a random sequence of values or numbers to provide a random value space, a subset of said random value space forming a mask alphabet, said pseudo-random generator being initialized prior to utilization with an initialization key comprising a string of numbers, said initialization key determining said random sequence that will be provided by said pseudo-random generator;
an input-output unit for handling communications among the system, said client computer and said network; and
a processor for;
acquiring a primary encryption key comprising a string of numbers and constructing said initialization key from all or part of said primary encryption key;
determining whether a value belonging to said random value space belongs to said mask alphabet;
reading successive values provided by said pseudo-random generator until an element belonging to said mask alphabet is obtained;
determining which of said symbols of said information must be encrypted or decrypted, and which of said symbols of said information must be transmitted without being modified;
associating a number with a symbol of said message alphabet;
selecting a mask element from a given element of said the mask alphabet and a permutation of said message alphabet which is assigned to said mask element; and
determining a result of applying said selected permutation to said given element provided by said input-output unit and transmitting said result to said input-output unit. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification