1 00:00:02,120 --> 00:00:08,760 Welcome to a module that will focus on cryptography the module will include a discussion on the modes 2 00:00:08,760 --> 00:00:12,150 of operation of symmetric and asymmetric ciphers. 3 00:00:13,850 --> 00:00:19,550 The models ensure that data that is encrypted using an appropriate algorithm is secure and its confidentiality 4 00:00:19,550 --> 00:00:21,230 has not been compromised. 5 00:00:21,770 --> 00:00:29,020 Provided you have successfully protected a key used for encryption will also take a look at cryptographic 6 00:00:29,020 --> 00:00:36,900 applications the cryptographic systems that are used today most cryptographic systems today use hybrid 7 00:00:36,900 --> 00:00:39,040 schemes. 8 00:00:39,230 --> 00:00:45,550 A few words of introduction throughout the course we have emphasized over and over that encrypting is 9 00:00:45,550 --> 00:00:53,260 the only viable solution that guarantees top data security and authenticity level data protection by 10 00:00:53,260 --> 00:00:58,810 means of access control this is efficient only in a running operating system that implements the mechanism 11 00:01:01,020 --> 00:01:05,730 applying encryption However guarantees the data will remain encrypted whether it's located on a disk 12 00:01:06,270 --> 00:01:11,230 or sent over a network as far as encrypting is concerned. 13 00:01:11,230 --> 00:01:14,020 Let's start with a more basic term coding 14 00:01:18,630 --> 00:01:20,880 coding in encryption or similar in nature. 15 00:01:22,790 --> 00:01:29,640 There are comparable processes or operations coding is however more broad in scope. 16 00:01:31,030 --> 00:01:36,220 When you talk of coding you refer to the process of translating programming expressions from one language 17 00:01:36,250 --> 00:01:37,230 into another. 18 00:01:39,090 --> 00:01:46,060 Computers are coding machines letters and digits you press on the keyboard are in fact transformed into 19 00:01:46,060 --> 00:01:47,990 bits by the machine. 20 00:01:48,010 --> 00:01:54,850 Computers interpret bit values 0 and 1 States as regards data confidentiality. 21 00:01:54,850 --> 00:02:01,830 Steganography is a peculiar subtype of coding steganography is a method for hiding information in such 22 00:02:01,830 --> 00:02:06,400 a way that only a person who knows where to search is able to find it. 23 00:02:08,410 --> 00:02:10,760 The image is blurred because it's multilayered. 24 00:02:12,040 --> 00:02:16,590 The first layer contains an image but the internal layer has completely different data. 25 00:02:18,850 --> 00:02:25,330 The internet is brimming with tools to hide information for example in image files a human eye is not 26 00:02:25,330 --> 00:02:29,050 sensitive enough to discriminate detailed transitions. 27 00:02:29,110 --> 00:02:37,760 For example in Shade's if color depth is for example 24 bits the last six or seven bits are actually 28 00:02:37,760 --> 00:02:39,190 invisible for humans. 29 00:02:41,060 --> 00:02:44,040 These values don't add to your image reception. 30 00:02:44,210 --> 00:02:47,740 You don't have to put color information in them but embed data there. 31 00:02:49,040 --> 00:02:55,960 For example text to extract it later you need a specially designed program that looks at the last six 32 00:02:55,960 --> 00:02:59,550 or seven bits and converts them into text that is later displayed. 33 00:03:01,690 --> 00:03:06,340 This means that it's possible to publish information intended only for a specific group of recipients 34 00:03:06,340 --> 00:03:07,990 on public Web sites. 35 00:03:10,120 --> 00:03:11,890 Everyone will be able to see an image. 36 00:03:11,980 --> 00:03:15,870 For example Windows logon screen image. 37 00:03:15,960 --> 00:03:17,890 This is a rather homogenous image. 38 00:03:18,960 --> 00:03:24,960 There are a lot of redundant bits that are an ideal place for embedding coded data. 39 00:03:25,020 --> 00:03:29,900 A person who downloads the file and extracts the hidden information will be able to read your message. 40 00:03:34,230 --> 00:03:37,880 What's the difference between encryption and coding. 41 00:03:38,090 --> 00:03:44,030 If you want to encrypt some data you assume that the encoded information will not be read unless a recipient 42 00:03:44,060 --> 00:03:47,250 is in possession of an additional piece of information. 43 00:03:47,450 --> 00:03:56,440 A key an encoder a special type of coding machine must have some additional information. 44 00:03:56,610 --> 00:04:03,920 A key at least in theory this key is necessary to invert the whole process and decode an encrypted piece 45 00:04:03,920 --> 00:04:06,690 of information to receive it in plain text. 46 00:04:11,710 --> 00:04:15,490 Let's now briefly explain the terminology. 47 00:04:15,730 --> 00:04:21,840 The first term that is of note for us is cryptography a set of techniques for encrypting and decrypting 48 00:04:21,840 --> 00:04:22,260 data 49 00:04:25,280 --> 00:04:34,270 all algorithms for encryption ciphers will operate following one very general formula a ciphertext as 50 00:04:34,280 --> 00:04:40,480 a result of transformation performed on a plaintext. 51 00:04:40,510 --> 00:04:43,570 The general scheme is very simple. 52 00:04:43,780 --> 00:04:47,780 You can divide Scifres coding machines at several levels. 53 00:04:48,870 --> 00:04:54,600 The first division can be made based on what key parameter is used by a specific algorithm. 54 00:04:56,440 --> 00:05:07,300 In this regard ciphers can be classed as symmetric or asymmetric will return to them later in the lecture. 55 00:05:07,340 --> 00:05:14,630 We'd like to focus now on a different vital differentiation algorithms can be either public or secret 56 00:05:15,800 --> 00:05:16,670 quite frequently. 57 00:05:16,670 --> 00:05:24,230 Software is sold and marketed as 100 percent secure the data processed and the software is encrypted 58 00:05:24,230 --> 00:05:32,410 using an obscure or little known mechanism the assumption is that we users should not know about use. 59 00:05:34,290 --> 00:05:38,120 This knowledge should only be shared between software architects and programmers. 60 00:05:40,220 --> 00:05:44,960 In practice this secrecy could mean that the software simply tries to cloud for some reason using a 61 00:05:44,960 --> 00:05:52,270 common algorithm or that the producers have implemented in some proprietary encryption solution. 62 00:05:52,310 --> 00:05:54,110 This is a significant issue. 63 00:05:55,600 --> 00:06:01,080 If this is true this violates one of the fundamental cryptography laws formulated by August Kirchoff's 64 00:06:01,870 --> 00:06:04,030 that is named after his Kirchhoff's principal 65 00:06:10,040 --> 00:06:15,780 the principal stipulates that the security of a cipher should only depend on the security of the key. 66 00:06:15,830 --> 00:06:22,160 It should not depend on the secrecy of algorithms used for encryption and decryption. 67 00:06:22,170 --> 00:06:27,900 This is a very simple maxim that reformulated also means that you can't make a public piece of information 68 00:06:27,900 --> 00:06:30,580 secret. 69 00:06:30,750 --> 00:06:37,280 If more than two people know something it's no longer a secret surfers are obviously implemented in 70 00:06:37,280 --> 00:06:39,890 all copies of a given program. 71 00:06:39,920 --> 00:06:41,470 It wouldn't work without them. 72 00:06:43,070 --> 00:06:46,910 Even if program creators wish that the ciphers remain secret. 73 00:06:47,150 --> 00:06:52,280 If you're determined enough and have enough time and knowledge you can debug a program or analyze the 74 00:06:52,280 --> 00:07:00,370 operations it performs in some other way and uses to extract data on the operation of the used algorithm. 75 00:07:00,460 --> 00:07:04,120 Why is this so dangerous when you try to veil something. 76 00:07:04,120 --> 00:07:09,400 It's not usually a high dependable and tested solutions but to obscure the solutions you wouldn't want 77 00:07:09,400 --> 00:07:12,310 to share for a number of reasons. 78 00:07:12,320 --> 00:07:17,840 This is a particularly lamentable security practice that is known as security through obscurity. 79 00:07:19,280 --> 00:07:20,960 Speaking from experience. 80 00:07:21,170 --> 00:07:27,580 Almost all solutions that have implemented secret cryptographic algorithms have shown to be too weak. 81 00:07:27,770 --> 00:07:34,880 Once the operation mode of an algorithm is discovered breaking it is trivially easy and discovery is 82 00:07:34,910 --> 00:07:35,980 always a threat. 83 00:07:37,670 --> 00:07:43,350 A practical consequence of Kirchhoff's principle is that you should never use secret ciphers. 84 00:07:43,540 --> 00:07:48,850 It's possible to roll off a huge list of instances to support this law. 85 00:07:48,860 --> 00:07:55,780 You might remember for example that not so long ago an encryption system was employed on DVDs to make 86 00:07:55,780 --> 00:08:01,150 viewers able to legally watch the video they purchased a key had to be located somewhere for content 87 00:08:01,150 --> 00:08:02,350 decryption. 88 00:08:02,350 --> 00:08:04,730 This information was public. 89 00:08:04,860 --> 00:08:10,770 Once the DVD content protection standard was published programs for removing the security mechanism 90 00:08:10,770 --> 00:08:16,840 were developed and put on the Internet within days Microsoft had the same problem with the first version 91 00:08:16,840 --> 00:08:19,860 of X-Box. 92 00:08:19,980 --> 00:08:25,140 The console was protected against installing some programs or modifying the operating system the device 93 00:08:25,140 --> 00:08:26,950 used. 94 00:08:27,030 --> 00:08:32,310 And again in spite of the fact that the data and the programs were encrypted and that their authenticity 95 00:08:32,310 --> 00:08:38,820 would be checked despite secure cryptographic mechanisms being implemented the key itself had to be 96 00:08:38,820 --> 00:08:45,760 stored in the Xbox the cryptographic system would not work otherwise. 97 00:08:45,780 --> 00:08:51,300 Before long people would develop methods for hacking the console. 98 00:08:51,380 --> 00:08:58,630 It's impossible to successfully protect a public piece of information cryptanalysis on the other hand 99 00:08:58,840 --> 00:09:04,820 is a set of techniques used to reverse encryption without knowledge of a key this module will discuss 100 00:09:04,820 --> 00:09:10,430 cryptanalysis later when comparing various algorithms especially public key algorithms. 101 00:09:12,250 --> 00:09:20,400 The security of a cipher text is a ciphertext immunity to cryptanalysis what generally speaking does 102 00:09:20,400 --> 00:09:28,480 the security depend on the first vital factor is the used algorithm. 103 00:09:28,520 --> 00:09:32,330 The security of the ciphertext is also influenced by key strings. 104 00:09:32,720 --> 00:09:39,770 Strictly speaking it depends on the key randomness will refer to this concept as entropy. 105 00:09:39,770 --> 00:09:41,150 It will also be covered later.