The review of the algorithms of enciphering extended in the world allows not only to pick up necessary algorithm in your problem, but also to estimate expenses for its realisation and possibilities expecting the user and the requirement.
From time immemorial there was no value большей, than the information. The XX-th century - a century of computer science and information. The technology gives the chance to transfer and store the increasing volumes of the information. This blessing has also a back. The information becomes more and more vulnerable for various reasons:
Increasing volumes хранимых and the transferred data;
Expansion of a circle of the users having access to resources of the COMPUTER, to programs and the data;
Complication of modes of operation of computing systems.
Therefore the increasing importance is got by a problem of protection of the information from unapproved access (НСД) by transfer and storage. Essence of this problem - constant struggle of experts in protection of the information against "opponents".
Characteristics of compound algorithms of enciphering
|
The algorithm name |
The size of a key, bit |
The size of the block, bit |
The size of a vector of initialization, bit |
Quantity of cycles of enciphering |
|
Lucipher |
128 |
128 |
|
|
|
DES |
56 |
64 |
64 |
16 |
|
FEAL-1 |
64 |
64 |
4 |
|
|
B-Crypt |
56 |
64 |
64 |
|
|
IDEA |
128 |
64 |
|
|
|
GOST 28147-89 |
256 |
64 |
64 |
32 |
Information protection - set of actions, methods and the means providing:
Exception НСД to COMPUTER resources, programs and the data;
Check of integrity of the information;
Exception of unapproved use of programs (protection of programs against copying).
The obvious tendency to transition to digital methods of transfer and information storage allows to apply the unified methods and algorithms to protection discrete (the text, a fax, a telex) and continuous information (speech).
The tested method of protection of the information from НСД - enciphering (cryptography). Enciphering (encryption) name process of transformation of the open data (plaintext) in ciphered (шифртекст, ciphertext) or the ciphered data in opened on certain rules with application of keys. In the English-speaking literature zashifrovanie/rasshifrovanie - enciphering/deciphering.
By means of cryptographic methods probably:
Information enciphering;
Digital signature realisation;
Distribution of keys of enciphering;
Protection against casual or deliberate change of the information.
Certain demands are made to algorithms of enciphering:
High level of protection of the data against decoding and possible updating;
Security of the information should be based only on knowledge of a key and not depend on that, the algorithm or not (a rule of Kirkhoffa) is known;
Small change of the initial text or key should lead to considerable change of a text in code (effect of "collapse");
The area of values of a key should exclude possibility of decoding of the values of a key given by search;
Profitability of realisation of algorithm at sufficient speed;
Cost of decoding of the data without knowledge of a key should exceed cost of the data.
Before enciphering should subject the information statistical coding (to compression, archiving). The volume of the information and its redundancy Thus will decrease, entropy (the average quantity of the information having on one symbol) will raise. As in the compressed text there will be no repeating letters and words, decoding (криптоанализ) will be at a loss.
1. Symmetric (with a confidential, uniform key, one-key, single-key).
1.1. Потоковые (data flow enciphering):
With a disposable or infinite key (infinite-key cipher);
With a final key (system Vernama - Vernam);
On the basis of the generator of pseudo-random numbers (ПСЧ).
1.2. Block (enciphering of the data поблочно):
1.2.1. Shift code numbers (permutation, P-blocks);
1.2.2. Replacement code numbers (substitutions, substitution, S-blocks):
Monoalphabetic (Caesar's code);
Polyalphabetic (the code number of Vidzhenera, Jefferson's cylinder, a disk of Uetstouna, Enigma);
1.2.3. Compound (table 1):
Lucipher (firm IBM, the USA);
DES (Data Encryption Standard, THE USA);
FEAL-1 (Fast Enciphering Algoritm, Japan);
IDEA/IPES (International Data Encryption Algorithm/
Improved Proposed Encryption Standard, firm Ascom-Tech AG, Switzerland);
B-Crypt (Firm British Telecom, Great Britain);
GOST 28147-89 (USSR); * Skipjack (USA).
2. Asymmetric (with an open key, public-key):
Diffi-Hellman DH (Diffie, Hellman);
Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);
Ale-gamal ElGamal.
Besides, there is a division of algorithms of enciphering into actually code numbers (ciphers) and codes (codes). Code numbers work with separate bits, letters, symbols. Codes operate with linguistic elements (syllables, words, phrases).
Symmetric algorithms of enciphering (or cryptography with confidential keys) are based that the sender and the addressee of the information use the same key. This key should be kept secret and be transferred by the way excluding its interception.
Information interchange is carried out in 3 stages:
The sender transfers to the addressee a key (in case of a network with several subscribers each pair of subscribers should have the key which is distinct from keys of other pairs);
The sender, using a key, ciphers the message which is sent the addressee;
The addressee receives the message and deciphers it.
If for each day and for each communication session the unique key is used, it will raise security of system.
In потоковых code numbers, i.e. At the data flow enciphering, each bit of the initial information is ciphered irrespective of others with the help гаммирования.
Гаммирование - imposing on the open given scales of the code number (casual or pseudo-casual sequence of units and zero) by a certain rule. It is usually used "excluding OR", named also by addition on the module 2 and realised in ассемблерных programs command XOR. For deciphering the same scale is imposed on the ciphered data.
At unitary use of casual scale of the identical size with the ciphered data code breaking is impossible (so-called криптосистемы with a disposable or infinite key). In this case "infinite" means that the scale does not repeat.
In some потоковых code numbers the key is shorter than the message. So, in system Vernama for telegraph the paper ring containing scale is used. Certainly, firmness of such code number is not ideal.
It is clear that the exchange of keys in size with the ciphered information not always is pertinent. Therefore use the scale received by means of the generator of pseudo-random numbers (ПСЧ) is more often. In this case a key - generating number (initial value, an initialization vector, initializing value, IV) for generator PSCH start. Each generator PSCH has the period after which the generated sequence repeats. It is obvious that the period of pseudo-casual scale should exceed length of the ciphered information.
Generator PSCH is considered correct if supervision of fragments of its exit does not allow to restore the passed parts or all sequence at known algorithm, but unknown initial value [4, c. 63].
At generator PSCH use some variants [4, c are possible. 126 - 128]:
1. Bit-by-bit enciphering of the data flow. The digital key is used as initial value of generator PSCH, and the target stream of bits is summarised on the module 2 with the initial information. In such systems there is no property of distribution of errors.
2. Bit-by-bit enciphering of the data flow with a feedback (OS) on шифртексту. Such system is similar previous except that шифртекст comes back as parametre in generator PSCH. Property of distribution of errors is characteristic. The area of distribution of an error depends on generator PSCH structure.
3. Bit-by-bit enciphering of the data flow from OS under the initial text. Base of generator PSCH is the initial information. Property of unlimited distribution of an error is characteristic.
4. Bit-by-bit enciphering of the data flow from OS on шифртексту and under the initial text.
At block enciphering the information breaks into blocks of the fixed length and is ciphered поблочно. Block code numbers happen two principal views:
Shift code numbers (transposition, permutation, P-blocks);
Replacement code numbers (substitutions, substitution, S-blocks).
Code numbers of shifts rearrange elements of the open data (a bat, the letter, symbols) in some new order. Distinguish code numbers of horizontal, vertical, double shift, a lattice, labyrinths, slogan, etc.
Replacement code numbers replace elements of the open data with other elements by a certain rule. Paзличают code numbers of simple, difficult, pair replacement, bukvenno-syllabic enciphering and code numbers of columned replacement. Replacement code numbers share on two groups:
Monoalphabetic (Caesar's code);
Polyalphabetic (the code number of Vidzhenera, Jefferson's cylinder, a disk of Uetstouna, Enigma).
In monoalphabetic code numbers of replacement the letter of the initial text is replaced with other, in advance certain letter. For example in Caesar's code the letter is replaced with the letter, отстоящую from it in the Latin alphabet on some number of positions. It is obvious that such code number is cracked absolutely simply. It is necessary to count up, as often there are letters in the ciphered text, and to compare result with frequency of occurrence of letters known for everyone language.
In polyalphabetic substitutions for replacement of some symbol of the initial message in each case of its occurrence various symbols from some set are consistently used. It is clear that this set is not infinite, through any quantity of symbols it needs to be used again. In it weakness of purely polyalphabetic code numbers.
In modern cryptographic systems, as a rule, use both ways of enciphering (replacements and shifts). Such шифратор name compound (product cipher). Oн more proof, than шифратор, using only replacements or shifts.
Block enciphering can be carried out doubly [4, c.129-130]:
1. Without a feedback (OS). Some bits (block) of the initial text are ciphered simultaneously, and each bit of the initial text influences each bit шифртекста. However mutual influence of blocks is not present, that is two identical blocks of the initial text will be presented identical шифртекстом. Therefore similar algorithms can be used only for enciphering of casual sequence of bits (for example, keys). Examples are DES in mode ECB and GOST 28147-89 in a mode of simple replacement.
2. With a feedback. Usually OS will be organised so: previous шифрованный the block develops on the module 2 with the current block. As the first block in OS chain initializing value is used. The error in one bit influences two blocks - erroneous and following for it. An example - DES in mode CBC.
Generator PSCH can be applied and at block enciphering [4, c. 128]:
1. Block enciphering of the data flow. Enciphering of consecutive blocks (substitution and shift) depends on generator PSCH operated a key.
2. Block enciphering of the data flow from OS. Generator PSCH copes шифрованным or the initial text or both together.
The federal standard of USA DES (Data Encryption Standard) [1, 5] on which the international standard ISO 8372-87 is based is rather extended. DES has been supported by the American national institute of standards (American National Standards Institute, ANSI) and it is recommended for application by the American association of banks (American Bankers Association, ABA). DES provides 4 operating modes:
ECB (Electronic Codebook) electronic шифрблокнот;
CBC (Cipher Block Chaining) a chain of blocks;
CFB (Cipher Feedback) a feedback on шифртексту;
OFB (Output Feedback) a feedback on an exit.
GOST 28147-89 - the domestic standard on enciphering of the data [8]. The standard includes three algorithms зашифровывания (deciphering) of the data: a mode of simple replacement, a mode гаммирования, a mode гаммирования with a feedback - and a development mode имитовставки.
With the help имитовставки it is possible to fix casual or deliberate updating of the ciphered information. To develop имитовставку it is possible or before зашифровыванием (after deciphering) all message, or simultaneously with зашифровыванием (deciphering) on blocks. Thus the information block is ciphered by first sixteen cycles in a mode of simple replacement, then develops on the module 2 with the second block, the result of summation is ciphered again by first sixteen cycles etc.
Algorithms of enciphering of GOST 28147-89 possess advantages of other algorithms for symmetric systems and surpass their possibilities. So, GOST 28147-89 (a 256-bit key, 32 cycles of enciphering) in comparison with such algorithms as DES (a 56-bit key, 16 cycles of enciphering) and FEAL-1 (the 64-bit key, 4 cycles of enciphering) possesses higher криптостойкостью at the expense of longer key and большего numbers of cycles of enciphering.
It is necessary to notice that unlike DES, at GOST 28147-89 block of substitution can be changed any way, that is it is an additional 512-bit key.
Algorithms гаммирования 28147-89 (a 256-bit key, the 512-bit block of substitutions, a 64-bit vector of initialization) surpass GOST on криптостойкости and algorithm B-Crypt (a 56-bit key, a 64-bit vector of initialization).
Advantages of GOST 28147-89 are also presence of protection against imposing of the false data (development имитовставки) and an identical cycle of enciphering in all four algorithms STATE THAT.
Block algorithms can be used and for scale development. In this case the scale is developed by blocks and поблочно develops on the module 2 with the initial text. As an example it is possible to name B-Crypt, DES in modes CFB and OFB, GOST 28147-89 in modes гаммирования and гаммирования c a feedback.
In asymmetric algorithms of enciphering (or cryptography with an open key) for зашифровывания information use one key (opened), and for deciphering - another (confidential). These keys are various and cannot be received one of another.
The information interchange scheme is that:
The addressee calculates the open and confidential keys, the confidential key keeps secret, open does accessible (informs the sender, group of users of a network, publishes);
The sender, using an open key of the addressee, ciphers the message which is sent the addressee;
The addressee receives the message and deciphers it, using the confidential key.
It is protected by the patent of USA N 4405829. It is developed in 1977 in the Massachusetsky institute of technology (USA). Has received the name under the first letters of surnames of authors (Rivest, Shamir, Adleman). Криптостойкость it is based on computing complexity of a problem of decomposition of a great number on simple multipliers.
It is developed in 1985. It is named on a surname of the author - the Ale-gamal. It is used in the standard of the USA for digital signature DSS (Digital Signature Standard). Криптостойкость it is based on computing complexity of a problem логарифмирования integers in final fields.
In asymmetric systems it is necessary to apply long keys (512 bits and more). The long key sharply increases enciphering time. Besides, generation of keys is rather long. But to distribute keys it is possible on not protected channels.
In symmetric algorithms use shorter keys, i.e. Enciphering occurs faster. But in such systems difficult distribution of keys.
Therefore at designing of the protected system often apply both cимметричные, and аcимметричные algorithms. As the system with open keys allows to distribute keys and in symmetric systems, it is possible to unite asymmetric and symmetric algorithms of enciphering in system of transfer of the protected information. By means of the first to dispatch the keys, the second - actually to cipher the handed over information [4, c. 53].
Information interchange can be carried out as follows:
The addressee calculates the open and confidential keys, the confidential key keeps secret, open does accessible;
The sender, using an open key of the addressee, ciphers a session key which is sent the addressee on not protected channel;
The addressee receives a session key and deciphers it, using the confidential key;
The sender ciphers the message a session key and sends the addressee;
The addressee receives the message and deciphers it.
It is necessary to notice that in the governmental and military communication systems use only symmetric algorithms as there is no strictly mathematical substantiation of firmness of systems with open keys as also the return, however, is not proved.
At an information transfer should be provided together or separately:
1. Confidentiality (privacy) - the malefactor should not have possibility to learn the maintenance of the transferred message.
2. Authenticity (authenticity) which includes two concepts
Integrity (integrity) - the message should be protected from casual or deliberate change;
Identification of the sender (authorship check) - the addressee should have possibility to check up who sends the message.
Enciphering can provide confidentiality, and in some systems and integrity.
Integrity of the message is checked by calculation of control function (check function) from the message - a certain number of small length. This control function should change with high probability even at small changes of the message (removal, inclusion, shifts or information reordering). Name and calculate control function differently:
Code of authenticity of the message (Message Authentical Code, MAC);
Square-law конгруэнтный algorithm (Quadratic Congruentical Manipulation Detection Code, QCMDС);
Manipulation Detection Code (MDС);
Message Digest Algorithm (MD5);
The control sum;
Symbol of the control of the block (Block Check Character, BCC);
Cyclic superfluous code (the Central Electoral Committee, Cyclic Redundancy Check, CRC);
Hesh-function (hash);
имитовставка in GOST 28147-89;
Algorithm with truncation to n bits (n-bit Algorithm with Truncation).
At calculation of control function any algorithm of enciphering can be used. Enciphering of the most control sum is possible.
The digital signature (digital addition to the transferred information, guaranteeing integrity of last and allowing to check up its authorship) is widely applied. Models of the digital signature (digital signature) on the basis of algorithms of symmetric enciphering are known, but at use of systems with open keys the digital signature is carried out more conveniently.
For use of algorithm RSA the message should be compressed function хеширования (algorithm MD5 - Message Digest Algorithm) to 256-bit хеша (H). The signature of message S is calculated as follows:
d
S = H mod n
The signature is sent together with the message.
Identification process consists in reception of hesh-function of the message (H ') and comparison with
e
H = S mod n
Where H - хеш messages,
S - its signature,
d - a confidential key,
e - an open key.
Standards are devoted authenticity check:
Authenticity check (аутентификация, authentication) - ISO 8730-90, ISO/IES 9594-90 and ITU X.509;
Integrity - GOST 28147-89, ISO 8731-90;
The digital signature - ISO 7498, P 34.10-94 (Russia), DSS (Digital Signature Standard, the USA).
ISO - the International organisation on standardization/mos/,
ITU - the International union of telecommunication/MSE/.
Algorithms of enciphering are realised program or hardware. There is a great variety of purely program realisations of various algorithms. Because of the cheapness (некoторые also are at all free), and also the increasing speed of processors PEVM, simplicity of work and non-failure operation they are rather competitive. Program Diskreet from package Norton Utilities, realising DES is widely known.
It is necessary to mention package PGP (Pretty Good Privacy, version 2.1, author Philip Zimmermann) in which almost all problems of protection of the transferred information are in a complex solved. Are applied compression of the data before enciphering, powerful management of the keys, symmetric (IDEA) and asymmetric (RSA) algorithms of enciphering, calculation of control function to the digital signature, reliable generation of keys.
Publications of magazine "Monitor" with detailed descriptions of various algorithms and corresponding listings give the chance to everyone wishing to write the program (or to take advantage of ready listing).
Hardware realisation of algorithms is possible by means of specialised microcircuits (crystals are made for algorithms DH, RSA, DES, Skipjack, GOST 28147-89) or with use of multipurpose components (in view of cheapness and high speed digital alarm processors - ЦСП, Digital Signal Processor are perspective, DSP).
Among the Russian workings out it is necessary to note payments "Kripton" (firm "Анкад") [2] and "Make-up" (methodology and algorithms of firm "LAN-KRIPTO", technical working out НПЦ "ЭЛиПС") [7].
"Криптон" - the one-paid devices using криптопроцессоры (specialised 32-bit microcomputers which also are called "blooming"). Bloomings it is hardware realise algorithms of GOST 28147-89, they consist of the calculator and the RAM for storage of keys. And in криптопроцессоре there are three areas for storage of keys that allows to build multilevel key systems.
For большей reliability of enciphering two simultaneously work криптопроцессора, and the block of the data in 64 bits is considered correctly ciphered, only if the information on an exit of both bloomings coincides. Speed of enciphering - 250 КБ/c.
Except two bloomings on a payment are located:
The controller of interface to the computer tyre (except for payment "Kripton-EC" are calculated on work with tyre ISA);
BIOS the payments, intended for realisation of the interface with the computer both carrying out self-testing of the device and input of keys in криптопроцессоры;
The random-number generator (ДСЧ) for development of keys of the enciphering, executed on noise diodes.
Following versions of payments of "Kripton" are issued:
"Kripton-EC" is intended for ПЭВМ to a series of EU 1841-1845;
"Криптон-3";
"Криптон-4" (overall dimensions at the expense of moving of some discrete elements in base crystals are reduced, it is raised скoрость an exchange thanks to the internal buffer on 8 byte);
"Kripton-Ik" it is in addition equipped by controller IK (an intellectual card, a smart card, smart card).
In devices "Kripton-EC", "Kripton-3", keys are stored by "Kripton-4" in a file kind on a diskette. Keys are in "Kripton-Ik" on ИК that complicates a fake and copying.
In a payment "Make-up" digital alarm processors of firm Analog Devices ADSP-2105 and ADSP-2101 are used that gives speed of enciphering accordingly 125 and 210 КБ/c. On a payment is physical ДСЧ and ROM with programs of the initial test, check of access rights, loading and generation of keys. Keys are stored on is non-standard formatted to a diskette. The payment realises algorithms of GOST 28147-89 and the digital signature.
For protection of the information transferred on communication channels, devices of channel enciphering which are produced in the form of the interface card or the independent module serve. Speed of enciphering of various models from 9600 bits per second to 35 Mbit/c.
In summary we will notice that information enciphering is not panacea. It should be considered only as one of methods of protection of the information and to apply necessarily in a combination to legislative, organizational and other measures.
1. Water Lazsky V.Kommercheskie enciphering systems: the basic algorithms and their realisation. A part 1.//the Monitor. - 1992. - N 6-7. - c. 14 - 19.
2. Игнатенко JU.I.as to make so that?.//the personal computer World. - 1994. - N 8. - c. 52 - 54.
3. Kovalevsky В, Maxims V.Kriptograficheskie methods.//the Computerpress. - 1993. - N 5. - c. 31 - 34.
4. Мафтик S.Mehanizmy of protection in COMPUTER networks. - М: the World, 1993.
5. Spesivtsev A.V., Vegner V. A, Krutjakov A.J., etc. information Protection in personal COMPUTERS. - M.: radio and communication, 1992.
6. Сяо Д, Kerr Д, Mednik S.Zashchita of the COMPUTER. - М: the World, 1982.
7. Shmelev A.Grim - what is it?//Hard'н'Soft. - 1994. - N 5.
8. GOST 28147-89. Systems of processing of the information. Protection cryptographic. Algorithm of cryptographic transformation.
| вступление в сро строительство заказчиков сотрудники. |