
{"id":16485,"date":"2016-05-12T17:27:23","date_gmt":"2016-05-12T17:27:23","guid":{"rendered":"http:\/\/www.beautifulwork.org\/?p=16485"},"modified":"2016-05-12T17:27:23","modified_gmt":"2016-05-12T17:27:23","slug":"encryption-related-algorithms-that-are-built-into-a-typical-linux-kernel","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2016\/05\/12\/encryption-related-algorithms-that-are-built-into-a-typical-linux-kernel\/","title":{"rendered":"encryption related algorithms that are built into a typical  Linux Kernel"},"content":{"rendered":"<p><u>ABOUT  Cryptography<\/u><\/p>\n<pre>\nCryptography or cryptology (from Ancient Greek: \u03ba\u03c1\u03c5\u03c0\u03c4\u03cc\u03c2, translit. krypt\u00f3s \"hidden, secret\"; and \u03b3\u03c1\u03ac\u03c6\u03b5\u03b9\u03bd graphein, \"to write\", or -\u03bb\u03bf\u03b3\u03af\u03b1 -logia, \"study\", respectively[1]) is the practice and study of techniques for secure communication in the presence of third parties called adversaries.[2] More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages;[3] various aspects in information security such as data confidentiality, data integrity, authentication, and non-repudiation[4] are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, electrical engineering, communication science, and physics. Applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications.\n<\/pre>\n<p><u>ABOUT CRC<\/u><\/p>\n<pre>\nA cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents. On retrieval, the calculation is repeated and, in the event the check values do not match, corrective action can be taken against data corruption. CRCs can be used for error correction (see bitfilters).[1]\n\nCRC can't fix the mistakes in frames which change the value of DE(\"Discard eligibility\"), for example if by a mistake DE value was set from 0 to 1, CRC won't be able to return it to 0, the frame will be discarded.\n\nCRCs are so called because the check (data verification) value is a redundancy (it expands the message without adding information) and the algorithm is based on cyclic codes. CRCs are popular because they are simple to implement in binary hardware, easy to analyze mathematically, and particularly good at detecting common errors caused by noise in transmission channels. Because the check value has a fixed length, the function that generates it is occasionally used as a hash function.\n<\/pre>\n<p>[bash]<br \/>\n$sudo cat \/proc\/crypto<br \/>\nname         : crct10dif<br \/>\ndriver       : crct10dif-pclmul<br \/>\nmodule       : crct10dif_pclmul<br \/>\npriority     : 200<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 1<br \/>\ndigestsize   : 2<\/p>\n<p>name         : crc32<br \/>\ndriver       : crc32-pclmul<br \/>\nmodule       : crc32_pclmul<br \/>\npriority     : 200<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 1<br \/>\ndigestsize   : 4<\/p>\n<p>name         : crc32c<br \/>\ndriver       : crc32c-intel<br \/>\nmodule       : crc32c_intel<br \/>\npriority     : 200<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 1<br \/>\ndigestsize   : 4<\/p>\n<p>name         : lzo<br \/>\ndriver       : lzo-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 5<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : compression<\/p>\n<p>name         : crct10dif<br \/>\ndriver       : crct10dif-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 100<br \/>\nrefcnt       : 2<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 1<br \/>\ndigestsize   : 2<\/p>\n<p>name         : aes<br \/>\ndriver       : aes-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 100<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : cipher<br \/>\nblocksize    : 16<br \/>\nmin keysize  : 16<br \/>\nmax keysize  : 32<\/p>\n<p>name         : sha1<br \/>\ndriver       : sha1-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 64<br \/>\ndigestsize   : 20<\/p>\n<p>name         : md5<br \/>\ndriver       : md5-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 64<br \/>\ndigestsize   : 16<\/p>\n<p>name         : digest_null<br \/>\ndriver       : digest_null-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : shash<br \/>\nblocksize    : 1<br \/>\ndigestsize   : 0<\/p>\n<p>name         : compress_null<br \/>\ndriver       : compress_null-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : compression<\/p>\n<p>name         : ecb(cipher_null)<br \/>\ndriver       : ecb-cipher_null<br \/>\nmodule       : kernel<br \/>\npriority     : 100<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : blkcipher<br \/>\nblocksize    : 1<br \/>\nmin keysize  : 0<br \/>\nmax keysize  : 0<br \/>\nivsize       : 0<br \/>\ngeniv        : &lt;default&gt;<\/p>\n<p>name         : cipher_null<br \/>\ndriver       : cipher_null-generic<br \/>\nmodule       : kernel<br \/>\npriority     : 0<br \/>\nrefcnt       : 1<br \/>\nselftest     : passed<br \/>\ninternal     : no<br \/>\ntype         : cipher<br \/>\nblocksize    : 1<br \/>\nmin keysize  : 0<br \/>\nmax keysize  : 0<\/p>\n<p>$<\/p>\n<p>[\/bash]<br \/>\nLINK<br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Cryptography\">https:\/\/en.wikipedia.org\/wiki\/Cryptography<\/a><br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Cyclic_redundancy_check\">https:\/\/en.wikipedia.org\/wiki\/Cyclic_redundancy_check<\/a><br \/>\n<a href=\"https:\/\/developer.ibm.com\/linuxonpower\/2017\/08\/11\/adding-power-optimized-crc-32-existing-code\/\">https:\/\/developer.ibm.com\/linuxonpower\/2017\/08\/11\/adding-power-optimized-crc-32-existing-code\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ABOUT Cryptography Cryptography or cryptology (from Ancient Greek: \u03ba\u03c1\u03c5\u03c0\u03c4\u03cc\u03c2, translit. krypt\u00f3s &#8220;hidden, secret&#8221;; and \u03b3\u03c1\u03ac\u03c6\u03b5\u03b9\u03bd graphein, &#8220;to write&#8221;, or -\u03bb\u03bf\u03b3\u03af\u03b1 -logia, &#8220;study&#8221;, respectively[1]) is the practice and study of techniques for secure communication in the presence of third parties called adversaries.[2] More generally, cryptography is about constructing and analyzing protocols that prevent third parties or &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2016\/05\/12\/encryption-related-algorithms-that-are-built-into-a-typical-linux-kernel\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;encryption related algorithms that are built into a typical  Linux Kernel&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[25,83],"tags":[602],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/16485"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=16485"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/16485\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=16485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=16485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=16485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}