Article title
The text of an article that was written by someone. Inko Gnito- its author.
The semantics of HTML code is always a hot topic. Some developers try to always write semantic code. Others criticize dogmatic adherents. And some even have no idea what it is and why it is needed. Semantics are defined in HTML in tags, classes, IDs, and attributes that describe the purpose but do not specify the exact content they contain. That is, we are talking about separating content and its format.
Let's start with an obvious example.
The text of an article that was written by someone. Inko Gnito- its author.Article title
Whether you think HTML5 is ready for use or not, the use of the But not everything is represented so clearly by HTML5 tags. Let's look at a set of class names and see if they meet the semantic requirements. Not semantic code. This is a classic example. Every CSS grid workbench uses these types of class names to define grid elements. Whether it's "yui-b", "grid-4", or "spanHalf" - such names are closer to specifying markup than to describing content. However, their use is unavoidable in most cases when working with modular grid templates. Semantic code. The footer has gained a strong meaning in web design. This is the bottom part of the page, which contains elements such as repeating navigation, usage rights, author information, and so on. This class defines a group for all these elements without describing them. If you have switched to using HTML5, then it is better to use the element Not semantic code. It defines the content precisely. But why does the text have to be big? To stand out from other smaller text? "standOut" (highlight) is more suitable in this case. You may decide to change the style of the highlight text but not do anything about its size, in which case the class name may confuse you. Semantic code. In this case, we are talking about determining the level of importance of an element in the application interface (for example, a paragraph or a button). A higher level element may have bright colors and a larger size, while lower level elements may contain more content. But in this case there is no exact definition of styles, so the code is semantic. This situation is very similar to using tags Semantic code. If only every class name could be so clearly defined! In this case, we have a description of a section that has content whose purpose is easy to describe, just like "tweets", "pagination" or "admin-nav". Not semantic code. In this case, we are talking about setting the style for the first paragraph on the page. This technique is used to attract readers' attention to the material. It is better to use the name "intro", which does not mention the element. But it's even better to use a selector for such paragraphs, such as article p:first-of-type or h1 + p . Not semantic code. This is a very generic class name that is used to organize the formatting of elements. But there is nothing in it that relates to a description of the content. Various semantic theorists recommend using a class name like "group" in such cases. It is likely that they are right. Since this element undoubtedly serves to group several other elements, the recommended name will better describe its purpose without diving into details. Not semantic code. Too detailed description of the content format. It is better to choose another name that will describe the content rather than its format. Semantic code. The class describes the status of the content very well. For example, a success message may have a completely different style from an error message. Not semantic code. This example attempts to define the format of the content rather than its purpose. "plain-jane" is very similar to "normal" or "regular". The ideal CSS code should be written in such a way that there is no need for class names like "regular" that describe the format of the content. Not semantic code. These types of classes are typically used to define site elements that should not be included in the link chain. In this case, it's better to use something like rel=nofollow for links, but not a class for all content. Not semantic code. This is an attempt to describe the format of the content, not its purpose. Let's say you have two articles on your website. And you want to give them different styles. "Movie Reviews" will have a blue background, while "Breaking News" will have a red background and a larger font size. One way to solve the problem is this: Another way is this: Surely, if you interview several developers about which code is more consistent with the semantic requirements, the majority will point to the first option. It perfectly corresponds to the material of this lesson: a description of the purpose without links to formatting. And the second option indicates the format (“blueBg” is the class name, which is formed from two English words meaning “blue background”). If you suddenly decide to change the design of movie reviews - for example, make a green background, then the class name "blueBg" will turn into a developer's nightmare. And the name “movie-review” will allow you to absolutely easily change design styles while maintaining an excellent level of code support. But no one claims that the first example is better in all cases without exception. Let's say that a certain shade of blue is used in many places on the site. For example, it is the background for some of the footer and areas in the sidebar. You can use the following selector: Movie-review, footer > div:nth-of-type(2), aside > div:nth-of-type(4) ( background: #c2fbff; ) An effective solution, since the color is determined in only one place. But such code becomes difficult to maintain, since it has a long selector that is difficult to visually understand. You will also need other selectors to define unique styles, which will result in code repetition. Or you can take a different approach and keep them separated: Movie-review ( background: #c2fbff; /* Color definition */ ) footer > div:nth-of-type(2) ( background: #c2fbff; /* And one more thing */ ) aside > div:nth-of- type(4) ( background: #c2fbff; /* And one more thing */ ) This style helps keep the CSS file more organized (different areas are defined in different sections). But the price to pay is repetition of definitions. For large sites, identifying the same color can reach several thousand times. Terrible! A solution would be to use a class like "blueBg" to define the color once and insert it in the HTML code when you want to use that design. Of course, it's better to call it "mainBrandColor" or "secondaryFont" to get rid of the formatting description. You can sacrifice code semantics in favor of saving resources. MATHEMATICS Vestn. Ohm. un-ta. 2016. No. 3. P. 7-9. UDC 512.4 V.A. Romankov OPTION OF SEMANTICALLY STRONG ENCRYPTION BASED ON RSA* The main goal of the article is to propose another way to select one of the main parameters of an encryption scheme based on the RSA cryptographic system, proposed by the author in previous works. The original version is based on the computational complexity of determining the orders of elements in multiplicative groups of modular rings. The proposed method changes this basis to another intractable problem of determining whether the elements of multiplicative groups of modular rings belong to powers of these groups. A special case of such a problem is the classical problem of determining the quadraticity of a residue, which is considered computationally difficult. This task determines the semantic strength of the well-known Goldwasser-Micali encryption system. In the proposed version, the semantic strength of the encryption scheme is based on the computational complexity of the problem of determining whether the elements of multiplicative groups of modular rings belong to the degrees of these groups. Keywords: RSA cryptographic system, public key encryption, modular ring, quadratic residue, semantic strength. 1. Introduction The purpose of this work is to introduce new elements for the RSA-based version of the encryption scheme introduced by the author in . Namely: another way of specifying the subgroups appearing in this diagram is proposed. This method leads to the replacement of the underlying computationally complex problem of determining the orders of elements of multiplicative groups of modular rings with the computationally complex problem of entering given powers of these groups. A special case of the latter problem is the classical problem of determining the quadraticity of the residue of an element of the multiplicative group of a modular ring. The RSA public key encryption system was introduced by Rivest, Shamir and Adleman in 1977. It is widely used throughout the world and is included in almost all cryptography textbooks. Regarding this system and its cryptographic strength, see, for example. The basic version of the system is deterministic and for this reason does not have the property of semantic secrecy, the most important indicator of the cryptographic strength of a public key encryption system. Therefore, in practice, variants of the system are used, the purpose of which is to introduce a probabilistic element into it and thereby ensure the fulfillment of the property of semantic secrecy. Installation: encryption platform Let n be the product of two large distinct primes p and q. The residue ring Zn is chosen as a platform for the encryption system. Module n and platform Zn are open elements of the system, numbers p and q are secret. * The study was supported by the Russian Foundation for Basic Research (project 15-41-04312). © Romankov V.A., 2016 Romankov V.A. The Euler function is denoted by φ:N ^ N, in this case taking the value φ(n)= (p-1)(q-1). Thus, the order of the multiplicative group Z*n of the ring Zn is (p-1)(q-1). Regarding these concepts, see, for example. Next, two subgroups M and H of the group Z*n of coprime periods r and t, respectively, are selected. It is proposed to define these subgroups through their generating elements M = gr(g1,...,gk), H = gr(j1,...,hl). Recall that the period t(G) of a group G is the smallest number t such that dr = 1 for any element geG. The period of the group Z*n is the number t (n), equal to the least common multiple of the numbers p-1 and q-1. Subgroups M and H can be cyclic and defined by one generating element. The generating elements of the subgroups M and H are considered open, while the periods of the subgroups r and t are considered secret. In and it is explained how to effectively carry out the specified selection of subgroups M and H, knowing the secret parameters p and q. Moreover, you can first set r and t, and then select p and q, and only then carry out further actions. Note that the construction of elements of given orders in finite fields is performed by a standard effective procedure, described, for example. The transition to constructing elements of given orders in multiplicative groups Z*n of modular rings Zn is carried out in an obvious way using the Chinese Remainder Theorem or . Installation: selection of keys The encryption key e is any natural number coprime to r. The decryption key d = ^is calculated from the equality (te)d1 = 1 (modr). (1) The key d exists because the parameter d1 is calculated due to the mutual primeness of te and r. The key e is public, the key d and the parameter d1 are secret. Encryption algorithm To transmit a message over an open network - m element of the subgroup M, Alice selects a random element h of the subgroup H and calculates the element hm. The transmission looks like c = (hm)e (modn). (2) Decryption algorithm Bob decrypts the received message c as follows: cd=m(modn). (3) Explanation of correct decryption Since ed=1 (modr), there is an integer k such that ed = 1 + rk. Then cd = (hm)ed = (ht)edi m (mr)k = m (mod n). (4) So, the element h is written as an element of the subgroup H in the form of the value of the group word u(x1,.,xl) from the generating elements h1t... ,hl of the subgroup H. In fact, we choose the word u(x1,.,xl), and then calculate its value h = u(h1t..., hl). In particular, this means that the generating elements h1t... ,hl are open. Cryptographic strength of the scheme The cryptographic strength of the scheme is based on the difficulty of determining, from given generating elements of the subgroup H of the group Z*n, the period or order of this subgroup. If the order of an element could be calculated by an efficient algorithm, then by counting the orders o rd(h1), ..., ord(hl) of the generating elements of the subgroup H, we could find its period t = t(H), equal to their least common multiple . This would make it possible to remove the shadowing factor h from this encryption option by transforming c1 = met(modri), reducing the decryption procedure to the classical RSA system with a public encryption key et. 3. Another way to define the subgroup H This paper proposes another option for specifying the subgroup H in the encryption scheme under consideration. First, let us consider its special case, associated with the recognized intractable problem of determining the quadraticity of the residue of the group Z*n. Recall that the residue aeZ^ is called quadratic if there is an element xeZ*n such that x2= a (modn). All quadratic residues form a subgroup QZ*n of the group Z*n. The problem of determining the quadraticity of an arbitrary residue of a group is considered computationally intractable. The well-known semantically strong Goldwasser-Micali encryption system is based on this property. Its semantic stability is completely determined by the intractability of the problem of determining the quadraticity of a residue. Suppose the parameters p and q are chosen with the condition p, q = 3 (mod 4), i.e. p = 4k +3, q = 41 +3. In schemes related to the quadratic nature of residues, this assumption looks natural and occurs quite often. If it holds, the mapping p:QZ*n ^ QZ*n, p:x^x2, is a bijection. The subgroup of quadratic residues QZ*n of the group has an index of 4 in Z*n, see, for example. Its order o^^2^) is equal to φ(n)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1, i.e. it is an odd number. In the above encryption scheme we assume H = QZ*n. Any element of the subgroup H has an odd order, since the period t(Z*n), equal to the least common multiple of the numbers p - 1 = 4k +2 and q - 1 = 41 +2, is divisible by 2, but not divisible by 4. Maximum a possible choice for M is a subgroup of order 4 whose elements have even orders 2 or 4. If there is an efficient way to calculate the order (or at least its parity) of an arbitrary element Semantically strong encryption option based on RSA group 2*n, then the problem of determining the quadraticity of a residue is effectively solved. The disadvantage of the scheme with this choice is the low power of the space of texts - subgroup M. In fact, the scheme duplicates the already mentioned well-known Gol-Dwasser-Micali scheme. We get greater opportunities with our next choice. Let s be a prime number that can be considered large enough. Let p and q be prime numbers such that at least one of the numbers p - 1 or q - 1 is divisible by s. It is explained that one can choose s and then effectively find p or q with the given property. Let's say the number p is searched for in the form 2sx +1. x is changed and the resulting p is checked for simplicity until it turns out to be simple. Let us define a subgroup Н =, consisting of s-powers of elements of the group 2*n (for s = 2 this is the subgroup QZ*n). If p = 52k + su + 1 and q = 521 + sv +1 (or q = sl + V +1), where the numbers u and V are not divisible by s, then the order o^(H) of the subgroup H having 2 in the group *n index b2 (or index s, if q = sl + V +1) is equal to B2k1 + Bku + b1n + w>. This order is coprime to s. In particular, this means that the elements of the subgroup H have orders not divisible by s. If an element is outside the subgroup H, then its order is divided by s, since s divides the group order. If the problem of calculating the order of an element of the group 2*n (or determining its divisibility by s) is effectively solvable in the group 2*n, then the problem of entering a subgroup is also effectively solved in it When choosing the subgroup H in this way, we have the opportunity to choose as M a cyclic subgroup of order r = 52 (or order s). Such a subgroup exists because the order of the group 2*n, equal to (p-1)^-1) = (52k + vi)^21 + sv) (or (52k + vi)^1 + V)), is divisible by 52 (on s). To specify H, it is enough to specify s. Moreover, for any choice of subgroup M we have M*2 =1. If, when decrypting a message m, it is possible to obtain an element of the form tel, where ed is coprime with s, then by finding integers y and z such that edy + s2z = 1, we can calculate teL = m. However, the generating elements of the subgroup H are not indicated when specifying the type, therefore, if there is an algorithm for calculating the orders of the elements of the group 2*n, this does not allow calculating the period of the subgroup H, which would have been possible in the original version from . The cryptographic strength of the version of the scheme is based on the difficulty of determining the order of the element of the group 2*n. In the proposed version, it is based on the difficulty of determining the period of the Z*s subgroup. Semantic strength Let it be known that c = (hm")e (modn) is an encrypted message of the form (2), where heH, m" = m1 or m" = m2. Encryption is considered semantically strong if it is impossible to effectively determine what all -does correspond to c. The correct answer mt (i = 1 or 2) is obtained if and only if cmje belongs to H. This means that the encryption is semantically strong if and only if the problem of occurrence in H is effectively undecidable. In the case considered in this article is the problem of entering into the subgroup of s-residues Z*s. In the special case s = 2, we obtain the well-known, considered intractable problem of entering into Q2*n, on which the semantic strength of the Goldwasser-Micali encryption system and a number of other encryption systems is based. LITERATURE Romankov V. A. New semantically strong public key encryption system based on RSA // Applied discrete mathematics. 2015. No. 3 (29). pp. 32-40. Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems // Comm. ACM. 1978. Vol. 21, No. 2. P. 120126. Hinek M. Cryptanalysis of RSA and its variants. Boca Raton: Chapman & Hall/CRC, 2010. Song Y. Y. Cryptanalytic attacks on RSA. Berlin: Springer, 2008. Stamp M., Low R.M. Applied cryptanalysis. Breaking ciphers in the real world. Hoboken: JohnWiley&Sons, 2007. Roman"kov V.A. New probabilistic public-key encryption based on the RAS cryptosystem // Croups, Complexity, Cryptology. 2015. Vol. 7, No. 2. P. 153156. Romankov V.A. Introduction to cryptography. M.: Forum, 2012. Menezes A., Ojrschot P.C., Vanstone S.A. Handbook of Applied Cryptography. Boca Raton: CRC Press, 1996. Goldwasser S., Micali S. Probabilistic encryption and how to play mental poker keeping secret all partial information // Proc. 14th Symposium on Theory of Computing, 1982, pp. 365-377. (substitutions). In substitution ciphers, letters are changed to other letters from the same alphabet; when encoding, letters are changed to something completely different - pictures, symbols of other alphabets, sequences of various characters, etc. A table of one-to-one correspondence between the source text alphabet and code symbols is compiled, and in accordance with this table, one-to-one encoding occurs. To decode, you need to know the code table. There are a large number of codes used in different areas of human life. Well-known codes are used mostly for the convenience of transmitting information in one way or another. If the code table is known only to the transmitter and receiver, then the result is a rather primitive cipher that is easily amenable to frequency analysis. But if a person is far from coding theory and is not familiar with frequency analysis of text, then it is quite problematic for him to unravel such ciphers. The simplest cipher. Called A1Z26 or in the Russian version A1Я33. Letters of the alphabet are replaced by their serial numbers. "NoZDR" can be encrypted as 14-15-26-4-18 or 1415260418. Letters, numbers and some signs are associated with a set of dots and dashes, which can be transmitted by radio, sound, knocking, light telegraph and flag signal. Since sailors also have a corresponding flag associated with each letter, it is possible to convey a message using flags. Braille is a tactile reading system for the blind, consisting of six-dot characters called cells. The cell consists of three dots in height and two dots in width. Different braille characters are formed by placing dots at different positions within a cell. For convenience, the points are described when reading as follows: 1, 2, 3 from the left from top to bottom and 4, 5, 6 from the right from top to bottom. When composing the text, adhere to the following rules: one cell (space) is skipped between words; after comma and semicolon the cell is not skipped; a dash is written together with the previous word; a digital sign is placed in front of the number. In computer quests and riddles, letters can be encoded according to their codes in various code pages - tables used on computers. For Cyrillic texts, it is best to use the most common encodings: Windows-1251, KOI8, CP866, MacCyrillic. Although for complex encryption you can choose something more exotic. You can encode using hexadecimal numbers, or you can convert them to decimal numbers. For example, the letter E in KOI8-R has the code B3 (179), in CP866 - F0 (240), and in Windows-1251 - A8 (168). Or you can look for a match for the letters in the right tables in the left ones, then the text will turn out to be typed in “crazy words” like èαᬫº∩íαδ
(866→437) or Êðàêîçÿáðû
(1251→Latin-1). Or you can change the upper half of the characters to the lower half within one table. Then for Windows-1251, instead of “krakozyabry” you get “jp"jng ap(), instead of “HELICOPTER” - “BEPRNK(R”. Such a shift in the code page is a classic loss of the most significant bit during failures on mail servers. Latin characters in this case can be encoded with a reverse shift down by 128 characters.And such an encoding will be a variant of the cipher - ROT128, only not for the regular alphabet, but for the selected code page. The exact time of origin of the cipher is unknown, but some of the found records of this system date back to the 18th century. Variations of this cipher were used by the Rosicrucian Order and the Freemasons. The latter used it quite often in their secret documents and correspondence, which is why the cipher began to be called the Masonic cipher. Even on the tombstones of Masons you can see inscriptions using this code. A similar encryption system was used during the American Civil War by George Washington's army, as well as by prisoners in federal prisons of the Confederate States of the United States. Below are two (blue and red) options for filling the grid of such ciphers. The letters are arranged in pairs, the second letter from the pair is drawn with a symbol with a dot: A great variety of ciphers, where one character of the alphabet (letter, number, punctuation mark) corresponds to one (rarely more) graphic sign, has been invented. Most of them were invented for use in science fiction films, cartoons and computer games. Here are some of them: One of the most famous author's substitution ciphers is “”. It was invented and described by the English writer Arthur Conan Doyle in one of his works about Sherlock Holmes. The letters of the alphabet are replaced by symbols that look like little men in different poses. In the book, little men were not invented for all letters of the alphabet, so fans creatively modified and reworked the symbols, and the result was this cipher: But such an alphabet was described by Thomas More in his treatise “Utopia” in 1516: 4.1. Encryption Basics The essence of encryption using the replacement method is as follows. Let messages in Russian be encrypted and each letter of these messages must be replaced. Then, literally A the source alphabet is compared to a certain set of symbols (cipher replacement) M A, B – M B, …, I – M I. The cipher substitutions are chosen in such a way that any two sets ( M I And M J, i ≠ j) did not contain identical elements ( M I ∩ M J = Ø). The table shown in Fig. 4.1 is the key of the replacement cipher. Knowing it, you can perform both encryption and decryption. Fig.4.1. Cipher substitution table When encrypting, each letter A open message is replaced by any character from the set M A. If the message contains several letters A, then each of them is replaced by any character from M A. Due to this, with the help of one key it is possible to obtain different versions of the ciphergram for the same open message. Since the sets M A, M B, ..., M I do not intersect in pairs, then for each symbol of the ciphergram it is possible to unambiguously determine which set it belongs to, and, consequently, which letter of the open message it replaces. Therefore, decryption is possible and the open message is determined in a unique way. The above description of the essence of substitution ciphers applies to all their varieties with the exception of , in which the same substitution ciphers can be used to encrypt different characters of the original alphabet (i.e. M I ∩ M J ≠ Ø, i ≠ j). The replacement method is often implemented by many users when working on a computer. If, due to forgetfulness, you do not switch the character set on the keyboard from Latin to Cyrillic, then instead of letters of the Russian alphabet, when entering text, letters of the Latin alphabet (“cipher replacements”) will be printed. Strictly defined alphabets are used to record original and encrypted messages. The alphabets for recording original and encrypted messages may differ. Characters of both alphabets can be represented by letters, their combinations, numbers, pictures, sounds, gestures, etc. As an example, we can cite the dancing men from the story by A. Conan Doyle () and the manuscript of the runic letter () from the novel “Journey to the Center of the Earth” by J. Verne. Substitution ciphers can be divided into the following subclasses(varieties). Fig.4.2. Classification of substitution ciphers I. Regular ciphers. Cipher replacements consist of the same number of characters or are separated from each other by a separator (space, dot, dash, etc.). Slogan code. For a given cipher, the construction of a cipher substitution table is based on a slogan (key) - an easy-to-remember word. The second line of the cipher replacement table is filled first with the slogan word (and repeated letters are discarded), and then with the remaining letters that are not included in the slogan word, in alphabetical order. For example, if the slogan word “UNCLE” is selected, then the table looks like this. Fig.4.4. Table of cipher replacements for the slogan cipher When encrypting the original message “ABRAMOV” using the above key, the ciphergram will look like “DYAPDKMI”. Polybian square. The cipher was invented by the Greek statesman, commander and historian Polybius (203-120 BC). In relation to the Russian alphabet and Indian (Arabic) numerals, the essence of encryption was as follows. Letters are written in a 6x6 square (not necessarily in alphabetical order). Fig.4.5. Table of cipher substitutions for the Polybian square The encrypted letter is replaced by the coordinates of the square (row-column) in which it is written. For example, if the original message is “ABRAMOV”, then the ciphergram is “11 12 36 11 32 34 13”. In Ancient Greece, messages were transmitted using optical telegraphy (using torches). For each letter of the message, first the number of torches corresponding to the letter's row number and then the column number were raised. Table 4.1. Frequency of appearance of Russian letters in texts There are similar tables for pairs of letters (bigrams). For example, frequently encountered bigrams are “to”, “but”, “st”, “po”, “en”, etc. Another technique for breaking ciphergrams is based on eliminating possible combinations of letters. For example, in texts (if they are written without spelling errors) you cannot find the combinations “chya”, “shchi”, “b”, etc. To complicate the task of breaking one-to-one ciphers, even in ancient times, spaces and/or vowels were removed from the original messages before encryption. Another method that makes it difficult to open is encryption bigrams(in pairs of letters). 4.3. Polygram ciphers Polygram substitution ciphers- these are ciphers in which one cipher substitution corresponds to several characters of the source text at once. Bigram Cipher Ports. Porta's cipher, presented in table form, is the first known bigram cipher. The size of his table was 20 x 20 cells; the standard alphabet was written at the top horizontally and vertically at the left (it did not contain the letters J, K, U, W, X and Z). Any numbers, letters or symbols could be written in the table cells - Giovanni Porta himself used symbols - provided that the contents of none of the cells were repeated. In relation to the Russian language, the table of cipher substitutions may look like this. Fig.4.10. Cipher replacement table for the Ports cipher Encryption is performed using letter pairs of the original message. The first letter of the pair indicates the cipher replacement row, the second - the column. If there is an odd number of letters in the original message, an auxiliary character (“blank character”) is added to it. For example, the original message “AB RA MO V”, encrypted - “002 466 355 093”. The letter “I” is used as an auxiliary symbol. Playfair cipher (English: “Fair game”). In the early 1850s. Charles Wheatstone invented the so-called "rectangular cipher". Leon Playfair, a close friend of Wheatstone, spoke about this cipher during an official dinner in 1854 to the Home Secretary, Lord Palmerston, and Prince Albert. And since Playfair was well known in military and diplomatic circles, the name “Playfair cipher” was forever assigned to Wheatstone’s creation. This cipher was the first alphabetic bigram cipher (Porta's bigram table used symbols, not letters). It was designed to ensure the secrecy of telegraph communications and was used by British troops in the Boer and First World Wars. It was also used by the Australian Islands Coast Guard during World War II. The cipher provides encryption of pairs of symbols (digrams). Thus, this cipher is more resistant to cracking compared to a simple substitution cipher, since frequency analysis is more difficult. It can be carried out, but not for 26 possible characters (Latin alphabet), but for 26 x 26 = 676 possible bigrams. Bigram frequency analysis is possible, but is significantly more difficult and requires a much larger amount of ciphertext. To encrypt a message, it is necessary to split it into bigrams (groups of two symbols), and if two identical symbols are found in the bigram, then a pre-agreed auxiliary symbol is added between them (in the original - X, for the Russian alphabet - I). For example, "encrypted message" becomes "encrypted message" I communication I" To form a key table, a slogan is selected and then it is filled in according to the rules of the Trisemus encryption system. For example, for the slogan “UNCLE” the key table looks like this. Fig.4.11. Key table for the Playfair cipher Then, guided by the following rules, the pairs of characters in the source text are encrypted: 1. If source text bigram symbols occur in one line, then these symbols are replaced by symbols located in the nearest columns to the right of the corresponding symbols. If the character is the last in a line, then it is replaced with the first character of the same line. 2. If the bigram characters of the source text occur in one column, then they are converted to the characters of the same column located directly below them. If a character is the bottom character in a column, then it is replaced by the first character of the same column. 3. If the bigram characters of the source text are in different columns and different lines, then they are replaced with characters located in the same lines, but corresponding to other corners of the rectangle. Encryption example. The bigram “for” forms a rectangle - it is replaced by “zhb”; The bigram "shi" is in one column - replaced by "yu"; The bigram “fr” is in one line - replaced by “xc”; The bigram “ov” forms a rectangle - it is replaced by “yzh”; The bigram “an” is in one line - it is replaced by “ba”; The bigram “but” forms a rectangle - it is replaced by “am”; The bigram “es” forms a rectangle - it is replaced by “gt”; The bigram “oya” forms a rectangle - it is replaced by “ka”; The bigram “about” forms a rectangle - it is replaced by “pa”; The bigram “shche” forms a rectangle - it is replaced by “shyo”; The bigram “ni” forms a rectangle - is replaced by “an”; The bigram “ee” forms a rectangle and is replaced by “gi”. The code is “zhb yue xs yzh ba am gt ka pa she an gi.” To decrypt, you must use the inversion of these rules, discarding the characters I(or X) if they do not make sense in the original message. It consisted of two disks - an external fixed disk and an internal movable disk, on which the letters of the alphabet were printed. The encryption process involved finding the plaintext letter on the external drive and replacing it with the letter from the internal drive underneath it. After this, the internal disk was shifted one position and the second letter was encrypted using the new cipher alphabet. The key to this cipher was the order of the letters on the disks and the initial position of the internal disk relative to the external one. Trisemus table. One of the ciphers invented by the German abbot Trisemus was a multi-alphabetic cipher based on the so-called “Trisemus table” - a table with sides equal to n, Where n– the number of characters in the alphabet. In the first row of the matrix the letters are written in the order of their order in the alphabet, in the second - the same sequence of letters, but with a cyclic shift by one position to the left, in the third - with a cyclic shift by two positions to the left, etc. Fig.4.17. Trisemus Table The first line is also an alphabet for plaintext letters. The first letter of the text is encrypted on the first line, the second letter on the second, and so on. After using the last line, they return to the first. So the message “ABRAMOV” will take the form “AVTGRUZ”. Vigenère encryption system. In 1586, the French diplomat Blaise Vigenère presented before the commission of Henry III a description of a simple but fairly strong cipher, which was based on the Trisemus table. Before encryption, a key is selected from the alphabet characters. The encryption procedure itself is as follows. The i-th character of the open message in the first line determines the column, and the i-th character of the key in the leftmost column determines the row. At the intersection of the row and column there will be the i-th character placed in the ciphergram. If the key length is less than the message, then it is reused. For example, the original message is “ABRAMOV”, the key is “UNCLE”, the encryption code is “DAFIYOYE”. In fairness, it should be noted that the authorship of this cipher belongs to the Italian Giovanni Battista Bellaso, who described it in 1553. History “ignored an important fact and named the cipher after Vigenère, despite the fact that he did nothing to create it.” Bellazo suggested calling a secret word or phrase password(Italian password; French parole - word). In 1863, Friedrich Kasiski published an algorithm for attacking this cipher, although there are known cases of his cipher breaking by some experienced cryptanalysts before. In particular, in 1854, the cipher was cracked by the inventor of the first analytical computer, Charles Babbage, although this fact became known only in the 20th century, when a group of scientists analyzed Babbage’s calculations and personal notes. Despite this, the Vigenère cipher had a reputation for being extremely resistant to manual cracking for a long time. Thus, the famous writer and mathematician Charles Lutwidge Dodgson (Lewis Carroll), in his article “The Alphabetic Cipher,” published in a children's magazine in 1868, called the Vigenère cipher unbreakable. In 1917, the popular science magazine Scientific American also described the Vigenère cipher as unbreakable. Rotary machines. The ideas of Alberti and Bellaso were used to create electromechanical rotary machines in the first half of the twentieth century. Some of them were used in different countries until the 1980s. Most of them used rotors (mechanical wheels), the relative position of which determined the current cipher alphabet used to perform the substitution. The most famous of the rotary machines is the German World War II Enigma machine. The output pins of one rotor are connected to the input pins of the next rotor and when the original message symbol is pressed on the keyboard, an electrical circuit is completed, as a result of which the light bulb with the cipher replacement symbol lights up. Fig.4.19. Enigma rotary system [www.cryptomuseum.com] The encryption effect of the Enigma is shown for two keys pressed in succession - the current flows through the rotors, is “reflected” from the reflector, then again through the rotors. Fig.4.20. Encryption scheme Note. The gray lines show other possible electrical circuits within each rotor. Letter A is encrypted differently when successive key presses are made, first in G, then in C. The signal takes a different route due to the rotation of one of the rotors after pressing the previous letter of the original message. 3. Describe the types of substitution ciphers. Web designers and developers love to throw around jargon and abstruse phrases that are sometimes difficult for us to understand. This article will focus on semantic code. Let's figure out what it is! What is semantic code? Even if you're not a web designer, you probably know that your site was written in HTML. HTML was originally intended as a means of describing the content of a document, rather than as a means of making it look visually pleasing. Semantic code returns to this original concept and encourages web designers to write code that describes content, rather than what it should look like. For example, the page title could be programmed as follows: This is the page title
This would make the title large and bold, giving it the appearance of a page title, but there is nothing in it that describes it as a “title” in the code. This means that the computer cannot recognize it as the title of the page. When writing a title semantically, in order for the computer to recognize it as a “title”, we must use the following code: The appearance of the header can be defined in a separate file called “cascading style sheets” (CSS), without interfering with your descriptive (semantic) HTML code. Why is semantic code important? The computer's ability to correctly recognize content is important for several reasons: Semantic code also has other advantages: How can you make sure a website is using semantic code? There is currently no tool that can check for semantic code. It all comes down to checking for colors, fonts, or layouts in the code instead of describing the content. If code analysis sounds scary, a great starting point is to ask your web designer - is he coding with semantics in mind? If he looks at you blankly or starts making ridiculous chatter, then you can be sure that he is not coding this way. At this moment you must decide whether to give him a new direction in his work, or find yourself a new designer?! ,
,
, and so on, but to other interface elements.
But...
A1Z26
Morse code
Braille
Code pages
Copyright ciphers
Dancing men
Thomas More's Alphabet
Ciphers from the animated series "Gravity Falls"
Bill Cipher
Stanford Pines (diarist)
Jedi alphabet from Star Wars
Alien alphabet from Futurama
Superman's Kryptonian alphabet
Bionicle alphabets
A B ...
I
M A M B ...
M I
A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I
D I AND N A B IN G E Yo AND Z Y TO L M ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU
1
2
3
4
5
6
1
A B IN G D E
2
Yo AND Z AND Y TO
3
L M N ABOUT P R
4
WITH T U F X C
5
H Sh SCH Kommersant Y b
6
E YU I -
-
-
No. Letter Frequency, % No. Letter Frequency, %
1
ABOUT 10.97
18
b 1.74
2
E 8.45
19
G 1.70
3
A 8.01
20
Z 1.65
4
AND 7.35
21
B 1.59
5
N 6.70
22
H 1.44
6
T 6.26
23
Y 1.21
7
WITH 5.47
24
X 0.97
8
R 4.73
25
AND 0.94
9
IN 4.54
26
Sh 0.73
10
L 4.40
27
YU 0.64
11
TO 3.49
28
C 0.48
12
M 3.21
29
SCH 0.36
13
D 2.98
30
E 0.32
14
P 2.81
31
F 0.26
15
U 2.62
32
Kommersant 0.04
16
I 2.01
33
Yo 0.04
17
Y 1.90
A B IN G D E
(Yo)AND Z AND
(Y)TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I
A 001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
B 032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
IN 063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
G 094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
D 125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
HER) 156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
AND 187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
Z 218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
I (Y) 249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
TO 280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
L 311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
M 342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
N 373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
ABOUT 404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
P 435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
R 466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
WITH 497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
T 528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
U 559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
F 590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
X 621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
C 652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
H 683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
Sh 714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
SCH 745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
Kommersant 776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
Y 807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
b 838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
E 869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
YU 900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
I 931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
D I AND N A B
IN G E Yo AND Z
Y TO L M ABOUT P
R WITH T U F X
C H Sh SCH Kommersant Y
b E YU -
1
2
A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I
B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A
IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B
G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN
D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G
E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D
Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E
AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo
Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND
AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z
Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND
TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y
L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO
M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L
N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M
ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N
P R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT
R WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P
WITH T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R
T U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH
U F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T
F X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U
X C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F
C H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X
H Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C
Sh SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H
SCH Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh
Kommersant Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH
Y b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant
b E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y
E YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b
YU I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E
I A B IN G D E Yo AND Z AND Y TO L M N ABOUT P R WITH T U F X C H Sh SCH Kommersant Y b E YU
This is the title